<< Capitolo precedente Indice Capitolo successivo >>

Quei favolosi anni '70

 

Parte 1

La nascita del Personal Computer

 

La Intel e la nascita del microprocessore

La Intel Development Corporation venne fondata il 18 luglio 1968 da Robert Noyce e Gordon Moore, ambedue provenienti dalla Fairchild Semiconductors [2] .

Casella di testo:  
Gordon Moore
 e Robert Noyce
Moore e Noyce erano due veterani dell’industria dei semiconduttori; avevano iniziato con l’inventore del transistor William Schockley, e poi erano stati due degli “otto traditori [3] ” che avevano lasciato gli Shockley Labs per fondare, con l’aiuto dell’industriale Sheridan Fairchild, la Fairchild Semiconductors; alla Fairchild Noyce nel 1959 aveva inventato il circuito integrato commerciale [4] .

Noyce e Moore non avevano un soldo, ma avevano le idee molto chiare su cosa volevano realizzare; riuscirono perciò a convincere il venture capitalist Art Rock a supportarli con due milioni e mezzo di dollari, e fondarono Intel (che stava per Integrated Electronics).

Il primo prodotto di successo di Intel fu la RAM statica 3101, un chip in tecnologia bipolare Schottky da 64 bit. Nel giro di pochi anni la Intel diventò l’azienda produttrice di memorie a semiconduttore più innovativa del mercato: nel 1970 aveva presentato il 1103 (la prima RAM dinamica, un chip in tecnologia PMOS che conteneva 1024 bits), e nell’anno seguente presentava il 1702 (la prima EPROM).

Intel 4004

Nell’estate del 1969 la Busicom, una società giapponese specializzata in calcolatrici, aveva contattato la Intel per commissionare la realizzazione di un set di chip custom di loro disegno, l’insieme dei quali componeva l’elettronica di una calcolatrice da tavolo.

Casella di testo:  
Ted Hoff
Marcian Hoff, detto Ted, uno dei progettisti dell’Intel incaricato di assistere i progettisti Busicom, si rese conto che il progetto era troppo complesso per essere conveniente economicamente. Egli pensò che un piccolo processore general-purpose a 4 bit (perché la calcolatrice operava in Binary-Coded Decimals [5] ) avrebbe potuto ridurre fortemente la complessità del sistema, trasferendo in software molta elettronica hard-wired.

Casella di testo:  
Federico Faggin
Una volta convinta la Busicom ad accettare il cambiamento di progetto, l’Intel aveva intrapreso la realizzazione di un chip che implementasse il disegno di Hoff. Fu possibile trasferire il progetto su silicio solo grazie alla grande abilità di Federico Faggin, il quale, proveniente da Fairchild, era stato assunto proprio per il riconosciuto talento di progettista di chip. Il gruppo formato da Faggin, Stan Mazor, altro esperto progettista, e Masatoshi Shima, un tecnico Busicom trasferito temporaneamente in Intel, lavorò intensamente per nove mesi e riuscì a consegnare i prototipi del processore e degli otto chip di supporto nel febbraio 1971.

Il processore venne realizzato su un chip da 2300 transistor, che lavorava con un clock da 108kHz; era in grado di eseguire circa 60.000 istruzioni al secondo su operandi da 4bit.

Casella di testo: Modello	4004
Data di introduzione	15 Novembre 1971
Architettura	4 bit
Larghezza bus	4 bit
Clock	0,108 MHz
MIPS	0,06
Numero di transistor	2.250
Tecnologia	NMOS 10 micron
Spazio di indirizzamento	640b
Layout	 

La Intel, conscia di aver realizzato il primo microprocessore “general purpose”, nell’estate 1971 si affrettò a ricomprare dalla Busicom i diritti sul chip per ben 60.000 dollari, e nel novembre lo mise sul mercato con la sigla Intel 4004, ad un prezzo iniziale di 200 dollari.

