Home Computer x86 Prozessoren Site Map counter

Der Intel 4004 - der erste Mikroprozessor

Einleitung

Intel wurde am 18.4.1958 von den beiden ehemaligen Fairchild Mitarbeitern Gordon Moore und Robert Noyce gegründet. Es war damals nur eine neue Firma die im Silicon Valley gegründet wurde. Besonders Fairchild verließen viele Mitarbeiter. Moore und Noyce waren die letzten der ehemals sieben Firmengründer. Intel verstand sich als Anbieter von Logikbausteinen. Sie machten einen Großteil der Produktpalette aus. Dazu kamen als neues Produkt RAM-Bausteine in Bipolar Technologie und ganz neu: statische RAM.

la junge Firma nahm Intel auch Fremdaufträge an um möglichst bald in die Gewinnzone zu kommen. Einer der Aufträge war der der japanischen Firma Busicomm. Busicomm stellte Tischrechner her. Dieses Geschäftsfeld boomte nachdem die Mikroelektronik diese Geräte in bezahlbare Regionen brachte Busicomm war 1918 gegründet worden und begann nun den Wechsel von mechanischen und einfachen elektronischen Tischrechnern zu komplexeren Rechnern mit mehr Intelligenz. Busicomm hatte schon etwas vorher die Firma Mostek mit der Fertigung eines Chips für einen Rechner beauftragt. Intel bekam einen Auftrag über 100.000 Dollar die Schaltung für den nächsten zu entwerfen. Daraus wurde die Erfindung des Mikroprozessors

Geschichte

4004Das Busicomm Projekt wird Ted Hoff, einem der ersten Angestellten Intels übertragen. Es begann im Juni 1969 als drei japanische Ingenieure, darunter Masatoshi Shima, Intel ihr Design des neuen Druckers brachten. Ted Hoff machte sich über die Details und erkannte die Problematik. Es gab ein LCD-Display das multiplexed war, d.h. man schrieb nacheinander die Information auf die Datenleitungen. Es gab einen Drucker zu unterstützen, das Keyboard einzulesen. Mit dem damaligen Ansatz dies durch einzelne Logikbausteine zu realisieren inklusive den Chips für die Berechnungen, das RAM (das damals als Schiebregister realisiert wurde) war die Schaltung relativ komplex und sie würde nicht dem Kostenziel entsprechen das Busicomm vorgab. Hoff rechnete mit acht bis 12 unterschiedlichen Bausteinen für die Schaltung.

Ted Hoff erarbeitete einen anderen Ansatz. Anstatt einen Logikchip zu entwerfen der das Keyboard abfragte, einen für den Drucker und das LCD und dann eine Reihe für die Berechnungen arbeitet er einen universtellen Ansatz. Ein programmierbarer Chip sollte alle Berechnungen durchführen, alle Eingaben und Ausgaben erledigen. Das Programm dafür würde in einem unveränderlichen Speicher, einem ROM untergebracht. Die Daten, beim 4004 waren dies die Eingaben des Benutzers und die Ergebnisse der Berechnungen wurden in einem RAM untergebracht, das machte dies gegenüber einem Schieberegister billiger. Zuletzt gab es noch einen Chip der die Signale des Prozessors an die verschiedenen Ein- und Ausgabegeräte verteilte und deren Daten weiterleitete. Das ganze Design kam so mit nur vier Chips aus. Ein weiterer Schachzug war, das er sich von den konkreten Vorgaben des Busicomms Vorschlags löste. Die Firma hatte selbst einen Ansatz der auf einem Rechner beruhte der im Dezimalsystem rechnete und mit 16 Schiebregistern die 16 Ziffern speicherte und 16 Dezimalziffern parallel berechnete. Der 4004 arbeitete intern binär wie (fast) jeder andere Computer und wandelte nur das Ergebnis vor der Ausgabe in Dezimalzahlen um. Er berechnete die Ziffern nacheinander, seriell durch ein Unterprogramm das für jede Berechnung erneut durchlaufen wurde. Es bedürfte aber viel Überzeugungsarbeit. Das Konzept war zu radikal, die ersten Vorschläge für die Befehle waren zu minimalistisch und man musste praktisch für die Ausgabe von Ziffern auf LED, Drucker und die Eingabe der Zahlen über die Tastatur ein Realzeitsystem schreiben, das alles mit einem völlig neues System. Es gelang jedoch schlussendlich Busicomm zu Überzügen und fünf Einwände die es gab zu beseitigen. Ganz konnte man sich von dem Busicomm Vorschlag nicht lösen. Da die Ausgabe mit Schieberegistern gelöst war, war auch ein Baustein ein Schieberegister an den dei Ausgaben übermittelt werden konnten und von dort aus gelangten sie seriell zu dem LCD und dem Drucker.

Die CPU war nur einer von ihnen, der vierte und erhielt die interne Produktbezeichnung 4004. Diese 4-Ziffern Code erlaubten es Kunden anhand des Codes zu erkennen welche Klasse von Chip dies war. Die Nummerierung war neu, denn damals hatte Intel eine interne Nomenklatur nach der die Bausteine benannt wurden:

