# Intel 4004

L'Intel 4004 è un microprocessore prodotto da Intel a partire dal 1971. Ritenuto il primo microprocessore nella storia dell'informatica, è stato anche il primo prodotto da Intel, dato che inizialmente l'azienda produceva solo chip di memoria.
L'Intel 4004 fu messo in commercio con un formato a 16 piedini dual in-line il 15 novembre 1971 e viene considerato il primo microprocessore sebbene la Texas Instruments il 17 settembre 1971 annunciò il TMS1802, non un microprocessore ma un microcontrollore e quindi un microprocessore con l'aggiunta sullo stesso chip della CPU RAM, ROM e periferiche.
Inizialmente utilizzato solo dal produttore di calcolatrici Busicom, fu poi commercializzato da Intel grazie ad un accordo con l'azienda giapponese per poter impiegare il chip in sistemi che non fossero calcolatrici in cambio di una riduzione del prezzo della fornitura dei componenti MCS-4.

## Storia
### L'accordo fra Intel e Busicom

A metà del 1969 un gruppo di ingegneri dell'azienda giapponese Busicom, fra cui Masatoshi Shima, andò in California a visitare la Intel che allora era una “startup”, cioè un'azienda da poco avviata. Il loro obiettivo era negoziare lo sviluppo di sette circuiti integrati necessari per realizzare il loro progetto di una serie di calcolatrici da tavolo.
Il capo del dipartimento di "Application Research", Ted Hoff, dopo aver esaminato l'architettura Busicom, inizialmente ripartita su sette chip, di cui 3 erano dedicati a fare la funzione di una CPU specializzata, ebbe l'idea di semplificarla in soli quattro chip, implementando la CPU in un unico chip. La proposta di Hoff consisteva in un'architettura a blocchi ed un set di istruzioni formulate con l'aiuto del suo assistente Stanley Mazor; l'idea fu proposta a Busicom, che accettò e il gruppo rientrò in Giappone nel mese di ottobre del 1969. Ted Hoff a questo punto considerava finito il suo lavoro ed il progetto fu trasferito ad un altro dipartimento, il dipartimento MOS di cui era a capo Les Vadasz. Né Hoff né Mazor dettero ulteriori contributi nelle critiche fasi di design e sviluppo del progetto in quanto non erano progettisti di chip e non avrebbero potuto progettare un chip della complessità del 4004.

### Gli interventi di Federico Faggin

Il progetto languì per molti mesi accumulando un grande ritardo rispetto ai tempi pattuiti con la Busicom, finché Federico Faggin fu assunto da Vadasz alla Intel come capo-progetto e designer dei chip agli inizi di aprile del 1970. Faggin preparò una nuova tabella di marcia che richiedeva l'aiuto di un secondo ingegnere per ridurre il ritardo. La Busicom accettò la nuova tempistica e Shima rimase in California per sei mesi ad aiutare Faggin. Shima era un software e logic designer, e non aveva alcuna esperienza di chip design, però aveva molta voglia di imparare ed affiancò Faggin, per sei mesi, collaborando con lui soprattutto nella delicata fase di controllo dei circuiti e della logica. Tornato in Giappone Shima si occupò poi di sviluppare il software per la calcolatrice, il primo prodotto commerciale che usò il 4004.

### La produzione e commercializzazione

Lavorando con grande accanimento Faggin riuscì a completare il progetto con successo nel tempo record di nove mesi. Il 4004 fu completamente funzionale verso la metà di marzo 1971. Faggin in seguito convinse i manager della Intel a introdurre il chip sul mercato anche se il progetto originale era un progetto esclusivo per il cliente Busicom. Busicom aveva infatti richiesto un abbassamento del costo dei chip della famiglia MCS-4, ed Intel accettò a patto di poter usare la nuova CPU in sistemi che non fossero calcolatrici elettroniche. Busicom accettò e nel novembre 1971 Intel annunciò al pubblico il 4004 con lo slogan "Announcing a new era of integrated electronics".
L'Intel 4004 fu messo in commercio con un formato a 16 piedini dual in-line il 15 novembre 1971. Fu seguito l'anno successivo dall'8008, formato da 3.300 transistor, e dall'Intel 4040.

## Descrizione