In realtà il 4004 era troppo limitato per farci alcunchè che non fosse appunto una calcolatrice a quattro operazioni o un semplice controllo industriale. Costruire un computer general purpose, anche semplice, basato sul 4004, era assolutamente impensabile. La Intel era conscia di questo, tanto che Moore pensava che il futuro fosse negli orologi digitali.

 

 

 

Casella di testo:  
la MPU 4004
Uno dei principali problemi del 4004 stava nel fatto che aveva troppo pochi piedini: molti segnali erano stati multiplexati, e questo rendeva l’interfacciamento del dispositivo complicato e costoso. Questo era stato dovuto al fatto che la Intel – che fino a quel momento aveva solamente realizzato chip di memoria - aveva voluto utilizzare anche per il 4004 il package DIL a 16 piedini che usava per RAM e ROM.

Il neonato microprocessore doveva ancora evolversi, prima di poter sviluppare un computer basato su di esso.

Intel 8008

Mentre i progettisti Intel sviluppavano il 4004, la CTC (Computer Terminal Corp., che poi avrebbe cambiato nome in DataPoint), aveva contattato Intel e Texas Instruments per lo sviluppo di chip LSI custom per la gestione di un video terminale.

Casella di testo: Modello	8008
Data di introduzione	1 Aprile 1972
Architettura	8 bit
Larghezza bus	8 bit
Clock	0,200 MHz
MIPS	0,06
Numero di transistor	3.500
Tecnologia	NMOS 10 micron
Spazio di indirizzamento	16kb
Layout	 

Anche in questo caso la Intel (e lo stesso aveva fatto TI) aveva proposto un processore su un singolo chip. Questa volta però il processore proposto operava su 8 bit, necessari per codificare i caratteri ASCII.

Alla fine la CTC aveva preferito utilizzare logica tradizionale per il terminale, ma tutte e due le case interpellate avevano proseguito autonomamente il progetto del microprocessore a 8bit, che in casa Intel aveva portato alla realizzazione dell’8008, progettato da Faggin e rilasciato nell’aprile del 1972.

L’8008 richiedeva almeno 20 chip di supporto, ma possedeva un set di 45 istruzioni, ne eseguiva 300.000 al secondo e poteva indirizzare 16kb di memoria. Pur con tutte le sue limitazioni e difetti (ad esempio, a detta degli stessi progettisti, la gestione dell’interrupt era assolutamente inutilizzabile), esso era finalmente una CPU attorno alla quale progettare un computer general purpose.

Il primo microcomputer: Scelbi 8H

E difatti, nel 1973, la ditta Scelbi Computer Consulting presentò un computer modulare basato sull’8008, chiamato Scelbi-8H. Con un po’ di presunzione, la Scelbi lo definì “minicomputer”, per avvicinare l’immagine del proprio prodotto a quella dei mini tipo DEC PDP.

Per quanto semplice, la macchina era ambiziosa: la struttura modulare era composta da diverse schede connesse ad un backplane [6] ; oltre che diversi tipi di schede di I/O e altre interfacce, venivano offerti diversi kit software, tra cui editor, assembler 8008 e persino un cross-assembler per il PDP-8.

Una delle caratteristiche curiose dello Scelbi-8H era l’interfaccia mediante la quale si poteva utilizzare un normale oscilloscopio per visualizzare 8 righe da 20 caratteri di testo ciascuna.

Il computer veniva offerto, nella versione con 1kb di RAM, a 565 dollari montato e testato, oppure in kit da assemblare; per i più avventurosi, la Scelbi offriva addirittura le schede PCB “nude”, senza componenti. Il successo dei kit fu immediato, e rapidamente gli hobbisti si appassionarono a questo nuovo concetto, del computer “personale”, che stava in un contenitore di dimensioni ridotte, e che ciascuno poteva costruirsi e programmarsi.