Erste Ziffer: Technologie

1: PMOS

2: NMOS

3: Bipolar

Zweite Ziffer Typ des Chips:

1: RAM

2: Random Logic

3: ROM

4+5 Shift Register

Due letzten zwei Ziffern wurden dann fortlaufend durchnummeriert. Demnach hätte der Prozessor eigentlich die Nummer 1202 bekommen sollen. (der vorher begonnene 8008 wäre die Nummer 1201 gewesen). Das 4001 ROM die Nummer 1302, Das RAM 4002 die Nummer 1105 und das Schieberegister 4003 die Nummer 1507. Intel entschloss sich für eine Neunummerierung weil diese Schaltungen zusammengehörten und so das Bestellen einfacher war.

Busicomm 141-PFIntel würdigt die Erfindung des Mikroprozessors und hebt sie hervor, doch es gibt dazu noch etwas zu korrigieren. Das eine war, das die Erfindung nicht von Intel kam. In dem Sinne in dem wir eine Erfindung verstehen, als Idee die zum Patent angemeldet wurde, war TI Intel voraus. Allerdings war der 4004 der erste kommerziell verfügbare Mikroprozessor. Texas Instruments war kommerzielle allerdings mit der kurz nach Intel herausgebrachten TMS 1000 Serie kommerzielle erfolgreicher. Diese war in den Anwendungen für die ein 4 Bit Prozessor geeignet war, das waren damals vor allem Taschen- und Tischrechner, da man mit 4 Bit genau eine Ziffer auf einmal verarbeiten kann besser geeignet, weil Texas Instruments bald einen Microcontroller entwickelte der RAM und ROM entfielt, der TMS 1802. Das sparte zwei der vier Chips des 4004 ein. Im Februar 1970 wird der endgültige Vertrag über die Entwicklung und Lieferung der vier Chips mit Busicomm unterzeichnet.

Die eigentliche Bedeutung der Erfindung des Mikroprozessors war nicht die Integration: Im Prinzip arbeitete der 4004 wie eine größere CPU, nur eben mit nur 4 Bit, wodurch er weniger Schaltungen brauchte. CPUs die aus Rechenwerken, Registern, Dekodierern etc. bestanden gab es schon lange. Der 4004 hatte kein anderes Funktionsprinzip. Er war nur, weil die CPU nicht sehr leistungsfähig war, auf einem Chip untergebracht. Das ist in diesem Sinne keine Revolution, mehr eine Evolution. Das man die 2000 bis 3000 Transistoren die eine einfache CPU hatte auf einem Chip integrieren konnte wusste man schon vorher. doch technisch möglich war es erst seit 1969. 1969 erfand Faggin, damals noch bei Fairchild Industries die Silicon-Gate Technologie. Sei setzte polykristallines Silizium für das Controllgate ein. Vorher bestand es aus Aluminium. Damit brauchte man viermal mehr Energie und die doppelte Fläche. 1970 übernahm Intel diese Fertigungstechnologie.

Die eigentliche Revolution ergab sich erst in den folgenden Jahren und Jahrzehnten. Zuerst innerhalb eines Jahrzehnts war die offensichtlichste Folge, das Computer viel billiger werden konnte, weil der Mikroprozessor nun in Serie produziert werden konnte. Zusammen mit den ebenfalls als Massengut produzierten RAM-Chips und EPROMS, die damals auch gerade erschienen, machte dies Computer für Privatpersonen bezahlbar.

Die zweite Folge stellte sich erst in den Neunzigern heraus - Da der Prozessor nur ein kleiner Chip mit wenigen Quadratzentimetern Fläche ist kann er viel höher getaktet werden als CPUs aus einzelnen Bausteinen,, bei denen jedes Signal lange Leitungswege zwischen den Chips zurücklegen muss. Seymour Cray, der sich zeit seines Lebens gegen Mikroprozessoren wandte konnte die Geschwindigkeit seiner Rechner trotz dreidimensionaler Vernetzung und Nutzung sehr schneller Halbleitermaterialien nicht mehr steigern und Kunden kauften lieber Super Computer bestehend aus vielen Mikroprozessoren.

