CPU-Entwicklung AMD und Intel Der 8086, die heutige Basis Auf exakt dieser Basis hat Intel seine Mikroprozessoren entwickelt, nur um einige Bereiche erweitert. Der 8086, das Urgestein der x86 - Architektur besitzt trotz seines Alters von 20 Jahren bis heute noch eine enorme Bedeutung für die EDV-Welt. Alle Nachfolgenden Prozessoren von Intel, AMD oder Cyrix sind 100%ig kompatibel zum Befehlsformat des 8086 Mikroprozessors. Das bedeutet im Klartext: dass auf einer modernen CPU auch noch 20 Jahre alte Programme ausführbar sind. Diese zwingend notwendige Kompatibilität ist es, welche die Entwicklung der Prozessoren entscheidend beeinflusst hat. Überblick über den Intel 8086: 16 Bit lange Register und Datenpfade Adressierung von stolzen 1 MB Speicher (20 Bit Speichergate, A20) 14 Register setzen sich zusammen aus 8 Universalregistern (GPR, General Purpose Register) sowie 6 Spezialregister Der 80286 Die Firmen und Anwender waren mit der Performance des 80286 und dessen Maximalem Speicherbereich von 16 MB vollends zufrieden. Die Adressierung von 16 MB Speicher realisierte Intel über den Protected Mode. Überblick über den Intel 80286: 16 Bit lange Register und Datenpfade Adressierung von 16 MB Speicher (Protected Mode) 16 Bit auf 32 Bit mit dem 80386 Was dem 80386 zum Durchbruch verhalf und ihn als neuen Industriestandard etablierte war die Tatsache, dass er zu bisherigem 16 Bit Code vollständig kompatibel war, und bei dessen Ausführung einen enormen Geschwindigkeitsvorteil bieten konnte. In seinen Anfangstagen war der Mikroprozessor also weitestgehend damit beschäftigt, 16 Bit Code auszuführen. Er ermöglichte den Programmierern jedoch die Erweiterung ihrer Programme auf 32 Bit. So war ein schleichender Architekturwechsel möglich, dessen Endprodukt bis heute noch den Stand der Technik bildet. Ein AMD Athlon XP ist 100%ig kompatibel zur IA-32 – Architektur, welche wiederum 100%ig kompatibel ist zur 8086 – Architektur. Überblick über den Intel 80386 (ebenso wie 80486): 32 Bit lange Register und Datenpfade Adressierung von 4 GB Speicher Der P5 (Intel Pentium, ii, iii ) Erstmals in der Geschichte der x86 – Prozessoren war es dem Mikroprozessor möglich, mehrere Befehle innerhalb eines Taktsignals auszuführen. Der Intel Pentium, oder kurz gesagt die P5 – Architektur kann im Gegensatz zu ihrer Vorgängerarchitektur (80486) zwei Befehle parallel ausführen, solange die zweite Operation nicht vom Ergebnis der ersten Operation abhängig ist. So kann beispielsweise A = 10 + 10 B = A + 40 nicht parallel ausgeführt werden, da die zweite Operation das Ergebnis der ersten Operation als Operanden benötigt. Hier lag also zum ersten mal die Bürde der Optimierung beim Programmierer oder Compiler. Überblick über den Intel 80386 (ebenso wie 80486): 32 Bit lange Register und Datenpfade / Adressierung von 4 GB Speicher Einführung von MMX, 3D NOW!, SSE (Streaming SIMD Extensions ) superskalare Arbeitsweise (zwei Befehle während eines Taktsignals) Die 6. Generation (P6) Mit der P6–Architektur wurde die superskalare Arbeitsweise erweitert, auf insgesamt drei parallel ausführbare Befehle. Der Decoder konnte innerhalb eines Taktzyklus drei Befehle parallel decodieren und an die entsprechenden Befehlseinheiten weiterleiten. Der Unterschied zwischen den beiden Prozessoren liegt in der Größe des verwendeten L1-Cache und den verschiedenen Recheneinheiten. Die 6. Generation (P6) Dies hat der P6 – Architektur einen gewaltigen Performanceschub gegenüber den Vorgängern gebracht, die Leerlaufzeiten der CPU konnten minimiert werden, die CPU ist bei vernünftiger Programmierung und Code – Optimierung vollständig und perfekt ausgelastet. Weitere Maßnahmen welche alle Prozessoren der 6. Generation aufweisen sind, ohne Spezifizierung auf Athlon XP oder Pentium 4: Vergrößerter L1-Cache: bei Intel 32 KB L1-Cache, AMD spendierte seiner K7-Architektur gar 128 KB L1-Cache Vergrößerter L2-Cache: bei Intel und AMD bis zu 512 KB L2-Cache Mehrere Recheneinheiten: bei Intel 3 Integer-Einheiten, bei AMD drei Fließkomma-Einheiten. Zusammen mit dem Prinzip der Out-Of-Order Execution stellt dies einen gewaltigen Performanceschub dar. Register Renaming: Sowohl die P6 als auch die K7-Architektur bilden die acht General Purpose Register auf bis zu 40 interne Register ab. Die bringt vor allem im Multitasking-Betrieb einen enormen Geschwindigkeitsvorteil. Dreistufiger Decoder: Die P6 als auch die K7 – Architektur weisen einen dreistufigen Decoder auf. So können drei µOps gleichzeitig decodiert werden, und an die Recheneinheiten weitergereicht werden. Pentium 4 Netburst-Architektur Athlon XP-Architektur AMD K8 Architektur Die K8 Architektur ist unter dem Codenamen „AMD64“ bekannt. Sie vereint 32Bit und 64Bit Technologie. Hier die wichtigsten änderungen: 64 Bit Adressraum und 64 Bit Register für 64 Bit Code SSE2 Support Level2 Cache bis 1 MB integrierter eigener Speichercontroller mit 64 Bit DDR oder 128 Bit DDR Interface Von den greifbaren Veränderungen des K8 wird vor allem letztere nach aller Wahrscheinlichkeit der größte Performance-Bringer werden. Grob gesagt integriert AMD damit eigentlich schon einen guten Teil eines MainboardChipsatzes direkt in den eigentlichen Prozessor. AMD K8 Architektur AMD K8 Architektur Die Vorteile des integrierten Speichercontrollers mit 64 Bit DDR oder 128 Bit DDR Interface: Einzelprozessorsystem deutlich geringere Latenzzeiten da die CPU direkt an den Speicher angebunden ist und nicht den Umweg über den Mainboard-Chipsatz nehmen muss. Mehrprozessorsystem Alle CPUs haben ein eigenes Speicherinterface und müssen sich nicht mehr das einzige Speicherinterface des Mainboard-Chipsatzes teilen. Der Speicherbandbreiten-Engpaß wird somit gleich prinzipiell vermieden. (siehe folgendes Bild) Die hellblauen Blöche links/rechts oben symbolisieren den Speicher, welcher direkt an die K8 CPUs angebunden ist. AMD K8 Architektur Hier der Vergleich zu einer herkömmlichen Speicheranbindung Singel-CPU (links) Multi-CPU (rechts) AMD K8 Architektur Die resultierenden Speicherbandbreiten im Vergleich zum K7 (Quelle AMD) Speicherinterface der CPU BusTaktfrequenz resultierende Speicherbandbreite K7 64 Bit DDR 133 MHz 2 GB/sec. Pentium 4 64 Bit DDR 100 MHz 3 GB/sec. K8 64 Bit DDR 133 MHz 2 GB/sec. K8 64 Bit DDR 166 MHz 2,5 GB/sec. K8 128 Bit DDR 133 MHz 4 GB/sec. K8 128 Bit DDR 166 MHz 5 GB/sec.