Il 4004 era costituito da circa 2.300 transistor in logica PMOS, nello specifico, l'Intel 4004 era la CPU della famiglia denominata MCS-4, un insieme di 4 chip: gli altri componenti erano memorie e circuiti di input/output che potevano essere utilizzati per realizzare un computer completo. Più in dettaglio, il 4001 era una ROM (read-only memory) con 4 linee di output; il 4002 era una RAM (random access memory) con 4 linee di I/O (ingresso/uscita) e il 4003 era un registro a scorrimento statico da usare per espandere le linee di I/O (per esempio, per fare la scansione di una tastiera o per controllare una stampante). Gli elementi funzionali integrati del 4004 erano i seguenti:
* 16 registri di uso generale, utilizzati per i dati su cui eseguire le istruzioni;
* un program counter, usato per indicare alla CPU l'indirizzo della cella di memoria che contiene l'istruzione da eseguire;
* uno stack a tre livelli;
* una ALU, l'unità per i calcoli, binaria e decimale;
* un decodificatore di istruzioni, per trasformare l'istruzione letta nel programma in operazioni eseguibili dalla CPU, e tutto il controllo per gli elementi funzionali interni della CPU;
* un generatore del segnale di temporizzazione sia per la CPU che per gli altri componenti del sistema MCS-4;
* un controllore per gestire il bus esterno per le memorie e per le funzioni di I/O.
A differenza dei microprocessori contemporanei, il 4004 includeva anche il controllo dei bus di memoria e di I/O che non sono normalmente gestiti dal microprocessore. Pertanto il 4004 non solo era una CPU completa, ma presentava funzionalità addizionali che normalmente non sono considerate compito della CPU.
Federico Faggin ha detto: "l'essenza del primo microprocessore è il suo design in silicio" perché ai tempi dell'implementazione del microprocessore molti ingegneri sapevano come definire architetture di CPU e fare progetti logici, ma nessuno prima dell'Intel 4004 era ancora riuscito a realizzare un microprocessore monolitico in silicio. Fu proprio la nuova tecnologia MOS Silicon Gate, con porta auto-allineante ("self-aligned gate") creata da Faggin alla Fairchild nel 1968 ed adottata poi da Intel per costruire memorie, che rese possibile realizzare il 4004, la prima CPU su un singolo chip. Tale tecnologia con l'aggiunta di nuove tecniche circuitali ed una nuova metodologia di progetto, tutte invenzioni di Faggin, rese possibile realizzare chip con una frequenza di clock circa 5 volte superiore alla tecnologia precedente, usando metà dell'area di silicio richiesta dalla vecchia tecnologia. Senza queste innovazioni non sarebbe stato possibile realizzare il primo microprocessore nel 1971 (che altrimenti sarebbe stato troppo lento e costoso per essere utile).

## Specifiche tecniche

* Massima frequenza di clock di 740 kHz
* Memorizzazione separata di codice e dati, il 4004 utilizza un singolo bus multiplexato per trasferire:
** Indirizzi a 12 bit
** Istruzioni in word di 8 bit, in uno spazio separato rispetto ai dati
** Dati in word di 4 bit
* Il set di istruzioni comprende 46 istruzioni (di cui 41 a 8 bit e 5 a 16 bit)
* 16 registri a 4 bit
* Alimentazione a 12 Volt.
* Stack per le subroutine con al massimo 3 livelli di annidamento
* Poteva indirizzare fino a 640 Byte di memoria RAM.

## Documenti originali
### Sulla Tecnologia MOS Silicon Gate (SGT), indispensabile per fare il primo microprocessore

* FAGGIN, F., KLEIN, T., and VADASZ, L. Insulated Gate Field Effect Transistor Integrated Circuits with Silicon Gates, “International Electron Devices Meeting,” Washington, D.C., October 1968, p. 22. Il 23 ottobre 1968, Federico Faggin, capo del progetto, presentò pubblicamente per la prima volta sia la technologia MOS con gate auto-allineanti per produrre circuiti integrati, sia il Fairchild 3708, il primo circuito integrato commerciale ad usare tale tecnologia.
* FAGGIN, F., and KLEIN, T., A Faster Generation of MOS Devices with Low Threshold Is Riding the Crest of the New Wave, Silicon Gate IC’s, “Electronics,” Sept. 29, 1969.Questo fu l’articolo di copertina pubblicato sulla rivista divulgativa Electronics che presentò la tecnologia MOS Silicon Gate e il Fairchild 3708 in seguito alla sua commercializzazione.
* FAGGIN, F., and KLEIN, T., Silicon Gate Technology, “Solid-State Electronics,” 1970. Vol. 13, pp. 1125–1144.Questo fu l’articolo pubblicato sulla rivista scientifica Solid-State Electronics che presentò il dettagli scientifici della technologia MOS Silicon Gate (SGT).
Nota: Con il passare del tempo la SGT divenne la base di tutti i moderni circuiti integrati NMOS e CMOS. Rese possibile la creazione delle prime memorie RAM dinamiche (1970), il primo microprocessore (1971), le prime memorie ROM programmabili elettricamente con porta di silico flottante (EPROM, 1971) e i primi sensori di immagini CCD (1974). Nel giro di 10 anni, la SGT sostituì completamente l’esistente tecnologia MOS con gate di alluminio e finì per diventare la tecnologia di base di quasi tutti i circuiti integrati prodotti al mondo, sostituendo i transistori bipolari che avevano dominato la scena sin dall’inizio dei circuiti integrati.