Doch zurück zum Intel. Ted Hoff erarbeitet das Design, wird dann aber in andere Projekte in der Abteilung für Speicherbausteine abgezogen, weil der Auftrag ein eher kleiner war. Masatoshi kam im September 1969 zu einer zweiten Besprechung zu Ted Hoff. Damals war man noch bei Busicomm mit dem Fortschritt einverstanden, doch dann kam es ins Stocken. Stan Mazor arbeitet nun an dem Projekt. Er ist jedoch noch neu bei Intel und hat von dem Schaltungsentwurf keine Ahnung. Er konzentriert sich auf die Mikroprogrammierung des Interpreters für den Tischrechnern, also das eigentliche Programm das den Tischrechner von jedem anderen 4004 Projekt unterscheidet.  Doch auch er scheidet im Oktober/November 1969 aus. dem Projekt aus. Danach tut sich ein halbes Jahr nichts. Hoff stellte im April 1970 Frederico Faggin ein um das Projekt endlich umzusetzen, das bisher nur in der Beschreibung der Funktionalität und grundlegenden Designentscheidungen bestand. Faggin war ebenfalls ein ehemaliger Fairchildmitarbeiter. er wollte schon früher wechseln musste als italienischer Einwanderer aber eine bestimmte Zeit bei seinem ersten Arbeitgeber verbleiben. Faggin hat Erfahrungen mit Tischrechnern und Computern und ist mit seiner Expertise in der Produktion von Halbleitern  der ideale für das Projekt.

Kurz nach seinem Beginn bei Intel (nach einer Quelle sogar am ersten Arbeitstag, dem 3.4.1970) kommt Masatoshi Shima um sich von den Fortschritten des Projektes zu überzeugen und stellt zu seinem Entsetzen fest, dass sich nichts getan hat. Masatoshi Shima wird von Busicomm an Intel überstellt um die Schaltungen zum Abschluss zu bringen und arbeitet fortan mit Faggin unter Hochdruck an der Fertigstellung. Später kündigt Masatoshi als Busicomm in finanzielle Schwierigkeiten kommt und wird Intel Vollzeitmitarbeiter. Der Großteil der Arbeit entfällt aber auf Faggin. er entwirft die Schaltungen, zeichnet sie zum großen Teil sogar selbst. Busicomm die vorher bei Robert Noyce ihren Zeitplan vorgelegt haben, der im Juli 1971 die Produktion der 4002 und 4003 vorsah und im Oktober 1971 die des ganzen Rechners bestehen nun mit dem Anwalt auf die Einhaltung des Zeitplanes. Faggin hat nicht nur Zeitprobleme. Er hat auch Probleme mit dem Fertigungsprozess. Intel ist zu diesem Zeitpunkt eine "Memory Company". Sie fertigt vor allem Speicherchips und sie hat wenig Erfahrungen mit dem MOS Prozess. Er bekommt wenig Unterstützung weil er der einzige ist, der schon mal bei Fairchild mit dem MOS Prozess zu tun hatte. Faggin beschließt sich in der Schwierigkeit zu steigern und beginnt mit dem 4001, Das ist ein 2048 Bit Masken-ROM, ein Baustein der Art den Intel schon fertigt. Danach das 4003 ein Shift-Register, es folgt das 4002 ein RAM und zuletzt der 4004. Seine Frau war damals nach Italien gereist, so arbeitete er bis nach Mitternacht an den Entwürfen. Er brachte es fertig, die vier Chips zwischen April und Dezember 1970 konstruieren. Normalerweise hätte man für den 4004 alleine ein Jahr gebraucht, Shima ist von April bis Oktober mit dabei. Im Oktober geht der letzte Chip in die Maskenproduktion. Faggin hat die Verzögerungen fast alleine aufgeholt. Im Dezember sind die ersten 4004 als Chips für Tests verfügbar. Einen Fehler findet man noch der bei den vorherigen Logiktests nicht auffiel. Das war damals ein extrem niedriger Wert. (Beim 8080 musste man z.B. weil die CPU keine TTL-Pegel erzeugen konnte eine verbesserte Version 8080A nachschieben, was 5 Monate dauerte). Es gelang den Zeitplan einzuhalten. 1971 kann Busicomm mit der Produktion des Tischrechners beginnen und veröffentlicht ihn am 3.10.1971. Einen Monat später kündigt Intel den 4004 in einer Anzeige am 5.11.1970 an.

Als es um den Preis der Schaltungen geht fängt Busicomm an zu handeln. Sie verweisen auf die Verzögerungen und sind selbst unter Druck, denn dadurch das nun viele Firmen in Japan Tischrechner entwickeln sinken die Preise. Intel hat inzwischen aber erkannt das diese vier Schaltungen universell einsetzbar sind, nicht nur auf den Tischrechner von Busicomm beschränkt. So wird man sich handelseinig: Intel kaufte die Rechte für 55.000 Dollar zurück. Nebenbedingung war das Intel die Prozessoren nicht an andere Hersteller von Tischrechnern verkauft. Im Oktober 1971 brachte Busicomm das Modell Busicomm 141PF für 159.900 Yen auf den Markt. Die Firma konnte in dem immer härter werdenden Preiskampf allerdings nicht bestehen und ging schon 1973 in den Konkurs. Intel meldete auch zwei Patente an. eines für den externen Bus und eines für den Restart der CPU welches Faggin entworfen hatte, weil der Chip keinen Pin dafür hatte um einen Reset auszulösen.