Casella di testo:  Lo Scelbi era troppo delicato, complesso e limitato per poter avere un successo grande e duraturo; ma era comunque un primo tentativo, che era riuscito a dimostrare che il mercato esisteva, che era affamato di novità, e che chiunque fosse in grado di soddisfare queste aspettative poteva creare facilmente un’industria.

Una semplice struttura

La struttura della macchina era modulare, composta da alcune schede base, interconnesse fra loro mediante un backplane, e contenute entro una scatola di alluminio [Scelbi 1973].

La macchina era controllabile mediante un pannello frontale dotato di spie e interruttori.

Pur nella sua semplicità, lo Scelbi-8H era dotato di parecchie interfacce di I/O:

 

  • tastiera ASCIICasella di testo:
  • interfaccia seriale per TTY
  • lettore di nastro perforato
  • registratore a cassette
  • display vettoriale (interfaccia oscilloscopio)

Interfaccia per oscilloscopio

Delle interfacce di I/O disponibili per lo Scelbi-8H, la più interessante era quella per oscilloscopio. Questa interfaccia forniva un display vettoriale alla macchina: collegandovi un normale oscilloscopio, lo Scelbi-8H poteva visualizzare 8 righe da 20 caratteri alfanumerici ciascuna.

La scheda di interfaccia era pilotata da due porte di I/O a 8 bit, e, tramite opportuna circuiteria di conversione digitale-analogica (in pratica, un integratore), pilotava gli input X e Y dell’oscilloscopio per “disegnare” i caratteri sullo schermo; un altro segnale (canale Z) pilotava il blanking del pennello elettronico per separare i caratteri.

L’oscilloscopio doveva avere due canali, con almeno 5MHz di banda passante (anche per l’epoca, una richiesta per nulla eccessiva), e non richiedeva nessuna modifica particolare.

L’8080 e l’esplosione del mercato

Intel 8080

Casella di testo: Modello	8080
Data di introduzione	1 Aprile 1974
Architettura	8 bit
Larghezza bus	8 bit
Clock	2 MHz
MIPS	0,64
Numero di transistor	4.500
Tecnologia	NMOS 6 micron
Spazio di indirizzamento	64kb
Layout	 

L’Intel si stupì di tutto questo interesse per il kit Scelbi. In fondo ai “computer personali” non ci aveva pensato nessuno, chi aveva veramente bisogno di un computer a casa propria ? Però, con la capacità di reazione tipica delle aziende di successo, nel novembre del 1973 annunciò, e nell’aprile del 1974 rese disponibile, un 8008 perfezionato, dotato di tutte quelle caratteristiche che lo rendevano veramente di uso generale, e lo chiamò 8080.

L’architettura dell’8080 fu creata da Federico Faggin, e il design del silicio da Masatoshi Shima. Pur essendo compatibile a livello di codice con l’8008, l’8080 era finalmente un processore su cui basare la costruzione di un vero computer: oltre ad essere circa dieci volte più veloce del 8008 (il clock passava da 200kHz a 2MHz), aveva molti registri in più e la gestione degli interrupt era molto migliorata (quella dell’8008 era considerata praticamente inutilizzabile). L’8080 richiedeva solamente 6 chip di supporto, aveva un set di 75 istruzioni, e poteva indirizzare 64kb di memoria.

Il microprocessore 8080 è forse uno dei prodotti industriali più importanti di tutto il 20° secolo. Come disse più tardi Faggin: “L’8080 creò veramente il mercato per i microprocessori. Il 4004 e l’8008 lo suggerirono, ma l’8080 lo rese reale”.

MITS Altair

Nel numero di gennaio 1975 la rivista Popular Electronics pubblicò la recensione [Roberts 1975] di un kit, approntato dalla piccola ditta MITS (Microwave Instrumentation and Telemetry Systems), per un microcomputer autocostruibile basato sull’8080. Il kit, denominato Altair 8800, era disponibile al prezzo di 395 dollari.