### Sul primo microprocessore Intel 4004

* FAGGIN, F., and CAPOCACCIA, F., A New Integrated MOS Shift Register, “Atti XV Congresso Scientifico Internazionale per l’Elettronica,” Roma, April 1968, pp. 143–152. Questo articolo descrive un circuito integrato MOS progettato da Federico Faggin presso la SGS-Fairchild (ora STMicro) alla fine del 1967, prima che egli entrasse a far parte della Ricerca e Sviluppo della Fairchild a Palo Alto (California) nel febbraio 1968. Si tratta di un registro a scorrimento statico (16 bit), invece che dinamico, realizzato con un nuovo tipo di flip flop molto più semplice di quelli allora in uso. Faggin ha successivamente utilizzato questo flip-flop innovativo in ciascuno dei chip MCS-4, compreso il 4004.
* Faggin, F., and Hoff, Jr. M., Standard Parts and Custom Design Merge in Four-Chip Processor Kit, “Electronics,” Apr. 24, 1972, pp. 112–116. Primo articolo divulgativo sulla rivista Electronics della famiglia MCS-4 e del primo microprocessore commerciale al mondo (4004). La conoscenza intima della SGT, la tecnologia che Faggin aveva creato alla Fairchild insieme al primo chip commerciale con SGT (Fairchild 3708) nel 1968, con l’aggiunta del contatto sepolto e del boostrap load con silicon gate, due altre invenzioni di Faggin, permisero di raggiungere la velocità di calcolo e il livello d’integrazione necessarie per poter realizzare il primo CPU general-purpose in un singolo chip.
* FAGGIN, F. et al., The MCS-4 – An LSI Micro Computer System, “Proc. IEEE Region Six Conference,” IEEE, 1972. Prima presentazione pubblica dei quattro chips della famiglia MCS-4, 4001 (ROM e I/O), 4002 (dynamic RAM e I/O), 4003 (I/O) e 4004 (CPU) con cui si potevano realizzare micro computer general purpose di varie prestazioni. La conferenza fu tenuta subito dopo l’annuncio ufficiale avvenuto nel novembre del 1971.
* Iniziali F.F. (Federico Faggin) sul 4004 (1971). Le iniziali F.F. sono incise su un angolo di ciascun 4004 prodotto dall’Intel. La firma sul chip fu un gesto spontaneo di paternità e fu anche un'idea originale imitata dopo di lui da molti progettisti. http://www.intel4004.com/sign.htm
* Prototipo ingegneristico della calcolatrice a stampante Busicom 141-PF (1971) – Dono della famiglia Faggin nel 1996 al Computer History Museum, Mountain View, California. Il catalogo della collezione di artifatti del museo mostra le immagini del prototipo ingegneristico della calcolatrice da tavolo con stampante, Busicom 141-PF, la prima applicazione al mondo di un microprocessore. -Questo prototipo fu un regalo personale del presidente di Busicom, Yoshio Kojima, a Federico Faggin per aver guidato con successo la progettazione della famiglia MCS-4. Dopo averlo tenuto in casa per 25 anni, la famiglia Faggin ne fece dono al CHM nel 1996.

## Chip di supporto

* 4001: ROM di 256 byte (256 istruzioni a 8 bit), e una porta di I/O incorporata
* 4002: RAM di 40 byte (80 word dati a 4 bit), e una porta di output incorporata di 4 bit; la RAM è organizzata in quattro "registri" di venti word a 4 bit.
** 16 word (usate per la mantissa nel progetto originale per la calcolatrice)
** 4 word di stato (usate per le cifre dell'esponente e i segni nel progetto originale)
* 4003: shift register a 10 bit con output parallelo per l'utilizzo con tastiere, display, stampanti, ecc.
* 4008: latch a 8 bit per l'accesso a chip di memoria standard, con incorporati un chip select a 4 bit e una porta di I/O
* 4009: convertitore da accessi all'area dati e I/O in memoria standard e chip di I/O

## Collezionismo

L'Intel 4004 è uno dei chip più ricercati nell'area del collezionismo. I più preziosi sono i 4004 dorati e bianchi, con visibili le cosiddette "tracce grigie" sulla zona bianca (il package originale). Nel 2004 questi chip sono stati venduti intorno ai € 400 su eBay. Le versioni leggermente meno preziose sono i chip bianchi e dorati senza le tracce grigie, che hanno una quotazione tra i € 200 e i € 250. Altri chip ricercati dai collezionisti sono gli Intel 4040.

## Curiosità

Faggin ha inciso le sue iniziali sul microprocessore; in un angolo dell'integrato si può leggere in piccolo la scritta "F.F.".