Intel schrieb 100 Kunden an um den Prozessor in einer Präsentation vorzustellen. 30 antworteten und 15 kamen. Es gab eine Reihe von Ideen für Anwendungsmöglichkeiten so zum Steuern eines Aufzugs oder zum Messen des Durchflusses von Säulen der Tankstellen damit man die verbrauchte Kraftstoffmenge bestimmen konnte. Intel selbst bewarb ihn als die "Alternative". Die Alternative zu Logik. Anders ausgedrückt: anstatt für eine Schaltung die logischen Bausteinen auszuwählen oder fabrizieren zu lassen, den Schaltplan zu entwerfen und die daraus entstehenden Probleme (Timing, Widerstände, Ströme mussten stimmen zu lösen hatte man einen Chip der programmierbar war zusammen mit dem RAM/ROM und I/O Chip. Der letztere war die Schnittstelle nach außen und die war standardisiert. Man hatte also Schaltungsdesign durch Programmierung ersetzt. Möglich machte das eine neue Erfindung von Intel, die anders als der 4004 tatsächlich eine Cash-Cow für Intel werden sollte: Das EPROM.

Die -FotoROM; gab es schon früher, doch es waren maskenprogrammierte ROM. Das war eine Matrix von Transistoren. Überall wo ein Bit 0 war lies er keinen Strom durch und bei einer 1 lies er Strom durch. Die Maske musste erstellt werden und dann konnte man die Chips wie andere auch fertigen - kundenspezifisch und bei hohen Stückzahlen sehr billig. Diese Technologie war aber nichts wenn man erst das Programm entwickeln und testen wollte. Dafür waren Masken einfach zu teuer und das Programm in einen Speicher zu laden erforderte ein anderes Programm - das um den Paperstreifenleser erst mal in Betrieb zu nehmen. Mit dem EPROM gab es die Möglichkeit mit einem Programmiergerät und der Schaltung mit den vier Chips den Prozessor zu programmieren und dies ohne großem Aufwand, denn ein EPROM konnte beliebig oft neu beschrieben werden und behielt anders als RAM auch den Inhalt.

Der 4040 wurde so an sehr viele Kunden geliefert. Viele waren kleine Firmen oder Privatpersonen die erst eine Firma aufmachten. Dieses Business war komplett unter dem Radar des herkömmlichen Vertriebs der mit Computerherstellern verhandelte. Wenn dort ein Verkaufsagent von Intel mit Honeywell, GEC,RCA, Xerox oder IBM verhandelte, dann verkaufte er tausende von Bausteinen die in einer Serienproduktion von großen Rechnern eingesetzt wurden. Dagegen nahmen die kleinen Firmen nur kleine Stückzahlen ab. Andy Grove Leiter des Vertriebs und Les Valdasz, Leiter der Entwicklung der Abteilung zu der der 4004 gehörte waren gegen das Produkt weil es zu wenig Umsatz machte. Das es nicht aufgegeben wurde lag an Robert Noyce (Firmengründer) und Bob Graham (Vizepräsident Marketing9, die das Potential des programmierbaren Chips sahen: es konnten einige dieser Firmen erfolgreich sein. Dann würden sie mehr Chips brauchen oder sie entwickeln etwas neues und kaufen dann erneut von Intel. Über den Verkaufspreis des 4004 gibt es unterschiedliche Angaben. Es werden 60 Dollar genannt, Ted Hoff spricht von 20 bis 30 Dollar. Die Produktionskosten lagen bei 5 bis 10 Dollar.

Trotzdem war der 4004 nicht der große Verkaufsschlager. Dazu waren seine Möglichkeiten einfach zu beschränkt. Der Prozessor war z.B. nicht universell sondern auf die Verarbeitung von VCD Ziffern ausgelegt. Das ergab sich aus der Auslegung für den Tischrechner. Das RAM und ROM waren klein und die Taktfrequenz zu niedrig. Ted Hoff selbst schreibt das man bei der Investition von 100 Dollar in TTL Bausteine man eine CPU konstruieren kann die zehnmal bis hundert mal schneller ist. Ein komplettes Computersystem selbst mit minimaler Ausstattung kostete dann aber rund 1000 Dollar. So würde man wenn man einen Computer mit der 4004 als CPU baute von diesen 100 Dollar vielleicht 70 sparen, hätte dafür aber ein zehn bis hundertmal langsameres System - das lohnte sich nicht. So gab es zwar viele Kunden und Ideen für den Chip, aber nur geringen Umsatz. Die Zahl der verkauften Prozessoren ist unklar, oft werden 100.00 Stück genannt. Intel spricht auch von 100.000 verkauften Tischrechnern bei Busicomm und Faggin meint, das durch die Beschränkung auf den Einsatz in einem Tischrechner und das Lieferverbot an andere Hersteller von Tischrechnern es wenige Systeme gab die bis zur Serienreife gelangten. Die geringe Bedeutung zeigt sich auch darin das es nur einen Zweitproduzenten gab, National Semiconductor. Damals vergab Intel noch bereitwillig Lizenzen für Zweitproduzenten und die eigene Marktmacht zu stärken und so Geld zu verdienen ohne selbst produzieren zu müssen. Auch wurde der 4004 anders als die frühen 8 Bit Prozessoren von Intel nicht im Ostblock nachgebaut.

Immerhin fand ein 4004 Einzug in die Raumfahrt: Ein 4004 war Bestandteil des Neutralgasmassenspektromters an Bord der größeren Pionier Venus Landesonde. Der 4004 erlaubte es jede Minute ein Spektrum zu gewinnen. Ohne Mikroprozessor wäre dies nur alle 10 Minuten möglich gewesen. Das Anfertigen eines Massenspektrums dauerte 64 Sekunden. Der Intel 4004 Prozessor hatte die Aufgabe die Spektren zu komprimieren indem er die Peakraten in eine 10 Bit Fließkommazahl konvertierte. Dadurch gelang es, mit einer Datenrate von nur 40 Bit/sec, die Spektren zu übertragen. Entgegen anderer Gerüchte war er aber nicht in der Pionier 10/11 Sonde verbaut - er kam dafür einfach zu spät, denn die erste Sonde wurde schon im März 1972 losgeschickt, wie hätte man bei deren Design das 1969 begann einen erst im November 1971 verfügbaren Prozessor berücksichtigen können? Ein ähnliches Gerücht gibt es beim RCA 1802 und den Voyager Raumsonden.

Das prägte das Bild das man bei Intel von den Mikroprozessoren hatte für einige Jahre und sorgte für Fehleinschätzungen. Dazu kam dass der erste 8 Bitter 8008 genau die gleichen Probleme hatte - er war ein Spezialdesign für Zeichenverarbeitung, zu langsam und hatte zu wenig Speicher. Auch er verkaufte sich nicht gut. In den Augen des Managements waren Mikroprozessoren Bauteile, die viele Leute nutzten um eigene Schaltungen umzusetzen exotische Probleme zu lösen, aber keine Bausteine aus denen man einen Computer herstellen würde. Damit waren sie kein Massenmarkt, anders als die Speicherbausteine die in jedem Computer in großer Zahl benötigt wurden. Selbst als externe Mitarbeiter wie Gary Kildall ein Betriebssystem für diese Prozessoren entwickelten oder Steve Jons zu Intel mit der Idee für den Apple I kam, erkannte man nicht das Potential.

Intel verzieh vor allem Frederico Faggin nicht, das er 1974 Intel verließ. Faggin sah nachdem er den 8080 entworfen hatte, das Intel die Möglichkeiten der Mikroprozessoren weitgehend ignorierte. Er wurde befördert, hatte sich nun aber auch um andere Bausteine zu kümmern. Er beschloss sich selbstständig zu machen und gründete mit Venturekapital von Exxon seine eigene firma: Zilog.  Der von ihm entworfene Z80 Prozessor wurde zum meistverkauftesten 8 Bit Prozessor überhaupt.  Bis heute findet man auf Intels Webseiten und auch in dem "Intel Museum" nur Ted Hoff als Erfinder des Prozessors erwähnt. Das er nur die Architektur skizzierte, den ganzen Entwurf vor allem aber von Faggin unter Mithilfe von Masatoshi  (der auch Intel verließ um bei Zilog weiterzuarbeiten) verschwieg man. Dumm nur das Faggin damals die Masken mit seinem Initial versah und da lugt auf den abgebildeten Masken und Diefotos doch tatsächlich ein "FF" hervor ... (oben rechts auf dem Die Foto). Faggin entwickelte nicht nur den 4004 sondern auch den 8080 durch den Intel erst die Mikrocomputerrevolution auslöste und der Grundstock ihrer heutigen Bedeutung ist, denn auf dem 8086, einem auf 16 Bit aufgebohrtem 8080 basiert der IBM PC.

Architektur

PinbelegungAufgrund des Auftrages einen Rechner zu bauen hatte der 4004 eine 4-Bit Architektur. Das bedeutet seine Register waren 4 Bit breit. Damit konnte er die ganzen Zahlen von 0 bis 15 bearbeiten. Der Tischrechner hatte 16 Ziffern, der Rechner bearbeitete bei jedem Durchgang eine Ziffer. Für die Addition von zwei 8 stelligen Zahlen brauchte der 4004 nach Intels Angaben 0,85 ms. (allerdings nur wenn sich alle Zahlen in Registern befanden, das ist eine sehr optimistische Annahme).

Der 4004 setzte anders als spätere Mikroprozessoren von Intel die Harvard Architektur ein. Das bedeutet: der Adress- und Datenbus für RAM und ROM war getrennt und beide Adressräume waren unterschiedlich groß. Das ROM war 4 KByte groß (12 Bit Adressen, ein Byte pro Adresse), das RAM dagegen 640 Byte groß. da der Prozessor aber in einem Gehäuse mit nur 16 Pins untergerbacht war wurde der gesamte Adress-/Datenbus über nur vier Datenleitungen abgewickelt - es war ein multiplexter Bus, das bedeutet man benutzte ein und dieselben Pins für unterschiedliche Signale, die dann nacheinander übertragen werden mussten. Neben den Taktsignalen und der Versorgungsspannung waren noch weitere Pins wichtig. Über einen CM--ROM signalisierte der Prozessor das er die Daten aus dem ROM haben wollte, anstatt aus dem RAM, vier weitere Pins CM-RAM0 bis 3 wählten die Speicherbank aus. Zusammen mit der Möglichkeit keine Speicherbank auszuwählen gab es so 5 RAM-Bereiche, jeder mit einer 8 Bit Adressierung und 4 Bit breit. Auch diese unterschiedliche Breite von RAM und ROM kommt oft bei Harvard Architekturen vor.

Die Gehäuseform wurde von Intel vorgegeben, sie war ein Manko das zum einen eigene Befehle erforderlich machte um zu signalisieren welche Bedeutung die gerade anliegenden 4 Bit hatten. Zum anderen verlangsamte es den Prozessor. Von  den acht Taktzyklen für eine Instruktion brauchte der 4004 alleine drei um die Adresse an das ROM auszugeben, zwei um dann einen 8 Bit Wert einzulesen und nur drei um den Befehl auszuführen.

Dieses Ungleichgewicht des Speicherausbaus zeigte sich auch in den Anweisungen. Anweisungen waren entweder 8 oder 16 Bit lang. Alle 8 Bit Anweisungen arbeiteten ohne Adresse und waren z.B. Rechnungen oder Kopierbefehle zwischen den Registern. Alle 16 Bit Anweisungen enthielten entweder im zweiten Byte und den zweiten 4 Bit des ersten Bytes eine ROM-Adresse oder eine 8 Bit Konstante oder eine 8 Bit Adresse im RAM, So konnte man eigentlich nur 256 Adressen zu je 4 Bit ansprechen. Über die 4 Bankselektionen, die es als eigene Befehle kam, konnte man den Speicherbereich vergrößern. So kam es zu der sektsamen Speichergröße für das RAM:

4 x 256 Bit direkt adressiert

+ 4 x 4 Bit x 256 Adressen über Bankswitching

= Total 5120 Bit oder 640 Byte Adressbereich

Auch im ROM waren nur Adresszugriffe 12 Byte lang (bei einem Sprung ohne Bedingung), ansonsten Liesen die nötigen Bits für die Angabe einer Bedingung oder bei Datenzugriffen für eine Adresse nur 8 Bit übrig. Das bedeutet bei Datenzugriffen wurde nur ein 256 Byte großer Block im ROM angesprochen. Auch hier wurde der Block über einen Befehl mit dem man auf einen von 8 Blöcken zugreifen könnte selektiert. Alleine 15 Befehle gab es um die jeweiligen Banks zu setzen oder zu lesen. Das war ein Drittel des Befehlssatzes. Die 4 Datenleitungen konnten auch als Ein/Ausgabeleitungen interpretiert werden. Dann fungierten sie als 16 Ein/ oder Ausgabeports.

Die Ausführungszeit war genau berechenbar: Alle 1 Byte langen Befehle dauerten einen Maschinenzyklus =8 Takte, alle zwei Byte Befehle dauerten zwei Maschinenzyklus = 16 Takte. Ohne multiplexen Bus wäre die Zykluszeit auf 4 Mikrosekunden senkbar gewesen, für den Anwendungszweck war es aber schnell genug: Zwei 16-stellige Ziffern konnte der Prozessor in 2 ms addieren, selbst wenn man noch die Ladezeiten hinzunimmt (die Intel bei der Performanceangabe wegließ) kommt man auf etwa 5 ms, das ist für Menschen "sofort".

ArchitekturDie  Register bestanden aus einem Rechenregister, dem Akkumulator und 16 Indexregister die Daten oder Adressen aufnahmen. Sie wurden als "Scratchpad" bezeichnet. Diese Registermenge ist für einen so kleinen Prozessor ungewöhnlich. Eine Überlegung war wohl, das man für ganz einfache Applikationen so komplett ohne RAM auskommt und alle Daten in den Registern halten konnte. Es gab nur ein Flagbit, das den Überlauf "Carry" signalisierte.

Jedes Indexregister war 4 Bit breit. Für Adressenangaben (RAM/ROM) wurde jeweils zwei der Indexregister zu einem 8 Bit Register zusammengefasst. Die Rechenbefehle waren übersichtlich : Addition, Subtraktion, inkrementieren, Dekrementieren, Bitrotation. Sehr viele Befehle gab es zur Behandlung des Carry Flags. Die Indexregister konnten inkrementiert oder mit Daten geladen werden aber nicht dekrementiert oder für Rechnungen als Ziel genutzt werden. Der Prozessor arbeitet intern binär, zur Anpassung an den geplanten Einsatzzweck als Tischrechnerprozessor gab es einen Befehl um den binären Inhalt in eine Dezimalzahl umzuwandeln. 18 Opcodes (00-0FH und FE/FFH) waren unbelegt.

Es gab 46 Befehle. zur Verzweigung gab es den Sprung, den Unterprogrammaufruf und einen bedingten Sprung (nur über maximal 256 Byte) und einen indirekten Sprung (Adresse steht in einem Registerpaar).

Es gab die Möglichkeit Unterprogramme aufzuführen. So konnte man den kleinen Adressbereich besser ausnutzen. Es gab jedoch ein Problem: die Rücksprungadressen mussten irgendwo gesichert werden. Durch die Harvard Architektur griff der Prozessor beim Laden von Adressen immer auf ein ROM zu. Dort konnte man die Adressen nicht speichern. Ted Hoff der jedoch schon an einer IBM 1620 gearbeitet hatte, die nur eine einzige Unterroutine zur einer gegebenen Zeit ausführen konnte (der Stackspeicher war nur 1 Eintrag tief) kannte das Problem schon. Er implementierte auf der CPU den Stack der vier Einträge fasste. Der oberste war dabei gleichzeitig der Programmzähler. So konnte ein Programm das mehr als drei Unterprogramme ohne Return aufrief zu einem überschrieben des PC und damit zu falschen Programmverhalten führen. der Stackpointer war so nur zwei Bits breit. Als Zwischenspeicher und nicht durch ein Programm beeinflussbar gab es noch ein Register um die Instruktion zwischenzuspeichern, da man über den Bus nur 4 Bits auf einmal holen konnte und ein Zwischenregister das das Ergebnis aufnahm,

Der Prozessor wurde in PMOS-Technologie hergestellt. Diese Technologie beruht darauf, das die sich bewegenden Ladungen im Silizium positiv geladen sind. Da es keine freien positiven Ladungsträger im Silizium gibt (es handelt sich um Fremdatome, die ein Elektron zu wenig haben um im Kristallgitter eine Bindung zu jedem Siliziumatom aufzubauen) bewegen sich nicht frei Ladungsträger sondern Defektstellen mit Elektronenmangel im Kristallgitter. Diese Technologie erlaubte nur geringe Taktfrequenzen (der 4004 arbeitete mit einer Taktfrequenz von 0,74 MHz). Intern wurde dies aus einem Taktsignal mit einer Frequenz zwischen 1,35 und 2 MHz erzeugt. (Nominaltakt: 1,5 MHz). Die PMOS Technologie bedeutete auch eine hohe Wärmeabgabe. Die 2300 Transistoren gaben 1 Watt an Leistung ab. Der Prozessor eignete sich so nicht für batteriegetriebene Taschenrechner. Auch dürften die Probleme haben die sehr hohe Versorgungsspannung von +15V zu erzeugen. (heutige Mikroprozessoren haben eine Versorgungsspannung von 1 V, teilweise noch darunter). Busicomm lies einen zweiten Rechner, diesmal batteriebetrieben von Mostek fertigen die mehr Erfahrung mit der weniger Energie verbrauchenden NMOS Technologie hatten.

Der multiplexte Bus sorgte beim 8008 für lange Zykluszeiten von 8 Takten (beim 8080 bestand ein Instruktionszyklus aus 2-5 Takten, je nach Komplexität der Instruktion). Es gab aber trotzdem Optimierungen: So wurde eine Adresse an ein ROM in drei 4-bit Schritten übermittelt: untere 4 Bits, mittlere 4 Bits, obere 4 Bits. Erst die letzten 4 Bits selektierten das ROM, vorher fühlten sich alle ROM angesprochen und waren danach bereit zum Abholen der Daten und man musste nun beim dritten Nibble nicht warten.

Von den 2238 Transistoren aus denen die CPU bestand entfielen nur 329 auf die ALU. 769 brauchte der Decoder / Ausführungseinheit. Der größte Brocken waren die Register und die Buseinheit. 438 Transstoren entfielen auf die Register und 701 für die Buskontrolle. Ziel des ersten Entwurfs waren 2000 Transistoren. Wie viele andere Intel-Prozessoren der frühen Jahre wurde der Intel 4004 auch von anderen Halbleiterherstellern als "Second Source" gefertigt. In den USA fertigte National Semiconductor den Chip, in Japan Hitachi und in Kanada Micosystems International.

Parallelen zum 8008

Nahezu zeitgleich entwickelte eine zweite Gruppe bei Intel unabhängig von Federico Faggin den 8008 Prozessor, der wenige Monate nach dem 4004 erscheint. Vergleicht man die Architekturen beider Chips so erscheinen sie als Brüder, denn man kam zu denselben Lösungen:

Peripheriebausteine

141-PF SchaltungEine Stärke von Intel ergab sich durch den Kundenauftrag. Ted Hoff bekam den Auftrag die Schaltung für einen Tischrechner zu entwerfen, nicht einen Mikroprozessor. So gab es gleich zu Beginn drei wichtige Zusatzbausteine die man für ein System brauchte: Der Buscom Rechner bestand aus der 4004 CPU, vier 4001 (PMOS 256 x 8 Bit ROM), zwei 4002 (RAM 80 x 4 Bit) und drei 4003 Shiftregister (10 Bit Serial In- Serial-Out Schieberegister). Intel verkaufte diese Chips nachdem man mit Busicomm eine Abmachung erzielt hatte als MCS-4 Familie. (Bild Links: Schaltung des Busicomm Rechners)

Später kamen noch weitere Bausteine hinzu. Um aber Kunden für das neue Produkt zu gewinnen beginnt Intel Entwicklungssysteme zu Entwerfern. Es war ein Board mit den wichtigsten Bausteinen nicht nur COPU. Nur war dort wo sonst das 4001 ROM war ein Sockel für ein Eprom. Dieses Systeme verkauften sich sehr gut und sollten über Jahre mehr Gewinn als die eigentlichen Prozessoren abwerfen.

Der Intel 4040

Im April 1974 brachte Intel eine zweite Generation des 4004 namens 4040 heraus. Der 4004 hatte zusätzliche Instruktionen aber auch mehr internen Speicher. Der Stack war nun 7 Level tief, genauso viel wie beim 8008. Es gab acht weitere 4-Bit-Register. Angesprochen wurden die Register aber über zwei Bänke, die Bank 0 mit den "alten" 15 Register und die neue Bank 1 mit acht Registern. Die neuen Instruktionen enthielten Bankswitching Befehle mit denen man sowohl zwischen den beiden Registerbänken wie auch dem externen Speicher der nun auch 2 x 4 KByte betrug, wechseln konnte, Weitere Befehle umfassten zwei weitere Ladebefehle für den Akkumulator, das Logische UND und Oder-Verknüpfen des Akkus und die Interruptbehandlung. Durch ein 24 Pin Gehäuse gab es nun die Möglichkeit einen Interrupt durch eine externe Quelle auszulösen. Durch ein weiteres Pin konnte der Prozessor auch in einen Einzelschrittmodus versetzt werden. Von der Geschwindigkeit und Taktfrequenz gab es keinen Unterschied zum 4004. Interessanterweise hat erst der 4004 die Befehle NOP und Halt. Bisher konnte er 4004 also weder nichts tun noch angehalten werden.... Nun waren alle Opcodes bis auf 0F, FE und FFH belegt.

Obwohl nur wenige Jahre nach dem 4004 erschienen war der 4040 schon beim Erscheinen obsolet, zeitgleich brachte Intel den 8080 Prozessor heraus, der die Mikrocomputerrevolution einläutete und um ein vielfaches leistungsfähiger war. Zudem hatte Texas Instruments seinen kurz nach Intel erschienen TMS 1000 erheblich besser vermarkten können - Texas Instruments baute ihn in Taschen- und Tischrechner ein, die die Firma selbst ehrstellte. Damit sank der Produktionspreis des Chips stark ab und er wurde auch von anderen Herstellern dem Intel 4004 vorgezogen. Als der 4040 erschien war das Marktsegment für 4-Bit Prozessoren fest in der Hand von Texas Instruments und daran konnte der 4040 nicht mehr ändern.

Technische Daten

Wert 4004 4040
Erschienen: (Ankündigungsdatum) 15.11.1971 April 1974
Taktfrequenz: 500 - 740 kHz 500 - 740 kHz
Geschwindigkeit: 8/16 Takte pro Instruktion, maximal 92.500 Befehle pro Sekunde, typischer 60.000 Befehle/s. 8/16 Takte pro Instruktion, maximal 92.500 Befehle pro Sekunde, typischer 60.000 Befehle/s.
Technologie: 10 mm PMOS 10 mm PMOS
Architektur: 4 Bit Registerbreite
Instruktionen 8/16 Bit lang
Harvard Architektur mit 4096 Byte Adressbereich ROM und 5 x 256 x 4 Bit RAM
Stackspeicher mit 3 Einträgen auf dem Chip
4 Bit Registerbreite
Instruktionen 8/16 Bit lang
Harvard Architektur mit 2 x 4096 Byte Adressbereich ROM und 5 x 256 x 4 Bit RAM
Stackspeicher mit 3 Einträgen auf dem Chip
Gehäuse: 16 Pin, gemultiplexter Adress/Datenbus 124Pin, gemultiplexter Adress/Datenbus
Transistoren: 2268 ca. 3000
Befehle: 46 60
produziert bis 1981 1981

Quellen:

http://datasheets.chipdb.org/Intel/MCS-40/4040.pdf

https://en.wikipedia.org/wiki/Busicom

http://www.intel4004.com/

http://datasheets.chipdb.org/Intel/MCS-4/datashts/MCS4_Data_Sheet_Nov71.pdf

Artikel erstellt am 11.6.2015

Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.

Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.

Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.

Mehr über das Buch auf dieser eigenen Seite.

Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.


© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Neues Hier werben Bücher vom Autor Buchempfehlungen Top 99