Casella di testo:  
Il kit dell'Altair
Il kit ebbe un successo inaspettato, una vera bomba sul mercato degli hobbisti affamati di novità: nel solo 1975 ne vennero venduti 2.000, più di qualsiasi altro computer (di tutti i tipi o dimensioni) in precedenza.

Questo microcomputer era basato sull’8080, e includeva 256 bytes di memoria RAM e un pannello frontale con deviatori e LED. Utilizzava un bus formato da un backplane passivo provvisto di connettori a slot, nei quali si innestavano i vari moduli che componevano il computer stesso.

IMS IMSAI I-8080

L’azienda IMS (Information Management Services) Associates, Inc., fondata da William H. Millard nel 1973, era una società di consulenza di San Leandro, California, che forniva servizi di analisi sistemistica e software engineering a utilizzatori di sistemi mainframe, come grandi aziende ed enti governativi.

Gli ottimi ricavi ottenuti fornendo questi servizi avanzati, e la conseguente buona disponibilità di fondi da investire, spinsero IMS a mettere in campo un progetto che permettesse all’azienda di partecipare attivamente al momento di grande innovazione tecnologica che si era aperto dopo l’introduzione del microprocessore.

La IMS presentò infatti, in un’annuncio stampa del 25 ottobre 1975, il nuovo sistema chiamato Hypercube basato su microprocessori, che incarnava un concetto relativamente nuovo e promettente: un computer parallelo capace di eseguire in contemporanea più processi. Un dato problema poteva essere scomposto in più parti da eseguire in parallelo, ciascuna da un processo software separato, in funzione su uno dei molti processori che componevano la macchina.

The Hypercube era pubblicizzato come un sistema multiprocessore dove un insieme di nodi, ciascuno dei quali composto da due processori Intel 8080, erano disposti in matrici quadridimensionali configurate in 2x2x2x2 (Hypercube II), 3x3x3x3 (Hypercube III), and 4x4x4x4 (Hypercube IV).

Ciascun nodo era in grado di comunicare con 8 nodi adiacenti mediante memoria condivisa; della comunicazione si faceva carico uno dei due processori del nodo, mentre l’altro era dedicato alla esecuzione di calcoli.

Il prezzo annunciato del sistema non era certamente basso: 80.000 dollari per l’Hypercube II, 400.000 per l’Hypercube III, e ben 1.280.000 per l’Hypercube IV. Ciononostante, i tre modelli avrebbero dovuto fornire prestazioni di gran lunga superiori a quelle dei mainframe più potenti dell’epoca ad una frazione del loro costo, basti pensare che un IBM 370-168 costava all’epoca circa 4 milioni di dollari.

Il progetto proposto venne quindi ripubblicato sul numero dell’11 dicembre 1975 di Electronics, e la Marina degli Stati Uniti ordinò un Hypercube II per la sua base di Huntsville, Alabama.

Invece che disegnare l’hardware da zero, i due progettisti - Joe Killian e Bruce Van Natta - pensarono di acquistare alcuni MITS Altair 8800 per utilizzarli come nodi. La richiesta di pagamento anticipato, e i ritardi nella consegna da parte di MITS causarono problemi al team di IMS, che decise perciò di procedere a clonare l’hardware di Altair.

Nel giro di pochi mesi, nel novembre del 1975 i cloni di Altair erano pronti. Per recuperare parte dell’investimento, e poter realizzare una certa economia di scala, la IMS decise di produrre dei cloni in più da vendere al mercato hobbistico, con il nome di IMSAI (da IMS Associates, Inc.) 8080.

Casella di testo:  
l’IMSAI 8080
L’IMSAI 8080 venne offerto dotato del nuovo controller CalComp FDC 2-2 per floppy disk da 8”, e del nuovo sistema operativo CP/M v.1.2, al cui progetto lo stesso capo dello sviluppo software di IMS, Rob Barnaby, aveva partecipato per quattro mesi.

