Benutzer:Ruscsi/AMD K5
Der K5 war der erste x86-kompatible Mikroprozessor, den AMD vollständig in Eigenregie entwickelte. Wie Intels Pentium der P54C-Baureihe, passt der K5 in den Sockel 5 oder den Sockel 7.
Die Entwicklung des K5
Der K5 war nicht die erste von AMD entwickelte CPU. Bereits 1987 brachte AMD mit dem 29000 eine erfolgreiche RISC-CPU auf den Markt, die ursprünglich für Workstations konzipiert wurde, später aber vorwiegend als leistungsfähiger Microcontroller in vielen Geräten Verwendung fand und in Konkurrenz zu Intels i960-Baureihe stand. Aber auch bei den x86-CPUs hatte sich AMD zuvor nicht auf den Nachbau von Intel-CPUs beschränkt. Bereits beim 80386 musste AMD auch die Schaltwerke seiner x86-CPUs selbst entwickeln, gestattete ein 1976 mit Intel geschlossener Vertrag AMD lediglich, den Microcode der Intel-CPUs zu verwenden. Da der Microcode aber das komplexe Zusammenspiel der einzelnen Schaltwerke einer CPU beschreibt, war es für AMD vermutlich kein unlösbares Problem, die CPUs von Intel so exakt nachzubauen, dass es anhand ihres Verhaltens praktisch nicht möglich war, sie zu unterscheiden. Auch ein umfangreiches Technologie- und Patentaustauschabkommen kam AMD dabei entgegen. Die verblüffenden Ähnlichkeiten, die die 386er- und 486er-CPUs von Intel und AMD hatten, sind vermutlich vorwiegend auf diesen Umstand zurückzuführen – ein Vorteil, wie ihn beispielsweise die Firma Cyrix nicht hatte. Für den Anwender war es zu dieser Zeit zumeist unerheblich, ob in seinem Computer eine Intel- oder eine AMD-CPU arbeitete.
Trotzdem – oder grade deswegen – versuchte Intel bereits in den 1980er-Jahren, AMD gerichtlich den „Nachbau“ seiner x86-Prozessoren untersagen zu lassen. Aufgrund weiterer Vereinbarungen, die Intel und AMD unter anderem auch auf Druck von IBM in der Frühzeit des IBM-PC (frühe 1980er-Jahre) geschlossen hatten, war der Versuch Intels aber zum Scheitern verurteilt. Erst Anfang der 1990er-Jahre kam auf Druck eines Gerichts ein Vergleich zustande: Demnach sollte es AMD gesattet sein, weiterhin den Intel-Microcode für die Generation der 486er-CPUs zu verwenden, nicht aber den der nächsten CPU-Generation. 1991 beschloss AMD dann die Entwicklung einer eigenen x86-Prozessor-Familie, die man K86 taufte. Das erste Mitglied dieser Familie sollte der K5 werden.
Als Intel 1993 den ersten Pentium herausbrachte, steckte AMD mitten in der Entwicklungsarbeit am K5. Bereits 1989 beschäftigte sich ein AMD-Entwickler namens Mike Johnson im Rahmen seine Disseration mit Konzepten superskalarer CPUs, die er später auch in seinem erstmals 1991 bei Prentice-Hall erschienenen Buch Superscalar Microprocessor Design beschrieb. Aus Johnsens Arbeit ging bei AMD damals zunächst eine Neuimplementierung der 29000-CPU-Architektur hervor. Als AMD dann 1991 mit der Entwicklung des K5 begann, griff Johnsen – mittlerweile AMDs CPU-Chefarchitekt – die Konzepte seiner 29000-Implementierung auf und versuchte, sie auf die x86-Architektur zu übertragen. In einem Kapitel seines Buches hatte er bereits aufgezeigt, wo die Schwierigkeiten bei der Implementierung einer superskalaren x86-CPU liegen würden und wie diese zu lösen wären. Die dort beschriebenen Konzepte zeichneten bereits den Weg vor, den die AMD-Ingenieure bei der Entwicklung des K5 nehmen sollten.
Ebenfalls 1991 begann aber auch bei Intel die Entwicklungsarbeit an einer CPU, die ähnliche Konzepte wie der K5 verfolgte. Die CPU mit der internen Entwicklungsbezeichnung P6 sollte ursprünglich der Nachfolger des Pentium werden, der zwar bereits eine superskalare Architektur besass, aber viele typische Merkmale superskalarer CPUs dieser Zeit – etwa Register-Renaming und Out-of-Order-Execution – vermissen liess. Der P6 kam 1995 als Pentium Pro auf den Markt – aber keineswegs als Nachfolger des Pentium, sondern als High-End-CPU, deren Stärken vorwiegend bei der Verarbeitung von 32-Bit-Code lagen. Zu dieser Zeit ließ die Markteinführung des K5 noch auf sich warten.
Die Markteinführung des K5
AMD hatte sich bei der Ankündigung des K5 weit aus dem Fenster gelehnt. Es hieß, der K5 sei etwa 30 Prozent schneller als ein gleichgetakteter Pentium. Probleme in der Endphase des Projekts, die vermutlich vorwiegend den Bereich der Anbindung des Cache an den CPU-Kern betrafen, verzögerten aber immer wieder die Auslieferung des ersten Siliziums an Entwickler und Fachpresse. Ursprünglich wollte AMD den K5 Ende 1994 oder Anfang 1995 fertigstellen und spätestens in der zweiten Jahreshälfte 1995 mit der Auslieferung beginnen. [1] Nachdem die technischen Problem aber selbst im März 1996 noch nicht vollständig gelöst waren, sah sich AMD veranlasst, eine noch unfertige, aber bereits funktionsfähige Version des K5 mit dem Bezeichnungszusatz SSA/5 (Model-0-Typ) auf den Markt zu bringen. Die CPU firmierte unter dem Namen 5k86, vermutlich, weil der Name K5 dem „fertigen“ Model mit den ursprünglich angekündigten Leistungsdaten vorbehalten bleiben sollte. Ab der 21. Produktionswoche wurde dann aber auch der Model-0-Typ unter dem Namen K5 ausgeliefert. Das Versprechen, 30 Prozent schneller zu sein als ein gleichgetakteter Pentium, konnte diese Version aber noch nicht halten. Das war den Model-1- und Model-2-Typen des K5 vprbehalten.
Wegen des sehr späten Markteintritts, niedriger Taktfrequenzen resp. niedrige P-Ratings (der schnellste K5 war ein PR166, der mit 116 MHz getaktet wird) konnte AMD keine größeren PC-Hersteller von der Nutzung des K5 überzeugen. Auch die Fachpresse gab dem K5 wegen der schlechteren, aber immer wichtiger werdenden FPU-Leistung zumeist nur schlechte Noten. Der K5 kann deswegen als Fehlschlag für AMD bezeichnet werden: "Too little too late". Nichtsdestotrotz bewies AMD mit dieser CPU, dass sie durchaus im Stande waren, ohne Intels Mithilfe einen leistungsfähigen und modernen x86-Mikroprozessor zu entwickeln und zu bauen. Besserung brachte der Nachfolger K6.
Die Architektur des K5
Die RISC86-Architekur des AMD K5 war der Architektur des Intel Pentium Pro ähnlicher als der des Pentium. Der K5 ist intern ein RISC-Prozessor mit einer x86-Dekodier-Einheit, die alle x86-Befehle zur Ausführung in RISC-Befehle zerlegt. Dieses Prinzip wird zwischenzeitlich bei allen modernen x86-CPUs benutzt.
Der K5 besitzt fünf Integer-Einheiten (out-of-order) und eine FPU-Einheit (der Pentium beseitzt zwei). Register renaming und speculative execution verbesserten die parallele Ausführungsmöglichkeit der Pipelines bzw. verminderten die Blockade der Pipelines. Der Buffer für die Sprungvorhersage war viermal größer als der des Pentiums (wobei die Sprungvorhersage selber nicht besser arbeitete) und der L1-Cache war doppelt so gross (und 4-fach statt 2-fach assoziativ). Diese Verbesserungen ermöglichten dem K5 eine wesentlich höhere Integer-Leistung als ein gleich getakteter Pentium. Aus diesem Grund benutzte AMD das beteits vom Am5x85 bekannte P-Rating um die Leistungsfähigkeit relativ zum Pentium anzugeben.
Alles in allem war der K5 dem Pentium technisch überlegen, allerdings hatte AMD massive Probleme bei der Entwicklung und der bei der Fertigung, so dass der K5 ein Jahr später als urspünglich geplant auf den Markt kam. Und dieser Version war noch eine Art "Vorabversion", bekannt als SSA/5, mit Fehlern im L1-Cache und in der Sprungvorhersage. Diese Version wurde zuerst als 5k86, aber der 21. Produktionswoche 1996 dann auch als K5 verkauft. Die fehlerbereingte Version kam nur mit der Bezeichnung K5 in den Handel.
Modelldaten
SSA/5
- Verkaufsname: 5K86 P75, P90, P100; später K5 PR75, PR90, PR100
- L1-Cache: 8 + 16 KB (Daten + Instruktionen)
- Sockel 5 und Sockel 7 mit 50, 60 und 66 MHz
- Betriebsspannung (VCore): 3.52V
- Erscheinungsdatum: 27. März 1996
- Fertigungstechnik: 0,50 µm und 0,35 µm
- Die-Größe: 251 mm² (0,50 µm) und 161 mm² (0,35 µm) bei 4,3 Millionen Transistoren
- Taktraten: 75 bis 100 MHz
- 5K86 P75, K5 PR75: 75 MHz
- 5K86 P90, K5 PR90: 90 MHz
- 5K86 P100, K5 PR100: 100 MHz
5k86
- Verkaufsname: K5 PR120, PR133, PR150, PR166
- L1-Cache: 8 + 16 KB (Daten + Instruktionen)
- Sockel 5 und Sockel 7 mit 60 und 66 MHz
- Betriebsspannung (VCore): 3.52V
- Erscheinungsdatum: 7. Oktober 1996
- Fertigungstechnik: 0,35 µm
- Die-Größe: 181 mm² (0,35 µm) bei 4,3 Millionen Transistoren
- Taktraten: 90 bis 133 MHz
- PR120: 90 MHz
- PR133: 100 MHz
- PR150: 105 MHz
- PR166: 116,6 MHz
- PR200: 133 MHz (war ursprünglich geplant, ein Verkauf fand nicht mehr statt)