# Intel 4004

De 4004 is de eerste microprocessor, dat wil zeggen, de eerste processor die volledig op één chip is gebouwd. Intel lanceerde deze in 1971.
Voor de 4004 bestonden CPU's uit verschillende SSI- of MSI-chips. De 4004 was onderdeel van de MCS-4-familie van LSI-chips die konden worden gebruikt om computers te bouwen met diverse hoeveelheden van geheugen.

## Geschiedenis

Marcian ("Ted") Hoff van Intel bracht het architectuurconcept in 1969 aan. De ontwikkeling van de 4004 begon in april 1970, toen Federico Faggin door Intel werd weggekocht bij Fairchild Semiconductors om het project te leiden en de eerste microprocessor te ontwerpen. Bij Fairchild had Faggin de oorspronkelijke Silicon Gate Technology (SGT) in 1968 ontwikkeld.
Zodra hij bij Intel kwam, werkte hij een nieuwe ontwerpmethodologie met random logic uit, met gebruikmaking van de Silicon Gate-technologie; deze technologie paste hij toe op het ontwerp van de 4004, alsmede van alle eerste microprocessoren van Intel (8008, 4040, 8080). Bovendien was hij de bedenker van flipflops met regelbare stroomvoorziening, een nieuw flipflopontwerp in een nieuw statisch MOS-shiftregister. De 4004 werd een exclusief project voor het Japanse rekenmachinebedrijf Busicom. Faggin wilde het project graag op de markt brengen en ging bij de hoogste bedrijfsinstanties aankloppen. Hij stelde Bob Noyce voor, die toen voorzitter van Intel was, opnieuw te onderhandelen over de exclusiviteitsrechten met het oog op een prijsverlaging. Noyce onderhandelde met succes met Busicom; tegen eind 1971 werd de 4004 voor het eerst op de markt gebracht.
Eind 1974 richtte Faggin het bedrijf Zilog op dat zich als eerste uitsluitend op microprocessoren toelegde. Intel beschouwde microprocessoren toen nog als een instrument om meer geheugens te verkopen. Masatoshi Shima van Busicom hielp Faggin bij de ontwikkeling van de 4004 en ontwierp de calculatorsoftware van Busicom. In 1975 kwam hij bij Zilog werken, en samen met Faggin ontwikkelde hij de Z80.

## Kenmerken

De 4004 is een 4-bits-processor. Hij kan met 4 bits tegelijk bewerkingen doen. Bewerkingen met getallen van 16 (2$^4$) of groter moet hij in meerdere stappen doen. Het tientallig (BCD) rekenen verraadt waar hij oorspronkelijk voor ontwikkeld is: voor de kantoorrekenmachine.
De 4004 heeft een 16-pins DIL (dual in line)-behuizing. Ter vergelijking: de Intel Core i7 uit 2016 heeft 2011 pads voor LGA (land grid array).
De 4004 heeft 2300 transistors. Zoveel waren er in die tijd nog nooit op één chip geplaatst. De 4004 heeft een instructieset van 46 (later 50) instructies, 41 van 8 bits en 5 van 16 bits, en hij heeft een maximale kloksnelheid van 740 kHz. De 4004 heeft een voedingsspanning van 5 + 12 volt nodig. Dat komt door de toepassing van Silicon Gate-technologie met gebrekkige p-type MOSFET's met pull-upweerstanden.
Per klokcyclus kan de processor de situatie in de processor wijzigen. Het is niet zo dat er in één cyclus één instructie kan uitgevoerd worden; bijna alle instructies hebben meerdere cycli nodig.
Voor een 8 bits-instructie gaat dat als volgt:
* 3 cycli om het adres van de volgende instructie in te laden
* 2 om de processor klaar te maken voor de instructie
* 3 cycli voor het uitvoeren van de instructie
In totaal acht cycli. Voor een 16 bits-instructie het dubbele, dus 16 cycli.
Hiermee kan de 4004 dus 46.250 instructies van 8 bits uitvoeren per seconde. Om twee getallen bij elkaar op te tellen heeft de 4004 zes instructies nodig. Om 46250/6=7708 getallen tussen 0 en 255 (2$^8$) bij elkaar op te tellen heeft hij dus één seconde nodig. De 4004 werd in die tijd als supersnel gezien.

## Technische specificaties

* Maximale kloksnelheid 740 kHz
* Instructiecyclustijd 10,8 µs, 8 klokcyclus / instructiecyclus
* Instructie-executietijd 1 of 2 cycli, 46300 tot 92600 instructies per seconde
* Gescheiden programma- en dataopslag
* Instructieset die 46 instructies bevat
* 16 registers van elk 4 bits