Il prodotto, una volta proposto sul mercato con un annuncio su Popular Electronics, ebbe così tanto successo che la società di Bill Millard abbandonò le attività di consulenza e i progetti di supercomputer paralleli e si concentrò sulla nuova realtà, tanto da cambiare nel 1976 la sua ragione sociale in IMSAI Manufacturing Corp.

Il bus S-100

Il bus usato da Altair e poi da IMSAI ben presto divenne lo standard de-facto. Siccome era dotato di 100 linee di segnale (tale scelta da parte della MITS fu dettata solamente da considerazioni economiche, in quanto all’epoca il connettore da 100 piedini era uno dei più facilmente reperibili a basso costo) venne chiamato Standard-100, poi abbreviato in S-100. Una versione migliorata e standardizzata divenne nel 1983 lo standard IEEE-696.

Il bus S-100 ebbe un successo incredibile, tanto che dopo pochi mesi esistevano almeno un centinaio di costruttori che offrivano schede di espansione (CPU, I/O, memoria) per il bus S-100, o addirittura computer completi in concorrenza con MITS e IMSAI; tra i più famosi ricordiamo Cromemco, Compupro, Ithica Intersystems e Northstar.

Il bus S-100 è un bus caratteristico perché possiede due bus dati monodirezionali a 8 bit, e un bus indirizzi bidirezionale a 16 bit. Ciò è inusuale perché in quasi tutti i bus, precedenti o successivi, i bus dati sono bidirezionali. Nel caso dell’S-100, la monodirezionalità semplificava enormemente le tempistiche del bus, e di conseguenza il suo controllo, ovviamente a scapito del numero di conduttori. Il bus soffriva anche di alcuni problemi derivanti da una progettazione poco accurata, come varie linee di alimentazione a diversa tensione localizzate adiacenti le une alle altre.

La limitazione del bus però stava proprio nella sua peculiarità, in quanto i progettisti, per cercare l’estrema semplicità, l’avevano progettato in funzione dell’Intel 8080, o meglio, l’avevano costruito come estensione sul backplane dei piedini del microprocessore. Pertanto, il bus S-100 era particolamente legato a questa architettura, e solamente derivati dall’8080 come l’8085 o lo Z80 potevano essere interfacciati senza troppe complicazioni, mentre vi era una difficoltà intrinseca ad adattarvi tipi diversi di microprocessori.

Cionostante, vennero costruite varie schede CPU per l’S-100 con altre architetture, tra cui il Motorola 6809, il MOS Technology 6502, e perfino con l’Intel 8088 (che era parzialmente a 16 bit); ma l’adattamento avvenne sempre a prezzo della compatibilità o dell’efficienza.

Pertanto, con il superamento del 8080 come processore leader del mercato, anche il bus S-100 fu presto superato. Derivazioni a 16 bit furono tentate, ma portarono a bus proprietari e incompatibili fra loro, privi pertanto di quella standardizzazione che era stata una delle molle del successo dell’S-100.

Nasce l’industria del microsoftware

Digital Research e il CP/M

Nel 1972 Gary Kildall insegnava computer science alla Naval Postgraduate School di Monterey, California, quando si comprò per 25 dollari un Intel 4004. Entusiasta di poter possedere un dispositivo programmabile tutto suo, cominciò a scrivere programmi per il 4004, ma presto si scontrò con le limitazioni di quel processore a 4 bit.

Per nulla deluso, all’inizio del 1972 visitò la Intel, ed affascinato da tutto quello che ribolliva nella pentola della divisione microprocessori, e cominciò a lavorare come consulente per la Intel un giorno alla settimana.

Entusiasta dell’8080, si offrì di sviluppare un compilatore per il linguaggio PL/1, al tempo molto di moda. L’Intel accettò al volo e il compilatore venne chiamato PL/M (Programming Language for Microprocessors).

L’8080 era appena uscito, per cui non esistevano ancora computer basati su di esso; fu necessario perciò adottare una procedura di boot-strap, ossia scrivere un cross-compiler [7] su un altro host, un PDP/10. Per effettuare il testing del compilatore, fu necessario scrivere un emulatore dell’8080; e per gestire questo emulatore, Kildall scrisse una specie di monitor [8] , e lo chiamò appunto CP/M - Control Program/Monitor.

