| Inhaltsverzeichnis | |||||
| Übersicht Kapitel 1 | |||||
| |||||
1.3.1 Die verschiedenen Prozessor-Generationen |
In diesem Abschnitt wollen wir kurz die Entwicklungsgeschichte der Mikroprozessor-Technik darstellen. Dabei beschränken wir uns auf die Beschreibung der Standard-Mikroprozessoren, da mit ihnen die Entwicklung begann und sie deutlich unterscheidbare Entwicklungsstufen bieten. Die Entwicklung der RISC-Prozessoren begann erst später und verlief homogener, so daß eine eindeutige Einteilung in verschiedene Generationen nicht einfach ist.
Wie so oft bei erfolgreichen Entwicklungen wird auch die Erfindung des Mikroprozessors von mehreren Halbleiterfirmen für sich in Anspruch genommen. Da wir nicht in der Lage sind, den Wahrheitsgehalt der verschiedenen Versionen zu bewerten, wollen wir es hier mit einer glaubwürdigen Variante bewenden lassen. Danach begann es im Jahre 1969 damit, daß die japanische Firma Busicom die amerikanische Firma Intel beauftragte, einen Satz von 12 Halbleiterbausteinen für eine geplante Reihe von programmierbaren Hochleistungs-Tischrechnern zu entwickeln.
Der damalige Stand der Technik erlaubte es, einen Tischrechner aus ca. 6 Bausteinen mit je 600-1000 (MOS-)Transistoren aufzubauen. Die Firma Intel war zu dieser Zeit gerade 3 Jahre alt und hatte sich auf die Entwicklung von bipolaren und MOS-Speichern spezialisiert. Dies führte noch 1969 zur Entwicklung des ersten löschbaren Festwertspeichers, des EPROM 1701, das vom Benutzer elektrisch programmiert und durch ultraviolettes (UV-)Licht gelöscht werden konnte. Für Intel lag deshalb als Lösungsansatz nahe, die damals bei Tischrechnern übliche, festverdrahtete Schaltlogik durch einen Mikroprogramm-Speicher zu ersetzen und so zu einem Satz von Bausteinen zu kommen, der vom Benutzer dem jeweiligen Problem angepaßt werden konnte. Diese Idee führte zu einem Satz aus drei Bausteinen: Zentraleinheit (CPU) mit 2 250 Transistoren, Festwertspeicher (ROM) und Schreib-/Lese-Speicher (RAM). (Zum Vergleich: Die parallel entwickelte Lösung der Firma Busicom in festverdrahteter Logik benötigte 12 Bausteine mit durchschnittlich 2 000 Transistoren und jeweils 36 bis 40 Anschlüssen.) Die CPU besaß eine 4-bit-ALU, die in BCD-Arithmetik rechnete, einen bidirektionalen 4-bit-Datenbus sowie einen 12-bit-Adreßbus. Der Befehlssatz umfaßte 45 Befehle. Für die Entwicklung des CPU-Bausteins zu einem arbeitsfähigen Muster benötigte ein Mann lediglich 9 Monate.
1971 wurde der CPU-Baustein unter der Bezeichnung Intel 4004 als Hauptkomponente eines Mikrocomputer-Systems (MCS-4) aus 4 Bausteinen angeboten. Im Bild 1.3-1 sehen Sie die Anzeige, mit der dies in der amerikanischen Fachzeitschrift Electronics News am 15. November 1971 geschah. Ein Zitat aus dem Anzeigentext gibt die wesentlichen Eigenschaften des Intel 4004 wieder:
Das Chiplayout des 4004 in Bild 1.3-2 gibt einen Eindruck
von der - nach heutigen Maßstäben - geringen Komplexität des
Bausteins, bei dem die einzelnen Metallverbindungen noch gut zu erkennen sind.
(Dies ist bereits im Layout des Motorola MC68000 mit "nur" 68000 Transistoren
nach Bild 2.1-4 nicht mehr möglich.)
Fast gleichzeitig zur eben beschriebenen Entwicklung des Intel 4004 beauftragte im Herbst 1969 die Firma Datapoint Corporation als Hersteller intelligenter Terminals und kleiner Computersysteme die Firmen Intel und Texas Instruments, die gesamte (Tastatur-)Steuerung eines intelligenten Terminals in einem Baustein unterzubringen. Intel hatte damit Erfolg, jedoch war der Baustein 10 mal langsamer als die Spezifikation verlangte.
Der Baustein wurde ab 1972 unter der Bezeichnung Intel 8008 als universelle 8-bit-CPU vertrieben. Er besaß einen Satz von 45 Befehlen mit einer durchschnittlichen Ausführungszeit von 30 Mikrosekunden (1 µs = 10-6 Sekunden), sechs 8-bit-Register, einen 16-kbyte-Adreßraum, 18 Anschlüsse und war in der sogenannten PMOS-Technologie (mit zwei Betriebsspannungen) realisiert.
Bild 1.3-1: Die erste µP-Anzeige
Bild 1.3-2: Chiplayout des Intel 4004
Der Begriff "Mikroprozessor", bis dahin nur für mikroprogrammierbare (Groß-)Computer benutzt, wurde ab 1972 für die neu entwickelten Prozessoren eingeführt. Im Nachhinein wurden die bisher beschriebenen Mikroprozessoren als Prozessoren der 1. Generation bezeichnet.
2. Generation
Die 2. Generation erschien 1972 mit dem Intel 8080. Dieser besaß als 8-bit-Prozessor ausreichende Geschwindigkeit und genügende Rechenfähigkeit für vielfältige Anwendungen. Das wurde insbesondere durch eine ausgereifte Unterstützung von externen Unterbrechungen zur Prozeßsteuerung (s. Abschnitt 2.3) sowie von Unterprogrammsprüngen erreicht. Hinzu kamen (im Vergleich zum 8008) einige neue Adressierungsarten, 30 zusätzliche Befehle sowie eine Herabsetzung der durchschnittlichen Befehlsausführungszeit auf 2 µs. Der Adreßbereich wurde auf 64 kbyte vergrößert. In einem weiteren, getrennten Adreßbereich konnten bis zu 256 Ein-/Ausgabe-Schnittstellen adressiert werden. Der 8080 bestand aus 5 000 Transistoren und wurde in kurzer Zeit zum damaligen Industriestandard.
Ab 1974 wurde der 8080 in der moderneren NMOS-Technologie (n-Kanal-MOS) gebaut, die nur noch eine 5-Volt-Betriebsspannung benötigt. Als erster Prozessor in dieser Technologie war im gleichen Jahr der 6800 der Firma Motorola erschienen. In diesem Jahr waren bereits an die 20 verschiedene Prozessortypen auf dem Markt oder aber schon angekündigt. Durch die Entwicklung von Schnittstellen- und Steuerbausteinen wurden die Prozessoren zu µP-Systemen ergänzt.
1974 wurden auch die ersten Spezialprozessoren entwickelt, wozu insbesondere solche zur Steuerung von Floppy-Disk-Speichern und Kathodenstrahlröhren gehörten. Außerdem erschien mit dem Typ RCA1802 der Firma Rockwell der erste Prozessor in CMOS-Technologie, die sich durch eine extrem niedrige Leistungsaufnahme auszeichnet.
3. Generation
Die 3. Generation begann 1974 mit dem ersten 16-bit-Prozessor PACE der Firma National Semiconductor. Hergestellt in PMOS-Technologie, hatte er eine durchschnittliche Befehlsausführungszeit von 10 µs. Als SUPER-PACE wurde er in bipolarer Technik hergestellt und war damit erheblich schneller, hatte aber auch einen sehr viel höheren Leistungsverbrauch.
1975 gab es bereits 40 verschiedene µP-Typen, die hauptsächlich in Personal Computern und kleinen Geschäfts-Computern eingesetzt wurden. Ihre Zahl war ein Jahr später bereits auf 54 gestiegen.
1976 erschien mit dem TMS 9900 von Texas Instruments ein weiterer 16-bit-Prozessor, der sich von allen anderen Prozessoren vor allem darin unterschied, daß er (fast) alle Register nicht im Baustein selbst, sondern im Schreib-/Lese-Speicher verwaltete. Einerseits wurde dadurch ein rasches Umschalten zwischen verschiedenen Programmumgebungen sehr erleichtert, andererseits bedingten die relativ langsamen Speicher der damaligen Zeit eine sehr geringe Verarbeitungsgeschwindigkeit, so daß dieser Prozessor nicht die Verbreitung fand, die ihm vielleicht zustand.
Deshalb setzten sich auch in den folgenden Jahren die 8-bit-Prozessoren weiter durch: Der Z80 der Firma Zilog bot 158 verschiedene Befehle, unter denen die des 8080 vorhanden waren, so daß er "aufwärtskompatibel" zum Industriestandard war. Der 8085 von Intel brachte im Vergleich zum 8080 eine verbesserte Unterbrechungsverwaltung sowie Ein-/Ausgabe-Schnittstellen zur seriellen Datenübertragung.
1978 erschien dann der erste 16-bit-Prozessor mit größerer Verbreitung, der Intel 8086. Durch seine fortgeschrittene Architektur und der eingesetzten HMOS-Technologie (High-Density MOS), einer Technologie, die eine doppelte Schaltkreisdichte wie NMOS erlaubt, lag er an der Grenze der Leistungsklasse der Minicomputer. Er unterstützte eine virtuelle Speicherverwaltung, bei der der Speicher in Segmente eingeteilt wurde. Auf lediglich 27 % mehr Fläche als der 8080 brachte er 29 000 Transistoren unter, also fast das 6fache des 8080. Der Adreßraum wurde auf 1 Mbyte, der zusätzliche Adreßraum für Ein-/Ausgabe-Schnittstellen auf 64 k Adressen vergrößert. Der Befehlssatz wurde um Befehle zur Bearbeitung von Zeichenketten und binärcodierten Dezimalzahlen (Binary Coded Decimal BCD) erweitert.
Auf dem 8-bit-Markt erschienen im gleichen Jahr der erste Ein-Chip-µComputer Intel 8048, der in der Version 8748 zusätzlich einen löschbaren Festwertspeicher (EPROM) auf dem Baustein enthielt.
1979 folgten als Konkurrenzprodukte zum 8086 der Z8000 von Zilog und der 68000 von Motorola. Letztgenannter hatte einen Befehlssatz, wie er ähnlich in Minicomputern üblich war. Er zeichnete sich durch einen 32-bit-Registersatz sowie einen 16-Mbyte-Adreßbereich aus. Auf einer Siliziumfläche von 6.2 x 7.1 mm 2 wurden 68 000 Transistoren untergebracht (vgl. Bild 2.1-4), die ungefähr 13 000 logische Gatter realisierten und eine Leistungsaufnahme von 1.2 Watt bewirkten. Die Taktfrequenz betrug 8 MHz (1 MHz = 106 Takte pro Sekunde). Realisiert wurde er ebenfalls in HMOS-Technologie.
1979 kam der erste Signalprozessor, der Intel 2929, auf den Markt, der auf die digitale Verarbeitung von analogen Signalen spezialisiert ist. Die analogen Eingangssignale werden dazu zunächst analog/digital gewandelt. Die digital arbeitende ALU besitzt eine Wortbreite von 25 bit. Die Ergebnisse werden anschließend digital/analog umgesetzt und über acht analoge Ausgänge ausgegeben.
Mit den Typen Intel 8088 und Motorola 6809 erschienen zwei Prozessoren, die zwar einen 8-bit-Datenbus besitzen, aber intern teilweise eine 16-bit-Verarbeitung zulassen. Ende 1979 waren weltweit bereits geschätzte 75 Millionen µPs verkauft.
1982 erschien als Nachfolger des 8086 der Intel 80286, der bereits 130 000 Transistoren besaß und jahrelang in vielen Personal Computern (z.B. IBM AT) im Einsatz war.
4. Generation
Die 4. Generation wurde 1981 mit dem 32-bit-Prozessor iAPX432 von Intel eingeläutet. In drei Bausteinen umfaßte er 219 000 Transistoren, die in HMOS-Technik hergestellt wurden. Er hatte einen 16-Mbyte-Adreßbereich. Da er sich auf dem Markt nicht durchsetzen konnte, wurde seine Herstellung frühzeitig eingestellt. (Zum Vergleich mit dem Intel 4004 sei hier nur erwähnt, daß seine Entwicklung bereits 100 Mannjahre kostete.)
In der Folgezeit setzten sich auf dem 32-bit-Markt vor allem die Prozessoren von Intel (80386/80468, Pentium P5) und Motorola (68020, 68030, 68040) durch. Diese Prozessoren besitzen einen 4 Gbyte-Adreßraum. Der Intel 80386 enthält beispielsweise 275 000 Transistoren, sein Nachfolger, der 80486, ca. 1 200 000 Transistoren (ebenso wie der Motorola 68040) und der P5 bereits 3,1 Millionen. In den moderneren dieser Prozessoren wurden bereits einige RISC-typische Eigenschaften implementiert: Bereits der Intel 80486 realisierte häufig benutzte Maschinenbefehle in direkter Logik (also nicht durch sein MPStW), der P5 bot schon zwei parallel arbeitende Befehlspipelines, und der 68040 besaß eine interne Harvard-Architektur.
5. Generation
Die 5. Generation von Standardprozessoren begann mit dem Intel Pentium Pro (P6) und umfaßt alle modernen x86-kompatiblen Prozessoren, z.B. den AMD K6 und den Pentium II/III. Diese µPs sind hybride CISC/RISC-Prozessoren, die im CISC-Teil zunächst x86-Befehle in RISC-ähnliche Operationen umwandeln und diese dann von ihrem RISC-Kern bearbeiten lassen. Sie bestehen aus 5 - 10 Mio. Transistoren (für die Prozessorlogik, ohne interne Speicher), besitzen eine interne Harvard-Architektur und mehrere parallel arbeitende Rechenwerke.
1.3.2 Technologische Entwicklungen |
Bild 1.3-3 macht die Fortschritte der Integrationstechnik an einigen der eben erwähnten Mikroprozessoren deutlich.
Bild 1.3-3: Die Entwicklung der Großintegration bei Mikroprozessoren
Aufgetragen wurde dazu die Anzahl der Transistoren im Baustein über dem Jahr der Markteinführung der Prozessoren in halblogarithmischer Form. Das Bild bestätigt das sog. Moore'sche Gesetz, wonach sich die Anzahl der Transistoren etwa alle 1 1/2 Jahre verdoppelt. Die eingezeichnete Gerade zeigt, daß der Integrationsgrad in jedem Jahr um ca. 40 %, also in 20 Jahren um einen Faktor > 500 gestiegen ist. Grau hinterlegt finden Sie im Bild das Wachstum des Intgrationsgrades noch einmal in linearer Darstellung. An der Abszisse sind die Jahre abzulesen, in denen die n-bit-Prozessoren (n=4,8,16,32,64) auf dem Markt erschienen.
Die physikalische Voraussetzung für das schnelle Ansteigen des Integrationsgrades ist dadurch gegeben, daß sich Länge und Breite der Halbleiterstrukturen (Transistoren, Dioden etc.) auf den Chips in etwa alle drei Jahre halbiert, d.h. die Fläche für diese Strukturen auf ein Viertel schrumpft. Bis vor einigen Jahren war die Größe dieser Flächen, genauer: ihre kapazitive Belastung, der begrenzende Faktor bei der gewünschten Erhöhung der Taktfrequenzen. Eine Reduktion der Fläche auf ein Viertel bedeutete eine Verdopplung der zulässigen Taktfrequenz in jeweils drei Jahren.
In den letzten Jahren wurde nun die Laufzeit der Signale auf den Verbindungsleitungen zwischen den Bauteilen zum begrenzenden Faktor. Im Rahmen dieses Kurses können wir leider auf die Maßnahmen nicht eingehen, die bei der Chipherstellung zur Überwindung dieser neuen Grenze ergriffen werden. Im Bild 1.3-4 ist die Entwicklung der Arbeitsfrequenzen universeller Prozessoren seit 1984 skizziert. Dabei handelt es sich um die in diesen Jahren maximal erreichten Frequenzen, dargestellt für RISC- und CISC-(PC-)Prozessoren, mit denen der Prozessorkern selbst arbeiten kann. Nicht dargestellt sind die Frequenzen, mit denen die Schnittstellen, insbesondere die Systembusschnittstelle, des Prozessors betrieben werden.
Bild 1.3-4: Entwicklung der Prozessor-Frequenzen
Auffällig ist, daß bis zum Jahre 1992 die Entwicklung relativ gemächlich verlief. In diesen Jahren arbeiteten die meisten Prozessoren auch intern mit dem externen (Bus-)Takt; häufig wurde dieser sogar für den Prozessorkern noch herunter geteilt (z.B. 1:2 oder 1:4). Ab 1992 ging man dazu über, den internen Takt durch eine Vervielfachung aus dem externen Takt zu gewinnen. Dies führte zu einem beschleunigten Anstieg der maximalen Arbeitsfrequenzen. Um billige Speicher und Peripherieeinheiten auf kostengünstigen Rechnerplatinen anschließen zu können, wird die externe Frequenz auch heute noch auf 33, 66 MHz oder 100 MHz begrenzt. (Die Intel-Overdrive-Prozessoren machten diese Entwicklung weithin bekannt.) Technologische Fortschritte machten dann in den letzten Jahren eine weitere massive Erhöhung der Frequenzen möglich.Bemerkenswert im obigen Bild ist weiterhin, daß zunächst die Arbeitsgeschwindigkeiten der RISC- und CISC-Prozessoren immer weiter auseinander liefen. Dies lag hauptsächlich daran, daß die PC-Prozessoren dieser Jahre CISC-Typen waren und diese aus den im Unterabschnitt 1.2.1 genannten architektonischen Gründen keine wesentliche Erhöhung der Frequenzen zuließen. Durch den Übergang zu den hybriden CISC/RISC-Typen wurde dieser Trend in den letzten Jahren immer mehr beseitigt, so daß sich die maximalen Arbeitsfrequenzen stark annäherten. Noch im Jahr 2000 erwartet man für beide Prozessortypen Exemplare mit einer Arbeitsfrequenz von 1 GHz.
Die Erhöhung der Arbeitsfrequenz im dargestellten Maß ist zum großen Teil auf die Leistung der Halbleitertechnologie zurückzuführen, wobei jedoch die Rechnerarchitekten die Voraussetzungen schaffen mußten, einen Prozessor mit diesen hohen Frequenzen betreiben zu können. Im Bild 1.3-5 wird gezeigt, wie sich seit 1984 die mittlere Befehlsausführungszeit, gegeben in Taktzyklen, durch architektonische Maßnahmen verringert hat. Diese Zeit wird in der Einheit CPI (Cycles per Instruction) angegeben. Zu beachten ist, daß es sich beim CPI-Wert um einen idealen Mittelwert handelt, der in realen Anwendungen so gut wie nie erreicht wird.
Nachdem Anfang der 80er Jahre dieser CPI-Wert für CISC-Prozessoren noch zwischen 9 und 12 lag, fiel er kontinuierlich ab und erreichte Anfang der 90er Jahre bereits den Wert CPI=1, d.h., daß im Mittel der Prozessor in jedem Taktzyklus einen Maschinenbefehl erfolgreich beenden kann. Moderne CISC/RISC-Prozessoren schaffen es heute, 2 bis 4 Befehle pro Zyklus (im Idealfall, je nach Zählung) zu beenden, so daß der CPI-Wert heute auf 0,5 bis 0,25 gefallen ist.
Bild 1.3-5: Entwicklung der Befehlsausführungszeiten
Bild 1.3-5 zeigt, daß die RISC-Prozessoren, die ab Mitte der 80er Jahre auf dem Markt erschienen, zunächst einen großen Geschwindigkeitsvorteil boten, da sie mit einem sehr viel kleineren CPI-Wert (CPI<2) starteten und sehr bald die Grenze CPI=1 unterschritten. Heute ist bei RISC-Prozessoren ein Wert CPI = 0,25 üblich.
Setzt man die Arbeitsfrequenz f (in MHz) eines Prozessors zu seinem CPI-Wert ins Verhältnis, so bekommt man als weitere Kenngröße die durchschnittliche Anzahl der Befehle (Instruktionen), die der Prozessor in einer Sekunde ausführen kann. Diese Größe wird mit MIPS (Million Instructions per Second) bezeichnet:
MIPS = f/ CPI = Million Cycles/Second * Instructions/Cycle =: f * IPC.
Die Größe IPC (Instructions per Cycle) gibt die Anzahl der Befehle an, mit deren Bearbeitung der Prozessor in einem Taktzyklus beginnen kann.. Die technisch vorgegebene Größe MIPS wird von den Prozessorherstellern gerne als Leistungsmaß zu Werbezwecken angegeben. Sie sagt als ungewichteter Mittelwert (s.o.) jedoch kaum etwas über die wirkliche Leistungsfähigkeit eines Rechensystems aus, da in sie weder der spezifische Befehlsmix einer realen Anwendung, noch die Leistungsfähigkeit der anderen Rechnerkomponenten (Caches, Speicher, Schnittstellen etc.) eingehen.
Der Mitbegründer der Fa. SUN, Bill Joy, stellte im Jahre 1984 eine Prognose (das sog. Joy'sche Gesetz) dazu auf, wie sich die MIPS-Werte der Mikroprozessoren entwickeln sollten. Er ging davon aus, daß sich in jedem Jahr die Werte der leistungsfähigsten Prozessoren in etwa verdoppeln würden. Diese Prognose wird durch die obere Grenzlinie des grau gezeichneten Bereichs im Bild 1.3-6 skizziert. Auffällig ist, daß in den ersten 10 Jahren der RISC-Entwicklung die leistungsfähigsten Workstation-Prozessoren (RISC) dieser Linie sehr gut folgten. Seit Mitte der 90er Jahre ist jedoch eine immer größer werdende Abweichung von dieser Linie festzustellen. Vorsichtigere Erwartungen gingen von einem Wachstumsfaktor 1,5 pro Jahr aus, was ist im Bild durch untere Begrenzungslinie des grauen Bereichs angezeigt wird.

Bild 1.3-6: Entwicklung der Prozessorleistung in MIPS
Die Gerade im Bild 1.3-6 beschreibt die Entwicklung bei den typischen PC-Prozessoren der Intel-Familie. Dabei sind die MIPS-Angaben bei den hybriden CISC/RISC-Prozessoren P6, PII/III durch senkrechte Bereiche dargestellt. Der untere Wert dieser Bereiche ergibt sich, wenn man die MIPS-Werte auf die ausgeführten x86-Befehle bezieht, der obere berücksichtigt die daraus intern erzeugten RISC-ähnlichen Operationen. Festzuhalten ist, daß sich in den letzten Jahren die Werte für RISC- und PC-Prozessoren immer mehr annähern, wobei die RISC-Prozessoren heute nur einen Vorsprung von ca. einem Jahr halten. (Die gestrichelt umrahmten Bereiche für den 80486 und den Pentium zeigen, wie stark der MIPS-Wert für spezielle Prozessoren im Laufe der Jahre ihrer Marktpräsenz wachsen kann - hauptsächlich durch Erhöhung der Arbeitsfrequenz.)
| Inhaltsverzeichnis | |||||
| Übersicht Kapitel 1 | |||||
| |||||