Maccabeo
Notando un certo interesse (ed avendo
finito di scrivere la tesi :-)),
ho deciso di cominciare una serie a puntate sulla storia di Acorn
Computers. Cercherò, quanto più possibile, di
seguire l'approccio
indicato dal professore di Storia della Tecnologia Michael Mahogany
dell'Università di Princeton (M.S. Mahogany, History of
computing in the
history of technology, Annals of the History of Computing, Volume 10,
Number 2, 1988).
Per la storia dell'informatica, Cambridge e' uno di quei posti mitici,
di quei nomi evocativi di glorioso passato e di epiche sfide tecniche e
tecnologiche. Insieme a Manchester, Cambridge fu la citta' che segno'
piu' di ogni altra la storia dell'information technology nel Regno
Unito.
Maurice Wilkes fu a capo del computer laboratory della facolta' di
matematica dell'Universita' di Cambridge gia' dal 1945, anno di
fondazione del laboratorio. Nel 1946 un suo stretto collaboratore,
Leslie Comrie si reco' negli Stati Uniti riportando a Cambridge una
copia del famoso scritto di Von Neumann "First Draft of a Report on the
EDVAC". Fu proprio il lavoro di Von Neumann riguardo il progetto EDVAC
che convinsero lo stesso Wilkes a recarsi presso l'Universita' della
Pennsilvania per un seminario estivo nel 1946 sulle tecniche di
progettazione di computers elettronici. Il professore inglese riusci a
mettersi in contatto col gruppo che stava lavorando ad EDVAC, oltre che
ad Howard Aiken, John Mauchly e Presper Eckert.
Ritorno' a Cambridge nell'Ottobre del 1946 e partecipo' al progetto
EDSAC, assieme ai tecnici Steward, Renwick, Barton e il programmatore
Wheeler. EDSAC, il secondo computer britannico, divenne operativo nel
giugno del 1949. Nel frattempo il progetto ottenne finanziamenti
concreti da parte della Lyons & Co. Ltd., un teashop londinese
che aveva
deciso di dotarsi di tecnologia avanzata per l'amministrazione della
propria attivita'. Questo pionieristico interesse culmino' poi, pochi
anni dopo, nella costituzione di LEO Ltd. la divisione elettronica
della
Lyons. La collaborazione con il teashop londinese creo' un precedente
importante nella storia dell'Universita' di Cambridge e dell'It inglese
in generale. Furono diversi i casi in cui aziende private finanziarono
progetti universitari nel campo dell'information e communication
technology (a tutt'oggi l'Universita' di Cambridge riceve finanziamenti
da parte di aziende del calibro di Microsoft e ARM Ltd. ): e', tra gli
altri, il caso di Ferranti Ltd. che sponsorizzo' EDSAC2, avanzato
successore di EDSAC, e il cui progettista capo fu proprio Wilkes.
Maurice Wilkes era ancora direttore del Laboratorio di informatica a
Cambridge alla fine degli anni '70, periodo in cui Clive Sinclair
fondo'
la Cambridge Computers e lancio' sul mercato un computer in kit (MK14).
Tra i progettisti del primo home computer britannico vi era un certo
Chris Curry, studente all'Universita' di Cambridge ed amico personale
di
Sinclair. Egli era un giovane elettronico molto promettente ed aveva in
testa una idea: costruire un computer tutto suo, e mettersi in diretta
competizione col suo ex-mentore, Clive Sinclair.
Due amici decisero di rischiare l'impresa assieme a Curry. Hermann
Hauser era uno studente austriaco di Fisica all'universita' di
Cambridge, con un'ottima conoscenza elettronica e buon senso degli
affari; Roger Wilson (ora Sophie Wilson) era anch'egli studente a
Cambridge, ma di computer science, ed aveva gia' in curriculum la
progettazione di un microcontroller per la gestione computerizzata di
mangiatoie per bovini. Proprio a quest'ultimo Chris Curry propose,
nell'estate del 1978, pochi mesi dopo l'uscita di MK14, di costruire un
prototipo per un computer da vendersi in kit, esattamente come il
prodotto della Cambridge Computers. Roger Wilson perfeziono' la board
alla quale stava lavorando per un progetto universitario e, verso la
fine dell'estate, un ancora grezzo circuito stampato popolato da
qualche
integrato e da una CPU 6502 emetteva i suoi primi bip ...
L'Acorn System-1 venne infine commercializzato nel 1979. La macchina
disponeva di un piccolo display a cristalli liquidi in grado di
visualizzare 8 caratteri numerici o alfanumerici. Sulla schedina
eurocard che costituiva il computer vero e proprio erano saldati 256
byte di RAM oltre che una interfaccia per collegare un registratore a
cassette. La differenza ed i vantaggi rispetto ad analoghe macchine su
single board vendute in kit disponibili all'epoca era proprio nella
possibilita' di interfacciare il piccolo Acorn con periferiche esterne.
Inoltre, la natura aperta dell'architettura di System-1 rese possibile
l'introduzione, sempre nell'anno 1979, di macchine sostanzialmente
formate da piu' moduli System-1 in rack (il caso, ad esempio,
dell'Acorn
System-5). E tuttavia il System-1 puo' essere considerata macchina di
passaggio, se si pensa a alla sua naturale evoluzione, l'Acorn Atom.
L'Atom e' macchina decisamente all'avanguardia nel 1980. Disegnata
intorno al solito 6502, Atom e' custodito in un vero case di plastica e
la tastiera, contrariamente al rivale Sinclair ZX80, ha la tipica corsa
da macchina da scrivere. L'expansion bus Acorn, sulla scia dell'omologo
presente sul System-5, consente di connettere sul retro
dell'apparecchio
un dispositivo di rete Econet o un floppy disk drive. Il Basic, su ROM,
e' una evoluzione di quello presente come opzione nel System-1, ed e'
una versione non standard in matematica intera (su ROM era diponibile
una estensione per computare espressioni in virgola mobile). Fu
introdotta anche una versione completa del COS, Cassette Operating
System, un vero e proprio piccolo sistema operativo su ROM in grado di
maneggiare i files registrati su nastro magnetico; il COS sara' la base
degli sviluppi futuri dei sistemi operativi della ghianda, RISCOS
compreso! Per molti aspetti, sia tecnici che ergonomici, Atom
rappresento' davvero il biglietto da visita di Acorn Computers nel
mercato informatico non solamente britannico. Atom venne importato
anche
in Italia (e MCMicrocomputer ne fece una lusinghiera recensione sul
numero 11 del 1982) come in altri paesi europei, e contribui', in
maniera determinante, a rendere popolare il marchio di Cambridge.
Tanto popolare che la British Broadcast Corporation penso' bene di
invitare Acorn Computers a concorrere per la gara d'appalto per la
realizzazione del computer alla base dell'ambizioso progetto Computer
Literacy, il BBC Microcomputer.
Dopo il successo di Atom, per Acorn era arrivato il momento di una
scelta. L'azienda era ormai conosciuta, anche oltremanica ed era quindi
giunto il momento di consolidare la propria posizione introducendo il
successore dell'Atom. Inizialmente in Acorn pensarono di progettare una
nuova macchina basata sul nuovo processore motorola, il 68000. Tuttavia
il patron Chris Curry, era scettico riguardo questa ipotesi, pensando
di
saltare la generazione a 16 bit per costruire in futuro una macchina
full 32 bit. Si trattava, dunque, di sfruttare, al momento, quanto piu'
possibile il processore 6502, peraltro abbondantemente utilizzato anche
dalla concorrenza nella fascia home computer. Il sogno di Curry, pero',
era quello di andar oltre la limitata prospettiva del mercato home, e
quindi non ripetere la storia di Clive Sinclair che, a detta di Curry,
aveva troppo legato il proprio brand ad un solo settore di mercato,
seppur in espansione, come quello domestico. Acorn avrebbe dovuto
espandersi e tentare di concorrere, invece, anche nel business
computing. Tutti questi pensieri, tuttavia, vennero completamente resi
inattuali dalla svolta del 1981.
Gia' dalla fine del 1980, infatti, l'area educational della British
Broadcasting Corporation (BBC) decise di iniziare un ambizioso progetto
chiamato "computer literacy project", progetto di alfabetizzazione
informatica. Negli intenti del coordinatore del progetto John
Radcliffe,
esso doveva porre le prime basi di una alfabetizzazione informatica
quanto piu' possibile completa ed estesa anche ai profani assoluti. Lo
scopo si sarebbe dovuto ottenere con gli sforzi congiunti della BBC,
del
governo britannico, delle strutture di consulenza informatica sul
territorio, e di numerosi volontari. Il progetto constava di alcuni
essenziali elementi: cicli di trasmissioni messi in onda dalla BBC
stessa, una serie di libri di supporto e di approfondimento alle
lezioni
televisive, e, ovviamente, un computer costruito ad hoc per consentire
un approccio pratico da parte degli studenti.
Furono stilate delle specifiche minime in base alle quali sarebbe stata
scelta la piattaforma hardware/software del BBC Microcomputer. Esse
prevedevano, oltre alla semplicita' d'uso, la disponibilita' di
interfacce verso memorie di massa(sia cassette che floppy disk), una
buona dotazione di memoria, un basic moderno e strutturato, capacita'
grafiche avanzate, connettivita' col sistema Teletext (in Italia,
Televideo) con possibilita' di download di apposito telesoftware: il
tutto ovviamente per un costo contenuto e popolare. Alla gara d'appalto
vennero invitate sette aziende informatiche britanniche, tra cui
Newbury
Labs, Sinclair e, ovviamente Acorn.
Naturalmente, nel 1981, Curry non aveva ancora nulla di pronto a
soddisfare le richieste della BBC: tuttavia l'impresa meritava ogni
sforzo. Roger Wilson, in meno di una settimana, fu in grado di
progettare una macchina in grado di ottemperare alle richieste del
network di stato britannico. Nel giro di una giornata venne assemblato
un prototipo della nuova macchina, nome in codice, Proton. Proton fu
presentato in tempo utile alla commissione giudicante della BBC, con a
capo Richard Russell, e, contrariamente ad ogni previsione, Acorn
Computers riusci' ad aggiudicarsi l'appalto. Di Proton venne
apprezzata,
in primis, la grande espandibilita' e modularita', da sempre
caratteristiche di ogni produzione di casa Acorn. Congiuntamente alla
commissione tecnica della BBC, venne codificato il BBC Basic e, a
natale
del 1981, vennero accettate le prime ordinazioni del nuovo computer.
Il primo modello, tuttavia, soffriva di eccessivi difetti di gioventu'
e
venne, gia' nel corso del 1982, sostituito dal BBC Micro Model B, il
"beeb" per gli utenti inglesi. La macchina era costruita con i criteri
gia' visti per il suo progenitore, l'Atom. Il BBC presentava una
tastiera robusta e funzionale, in un case altrettanto massiccio.
L'expansion port venne riprogettata per poter interfacciare il BBC al
teletext, opzione realmente rivoluzionaria per l'epoca. Venne mantenuta
la possibilita' di operare in Econet, la rete locale della Ghianda, e
venne potenziato il COS per lavorare egregiamente con ADFS, Acorn Disk
File System. Il BASIC, scritto rispettando le specifiche della BBC, fu
probabilmente il miglior interpete basic di tutti i tempi. Formalizzato
e strutturato, era piu' simile ad un Pascal che ad un basic come si era
abituati a vedere sui Microcomputer dell'epoca, pur mantenendo la
caratteristica semplicita' d'uso del linguaggio. Inutile ricordare che
la macchina ebbe un successo enorme, superiore alle aspettative di
Curry, e consenti' ad Acorn di ottenere una posizione pseudo
monopolistica nel florido mercato britannico dell'edutainment oltre che
di una diffusione comparabile solo a quella dello Spectrum Sinclair nel
Regno Unito. L'allievo si accingeva a superare il maestro ...
Il primo approccio di Acorn computers nei confronti della tecnologia
RISC risale al 1982. Proprio nell'anno in cui verrà
presentato
l'Electron in Inghilterra, Acorn lavora alacremente per offrire ad una
utenza di tipo aziendale e professionale, un'espansione che sfrutti la
particolarissima interfaccia Tube del BBC, al fine di poter
implementare
una soluzione RISC a 32 bit su una macchina che come CPU propone un
processore a 8 bit (il 6502).
In un'intervista rilasciata a Practical Computer, Chris Curry, uno dei
fondatori di Acorn computers e all'epoca CEO dell'azienda, dichiara la
necessità, da parte dell'azienda di Cambridge di offrire un
sistema
professionale, in grado di funzionare con un sistema operativo aperto
(e
cioè UNIX) e con una potenza di calcolo superiore all'allora
nuovo
processore 68000 di Motorola. Curry crede nella filosofia RISC e decide
di adottare il National Semiconductor 16032. Il progetto, denominato
Gluon, altro non è che un'espansione del buon vecchio BBC,
che include
l'affiancamento, tramite interfaccia Tube, del RISC a 32 bit al 6502
saldato sulla motherboard.
Nonostante il valore tecnico di queste ricerche (occorreva, di fatto,
far convivere una architettura hardware strutturata per funzionare con
un processore a 8 bit, con un processore in grado di utilizzare
registri
interni a 32 bit e un indirizzamento memoria a 16 bit) Gluon non ebbe
grande successo, nemmeno nel Regno Unito. Tuttavia, per Acorn rimaneva
di rilevante importanza proporsi come azienda in grado di offrire
soluzioni a 360 gradi: dall'utenza domestica ed educational (BBC ed
Electron), all'hobbista (con l'ancora prodotto Atom, fornito anche in
scatola di montaggio e con lo schema elettronico), fino all'utenza
professionale ed aziendale (BBC con disco fisso winchester e rete
Econet). Nei primi anni '80, tuttavia, crebbe l'interesse
dell'industria
informatica nei confronti di UNIX. Non c'era azienda che non avesse un
qualche progetto tecnico concernente lo sviluppo di hardware (e
software) atto a funzionare con UNIX.
Acorn non fece eccezione: occorreva quanto prima proporre ai propri
utenti un sistema professionale basato su processore RISC in grado di
far girare anche UNIX. Il coraggio dell'azienda di Cambridge fu di
concepire e costruire un processore atto allo scopo, in proprio. Nacque
l'ARM 1, ancora una volta come estensione da implementare sul BBC
tramite interfaccia Tube. Siamo nel 1985 e il pacchetto di maggioranza
di Acorn computers, a seguito di problemi finanziari, passa nelle mani
di Olivetti. L'azienda italiana è interessata
all'acquisizione di una
azienda tradizionalmente legata all'Università di Cambridge(
la cui
facoltà di informatica è tra le più
rinomate al mondo, fin dai tempi
dell'EDSAC e del preside di facoltà Wilkes). Molti di voi,
probabilmente, hanno avuto modo, ad esempio, di utilizzare il programma
VNC, sviluppato dai laboratori Olivetti di Cambridge: la presenza di
Olivetti sul suolo britannico fu rafforzata proprio dal matrimonio con
Acorn computers.
Grazie al riassetto finanziario, Acorn fu in grado di procedere nella
ricerca sul processore ARM (Acorn Risc Machine) e nello sviluppo di una
macchina costruita attorno a questa CPU. Nel 1987 venne presentato
Archimedes, il personal computer RISC più potente del mondo.
La CPU di
Archimedes è l'ARM 2, evoluzione di ARM 1, CPU RISC
costituita da meno
di 25000 transistor. Caratterizzato dalle ridotte dimensioni e,
naturalmente, dalla bassissima dispersione di calore, ARM fu progettato
spingendo al massimo il concetto di RISC. Quasi tutte le poche
istruzioni occupano un solo ciclo di CPU e quindi, essendo la macchina
cloccata ad 8 Mhz, ARM raggiunge una velocità nominale di
quasi 8 MIPS.
In realtà, la velocità effettiva dei primi
modelli (la serie 300 e 400)
è di circa 6 MIPS, comunque valore stupefacente per una
macchina dal
costo di poco più di 1000 dollari.
I registri di ARM sono 27, di cui 16 effettivamente utilizzabili
dall'utente. Si tratta di registri a 32 bit numerati da R0 a R15
(quest'ultimo corrisponde al Program Counter e l'R13 è lo
stack pointer;
l'R14 è usato come registro di subroutine (nelle prossime
puntate si
chiarirà la funzionalità di R14). Il bus di
indirizzamento è a 26 bit e
quindi ne consegue che ARM2 è in grado di indirizzare fino a
64 mega di
RAM.
Il processore può operare in 4 modalità
differenti :
Accanto
al microprocessore ARM, Archimedes presenta nel suo chipset altri 3
integrati:
L'uscita delle nuove macchine basate sul RISC ARM implicava, da parte
di
Acorn, la programmazione di un nuovo sistema operativo in grado di
sfruttare la potenza dell'hardware Archimedes. A bordo delle macchine
della serie 300 (305 e 310) e 400 (405 e 410) fece la sua comparsa il
sistema operativo Arthur. Si trattava di un sistema operativo su ROM
strutturato in maniera modulare, nel quale la stessa interfaccia
grafica
era un programma separato dal sistema operativo vero e proprio. Di
default la macchina partiva in CLI e col comando *Desktop si poteva
accedere all'interfaccia di tipo WIMP, immancabile su ogni computer
prodotto dalla seconda metà degli anni '80. Il Desktop di
Arthur non era
così intuitivo come Finder di Apple, e nemmeno come il GEM
usato sugli
Atari della serie ST. Tuttavia aveva una peculiarità
quantomeno
sensazionale: era ineramente scritto in Basic ! Con costrutti
più simili
al Pascal che al Microsoft Basic, il Basic V di Archimedes, evoluzione
del IV che equipaggiava i vecchi 8 bit Acorn, BBC, BBC Master ed
Electron, consentiva di inserire comandi dell'ARM Assembler
direttamente
nel programma. Questa caratteristica fu mantenuta in tutte le
successive
release del BBC Basic.
Acorn, tuttavia, riteneva Arthur solamente un primo passo, una versione
beta di quello che davvero doveva essere il sistema operativo di
Archimedes. Nel 1989, quindi, fece la sua comparsa RiscOS, montato sui
nuovi A420 e A3000 oppure, tramite apposito kit, distribuito come
upgrade per i vecchi modelli.
RiscOS riprende la struttura modulare alla base già di
Arthur. Il kernel
coordina i vari system modules i quali, a loro volta, forniscono
diverse
funzionalità, come il gestore delle finestre, i file
systems, il font
manager, ecc. L'utente può creare i suoi propri moduli,
implementando
nuove features all'interno di RiscOS (ad esempio, è
possibile scrivere
nuovi moduli file systems, al fine di poter accedere a dischi creati
con
altri sistemi operativi). Il sistema operativo offre al programmatore
numerose chiamate di sistema denominate Software Interrupts (o SWI).
Con
le SWI è possibile accedere alel caratteristiche del chipset
di Archimedes. Esistono numerose chiamate di sistema per controllare il
VIDC, il IOC e il MEMC: e, naturalmente, si può chiamare
ogni SWI da un
qualsiasi programma in BBC BASIC, in assembler o in C.
Gli stessi comandi della Cli RiscOS (i cosiddetti *commands) sono stati
scritti utilizzando i SWI. Tramite essi è possibile
controllare ogni
aspetto del sistema operativo, ivi compresi i settaggi e le preference
hardware e software memorizzate nel CMOS. E' anche possibile utilizzare
i *commands all'interno di un programma BBC BASIC, rendendo di fatto
quest'ultimo un avanzato strumento di scripting.
Naturalmente BBC BASIC è un linguaggio interpretato: per
generare un
eseguibile RiscOS è necessario procurarsi un compilatore
Basic o
utilizzare un compilatore C (come GCC o Lcc) o assembler. Una volta
generato l'eseguibile è consigliato creare l'icona e l'obey
file.
RiscOS, infatti, utilizza un singolare metodo per gestire gli
eseguibili: essi risiedono in una direcotry il cui nome inizia col
carattere "!". All'interno di questa directory sono presenti due BBC
BASIC script: uno, !Run, contiene lo script che deve essere eseguito
quando si fa doppio clic sull'applicazione (e, quindi, si
farà carico di
eseguire il binario vero e proprio) e viene chiamato Obey file;
l'altro,
!Boot, contiene uno script, sempre in BASIC, che viene eseguito quando
RiscOS vede la directory "!" dove il file è contenuto.
RiscOS, infatti,
in presenza di directory che iniziano col carattere "!", ne controlla
il
contenuto eseguendo l'eventuale file !Boot il quale, tra le altre cose,
si occuperà anche di settare correttamente l'icona del
programma, icona
che risiede nel file Sprites, sempre all'interno della directory "!".