Casella di testo:  
Gary Kildall al lavoro
Come parziale compenso per il compilatore, la Intel diede a Kildall un sistema di sviluppo Intellec-8, dotato dapprima di un 8008, e poi di un 8080. Un amico dell’università di Washington, John Torode, lo aiutò a collegare un floppy Shugart da 8” all’Intellec, sviluppando un disk controller.

Una volta messo a punto l’hardware, mancava il software, ossia un sistema operativo che gestisse il disco. Kildall allora prese il CP/M sviluppato come monitor sull’emulatore 8080 del PDP/10 e lo migliorò fino a trasformarlo in un vero sistema operativo, ribattezzandolo Control Program for Microcomputers. Il CP/M fu profondamente influenzato dal sistema operativo TOPS-10 che Kildall utilizzava sul PDP, specialmente per quanto riguarda le convenzioni usate per i nomi dei file e dei device.

Alla fine del 1973 Kildall lo offrì a Intel, per la ragionevole cifra di 20.000 dollari,  ma la Intel non si mostrò interessata. Su spinta della moglie Dorothy McEwen, Kildall decise allora di venderlo per conto proprio, e perciò fondò con la moglie la Intergalactic Digital Research, Inc., (il cui nome venne poi abbreviato in Digital Research, Inc.).

La prima versione del CP/M offerta al pubblico costava solamente 70 dollari, ed ebbe parecchio successo fra gli hobbisti. Ma ciò che trasformò DRI da una garage startup in una vera azienda fu l’accordo del 1977 con IMSAI, che acquistò una licenza illimitata per il CP/M per 25.000 dollari. Oggi la cifra può sembrare ridicola, ma ciò diede a DRI i fondi per crescere, e stabilì il CP/M come sistema operativo “standard” sulle macchine basate sull’8080.

E DRI crebbe: nel 1979 rilasciò la versione 2.0 e poi 2.2, la versione più di successo del CP/M; nel 1981, al momento della nascita del computer e del sistema operativo che spodesterà il CP/M – l’IBM PC con il suo MS-DOS – c’erano circa 200.000 microcomputers che funzionavano con il CP/M, in più di 3000 configurazioni hardware differenti. Quell’anno, la società era formata da 75 persone e avrebbe fatturato 6 milioni di dollari.

Nel 1982 arrivò la versione 3.0, o CP/M Plus, ma per l’8080 era ormai troppo tardi: l’IBM PC aveva già conquistato il mercato, e la DRI si era lasciata sfuggire a vantaggio di Microsoft l’opportunità di fornire a IBM il sistema operativo di default per quella piattaforma.

Da quel momento, pian piano la fortuna del CP/M si esaurirà; non basteranno le versioni CP/M-86 (per l’8086), CP/M-68K (per il 68000) e MP/M-86 (una versione multiutente con multitasking preemptive) e Concurrent CP/M-86 (solo multitasking) per rinverdirne i fasti.

La DRI creerà altri prodotti di successo: ricordiamo GEM - una interfaccia utente grafica portabile, che molto doveva allo Xerox Star, e che verrà utilizzata dalle macchine Atari basate su 68000 – e DR-DOS – una versione compatibile del sistema operativo Microsoft, derivata in parte dal CP/M-86. Nel 1991 l’azienda verrà acquistata da Novell e nel 1996 tutti i prodotti Digital Research verranno da essa rivendute a Caldera, che ne ha poi ripubblicato tutti i sorgenti come pubblico dominio.

Del CP/M ancora oggi possiamo intravedere qualche traccia fossile che ci è giunta tramite il MS-DOS e i successivi sistemi operativi Microsoft: ad esempio, quando oggi vediamo che il floppy drive sul nostro nuovissimo notebook dotato di WindowsXP è denominato A:, vediamo null’altro che la convenzione utilizzata da Gary Kildall nel 1973.

MicroSoft e il BASIC

Paul Allen e Bill Gates avevano frequentato insieme il college alla Lakeside School a Seattle. Appassionati di programmazione, cercavano tutte le occasioni che permettessero loro di mettere le mani su qualche terminale collegato a dei sistemi time-sharing.

Paul era pieno di idee su hardware e software, la più ricorrente delle quali era costruire un computer basato su un microprocessore; cercava di convincere Bill a creare insieme un’azienda per metterle in atto, ma i genitori di Bill preferivano che egli andasse a studiare a Harvard, dopo il diploma alla Lakeside.

I due erano comunque riusciti a mettere su una piccola attività chiamata Traf-O-Data, che convertiva in reports per la contea i dati raccolti dalle apparecchiature sulle strade che contavano il traffico delle auto.

All’inizio il lavoro era praticamente manuale; poi avevano costruito un prototipo di un piccolo computer basato sull’8008, e avevano scritto il software in assembler per gestire i dati del traffico. La macchina non funzionava tanto bene, perciò l’idea iniziale di costruirla in serie per venderla sul mercato non era andata avanti. E così il business della Traf-O-Data era rimasto limitato, e Bill aveva accontentato i genitori iscrivendosi a Harvard.

Casella di testo:  
Paul Allen (seduto) e Bill Gates
alla Lakeside School
Un giorno di gennaio 1975 Paul e Bill attraversavano Harvard Square, quando i loro occhi caddero sulla copertina di una rivista esposta da un giornalaio. La rivista era il famoso numero di Popular Electronics sulla quale copertina era in bella mostra il nuovissimo MITS Altair 8800.

Ecco che qualcuno stava facendo un computer proprio come Paul aveva in mente, e quindi l’idea era bruciata. Ma subito a tutti e due venne in mente che il nuovo  computer non aveva alcun software da eseguire, e subito scrissero una lettera alla MITS offrendo un interprete BASIC per l’Altair, un vecchio pallino di Bill, che aveva usato diversi interpreti BASIC sulle macchine DEC e GE.

La MITS rispose molto positivamente, e così Bill e Paul si buttarono a capofitto nell’impresa. Di utilizzare un vero Altair, non se ne parlava, non era ancora disponibile sul mercato; e comunque anche un microprocessore 8080 non era così facile da trovare.

Casella di testo:  
Il nastro perforato contenente la versione 1.0
 dell’interprete Microsoft BASIC
Allora Paul Allen, che era molto bravo con l’assembler del PDP-10, si mise a modificare il Macro-10 (l’assembler del PDP) in modo che accettasse anche i codici operativi dell’8080; modificò il DDT-10, il debugger PDP in modo che comprendesse le istruzioni 8080 ed infine costruì un simulatore.

Nel frattempo Bill disegnava l’architettura dell’interprete BASIC, e si fece aiutare da un compagno di corso, Monte Davidoff, assegnandogli l’incarico di sviluppare le routines matematiche. Davidoff collaborò con Gates e Allen alla realizzazione degli interpreti BASIC durante le due estati del 1975 e 1977, e poi ritornò a studiare matematica applicata e Harvard.

In un mese di incredibile sforzo di sviluppo, i tre completarono la prima versione del BASIC, un microscopico interprete BASIC scritto in assembler, così ottimizzato da riuscire a stare in 4kb di RAM, compresa l’area per i dati rappresentanti il codice BASIC da eseguire.

E così, il 1 febbraio Paul volò ad Albuquerque, sede di MITS, per consegnare il loro lavoro, contenuto su un nastro perforato. Durante il viaggio Paul si ricordò che bisognava trasportare il software dal nastro perforato alla memoria dell’Altair, e sull’aereo scrisse un loader. Incredibilmente, sia il loader che l’interprete funzionarono al primo colpo, e Allen fu il primo a stupirsi: digitò “PRINT 2+2” e l’Altair rispose “4”.

Casella di testo:  
MicroSoft
Albuquerque, 7 Dicembre 1978 - dall’alto:
Steve Wood, Bob Wallace, Jim Lane,
Bob O'Rear, Bob Greenberg, Marc McDonald, Gordon Letwin,
Bill Gates, Andrea Lewis, Marla Wood, Paul Allen
Il 1° marzo Paul Allen venne assunto alla MITS come responsabile del software. Bill rimase fuori, continuando a credere nel sogno di creare interpreti BASIC per tutti i produttori di computer. E così dopo breve Bill e Paul decisero di creare la loro società: la MicroSoft venne fondata a Albuquerque, New Mexico, il 4 Aprile del 1975 come partnership tra William H. Gates III e Paul G. Allen.

Il 1° luglio la MicroSoft rese ufficialmente disponibile il BASIC 2.0, nelle versioni da 4kb e 8kb.

Siccome Paul era impegnato con MITS, e Bill doveva studiare a Harvard, la MicroSoft cominciò a assumere programmatori per cominciare il porting del BASIC per il 6800 e il 6502. Parallelamente, partì il progetto del compilatore FORTRAN.

Per tutta seconda parte degli anni ’70, la MicroSoft, dalla sua sede di Albuquerque, impiegò tutte le sue forze per produrre e fornire quasi tutti i costruttori di PC di linguaggi di programmazione (BASIC, FORTRAN, COBOL e FOCAL).

Con  l’inizio degli anni ’80, e il trasferimento della sede a Seattle, comincerà l’impegno nel campo dei sistemi operativi e degli applicativi, che portaranno alla grande espansione della società.

La spaventosa foto qui riprodotta mostra il personale della Microsoft nel periodo di Albuquerque. Dall’aspetto certo non ci si potrebbe aspettare che ne venisse fuori la corporation che ha monopolizzato il mondo dei personal computer.

 

 

<< Capitolo precedente Capitolo successivo >>


[2] All’epoca, molti dipendenti della Fairchild lasciavano la casa madre per creare la propria azienda, e – con un gioco di parole - venivano soprannominati “Fairchildren”.

[3] The threacherous eight”, così Shockley aveva chiamato gli otto tecnici che avevano lasciato la sua azienda per fondare la Fairchild Semiconductors: oltre a Noyce e Moore, essi erano Julius Blank, Victor Grinich, Jean Hoerni, Gene Kleiner, Jay Last e Sheldon Roberts.

[4] Jack Kilby alla Texas Instruments aveva indipendentemente inventato il circuito integrato, ma era un componente più da laboratorio che commerciale; ad esempio, utilizzava wire bonds volanti per connettere i transistor ricavati dallo stesso substrato, mentre Bob Noyce aveva realizzato connessioni a film sottile con la stessa tecnologia planare utilizzata per la costruzione dei transistors.

[5] Nella codifica BCD, i numeri sono rappresentati cifra per cifra, in forma decimale; ogni cifra decimale è rappresentata da 4 bit.

[6] Scheda principale puramente passiva – ossia senza componenti e funzioni proprie – dotata di connettori collegati fra di loro da una serie di conduttori, detta bus. La sua funzione è di mettere in comunicazione le schede attive che vengono inserite nei connettori, e di fornire a tali schede le alimentazioni necessarie al funzionamento.

[7] Un cross-compiler è un compilatore che genera codice oggetto per una architettura diversa da quella sulla quale è fatto funzionare; ad esempio, il cross-compiler di Kildall era scritto in FORTRAN e  funzionava sul PDP-10 sotto TOPS-10, ma generava codice oggetto per l’8080 a partire da un sorgente PL/M.

[8] Un monitor è un programma di supervisione a basso livello, usato per debuggare altri programmi software. Tipicamente permette di lanciare in esecuzione il programma, impostare punti di interruzione, osservare il contenuto dei registri, lo stack, disassemblare parti di codice, ecc.