AMD vs. Intel - Weblearn
Transcrição
AMD vs. Intel - Weblearn
AMD vs. Intel - Ausarbeitung zur Präsentation - Hochschule Bremen Fachbereich Elektrotechnik und Informatik Studiengang Technische Informatik Rechnerstrukturen, Labor (RST-L) Prof. Dr. Thomas Risse Wintersemester 2007/ 08 Vorgelegt von: 20.12.2007, Bremen Christoph Bartels, Christian Dinter, Martin Lange, 15 26 10 15 45 58 15 30 90 AMD vs. Intel WS 2007/ 08 Inhaltsverzeichnis Inhaltsverzeichnis .................................................................................................................................... 2 1. 2. 3. 4. Einführung ....................................................................................................................................... 3 1.1. Firmenbeschreibung (AMD) ................................................................................................... 3 1.2. Firmenbeschreibung (Intel) ..................................................................................................... 4 Architekturbeschreibung ................................................................................................................. 6 2.1. Beschreibung der K8 Architektur............................................................................................ 6 2.2. Ausblick auf die K10 Architektur ........................................................................................... 8 2.3. Core-Beschreibung .................................................................................................................. 9 2.4. Ausblick auf die neue Core-Generation (Penrym) ................................................................ 12 Hauptspeicher (RAM)- und Chipsatz-Anbindung......................................................................... 13 3.1. Speicher-Adressierung / -Verwaltung ................................................................................... 13 3.2. AMD K8 (Athlon 64 X2) ...................................................................................................... 14 3.3. Intel Core (Core 2 Duo)......................................................................................................... 15 3.4. Gegenüberstellung ................................................................................................................. 16 Cache und TLBs ............................................................................................................................ 19 4.1. Level 2 Cache ........................................................................................................................ 19 4.1.1. 5. 6. Gegenüberstellung Level 2 Cache ................................................................................. 19 4.2. Level 1 Cache ........................................................................................................................ 20 4.3. Translation Lookaside Buffers (TLBs) ................................................................................. 21 Prefetching .................................................................................................................................... 22 5.1. AMD K8 (Athlon 64 X2) ...................................................................................................... 22 5.2. Intel Core (Core 2 Duo)......................................................................................................... 23 Benchmarks ................................................................................................................................... 24 6.1. CPU-Performance: SPEC CPU 2000 .................................................................................... 25 6.2. Speicher: Sciencemark .......................................................................................................... 28 6.3. Analyse: SunGard ACR ........................................................................................................ 29 6.4. Rendering: 3ds Max 8 ........................................................................................................... 30 6.5. System-Performance: BAPCo Sysmark 2004 SE ................................................................. 32 6.6. Energieverbrauch................................................................................................................... 34 6.7. Ausblick in die Zukunft ......................................................................................................... 35 6.8. Resümee ................................................................................................................................ 38 Quellenverzeichnis ................................................................................................................................ 40 Abbildungsverzeichnis .......................................................................................................................... 43 Tabellenverzeichnis ............................................................................................................................... 43 Bartels, Dinter, Lange Seite 2 von 43 AMD vs. Intel 1. WS 2007/ 08 Einführung Diese Ausarbeitung vergleicht den Aufbau und im Besonderen die Speichertechnologien (Anbindung und Schnittstellenaufbau) der jeweils aktuellen Mikroprozessorarchitektur von Intel und AMD. Die beiden miteinander konkurrierenden Architekturen sind in diesem Fall die K8-Architektur von AMD und die Core-Architektur von Intel. Diese Dokumentation gliedert sich in mehrere Teile, zunächst werden die beiden Kontrahenten vorgestellt und der wesentliche Aufbau der beiden Mikroprozessorarchitekturen erklärt, um die anschließende Detailerklärung der Speicheranbindung und -technologie einordnen zu können. Außerdem wird auf die Änderungen der nachfolgenden Architekturen bzw. Versionen eingegangen. Den Abschluss bilden einige Benchmarks, die deutlich machen, welche Vor- und Nachteile die verschiedenen Ansätze mit sich bringen. 1.1. Firmenbeschreibung (AMD) Die Firma AMD (Advanced Micro Devices) wurde im Jahre 1969 gegründet und produzierte zunächst Schieberegister, Speicherbausteine und Mikroprozessoren. 1979 erwarb AMD eine Lizenz von Intel zur Herstellung von 8086- und 8088-Prozessoren. Infolgedessen produzierte AMD eigene Nachbauten von Intel-Entwicklungen, so wurde beispielsweise ein 80286 Nachbau als Am286 von AMD vertrieben. [vgl. AMD08, AMD07] Im Jahre 1986 kündigte Intel den Vertrag, der diese Praxis erlaubte und AMD reagierte mit einer Klage, aus der sich ein Rechtsstreit um die Lizensierung von Prozessormodellen entwickelte. Aufgrund des schwebenden Verfahrens konnte AMD noch 80386 und 80486 Modelle entwickeln und war erst nach Jahren in der Situation, eine eigene Prozessorlinie produzieren zu können. [vgl. AMD08, AMD07] Diese erste eigene moderne Mikroarchitektur war der K5, diese konnte allerdings erst 1996 vorgestellt werden, da die Entwicklung einer Mikroarchitektur einiges an Ressourcen und Zeit kostet. So war der K5 aufgrund der späten Markteinführung nie eine echte Konkurrenz für den Intel Pentium. Erst der Nachfolger, die K6 Architektur (1997), brachte AMD einen Riesensprung nach vorn im Rennen um den schnellsten x86 Prozessor. Diese neue Architektur basierte auf einem Model der kurz zuvor übernommenen Firma NexGen, diese wurde zunächst um die MMX Befehle und in einem nächsten Entwicklungsschritt (K6-2, 1998) um die eigene SIMD Erweiterung 3Dnow! erweitert. [vgl. AMD08, AMD07] 1999 wurde eine weitere Variante des K6 entwickelt, der K6-III. Dieser bestand eigentlich nur aus einem K6-2 mit einem integrierten 256KB L2-Cache. Zwar brachte dies einen großen Geschwindigkeitsvorteil, jedoch wurde der Die extrem groß und somit sehr teuer in der Fertigung. Der letzte Nachfolger als K6 basiert eben aus diesem Grund wieder auf dem K6-2 und wurde K6-2+ genannt, dieser wurde bereits in 0,18µm gefertigt. [vgl. AMD08, AMD07] Der Nachfolger des K6 wurde der K7, dieser war erstmals dem Konkurrenten, Intels Pentium III technisch überlegen und so konnte AMD den ersten x86-Prozessor veröffentlichen der die 1GHz Marke durchbrach. Möglich wurde dies auch durch die neuen Fabriken in Dresden, denn hier konnte erstmals ein AMD Prozessor ohne grössere Fertigungsprobleme gebaut werden. [vgl. AMD08, AMD07] Bartels, Dinter, Lange Seite 3 von 43 AMD vs. Intel WS 2007/ 08 Schließlich wurde 2003 der K8 veröffentlicht. Mit dieser neuen Architektur stellte AMD die erste vor, die mit einer 64Bit Technologie arbeitet. Diese Architektur wird, in der neusten Ausprägung, in dieser Ausarbeitung näher vorgestellt und mit Intels Core-Architektur verglichen. [vgl. AMD08, AMD07] 1.2. Firmenbeschreibung (Intel) Die Intel Corporation, 1968 gegründet, konzentrierte sich bis Anfang der 80er Jahre zunächst auf den Markt der Speichertechnologien. Zwar entwickelte Intel bereits 1974 den 8080, einen der ersten vollwertigen Mikroprozessor; der Speichermarkt, insbesondere DRAM, blieb jedoch bis zu einem starken Umsatzeinbruch um 1983 das Kerngeschäft. [vgl. INT08, INT07d] Hiernach wurden die Mikroprozessoren zu dem Standbein des Konzerns. Hier sticht insbesondere die x86er Prozessorfamilie hervor, die durch eine geschickte Lizenz und Markenpolitik zu einer der am weitesten verbreiteten Prozessorfamilien der Welt gehört und Intel eine marktbeherrschende Stellung im PC-Prozessoren-Sektor verschaffte. Zwar wurden die x86 Prozessoren im Wesentlichen von Intel entwickelt, jedoch auch von AMD vertrieben. Dies wurde ermöglicht durch eine von Intel vergebene Lizenz, die 1986 gekündigt wurde. [vgl. INT08, INT07d] Wichtige Vertreter waren 1985 der i386DX, der erste 32Bit Prozessor der Reihe und 1989 die Weiterentwicklung i486DX mit integriertem L1-Cache und einem ebenfalls integriertem mathematischen Coprozessor (FPU). Die beiden Serien liefen lange parallel, da die Kosten für einen 486er Prozessor bis zu 6000 US-Dollar betrugen und diese somit nicht für Privatanwender erschwinglich waren. Im Laufe der Entwicklung wurden die Caches beider Reihen vergrößert und die Taktraten erhöht. [vgl. INT08, INT07d] Erst 1993 wurde mit dem Pentium eine grundlegend neue Architektur veröffentlicht. Diese gilt als erste, superskalare CISC-Architektur der Welt und verfügte über eine echte, parallel arbeitende, Pipeline. Trotz Startschwierigkeiten mit der 486er Konkurrenz im eigenen Haus hielt Intel an der jungen Architektur fest und entwickelte sie konsequent weiter. So folgte 1994 eine multiprozessorfähige Version und später der Pentium MMX. Letzterer verfügte als erster x86Prozessor über eine SIMD-Erweiterung zur Verarbeitung großer Integerdatenmengen, wie sie bei Video/Audio oder Bild- Verarbeitung anfallen. [vgl. INT08, INT07d] Am Ende der Pentium-1 Reihe stand Intel bei einer Taktrate von 233MHz (Desktop) bzw. 300MHz (Mobil). Der nächste Entwicklungsschritt war der Pentium Pro (P6), er verfügt intern über 3 parallel arbeitende RISC Pipelines und unterscheidet sich somit deutlich von seinem Vorgänger, dem Pentium. Ein neues Konzept war zudem die „Out-of-Order“ Ausführung von Befehlen, die eine effizientere Parallelisierung erlaubt. Trotz der deutlichen Leistungssteigung zum Pentium konnte sich der P6 nicht am Markt durchsetzen, da Intel Probleme mit der Fertigung des On-Chip-Caches hatte und daher den Preis nicht auf Marktniveau senken konnte. [vgl. INT08, INT07d] Trotz dieser Probleme wurde die P6 Architektur zur Grundlage aller Nachfolgemodelle der PentiumSerien, allen voran dem Pentium II, der im Wesentlichen ein P6 mit getrenntem Cache und hinzugefügtem MMX-Modul war (maximaler Takt: 450MHz). Außerdem wurde parallel zum Pentium II ein Modell für den Low-Cost Sektor vermarktet, der Celeron. Dieser hatte die Einschränkungen eines reduzierten L2 Caches sowie eines niedrigeren FSB-Taktes. [vgl. INT08, INT07d] Bartels, Dinter, Lange Seite 4 von 43 AMD vs. Intel WS 2007/ 08 Die nächste Generation hieß folgerichtig Pentium III und verfügte nun endlich über den On-ChipCache sowie über die SSE Einheit, mit der Gleitkommaberechnungen stark beschleunigt wurden. Außerdem plante Intel mit dieser Prozessorgeneration weltweit eindeutige und per Software auslesbare IDs zu vergeben, musste dieses Vorhaben nach massiven Protesten von Datenschützern jedoch wieder aufgeben. Die letzte Version des Pentium III lief mit einem Takt von 1133 MHz. [vgl. INT08, INT07d] Der Pentium 4 (Nov. 2000) arbeitete mit der NetBurst Architektur. Charakteristisch hierfür ist eine extrem lange Pipeline (bis zu 31 Stufen), die mit einen sehr hohen Takt (bis 4 GHz) arbeitet. Hierzu war es notwendig, die Sprungvorhersage zu verbessern und die einzelnen Stufen der Pipeline möglichst klein und einfach zu halten. Intel plante diese Architektur durch einen ansteigenden Takt längere Zeit betreiben zu können, jedoch machten Problem bei der Leistungsaufnahme und eine starke Wärmeerzeugung einen Strich durch diese Pläne. [vgl. INT08, INT07d] Abgelöst wurde die NetBurst Architektur auf dem Desktop-Sektor von der Core-Architektur, die wieder mehr auf dem Pentium III, also auf der P6 Architektur, als dem Pentium 4 basiert. In dieser Ausarbeitung wird die Core-Architektur näher beschrieben und mit AMDs letzter K8 Ausprägung verglichen. [vgl. INT08, INT07d] Bartels, Dinter, Lange Seite 5 von 43 AMD vs. Intel 2. WS 2007/ 08 Architekturbeschreibung Im folgenden Abschnitt werden die beiden konkurrierenden Architekturen näher beschrieben. Die dargestellten Schaublider zeigen Verarbeitungsblöcke, diese umfassen teilweise mehrere Pipelinestufen. 2.1. Beschreibung der K8 Architektur Die etwas ältere K8 Architektur von AMD hat ein an den Athlon (K7) angelehntes Design. Die interne Verarbeitung ähnelt hingegen der RISC Pipeline einer Alpha-CPU. Dies ist vermutlich auf den ChefEntwickler zurückzuführen, der auch den Alpha 21264 entwarf. Mit den 12 Stufen für IntegerBerechnung und 17 Stufen für die Floating-Point-Berechnungen ist die Pipeline der K8-Architektur in etwa so lang wie die von Intels P6. Die K8 Architektur entspricht einem dreifach superskalaren Design. Zusätzlich zu dem klassischem Aufbau der Architektur verfügt der K8 in der neusten Version über eine Hardwareunterstützung für Virtualisierung, Pacifica genannt. [vgl. AMD05, AMD07, CT06c, FOG07] Die ersten Modelle der K8 Architektur wurden als Single-Core-CPUs verkauft, allerdings war die Architektur von Anfang an auf den Dual-Core-Betrieb ausgelegt. Die ersten Dual-Core-Modelle der K8 Architektur wurden ab 2005 verkauft. Dabei werden auf einem Die zwei Kerne integriert, die dann über den Cross Bar Switch (XBAR) kommunizieren. [vgl. AMD05, AMD07, CT06c, FOG07] Zunächst werden die x86 Befehle, die im L1 Instruction Cache liegen, in den Prefetch-Buffer, im Bild „Fetch 2-transit“, geladen. Das Besondere hieran liegt in der Konstruktion des L1 Caches, er speichert zusätzlich zu den reinen Instruktionen die sogenannten Predecoded Bits. Sie enthalten Informationen über Sprünge und die Länge der Instruktionen. Da dies nicht mehr aus der Instruktion generiert werden muss kann in der Pipeline Zeit gespart werden. Aus dem L1-Cache können bis zu 16 Bytes pro Takt zur Pipeline transportiert werden. [vgl. AMD05, AMD07, CT06c, FOG07] Aus dem Prefetch-Buffer gelangen die Instruktionen dann zu den drei Decodern, diese wandeln dann parallel drei x86-Befehle in Mikrooperationen um. Nach der Umwandlung werden dann bis zu sechs der entstandenen Mikrooperationen von den Packern in drei MacroOps zusammengefasst. Diese MacroOps bestehen aus je zwei Befehlen, einem für die ALU und einem für die AGU. Sie gelangen dann in die 72 Einträge umfassende Instruction Control Unit (ICU). [vgl. AMD05, AMD07, CT06c, FOG07] Hier werden die logischen Register des x86 Befehlssatzes auf die physikalischen Register der K8Architektur gelegt. Dies ist unter anderem deshalb nötig, weil so einige der Pseudo-Abhängigkeiten, die die Out-of-Order- Ausführung hemmen, aufgelöst werden können. Um dies auch gewährleisten zu können, sind mehr reale Register vorhanden, als der Befehlssatz vorsieht. Die Zuordnung geschieht in der ICU. Nach dem Auflösen der Abhängigkeiten werden die MacroOps an die drei Integer- und den Gleitkomma-Scheduler übergeben. [vgl. AMD05, AMD07, CT06c, FOG07] Bartels, Dinter, Lange Seite 6 von 43 AMD vs. Intel WS 2007/ 08 In der folgenden Abbildung ist der grundlegende Aufbau der K8 Architektur dargestellt. Abbildung 1: K8 Architektur im Überblick [CT07c] Der oben beschriebene Aufbau der MacroOps erklärt sich, wenn man einen Blick auf die Konzeption der Scheduler für die Ausführungseinheiten betrachtet. Jeder der drei Integer Scheduler ist in der Lage, bis zu acht MacroOps zwischenzuspeichern und sie wieder in die einzelnen Operationen aufzutrennen. Die Integer-Scheduler verfügen je über zwei Ausführungseinheiten, die parallel arbeiten können. Die Gleitkomma-Schedulereinheit verfügt sogar über 36 Plätze und drei Ausführungseinheiten. Insgesamt wäre es also möglich neun Mikrooperationen (Sechs Integer- und drei Float-Operationen) parallel ausführen zu können. Dies gelingt sehr selten. Wenn es im Extremfall doch möglich ist würde die 3-fach skalare Pipeline leerlaufen und müsste neu gefüllt werden. Dies würde dazu führen das der Performancegewinn durch die schnelle Ausführung verloren geht. [vgl. AMD05, AMD07, CT06c, FOG07] Zusätzlich zu der Gleitkommaberechnung findet im FPU-Pfad auch die Ausführung der SSE Berechnung statt. Hier liegt auch der Grund, aus dem der Zwischenspeicher der FPU wesentlich grösser ist als der der Integer-Scheduler. Die K8-Architektur verfügt nur über einen 64 Bit breiten Bus, über den es nicht möglich ist, die teilweise 128-bitigen SSE-Operationen in einem Stück ausführen zu können. So müssen diese sogenannten Double-Dispatch-Operationen vorher von dem Bartels, Dinter, Lange Seite 7 von 43 AMD vs. Intel WS 2007/ 08 FPU-Scheduler getrennt und anschließend hintereinander ausgeführt werden. Dies passiert jedoch nicht ausschließlich bei SSE-Befehlen sondern kann auch bei einigen Gleitkomma-Berechnungen oder Stack-Operationen notwendig werden. Dieses Vorgehen ermöglicht zwar die Ausführung solcher Befehle, hemmt aber die effiziente Ausnutzung der Pipeline, da die Double-Dispatch-Operationen zwei Ausführungsphasen im FPU-Zweig benötigen. [vgl. AMD05, AMD07, CT06c, FOG07] Nach der Adressberechnung in den AGU-Ausführungseinheiten können in der Load/Store Queue zwei, 64Bit Speicherzugriffe pro Takt ausgeführt werden. Die LSU (Load-Store-Unit) kann sowohl auf den L1-Datencache, den L2-Cache als auch den Hauptspeicher zugreifen. Für die Zugriffe auf den L1-Datencache stehen 12 Einträge, für den Zugriff auf den L2-Cache und den Hauptspeicher 32 Einträge in der Load/Store Queue zur Verfügung. Im Extremfall können also bis zu 11 Mikrooperationen (neun Mikrooperationen in den Ausführungseinheiten und zwei Load/Store Operationen in der LSU) parallel ausgeführt werden. [vgl. AMD05, AMD07, CT06c, FOG07] Eine weitere Besonderheit der K8-Architektur ist der Speichercontroller, der sich anders als bei Intels Core-Architektur, auf dem Die des Prozessors befindet, also in diesen integriert ist. Die Vor- und Nachteile dieser Lösung werden später in dieser Ausarbeitung ausführlich diskutiert. Dieser Speichercontroller verfügt einen Crossbar-Switch mit angeschlossenen drei Hyper-Transport-Links und einem Interfache für DDR2-Speicher. Der Crossbar-Switch ist außerdem auch bereits für die Synchronisierung mit einem zweiten CPU-Kern ausgelegt. [vgl. AMD05, AMD07, CT06c, FOG07] 2.2. Ausblick auf die K10 Architektur Der Nachfolger der K8 Architektur ist die K10 Architektur, die aktuellste von AMD. Wie im folgenden Schaubild zu erkennen ist, basiert sie stark auf ihrem Vorgänger, dem K8. Allerdings ist diese Architektur von Anfang an für den Vierkernbetrieb ausgelegt worden. Alle vier Kerne, die auf einem Die integriert sind, kommunizieren untereinander über die Cross Bar (XBAR). Der K10 wird direkt in AMDs neuer 65nm Technologie gefertigt. [vgl. AMD07c, CT07c, RWT07b, TR07] Möglich wird dieser Vierkernbetrieb durch den zusätzlichen Level 3 Cache der vorwiegend zum auflösen der Kohärenz verwendet wird. Dieser L3 Cache wird also unter allen vier Kernen geteilt. Um zusätzliche Performance aus der Architektur herauszuholen wurden viele der internen Busssysteme verbreitert. So wurde zum Beispiel der Bus in der SSE Einheit auf 128Bit verbreitert. Hier werden jetzt keine Double-Dispatch-Befehle mehr benötigt. Alle Befehle, bis 128Bit, können nun in einem Schritt verarbeitet werden. [vgl. AMD07c, CT07c, RWT07b, TR07] Außer den Bussen wurden auch die einzelnen Caches und Buffer vergrößert und die TLBs bekamen mehr Einträge. Als weiteres Feature wurde der SSE-Befehlssatz erweitert und zwar um ein Bündel von AMDspezifischen Befehlen. Diese SSE Version läuft unter der Bezeichnung SSE 4a. Einige der neuen Befehle benutzen eine neue Ausführungseinheit, die ABM. In dieser können „Advanced Bit Manipulation“- Befehle wie POPCNT oder LZCNT sehr effizient ausgeführt werden. POPCNT beispielsweise zählt die Anzahl der gesetzten Bits eines Maschinenwortes, LZCNT zählt die führenden Nullen. [vgl. AMD07c, CT07c, RWT07b, TR07] Bartels, Dinter, Lange Seite 8 von 43 AMD vs. Intel WS 2007/ 08 Die K10 Architektur ist in der folgenden Abbildung dargestellt. Alle Änderungen zum K8 sind rot markiert. Abbildung 2: K10 Architektur im Überblick [CT07c] 2.3. Core-Beschreibung Der grobe Ablauf der Core Pipeline gleicht im Wesentlichen der im P6 und der Architektur für Mobile Prozessoren Yonah. Allerdings wurden sämtliche Busse verbreitert und an fast allen Stufen Verbesserungen vorgenommen. Das Zentrum der 14-stufigen Pipeline bildet die Reservation Station, die die Mikrooperationen an die Ausführungseinheiten verteilt. Die Core Architektur entspricht einem vierfach superskalaren Design. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Bartels, Dinter, Lange Seite 9 von 43 AMD vs. Intel WS 2007/ 08 Bei der Core Architektur handelt es sich um eine vollwertige Dual-Core-Architektur. Die beiden Kerne, die auf einem Die integriert sind, kommunizieren untereinander über den gemeinsamen L2 Cache. Bei den Vier-Kern-Modellen der Core Architektur handelt es sich im Grunde um zwei ZweiKern-Prozessoren, die in einem Chip integriert wurden. Die Kommunikation zwischen diesen muss über den FSB (Front Side Bus) abgewickelt werden. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Die Core Architektur ist in der folgenden Abbildung dargestellt (siehe Abbildung 3). Abbildung 3: Core Architektur im Überblick [CT07c] Die x86-Befehle werden aus dem Instruction Cache über einen 128Bit breiten Bus in einen kleinen Zwischenspeicher (Instruction Streaming Buffer, 32Byte) geladen. Die Datenrate zu den Decodern beträgt 16Bytes/Takt, also kann mindestens eine x86-Instruktion von maximal 15Byte Länge geladen werden. Da die durchschnittliche Instruktionsgrösse innerhalb von Programmen 4Byte beträgt, können im Schnitt 4 Instruktionen pro Takt geladen werden. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Bartels, Dinter, Lange Seite 10 von 43 AMD vs. Intel WS 2007/ 08 Die Sprungvorhersage ist schon im Frontend der Pipeline platziert, hier konkurrieren zwei verschiedene Verfahren um die bessere Vorhersage, ob gesprungen wird oder nicht; die mit der besseren Trefferrate wird bevorzugt. Außerdem werden spezielle Vorhersagetechniken für Schleifen und indirekte Sprünge verwendet. Zusätzlich dazu verfügt die Core-Architektur über einige Vorhersagetechniken für Stackpointerberechnungen. Diese frühe Vorhersage ist wichtig, da bei einem nicht vorhergesehenen Sprung die Pipeline gelöscht und von der Zieladresse an neu gefüllt werden müsste. Das kostet eine Menge Zeit, einen Takt pro Stufe. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Auch die neuentwickelte MacroOp-Fusion spart eine Menge Taktzyklen, sie kann in einem fünf Befehle umfassenden Fenster zwei präcodierte x86 Befehle zu einem verschmelzen. So kann ein Vergleichs- und ein darauffolgender Sprungbefehl als ein x86-Befehl vom Complex Decoder in eine einzige Mikrooperation übersetzt werden. Diese Methode erlaubt es, theoretisch fünf x86-Befehle mit nur vier Decodern zu decodieren. Allerdings ist dies nur im 32Bit Modus möglich, im 64Bit Modus sind die Befehle länger und das Instruktionsfenster somit zu klein. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Als Beispiel kann die Befehlsfolge in der folgenden Abbildung betrachtet werden. Der Programmfluss in der Abbildung ist von unten nach oben zu betrachten. Die anschließende Decodierung in echte Mikrooperationen ist in der Abbildung nicht mehr dargestellt, sie betrachtet ausschließlich die PräDecodierung. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Abbildung 4: Beispiel zur MacroOp Fusion (Prä-Decodierung) [vgl. CT06c] Einfache Instruktionen (Register-Move oder Integerberechnungen) übersetzen die Simple-Decoder direkt in Mikrooperationen, komplexere werden von dem Complex-Decoder in mehrere Mikrooperationen umgewandelt. Im Extremfall können dies über zehn Mikrooperationen sein. Aus den Mikrooperationen kann der Complex-Decoder dann gleichzeitig bis zu vier Operationen generieren. Die dekodierten Operationen aus dem Complex-Decode gelangen zusammen mit den drei dekodierten Operationen aus den Simple-Decodern in die Decoded Instruction Queue. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] An dieser Stelle setzt die zweite Stufe der Befehlsverschmelzungen an: in der MicroOp Fusion werden passende Mikrooperationen gebündelt und gemeinsam verwaltet. Dies funktioniert allerdings nur dann, wenn sich genügend ähnliche, d.h. zusammenfassbare, Operationen in der Decoded Instruction Queue befinden. Dieses Vorgehen spart Zeit und Strom, denn je weniger Operationen vom ReorderBuffer und der Reservation Station verwaltet werden müssen, desto weniger Strom wird verbraucht. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Bartels, Dinter, Lange Seite 11 von 43 AMD vs. Intel WS 2007/ 08 Aus Performancegründen haben moderne Prozessoren weit mehr physikalische Register, als es der ursprüngliche x86 Befehlssatz vorsieht. Damit dieser Vorteil zum Tragen kommen kann, müssen die logischen Register des Befehlssatzes auf die physikalischen Register abgebildet werden. Durch diese Vorgehensweise können außerdem viele Pseudo-Abhängigkeiten aufgelöst und so mehr Operationen parallel ausgeführt werden. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Um dies leisten zu können und um die Registerinhalte später wieder richtig zurückschreiben zu können, werden die Abhängigkeiten der Register (logisch und physikalisch) im Retirement Register File gespeichert; die Zuordnung werden in der Register Allocation Table vorgenommen. So lassen sich allerdings nicht alle Abhängigkeiten auflösen. Um die Pipeline trotzdem optimal auslasten zu können, werden die Befehle entsprechend für die Out-of-Order Ausführung umsortiert. Diese Aufgabe wird vom Reorder-Buffer übernommen. Hier wird auch die ursprüngliche Reihenfolge gespeichert, um diese im Fehlerfall oder bei Interrupts wiederherstellen zu können. Aus dem ReorderBuffer kommen bis zu vier unabhängige Mikrooperationen pro Takt in die Reservation Station, wo sie auf eine freie Ausführungseinheit warten. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Für die Abarbeitung sind sechs Ausführungseinheiten verfügbar, die theoretisch auch bis zu sechs Mikrooperationen gleichzeitig verarbeiten können. Theoretisch deshalb, weil bei einem extrem selten auftretenden Fall die 32 Plätze der Reservation-Station, und damit die Pipeline, leerlaufen kann. Das passiert dann, wenn kontinuierlich mehr Befehle verarbeitet werden als von Reorder-Buffer geliefert werden können. Die sechs Ausführungseinheiten bestehen aus drei ALUs, je einer Load/Store Einheit für Adressen und einer Store Einheit für Daten. Außerdem kann in jeder der ALU-Einheiten, aber nicht parallel zu diesen, auch ein MMX oder SSE Befehl verarbeitet werden. Im Unterschied zu anderen Architekturen können hier echte 128Bit MMX/SSE Befehle verarbeitet werden. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Weitere Takte werden durch eine Verlagerung der AGU (Adress Generation Unit) direkt in die Load/Store Einheiten gespart, dadurch müssen die Adressen nicht erst im Port 0 berechnet werden. Dies ermöglicht es der Integer Ausführungseinheit im Port 0 zur gleichen Zeit eine andere Operation auszuführen. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] Nach dem Berechnen in den Funktionseinheiten werden die Inhalte aus den physikalischen Registern in die logischen Register des Befehlssatzes geschrieben. Hierzu wird wieder auf das Retirement Register File zugegriffen. [vgl. CT06c, INT06, INT07d, INT07e, FOG07] 2.4. Ausblick auf die neue Core-Generation (Penrym) Mit der neuesten Generation der Core-Architektur, Codename Penrym, vollzieht Intel den Shrink auf 45nm. Außerdem werden bei diesem Generationswechsel einige Strukturverbesserungen vorgenommen. So wurde z.B. der „shared“ L2 Cache auf 6MB vergrößert, die Integer- und FloatingPoint-Dividierer verbessert (ca. zwei bis drei mal schneller) und einige zusätzliche, Intel spezifische SSE Befehle hinzugefügt (SSE 4.1). [vgl. CT07, RWT07] Bartels, Dinter, Lange Seite 12 von 43 AMD vs. Intel WS 2007/ 08 3. Hauptspeicher (RAM)- und Chipsatz-Anbindung 3.1. Speicher-Adressierung / -Verwaltung Um die Speicher-Adressierung und -Verwaltung der K8 und Core Prozessor-Architektur zu verstehen, ist eine einführende Erklärung der grundlegenden Befehls-Architektur der beiden ProzessorArchitekturen nötig. Grundlage aller x86 Prozessoren ist die von Intel entwickelte Intel Architektur-32 kurz IA-32, die allgemein auch als x86 Architektur bezeichnet wird. Der 386er von Intel ist der erste Prozessor, der, aus heutiger Sicht, die wichtigsten Funktionen dieser Architektur implementiert. Er ist ein 32 Bit Prozessor, der im Protected Mode eine virtuelle Speicherverwaltung mittels Segmentation und/oder Paging ermöglicht. Die IA-32 Architektur wird bis heute von Intel aber auch von anderen Unternehmen, unter anderen AMD, weiter entwickelt. AMD hat eine neue „Grundlagen“- Architektur für 64 Bit Prozessoren entwickelt. Diese basiert auf der IA-32 Architektur und erweitert entsprechende Prozessoren um den 64 Bit Long Mode. AMD bezeichnet diese Architektur als AMD64. Sie wurde erstmals mit den auf der K8 Architektur basierenden Opterons 2003 eingeführt. Intel ignorierte die AMD64 Architektur lange Zeit, da Intel eine eigene 64 Bit Architektur namens IA64 entwickelt hatte und diese auch bei den Itanium Server Prozessoren einsetzte. IA-64 ist jedoch nur durch Emulation mit der IA-32 Architektur kompatibel. Aus Gründen des Marktdrucks (z.B. Microsoft wollte nur ein 64 Bit Desktop-Betriebssystem entwickeln) und wegen zu hoher Kosten der IA-64 im Desktop-Bereich führte Intel die 64 Bit Erweiterung von AMD in seine IA-32 Prozessoren ein. Intel bezeichnete die Erweiterung erst als IA-32e (so steht es noch in aktuellen Dokumenten), später dann als EM64T und jetzt als Intel 64. IA-32 Prozessoren mit AMD64/Intel 64 Erweiterungen unterstützen folgende Betriebsmodi: Tabelle 1: Betriebsmodi der IA-32 Prozessoren mit AMD64/Intel 64 Erweiterungen Hauptmodi Long Mode (AMD64/ Intel 64) Legacy Mode (IA-32) Untermodi 64-Bit Mode Compatibility Mode Protected Mode Virtual-8086 Mode Real Mode OS 64 Bit 32 Bit 16 Bit Virtuelle Adr. Bis zu 64 Bit K8/K10/Core: 48 Bit 32 Bit Physikalische Adr. Bis zu 52 Bit K8/K10: 40, Core: 36 Bit 32 Bit 32 Bit 32 Bit (mit PAE auch mehr z.B. Core: 36 Bit) Standard: 1 MByte mit 16 Bit 1 MByte mit 16 Bit ----- Seitengrößen 4 KB, 2 MB (K10: 1 GB) 4 KB, 2 MB, (4 MB) 4 KB, 2 MB, (4 MB) ----- Im Legacy-Mode wird aktuell überwiegend der Protected Mode verwendet. Dieser Modus unterstützt Segmentation mit oder ohne Paging. Bei aktiviertem Paging werden standardmäßig 4 KByte, unter anderen Konfigurationen 2 MByte oder 4 MByte große Seiten, unterstützt. Es lassen sich maximal 32 Bit (4 GByte adressierbar) virtuelle in 32 Bit physikalsche Adressen umsetzen und verwalten. Die physikalischen Adressen lassen sich mit Hilfe von physical-address extensions (PAE) erweitern (z.B. beim Core auf 36 Bit (64 GByte adressierbar)), was aber nur auf Mainboards und Betriebssystemen für Server zufriedenstellend funktioniert. Bartels, Dinter, Lange Seite 13 von 43 AMD vs. Intel WS 2007/ 08 Im Protected Mode bildet der Virtual-8086 Mode den alten Real Address Mode (Real Mode) nach, um alte 16 Bit Programme unter einem 32 Bit Betriebssystem ausführen zu können. Segmentation ist eine flexible aber auch sehr aufwendige Speicherverwaltung. Es wird aus Performance und Ressourcen Gründen empfohlen, sie nicht zu nutzen, was auch die meisten heutigen Systeme umsetzen. Dazu wird der Prozessor so konfiguriert, dass Segmentation größtenteils umgangen wird (Segmentation lässt sich nicht abschalten). Zur Umsetzung dieses sogenannten Flat Memory Modells wird die Segment Adresse (Segment Base Address) auf 0 und die Segment Größe (Limit) auf 4 GByte (Größe des gesamten Speichers) gesetzt. In der Regel wird beim Flat Memory Model Paging dazu verwendet virtuellen Speicher und Speicher-Schutzfunktionen zu nutzen. [vgl. INT97, INT07e, AMD07] Der Long Mode unterstützt im 64-Bit Mode alle neuen Erweiterungen der AMD64/Intel 64 Architektur. Dies sind im Bereich der Speicherverwaltung bis zu 64 Bit virtuelle Adressen (16 ExaBytes adressierbar) und bis zu 52 Bit physikalische Adressen (4 PetaByte adressierbar). Der aktuelle Standard sieht aber erst mal „nur“ 48 Bit virtuelle Adressen (256 Terabyte adressierbar) vor. Der physikalische Adressraum hängt von der Prozessor-Implementierung ab. Um eine schnellere Speicherverwaltung zu ermöglichen, wird im Long Mode das Flat Memory Model in Hardware umgesetzt. Das bedeutet hinsichtlich Segmentation, dass, bis auf wenige Ausnahmen, alle Segment Base Adressen auf 0 gesetzt werden. Die Segment Limits und Attribute (Schutzfunktionen) werden ignoriert. Paging und Physical Address Extensions (PAE) mit erweiterten Schutzfunktionen sind fester Bestandteil der Speicherverwaltung. Unterstützt werden Seitengrößen von 4 KByte und 2 MByte. Es sind aber auch neuerdings Speicherseiten von 1 GByte vorgesehen. Diese werden zurzeit allerdings nur vom K10 unterstützt. Unter dem Long Mode bildet der Compatibility Mode einen Protected Mode nach, um 32 Bit Programme unter einem 64 Bit Betriebssystem ausführen zu können. Im Compatibility Mode ist Segmentation und Paging wie im Protected Mode möglich und es gelten die gleichen Einschränkungen: 32 Bit virtuelle sowie 32 Bit physikalische Adressen und entsprechende Seitengrößen. Der Virtual-8086 Mode wird unter dem Long Mode nicht mehr unterstützt und daher auch keine Real Address Mode Programme. [vgl. INT07e, AMD07, INT07b, INT07d] 3.2. AMD K8 (Athlon 64 X2) Der Speicher-Controller ist bei der AMD K8 Architektur in den Prozessor integriert („on die“). Dieser arbeitet mit 128 Bit breiten Blöcken und teilt diese in zwei 64 Bit breite Speicherkanäle auf. Um den zwei-kanaligen Betrieb zu gewährleisten, muss er mit Paaren gleicher Speicherriegel bestückt werden. Ursprünglich hatte der K8 ein DDR1 Speicher-Controller. In der neusten Variante wurde er auf DDR2 umgestellt und kann daher maximal mit Paaren von PC2-6400 (DDR2-800, 400 MHz) Speicherriegeln betrieben werden. Der Speicher-Controller ist mit 128 Bit am Cross Bar-Switch angebunden, der wiederum über den System Request Queue (SRQ) an die jeweiligen Level 2 Caches der Kerne angeschlossen ist. [vgl. CT06b, AMD07b, CT06c] Im 64 Bit Modus (Long Mode) kann der K8 48 Bit virtuelle Adressen (256 Terabyte) in 40 Bit physikalische Adressen (1 Terabyte) umsetzen und verwalten (siehe Abschnitt 3.1). Bartels, Dinter, Lange Seite 14 von 43 AMD vs. Intel WS 2007/ 08 In der folgenden Abbildung ist ein Ausschnitt aus der K8 Architektur dargestellt: Abbildung 5: Ausschnitt der K8 Architektur [CT07c] Der K8 kommuniziert mit dem Chipsatz über einen seiner drei HyperTransport-Links. HyperTransport ist ein offener Industriestandard, der vom HT-Konsortium vorangetrieben wird, in dem unter anderem AMD Mitglied ist. Jeder Link besteht aus zwei seriellen Punkt-zu-Punkt-Verbindungen, je eine Verbindung pro Richtung. Nach dem Standard 2c können die Punkt-zu-Punkt-Verbindungen alle 2er Potenzen von 2 bis 32 Bit breit sein und mit 200 bis 1400 MHz betrieben werden. In der aktuellen Version der K8 Architektur sind die Punkt-zu-Punkt-Verbindungen 16 Bit breit und werden mit 800 MHz (HT800) oder 1000 MHz (HT1000) betreiben. Theoretisch können somit pro Richtung 3,2 GByte/s (HT800) beziehungsweise 4 GByte/s (HT1000) übertragen werden. [vgl. AMD07b, CT06c] HT-Links können auch dazu verwendet werden, um mehrere CPUs auf einem Mainboard direkt miteinander zu verbinden. Für die Verbindung zweier CPUs werden allerdings kohärenzfähige HTLinks benötigt. [vgl. AMD07b, CT06c] Der K10 unterstützt HT 3.0 und damit z.B. eine theoretische Link-Übertragungsrate von 20,8 GByte/s. Die neue HyperTransport-Version ist aber nur mit neueren Sockeln kompatibel (AM2+). Außerdem wurde beim K10 der Speichercontroller erweitert, so dass er z.B. zwei getrennte 64 Bit oder ein 128 Bit Speichertransfer abwickeln kann. [vgl. AMD07c] 3.3. Intel Core (Core 2 Duo) Der Speichercontroller beim Core ist, wie es früher auch schon üblich war, in den Chipsatz integriert. Als Erklärungsbeispiel soll hier der X38 Express Chipsatz aus Intels aktueller 3er Serie dienen. Der X38 hat wie der aktuelle K8 einen DDR2 Zweikanal-Speichercontroller (jeweils 64 Bit), der entweder mit Paaren von maximal PC2-6400 (DDR2-800, 400 MHz) Speicherriegeln betrieben werden kann. Der Zweikanal-Speichercontroller des X38 kann aber auch schon mit DDR3 betrieben werden. Dadurch werden Paare von maximal PC3-10600 (DDR3-1333, 667 MHz) Speicherriegeln unterstützt. [vgl. INT07f, CT06c] Wie auch bei vorherigen Chipsätzen wirbt Intel mit Speicherbeschleunigungs-Technologien, im Fall des 3er Serie „Fast Memory Access“ genannt. Dadurch werden z.B. Speicheroperationen umsortiert, so dass zunächst alle Speicheroperationen auf die aktuell geöffnete Speicher-Seite erfolgen (in einem begrenzten Zeitfenster), um die Zeit für das Öffnen und Schließen von Speicher-Seiten zu minimieren. [vgl. INT07f, INT06b] Bartels, Dinter, Lange Seite 15 von 43 AMD vs. Intel WS 2007/ 08 In der folgenden Abbildung ist die Anbindung des Prozessors an den Chipsatz dargestellt: Abbildung 6: Anbindung CPU an den Chipsatz und Speicher (X38 Chipsatz) Der X38 Memory Controller Hub (MCH), früher als Northbridge bezeichnet, ist über den Front Side Bus (FSB) mit dem Prozessor verbunden. Der FSB arbeitet mit einem Quadruple Data Rate (QDR) Verfahren, Intel vermarktet es als „quadpumped“. Es arbeitet also mit vier Datenworten pro Takt. Die Ende 2007 schnellste Variante des FSB (1333FSB) wird mit 333 MHz betrieben und erreicht somit eine theoretische Bandbreite von 10,6 GByte/s. Diese Bandbreite steht im Widerspruch zur Bandbreite von einem Paar PC2-6400 (DDR2-800, 400 MHz) Speicherriegeln, die theoretisch 12,8 GByte/s übertragen können. Noch gravierender wird der Widerspruch, wenn die schnellst mögliche Variante von DDR3 Speicher eingesetzt wird (PC3-10600 (DDR3-1333, 667 MHz)). Dieser erreicht bereits im Einkanal-Betrieb die Bandbreite des FSB von 10,6 GByte/s, im Zweikanal-Betrieb sogar 21,2 GByte/s. Aus diesem Grund lohnt sich aktuell die Anschaffung von teureren DDR3 Speicher nicht, denn von diesem Speicher ist keine Leistungssteigerung zu erwarten. [vgl. INT07f] Im 64 Bit Modus (Long Mode) kann der Core 48 Bit virtuelle Adressen (256 Terabyte) in 36 Bit physikalische Adressen (64 GByte) umsetzen und verwalten (siehe Abschnitt 3.1). [vgl. INT07c, CT06c] 3.4. Gegenüberstellung Einer der größten Nachteile des externen Speichercontrollers der Core Architektur ist der durch den FSB entstehende Flaschenhals zwischen Prozessor und Speichercontroller. Der Durchsatz des FSBs ist, wie so oft, der theoretischen Bandbreite des Speichercontrollers im Chipsatz unterlegen (siehe auch Abschnitt 3.3). Noch gravierender wird dieser Engpass durch die Tatsache, dass der FSB auch die Kommunikation zwischen der Peripherie und dem Prozessor bewältigen muss. Bartels, Dinter, Lange Seite 16 von 43 AMD vs. Intel WS 2007/ 08 Dadurch dass der Übertragungsweg im Verhältnis zum K8 länger ist und das Übertagungsprotokoll beziehungsweise die Frequenz angepasst werden muss, wird die Zugriffszeit (Latenz) in die Höhe getrieben. Das alles reduziert die maximale Speicherperformance. [vgl. CT03, CT06b, CT06c] Beim K8 ist durch die direkte Anbindung an den jeweiligen Kern über den Cross Bar-Switch die Latenz gering. Der Cross Bar sollte auch keinen Flaschenhals darstellen, da dieser, wie eigentlich jeder Cross Bar Switch, laut AMD nicht blockierend arbeitet. Ein Cross Bar-Switch schaltet die Kommunikations-Partner mit voller Bandbreite zusammen und ermöglicht in den meisten Fällen die gleichzeitige Zusammenschaltung mehrerer unabhängiger Komponenten. Die dadurch entstehende Steigerung der Speicherperformance stellt größten Vorteil und daher den Hauptgrund für den Einsatz des internen Speichercontrollers dar. Einen weiteren Vorteil bietet der interne Speichercontroller des K8 bei Systemen mit mehreren Prozessoren auf einem Mainboard. Theoretisch addiert sich die Speicherperformance der einzelnen Speichercontroller hier. In den nachfolgenden Beschreibungen wird beispielhaft von zwei Prozessoren (zwei Sockel) auf einem Mainboard ausgegangen. In diesem Fall sind durch die in jedem Prozessor vorhandenen Speichercontroller zwei Speicheroperationen gleichzeitig möglich. Im Idealfall wird dadurch der Speicherdurchsatz verdoppelt. Voraussetzung ist aber, dass beide Controller mit Speicher ausgestattet sind und ein Betriebssystem das ccNUMA (Cache Coherent Non Unified Memory Access) unterstützt. Das Betriebssystem muss unter anderem die Verwaltung des physikalischen Speichers auf die beiden Controller verteilen (ein gemeinsamer Adressraum). Außerdem muss das Betriebssystem dafür sorgen, dass die Daten eines Programms auch im Speicher des Prozessors liegen, auf dessen Kern es gerade ausgeführt wird. Ansonsten müssen die Daten erst über den kohärenten HyperTransport-Link zwischen den Prozessoren ausgetauscht werden. Bei verteilten Daten zwischen den Prozessoren ist zusätzlich auf (Cache-) Kohärenz zu achten. [vgl. AMD06, AMD05 S.96ff, AMD07c S.179ff] Beim Intel Core müssen sich alle Prozessoren auf einem Mainboard den zentralen Speichercontroller im Chipsatz teilen. Bei geteilten Daten zwischen den Prozessoren ist hier das Kohärenz-Protokoll über den langsamen und schon belasteten FSB abzuwickeln. Dieses führt bei Core-Multiprozessorsystemen eher zu einem Einbruch der Speicherperformance. Intel versucht den Performance-Verlust bei ihren Server-Chipsätzen z.B. mit Vierkanal-Speichercontrollern, die die Speicheroperationen flexibel aufteilen können, zu beheben. Mit dem neuen Clarksboro-Chipsatz zeigt Intel ein Vorteil eines zentralen Speichercontrollers auf. Dieser erledigt einen Großteil der Zeit- und Energie-aufwendigen Snooping-Aufgabe der Prozessoren, indem er einen Snoop-Filter-Cache einsetzt. Unter Snooping versteht man, dass Prozessoren am Bus auf Änderungen eigener Cachelines lauschen, um ihre Caches kohärent zu halten. [vgl. CT07c] Bei der K8 Architektur müssen DMA (Direct Memory Access) Zugriffe von anderen Komponenten im PC auf den Speicher über den Chipsatz mittels HyperTransport-Link zum internen Speichercontroller geleitet werden. Dieses stellt insofern einen kleinen Nachteil da, als sich hierdurch der Übertragungsweg verlängert und der Prozessor indirekt an den Zugriffen beteiligt ist. Der externe Speichercontroller der Core Architektur hingegen kann DMA Zugriffe selbständig erledigen, ohne den FSB und Prozessor damit zu belasten. Im Falle vieler DMA Zugriffe zeigt sich ein kleiner Vorteil für eine leichte Überdimensionierung der Speicherbandbreite im Gegensatz zu der FSB-Bandbreite (siehe Abschnitt 3.3). Bartels, Dinter, Lange Seite 17 von 43 AMD vs. Intel WS 2007/ 08 Einen weiterer Nachteil ist, dass sich der internen Speichercontroller des K8s nur durch Überarbeiten des Prozessors an neue Speicher-Technologien anpassen lässt. Auch wenn für ein Update, z.B. auf DDR3-Speicher, nur der Speichercontroller überarbeitet werden müsste, wäre es auch nötig, die Produktion des Prozessors zu überarbeiten und neu aufzulegen. Daher ist eine Aktualisierung nur bei größeren Architektur-Refreshs wirtschaftlich; das ist aus Sicht des Marketings nachteilhaft. Der aktuelle K8 kann die Bandbreite von DDR2-Speicher nicht einmal vollständig nutzen, da beim Refresh von DDR1 zu 2 nicht alle internen Bandbreiten- und Buffer-Mängel beseitigt worden sind. Diese wurden erst mit dem K10 erledigt. Intel hingegen kann bei unveränderter Prozessorproduktion die Chipsätze und damit den Speichercontroller aktualisieren, wie zum Beispiel die gerade vollzogene Aktualisierung auf die Intel 3er Serie. Daher können die Intel Core Prozessoren bereits jetzt mit DDR3 Speicher betrieben werden, auch wenn eine Aktualisierung nicht immer Sinn ergibt (siehe Abschnitt 3.3). Der größte Nachteil des K8s sind die höheren Entwicklungs- und Produktions-Kosten des internen Speichercontrollers. Die Entwicklungs-Kosten erhöhen sich durch die Entwicklung des Speichercontrollers und den dadurch komplexer werdenden Prozessor. Da der Controller im Prozessor Platz benötigt, wird das Die der zu produzierende Prozessoren größer und damit in der Produktion teurer. Der Sockel wird ebenfalls in der Produktion teurer, da er durch die hinzukommenden Daten-, Adressund Steuer-Leitungen ebenfalls größer und komplexer wird. Das Gegenteil ist beim Core der Fall. Dort fallen keine Zusatzkosten bei der Prozessor-Produktion für den Speichercontroller an. Dafür ist natürlich der Chipsatz aufwendiger und teurer. Bartels, Dinter, Lange Seite 18 von 43 AMD vs. Intel WS 2007/ 08 4. Cache und TLBs 4.1. Level 2 Cache Es folgt eine Vergleichs-Tabelle und Erklärung, zu den wichtigsten Level 2 Cache Eckdaten, der K8 Architektur in neuester Ausführung mit zwei Kernen und der Core Architektur. Tabelle 2: Eckdaten, L2 Cache Größe: Organisation: Busbreite: (zum L1) Latenz: (Zugriff) AMD K8 (Athlon 64 X2) 2 x 1048 KB, split cache Intel Core (Core 2 Duo) 1 x 4096 KB, shared cache 16-fach assoziativ, 64 Byte cache lines, write back, exclusive 128 Bit 16-fach assoziativ, 64 Byte cache lines, write back, non-inclusive 256 Bit 12 Takte (laut Messung [CT07c] 12…13 Takte) 14 Takte (laut Messung [CT07c] 14 Takte) Der K8 verfügt in der neuesten Version über ein 1 MByte Level 2 Cache pro Kern. Dieser wird auch als Split Cache bezeichnet. Die beiden Kerne des Cores hingegen teilen sich einen L2 Cache von 4 MByte (Shared Cache). Die Organisation ist in dieser Konstellation fast identisch. Beide sind 16-fach assoziativ mit 64 Byte Cache Lines organisiert und arbeiten mit einer write back Schreibstrategie. Der einzige Unterschied besteht darin, dass der K8 L2 Cache exklusiv arbeitet. Das bedeutet, dass die Daten, die im Level 2 Cache stehen, nicht im Level 1 Cache stehen. Dadurch addieren sich die Level 1 und Level 2 Cache Größen, was zu einer höheren Gesamt-Cache-Größe führt. Ausnahmen gibt es allerdings z.B. können beim Rückschreiben von Daten diese doppelt im Cache vorhanden sein. Beim Core hingegen bezeichnet Intel die Organisation als nicht-inklusiv, was allerdings nicht automatisch exklusiv bedeutet. Hierzu gibt es allerdings keine näheren Ausführungen seitens Intel. Es handelt sich aufgrund des Shared Cache wahrscheinlich um eine Mischform zwischen inklusiv und exklusiv. Zum Auflösen möglicher Cache-Kohärenzen verwendet der AMD K8 das MOESI (modified, owned, exclusive, shared, invalid) Protokoll, der Intel Core das MESI (modified, exclusive, shared, invalid) Protokoll. [vgl. AMD07, INT07e] Die Anbindung an den Level 1 Cache ist beim K8 mit 128 Bit nur halb so breit wie beim Core. [vgl. AMD07b, AMD05 S.268ff, AMD07c S.235ff, INT07c S.39ff, INT07e S.447ff] 4.1.1. Gegenüberstellung Level 2 Cache Da beim K8 jeder Kern seinen eigenen L2 Cache hat, kommen sich die Kerne bei L2 Cache-Zugriffen nicht in die Quere. Daraus resultiert eine kürzere Zugriffszeit, allerdings nur solange die Daten beider Prozessor-Kerne von einander unabhängig sind. Andernfalls müssen die Kerne die Daten in ihren jeweiligen L2 Caches über ein aufwendiges Cache-Kohärenz-Protokoll abgleichen. Der Abgleich der Daten kann zumindest über den schnellen Cross-Bar-Switch erfolgen. Die zentrale L2 Cache-Verwaltung des Cores muss die Zugriffe beider Kerne auf den Shared Cache serialisieren, wodurch sich die Zugriffszeit verlängert. Durch die zentrale Verwaltung entfällt die Notwendigkeit für ein aufwendiges Cache-Kohärenz-Protokoll. Der größte Vorteil des Shared Cache Bartels, Dinter, Lange Seite 19 von 43 AMD vs. Intel WS 2007/ 08 ist die dynamische und flexible Aufteilung des Caches auf die beiden Kerne. Dieses wirkt sich besonders bei Single-Thread-Anwendungen aus, denn hier kann sich ein Kern schlafen legen, während der Andere für die Aufgabe den gesamten L2 Cache nutzen kann. Dieser Vorteil birgt aber auch einen Nachteil. Bei Multi-Thread-Anwendungen können die ProzessorKerne ihre Daten gegenseitig aus dem Cache verdrängen. Das schlägt sich in einer höheren CacheMiss-Rate nieder und drückt die Performance des Gesamtsystems. Der K8 mit zwei Kernen hat im Vergleich zum Core nur 2 MByte L2 Cache. Durch den schnellen, integrierten Speichercontroller muss der K8 mit seinem L2 Cache nicht so dringend die langsamen Speicher-Zugriffe abfangen. Trotzdem würde ein größerer Cache der K8-Preformance bestimmt nicht schaden. Da ein Level 2 Cache heutzutage über 50 Prozent der Chipfläche einnimmt, kann sich AMD, vermutlich aufgrund mangelnder Produktionskapazität, keinen größeren Cache leisten. Das zeigt sich auch beim neuen K10, der zwar einen Level 3 „Shared“ Cache von 2 MByte besitzt, die L2 Caches der vier Kerne wurden aber auf 512 KByte pro Kern verkleinert. Der Core hingegen muss mit seinem doppelt so großen L2 Cache die langen Zugriffzeiten auf den Speicher ausgleichen, um die Kerne auslasten zu können. Wie es aussieht kann Intel sich einen großen, produktionstechnisch teureren Cache gegenüber AMD leisten, denn die neue Core-Generation (Penrym) enthält sogar schon einen 6 MByte Level 2 Shared Cache (24-fach assoziativ). 4.2. Level 1 Cache Im Folgenden werden die Eigenschaften der Level 1 Cache der beiden Architekturen verglichen. Tabelle 3: Eckdaten, L1 Cache I-Cache: D-Cache: D-Cache-Latenz: (Zugriff) I-Bus-Breite: (zum Kern) D-Bus-Breite: (zum Kern) AMD K8 (Athlon 64 X2) 64 KByte, 2-fach assoziativ, 64 Byte cache lines 64 KByte, 2-fach assoziativ, 64 Byte cache lines, write back 3 Takte (laut Messung [CT07c] 3 Takte) 128 Bit Intel Core (Core 2 Duo) 32 KByte, 8-fach assoziativ, 64 Byte cache lines 32 KByte , 8-fach assoziativ, 64 Byte cache lines, write back 3 Takte (laut Messung [CT07c] 3 Takte) 128 Bit 2 x 64 Bit pro Richtung 128 Bit Dem K8 stehen jeweils für Instruktionen und Daten ein doppelt so großer Level 1 Cache (je 64 KByte) gegenüber dem Core zur Verfügung. Dafür ist der 32 KByte große L1 Daten Cache des Cores, gegenüber dem K8, mit 128 Bit pro Richtung doppelt so breit an den Kern angebunden. Diesen Bandbreitenmangel hat AMD mit dem K10 ausgemerzt und die zwei 64 Bit breiten Ports auf 128 Bit verbreitert. [vgl. AMD07b, AMD05 S.268ff, AMD07c S.235ff, INT07c S.39ff, INT07e S.447ff] Bartels, Dinter, Lange Seite 20 von 43 AMD vs. Intel 4.3. WS 2007/ 08 Translation Lookaside Buffers (TLBs) Translation Lookaside Buffers (TLBs) werden dazu eingesetzt, die Übersetzung von virtuellen zu physikalischen Adressen zu cachen und dadurch zu beschleunigen. Beide hier behandelten Architekturen verwenden eine zweistufige TLB-Hierarchie, um die Vorteile eines kleinen, schnellen Cache und eines großen langsamen Cache zu kombinieren. Der vom TLB adressierbare Speicher hängt sowohl von der Anzahl der TLB-Einträge, als auch von der verwendeten Seitengröße ab. Bei großen Seiten werden weniger TLB-Einträge benötigt, um denselben Speicher adressieren zu können als mit kleinen Seiten. Dadurch können bei großen Speicherseiten die Anzahl der TLB-Einträge reduziert werden, um die Verwaltung und den Zugriff auf den TLB zu beschleunigen. Die TLB-Einträge der unterschiedlich großen Speicherseiten können sowohl in einer einzigen, als auch in verschiedenen Tabellen gespeichert werden. Die von den Architekturen verwendete Technologie konnte nicht zuverlässig bestimmt werden, da die einzelnen Quellen keine eindeutige Aussage trafen. [vgl. AMD07b, AMD05 S.268ff, AMD07c S.235ff, INT07c S.39ff, INT07e S.447ff, INT07b] Es folgen Tabellen und Erklärungen zu den TLB-Eckdaten der jeweiligen Architekturen. Tabelle 4: Eckdaten, TLB, AMD K8 AMD K8 (Athlon 64 X2) L2 Cache Stufe L1 Cache I-TLB Einträge 32 (4 KByte Seiten), 8 (2 MByte Seiten), voll assoziativ 32 (4 KByte Seiten), 8 (2 MByte Seiten), voll assoziativ D-TLB Einträge 512 (4 KByte Seiten), 4-fach assoziativ 512 (4 KByte Seiten), 4-fach assoziativ Beim AMD K8 sind die zwei Stufen jeweils an den Cache-Level Eins und Zwei gebunden. 4 MByte Seiten brauchen in der Level 1 TLB-Stufe zwei Einträge der acht 2 MByte Seiten. AMD hat beim K10 unter anderem in der Level 1 Stufe die 2 MByte Instruktionen-Seiten-Einträge auf 16 verdoppelt und die Daten-TLB-Einträge von 32 auf 48 erhöht. [vgl. AMD07b, AMD05 S.268ff, AMD07c S.235ff] Tabelle 5: Eckdaten, TLB, Intel Core Intel Core (Core 2 Duo) TLB 1 Stufe TLB 0 I-TLB Einträge 128 (4 KByte Seiten), 4 (large pages), 4-fach assoziativ 16 (4 KByte Seiten), 256 (4 KByte Seiten), 16 (large pages), 4-fach assoziativ 32 (large pages), 4-fach assoziativ D-TLB Einträge Der Intel Core besitzt keinen zweistufigen Instruktions-TLB. Auch sind die Stufen des Daten-TLBs nicht wie beim AMD K8 an den Cache-Level gebunden. Es gibt im Gegensatz zum K8 erheblich weniger TLB-Einträge. [vgl. INT07c S.39ff, INT07e S.447ff, INT07b] Bartels, Dinter, Lange Seite 21 von 43 AMD vs. Intel 5. WS 2007/ 08 Prefetching Traditionell implementierte Cache-Steuerungen laden Daten erst dann aus einer nächst tieferen Speicher-Hierarchie-Stufe, wenn diese von einer höheren Stufe angefordert wurden und die Daten nicht bereits im Cache liegen (Cache miss). Um das zeitraubende Nachladen der Daten bei einem Cache-Miss zu minimieren, werden Prefetcher eingesetzt. Es gibt dabei sowohl Software- als auch Hardware-Prefetcher. Die nachfolgenden Beschreibungen beschränken sich auf die Hardware-Prefetcher, diese ergänzen entweder die CacheSteuerung oder sind als eigenständige Einheiten implementiert. Ihre Arbeitsweise ist ähnlich der Arbeitsweise von Sprungvorhersage-Einheiten. Sie führen Statistiken über die Hit- und Miss-Raten der letzten Zugriffe und deren Adressen, um daraus Zugriffsmuster zu erkennen. Wurden bestimmte Zugriffsmuster erkannt, laden die Prefetcher bereits Daten in den Cache, die vermutlich in nächster Zeit benötigt werden (z.B. Zugriffe auf Arrays). [vlg. CT06c, INT06, RWT07, RWT07b] Beim Prefetching von Daten kann es allerdings vorkommen, dass Daten geladen werden, die nicht benötigt werden. Um die geladenen Daten zu speichern, müssen andere Daten aus dem Cache verdrängt werden. Dadurch kann es vorkommen, dass die Prefetcher kontraproduktiv arbeiten und die Performance senken. Um die Effizienz der Hardware-Prefetcher zu steigern, können die meisten Prefetcher in den hier behandelten Architekturen per Software beeinflusst werden. Außerdem sollten sie nur aktiviert werden, wenn die benötigten Speicher und Lade-Einheiten sowie Busse gering bis nicht belastet werden. Die meisten im nachfolgenden behandelten Prefetcher arbeiten nur mit 4 KByte Seiten performance steigernd. [vlg. CT06c, INT06b, RWT07, RWT07b] 5.1. AMD K8 (Athlon 64 X2) Der AMD K8 verfügt in der Dual-Core-Version über drei Prefetcher-Einheiten. Zum Einen steht ein einfacher L1 Instruktion Prefetcher zu Verfügung. Dieser lädt jeweils die nächste auszuführende Instruktion vor. Dazu ist der L1 Instruktion Prefetcher mit der Sprungvorhersage verbunden. So ist es möglich, dass jeweils die beiden nächsten möglichen Anweisungen bei einer Sprunganweisung geladen werden können. [vgl. AMD05] Von der nächsten Prefetcher-Einheit stehen jedem Kern jeweils eine zur Verfügung. Hierbei handelt es sich um einen einfachen L2 Adjacent Cacheline Prefetcher (Streaming Prefetcher). Dieser erkennt wenn auf nebeneinander liegende Speicherplätze zugegriffen wird und lädt automatisch die nachfolgenden Speicherplätze in den L2 Cache. Das funktioniert beim K8 aber nur, wenn keine Cacheline ausgelassen wird. [vgl. AMD05] AMD hat dem K10 weitere Prefetcher zur Verfügung gestellt, zum Beispiel dem Level 1 Daten Cache. [vgl. AMD07c] Bartels, Dinter, Lange Seite 22 von 43 AMD vs. Intel 5.2. WS 2007/ 08 Intel Core (Core 2 Duo) Die Core Architektur verfügt über acht auf beide Kerne verteilte Prefetcher-Einheiten. Jeder Kern hat wie beim K8 einen einfachen L1 Instruktion Prefetcher. Dieser lädt jeweils die nächste auszuführende Instruktion vor. Dazu ist der L1 Instruktion Prefetcher mit der Sprungvorhersage verbunden. So ist es möglich, dass jeweils die beiden nächsten möglichen Anweisungen bei einer Sprunganweisung geladen werden können. [vgl. INT07c] Hinzu kommen zwei Level 1 Daten Prefetcher pro Kern. Den einen bezeichnet Intel als Data Cache Unit (DCU) Prefetcher. Dies ist ein einfacher Streaming Prefetcher, der Zugriffe auf direkt nebeneinander liegender Cachelines erkennt und die nachfolgenden Daten lädt. Das Prefetching wird dabei fortgesetzt, bis die zuletzt vorgeladene Cacheline nicht mehr angefordert wird. Der zweite Prefetcher wird als Instruction Pointer-Based (IP) Prefetcher bezeichnet. Dieser versucht, anhand der Instruktionen wiederkehrende Ladeoperationen zu erkennen, die eine bestimmte Speicherabschnitt überschreiten. Die letzen Adressen von Ladeoperationen und deren Schrittweite werden dafür in einer History Table gespeichert. Wäre die Fensterbreite klein genug, könnte das Prefetching vom Streaming Prefetcher übernommen werden. Ist dies nicht der Fall, springt der IP Prefetcher ein. Dadurch ist es möglich, z.B. bei Matrix Operationen die Zeileniterationen über den Streaming Prefetcher, die Spalteniterationen über den IP Prefetcher zu beschleunigen. [vgl. INT06b] Der gemeinsame Level 2 Cache hat zwei weitere Prefetcher. Der eine wird von Intel als Data Prefetch Logic (DPL) bezeichnet und ist ein etwas aufwendigerer Streaming Prefetcher für Daten. Der DPL kann in zwei getrennten Tabellen 12 Upstreams und vier Downstreams verwalten und beobachten. Die Erkennung von Streams funktioniert auch bei etwas komplexeren Strukturen, zum Beispiel wenn Cachelines übersprungen werden. Steuern lässt sich der DPL unter anderem durch SoftwarePrefetcher-Befehle und Anfragen von der DCU. Den zweite L2 Cache Prefetcher bezeichnet Intel als Streamer. Er ist darauf ausgelegt, Daten- oder Befehls-Blöcke doppelter Cacheline-Größe (128 Byte) zu erkennen und zu laden. Beide L2 Prefetcher beobachten die Busauslastung, um keine anderen wichtigere Transfers auszubremsen. [vgl. INT07c] Bartels, Dinter, Lange Seite 23 von 43 AMD vs. Intel 6. WS 2007/ 08 Benchmarks Im Folgenden werden die beiden Architekturen anhand einiger Benchmark-Ergebnisse verglichen. Bei der Auswahl der beiden CPU-Modelle wurde darauf geachtet, dass diese überhaupt vergleichbar sind. Dazu wurde besonders auf die folgenden Kriterien geachtet. Die beiden CPUs sollten nach Möglichkeit zum gleichen Preis zu bekommen sein. Die für die Messungen verwendeten PC-Systeme sollten nach Möglichkeit identisch konfiguriert sein. Die Auswahl fiel auf die beiden folgenden CPU-Modelle: Tabelle 6: CPU Modelle für die Benchmarks Takt: L1 Cache: L2 Cache: Arbeitsspeicher: Strukturbreite: Straßenpreis: AMD Athlon 64 X2 6000+ „Windsor“ 2 x 3.00 GHz 2 x 128 KB 2 x 1024 KB DDR2-800 90 nm ca. 140 € Intel Core 2 Duo E6400 „Allendale“ 2 x 2.13 GHz 64 KB 2048 KB DDR2-800 65 nm ca. 140 € Obwohl beiden Modelle ungefähr zum selben Preis erhältlich sind, handelt es sich beim Athlon 64 X2 6000+ bereits um das Topmodell von AMD für den Desktop-Bereich. [vgl. TC07] Während dessen handelt es sich beim Core 2 Duo E6400 um ein Mainstream-Modell von Intel. Diese Variante ist wahrscheinlich in einigen Wochen nicht mehr erhältlich. Außerdem handelt es sich beim Core 2 Duo E6400 nicht um einen vollwertigen Vertreter der Core Architektur mit Codenamen „Conroe“ sondern um eine Version mit reduzierten L2-Cache und einem langsameren FSB (Front Side Bus) mit Codenamen „Allendale“. Die Auswahl der Benchmark-Programme fiel auf die Folgenden: SPEC CPU 2000 Sciencemark SunGard ACR Rendering: 3ds max 8 BAPCo Sysmark 2004 SE Energieverbrauch Die Benchmarks wurden unter Windows XP Professional SP 2 durchgeführt. Die Intel Core 2 Duo CPU wurde in einem Intel-Desktop-Board D975XBX Mainboard mit Intel 975X Chipsatz, die AMD CPU in einem Asus M2N32-SLI Deluxe Mainboard mit NVidia nForce-590-SLI Chipsatz getestet. Um gleiche Testbedingungen zu gewährleisten, wurden alle Testsysteme mit 1 GByte DualChannelDDR2-800 Speicher bestückt. Einheitlichkeit herrschte ebenfalls bei der Grafikkarte, einer ATI Radeon X1900XTX in der PCI-Express-x16 Variante, 512 MByte Grafikspeicher, dem CatalystTreiber 6.4 sowie DirectX 9.0c, und der Festplatte, der Serial-ATA-II Festplatte Maxtor MaxLine III mit 250 GByte Kapazität. [vgl. TC07] Bartels, Dinter, Lange Seite 24 von 43 AMD vs. Intel WS 2007/ 08 Die verwendeten Benchmarks sind dafür ausgelegt immer ein bestimmtes Leistungsgebiet der CPU oder des Testsystems zu messen. So ist beispielsweise der SPECfp aus der SPEC CPU 2000 Benchmarks-Suite auf das Messen der Gleitpunkt-Leistung ausgelegt. Durch die Programmstruktur der Benchmarks fallen aber auch immer wieder, das Messergebnis störende, Instruktionen an. Dies sind zum Beispiel Load/Store-Operationen, die zum Laden der Instruktionen oder der zu Verarbeitenden Daten benötigt werden. Diese Operationen beeinflussen das Benchmark-Ergebnis. Die genaue Verteilung der Integer-, Gleitpunkt- oder Load/Store-Operationen innerhalb der Benchmarks lässt sich nicht genau bestimmen, da hierüber keine Statistiken veröffentlicht wurden. 6.1. CPU-Performance: SPEC CPU 2000 Der SPEC CPU 2000 Benchmark misst die Leistung des Prozessors, der Speicherhierarchie und des Compilers eines Computersystems. CPU 2000 benutzt dazu die CINT2000 Tests bestehend aus 12 C und C++ Programmen, um die Festkommaeinheit zu messen, und die CFP2000 Tests bestehend aus 17 C, C++ und FORTRAN Programme, um die Gleitkommaeinheit zu messen. [vgl. SP07] SPEC CPU 2000 wurde von der Open Systems Group (OSG) der SPEC (Standard Performance Evaluation Corporation) entwickelt. Ziel der SPEC ist die Entwicklung von Benchmarks, um vergleichbare Messungen von Computersystemleistungen mit einem gut bekannten, rechenintensiven Workload durchzuführen. Um die Benchmarks auf verschiedenen Plattformen durchführen zu können, wird der Benchmark als Quellcode kostenpflichtig von der SPEC zur Verfügung gestellt. [vgl. SP07] Obwohl das Benchmark Programm oft nur als Prozessorbenchmark bezeichnet wird, misst es eigentlich den Prozessor, die Speicherhierarchie und den Compiler eines Computersystems. Der Benchmark wurde nicht entwickelt, um andere Komponenten, wie zum Beispiel Grafik, Netzwerk oder I/O, zu testen. Um diese Komponenten zu testen, stehen anderen SPEC Benchmarks zur Verfügung. Nachdem die Messungen durchgeführt wurden, wird ein Quotient aus der Laufzeit des Programms auf dem zu testenden System und einer, von der SPEC ermittelten Referenzzeit gebildet. Aus diesen Quotienten werden die folgenden Kennzahlen berechnet. [vgl. SP07] CINT2000 (zum Messen der Integer-Performance) [vgl. SP07] SPECint2000 SPECint_base2000 SPECint_rate2000 Bartels, Dinter, Lange Das geometrische Mittel von zwölf normalisierten Quotienten – einen für jeden Integer-Benchmark. Die Compiler-Einstellungen zum Kompilieren der Benchmarks können bei dieser Kennzahl beliebig optimiert werden. Zum Messen der Laufzeit der Programme wird jeweils nur eine Programminstanz gestartet. Das geometrische Mittel von zwölf normalisierten Quotienten – einen für jeden Integer-Benchmark. Zum Kompilieren der Benchmarks müssen bei dieser Kennzahl dieselben, von der SPEC vorgegebenen Einstellungen verwendet werden. Zum Messen der Laufzeit der Programme wird jeweils nur eine Instanz gestartet. Das geometrische Mittel von zwölf normalisierten Quotienten – einen für jeden Integer-Benchmark. Die Compiler-Einstellungen zum Kompilieren der Benchmarks können bei dieser Kennzahl beliebig optimiert werden. Zum Messen der Laufzeit der Programme werden mehrere Instanzen gleichzeitig gestartet. Seite 25 von 43 AMD vs. Intel SPECint_rate_base2000 WS 2007/ 08 Das geometrische Mittel von zwölf normalisierten Quotienten – einen für jeden Integer-Benchmark. Zum Kompilieren der Benchmarks müssen bei dieser Kennzahl dieselben, von der SPEC vorgegebenen Einstellungen verwendet werden. Zum Messen der Laufzeit der Programme werden mehrere Instanzen gleichzeitig gestartet. CFP2000 (zum Messen der Gleichkomma-Performance) [vgl. SP07] SPECfp2000 SPECfp_base2000 SPECfp_rate2000 SPECfp_rate_base2000 Das geometrische Mittel von 17 normalisierten Quotienten – einen für jeden Gleitkomma-Benchmark. Die Compiler-Einstellungen zum Kompilieren der Benchmarks können bei dieser Kennzahl beliebig optimiert werden. Zum Messen der Laufzeit der Programme wird jeweils nur eine Programminstanz gestartet. Das geometrische Mittel von 17 normalisierten Quotienten – einen für jeden Gleitkomma-Benchmark. Zum Kompilieren der Benchmarks müssen bei dieser Kennzahl dieselben, von der SPEC vorgegebenen Einstellungen verwendet werden. Zum Messen der Laufzeit der Programme wird jeweils nur eine Instanz gestartet. Das geometrische Mittel von 17 normalisierten Quotienten – einen für jeden Gleitkomma-Benchmark. Die Compiler-Einstellungen zum Kompilieren der Benchmarks können bei dieser Kennzahl beliebig optimiert werden. Zum Messen der Laufzeit der Programme werden mehrere Instanzen gleichzeitig gestartet. Das geometrische Mittel von 17 normalisierten Quotienten – einen für jeden Gleitkomma-Benchmark. Zum Kompilieren der Benchmarks müssen bei dieser Kennzahl dieselben, von der SPEC vorgegebenen Einstellungen verwendet werden. Zum Messen der Laufzeit der Programme werden mehrere Instanzen gleichzeitig gestartet. Welche dieser Kennzahlen für den Vergleich zweier Computersysteme genutzt werden sollten, hängt von den jeweiligen Anforderungen ab. Ein Benutzer, der lediglich ein Programm mit intensiven Integer-Berechnungen ausführt, wäre wahrscheinlich eher an den SPECint2000 oder SPECint_base2000 Werten interessiert. Auf der anderen Seite wären Benutzer, die auf einem System gleichzeitig, verschiedene, mathematische Berechnungen ausführen möchte, wahrscheinlich eher an den SPECfp_rate2000 oder SPECfp_rate_base2000 Kennzahlen interessiert. [vgl. SP07] Die Ergebnisse der SPEC Benchmarks für diesen Vergleich zweier CPUs von AMD und Intel werden in den folgenden Abbildungen dargestellt. Für die Messungen der Intel-CPU wurde der Benchmark mit dem Intel C++ 9.1 oder dem Intel Fortran 9.1 Kompiler kompiliert, bei der AMD-CPU wurde der PGI-6.0 Kompiler verwendet. [vgl. TC07] Bartels, Dinter, Lange Seite 26 von 43 AMD vs. Intel WS 2007/ 08 Das erste Diagramm zeigt die Ergebnisse der Integer-Performance, single-threaded. SPECint_base2000 [Punkte], Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 1895 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 2169 0 500 1000 1500 2000 Abbildung 7: Ergebnisse, SPECint_base2000 Bei der Integer-Performance erzielt der Intel Core 2 Duo E6400 mit 2169 im Vergleich zum AMD Athlon 64 X2 6000+ mit 1895 eine um 14% bessere Leistung. Die hier ermittelten Werte gelten als Indiz für die Integer Performance der Prozessoren. Im Bereich der Integer Performance deklassiert Intel seit langem die Konkurrenz von AMD. Dieses Bild zeigt sich auch in diesem Vergleich. Das nächste Diagramm zeigt die Ergebnisse der Integer-Performance, multi-threaded. SPECint_rate_base2000 [Punkte], Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 41,9 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 43,2 0 5 10 15 20 25 30 35 40 Abbildung 8: Ergebnisse, SPECint_rate_base2000 Auch in der multi-threaded Variante des SPECint Benchmarks liegt die Intel CPU vor dem Modell von AMD. Allerdings kann AMD mit 41,9 zu 43,2 zur Intel CPU aufschließen und den Vorsprung auf knapp 3% reduzieren. In diesem Vergleich nutzt der SPECint Benchmark alle vorhandenen Prozessorkerne. Dies kommt der AMD CPU zu Gute. Die K8 Architektur skaliert besser, und kann den zweiten Prozessorkern besser in Leistung umsetzen. Aufgrund dessen kann der Vorsprung von 14% in der single-threaded Variante auf lediglich 3% in der mutli-threaded Variante des SPECint Benchmarks reduziert werden. Bartels, Dinter, Lange Seite 27 von 43 AMD vs. Intel WS 2007/ 08 Die nächten Ergebnisse befassen sich mit der Floating-Point-Performance. Das erste Diagramm stellt die Ergebnisse des SPECfp Benchmark in der single-threaded Variante dar. SPECfp_base2000 [Punkte], Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 1800 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 2227 0 500 1000 1500 2000 Abbildung 9: Ergebnisse, SPECfp_base2000 Auch diesen Vergleich kann die Intel CPU mit einer um 24% besseren Leistung für sich entscheiden. Vor Einführung der Core-Architektur im Juni 2006 erzielte AMD mit dem Athlon 64 gegen den Intel Pentium 4 die deutlich besseren Ergebnisse im Bereich der Gleitkommaoperationen. Aufgrund dessen hat Intel bei der Entwicklung der Core-Architektur besonderes Augenmerk auf die Gleitkommafähigkeiten gelegt. Dies ist Intel offensichtlich gut gelungen, so dass in diesem Vergleich der Intel Core 2 Duo E6400 den Athlon 64 X2 6000+ übertrumpft. Das nächste Diagramm zeigt die Ergebnisse des SPECfp Benchmark, multi-threaded. SPECfp_rate_base2000 [Punkte], Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 32,9 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 38,5 0 5 10 15 20 25 30 35 Abbildung 10: Ergebnisse, SPECfp_rate_base2000 Hier zeigt sich dasselbe Bild, das auch schon bei der Integer-Performance festgestellt werden konnte. Der Athlon 64 X2 6000+ skaliert bei mehreren Prozessorkernen besser. Der Vorsprung kann von 24% in der single-threaded Variante auf 17% in der multi-threaded Variante des SPECfp Benchmarks reduziert werden. Um zur Intel CPU aufzuschließen, reicht dieses allerdings nicht aus. 6.2. Speicher: Sciencemark Beim Sciencemark handelt es sich um einen synthetischen Benchmark zum Messen der Cache- / Speicher-Zugriffzeiten und der Cache- / Speicher-Transferraten. Bartels, Dinter, Lange Seite 28 von 43 AMD vs. Intel WS 2007/ 08 Über die Art der Messungen lassen sich bei diesem Benchmark keine genauen Aussagen treffen, da hierrüber keine näheren Informationen veröffentlicht wurden. [vgl. ZD07, CB07] Entwickelt wurde dieser Benchmark von den drei Herren Alexander Goodrich, B.S. (Computer Science), Tim Wilkens, B.S., M.S., Ph.D. (Physics) und Sean Stanek, B.S. (Computer Science). Dieser Benchmark wurde früher auf einer offiziellen Webseite zur Verfügung gestellt. Inzwischen (Stand 2007) ist diese Webseite offline, der Benchmark ist allerdings noch über diverse Downloadportale im Internet verfügbar (z.B. unter [WF08]). Der Benchmark wurde auf die Messungen der Speichertransferrate beschränkt. Die Ergebnisse werden in der folgenden Abbildung dargestellt. [vgl. ZD07, CB07] Speichertransferrate [MByte/s], Win XP SP2 AMD Athlon 64 X2 6000+ 2 GB, Dual DDR2-800 8028 Intel Core 2 Duo E6400 2 GB, Dual DDR2-800 5139 0 1000 2000 3000 4000 5000 6000 7000 8000 Abbildung 11: Ergebnisse, Sciencemark (Speichertransferrate) Anders als der Athlon 64 X2 6000+, der über einen integrierten Speicher-Controller verfügt, muss die Intel CPU beim Zugriff auf den Speicher den Umweg über die Northbridge gehen. Das macht sich negativ bei der Speichertransferrate bemerkbar. Die AMD CPU erreicht bei diesem Benchmark mit 8028 MByte/s im Vergleich zu den 5139 MByte/s des Intel Core 2 Duo E6400 eine Mehrleistung von ca. 56%. Diese Mehrleistung kommt AMD besonders bei Speicherintensiven Anwendungen zu Gute. 6.3. Analyse: SunGard ACR Adaptiv Credit Risk (ACR) ist ein von SunGard entwickeltes Analysetool für den Finanzbereich. Das Programm versucht auf Basis einer modifizierten Monte-Carlo-Simulation den künftigen Wert einer Anlage auf Basis vorhandener Marktdaten zu berechnen. Das Programm wird direkt vom Hersteller vertrieben. [vgl. SG08, TC07] SunGards Adaptiv Credit Risk wurde in C# für die Microsoft .NET Umgebung programmiert. Spezielle Mathematik-Bibliotheken wie Intels Math Kernel Library (MKL) oder AMDs Core Math Library (ACML) werden dabei nicht verwendet. Das Programm arbeitet multi-threaded und unterstützt Multiprozessor-Systeme optimal. SunGards ACR rechnet dabei überwiegen mit Integer-Operationen. Die Speicherzugriffe halten sich bei Adaptiv Credit Risk in Grenzen. [vgl. SG08, TC07] Bartels, Dinter, Lange Seite 29 von 43 AMD vs. Intel WS 2007/ 08 Beim Benchmark wird die Berechnungszeit für ein vorgegebenes Problem gemessen. Die Ergebnisse für diesen Vergleich werden im folgenden Diagramm dargestellt. [vgl. TC07] Calculation Time [sek.], Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 1012 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 1355 0 200 400 600 800 1000 1200 1400 Abbildung 12: Ergebnisse, SunGard ACR (Calculation Time) Diesen Vergleich kann der AMD Athlon 64 X2 6000+ mit einer Berechnungszeit von 1012 Sekunden gegen den Intel Core 2 Duo E6400 mit einer Zeit von 1355 Sekunden klar für sich entscheiden. AMD kann einen Vorsprung von ca. 25% herausholen, obwohl der Intel Core 2 Duo E6400 beim Benchmark der Integer-Performance noch vor der CPU von AMD lag. Dies lässt sich auf mehrere Faktoren zurückführen. 6.4. Der Benchmark nutzt Multiprozessor-Systeme optimal aus. Wie bereits an den vorherigen Ergebnissen zu erkennen war, skaliert die AMD CPU bei mehreren Kernen besser als die Konkurrenz aus dem Intel-Lager. Beim Zugriff auf die zur Berechnung notwendigen Marktdaten sind Speicherzugriffe notwendig. Auch hier kann, wie bereits in vorherigen Benchmarks festgestellt werden konnte, AMD eine bessere Leistung erzielen. Rendering: 3ds Max 8 Autodesk bietet mit 3ds Max 8 eine umfassend anpassbare und skalierbare Lösung für 3D-Animation, Modellierung und Rendering für Spiele, Film, Fernsehen und Entwurfsvisualisierung an. Diese Software wird in diesem Vergleich für einen Rendering-Benchmark herangezogen. Rendern bezeichnet den Rechenprozess, der für die zweidimensionale Darstellung eines 3D-Modells oder einer 3D-Szene erforderlich ist. Dieser Prozess kann nach mehreren Berechnungsarten mit unterschiedlichem Rechenaufwand und unterschiedlicher Qualität des Ergebnisses durchgeführt werden. Dabei werden in ein vorhandenes 3D-Modell oder in einer vorhandene 3D-Szene diverse Lichtquellen positioniert sowie Farben bzw. Texturen und jede Menge Effekte eingefügt. Bei den Render-Vorgängen nutzt 3ds Max 8 Multiprocessing voll aus. Die Dual- und Quad-Coresowie Hyper-Threading-Technologien wirken somit beschleunigend. Die verwendeten Render-Szenen basieren auf der Benchmark-Suite SPECapc for 3ds Max 7 von SPEC.org. Die GrafikkartenPerformance spielt beim Rendering keine Rolle. [vgl. TC07] Bartels, Dinter, Lange Seite 30 von 43 AMD vs. Intel WS 2007/ 08 SPECapc (SPEC/GWPG's Application Performance Characterization Group) ist ein, der SPEC zugeordnete, Arbeitsgruppe. Die SPECapc hat sich zum Ziel gemacht, standardisierte Benchmark zum Ermitteln der Grafik- und Workstation-Performance zu erstellen. Dafür hat die SPECapc unter Anderem einen Benchmark für 3ds max 8 erstellt, der in diesem Vergleich verwendet wird. Diese Benchmark wird auf der Homepage der SPECapc zum Download zur Verfügung gestellt. [vgl. SP07b] Die erste Abbildung zeigt die Benchmark-Ergebnisse beim Rendering der ersten Szene („Radiosity“) mit 3ds Max 8. [vgl. TC07] Szene 1, Rendering Time [sek.], ATI X1900XTX, 1280x1024x32, Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 61 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 72 0 10 20 30 40 50 60 70 Abbildung 13: Ergebnisse, 3ds Max 8 ( Rendering Time, Szene 1 „Radiosity“) Die zweite Abbildung zeigt die Benchmark-Ergebnisse beim Rendering der zweiten Szene („Underwater“) mit 3ds Max 8. [vgl. TC07] Szene 2, Rendering Time [sek.], ATI X1900XTX, 1280x1024x32, Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 100 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 128 0 20 40 60 80 100 120 Abbildung 14: Ergebnisse, 3ds Max 8 (Rendering Time, Szene 2 „Underwater“) Beide Szenen rendert der AMD Athlon 64 X2 6000+ schneller als der Konkurrent von Intel. Bei der ersten Szene benötigt der Intel Core 2 Duo E6400 11 Sekunden oder 18% länger, bei der zweiten Szene 28 Sekunden oder 28%. Der Vorsprung der AMD CPU lässt sich zum Einen an den besseren Multiprocessing-Fähigkeiten der K8 Architektur festmachen. Diese skaliert, wie bereits in vorherigen Benchmarks festgestellt werden konnte, besser bei der Nutzung mehrerer Kerne. Zum Anderen kommt dem Athlon 64 X2 6000+ die bessere Speicheranbindung zu Gute. Eine gute Speicheranbindung ist notwendig, um die zu rendernden 3D-Modelle, Texturen und weitere Informationen zu laden. Durch die bessere Speicheranbindung kann der AMD Athlon 64 X2 6000+ seinen Vorsprung vor den Intel Core 2 Duo E6400 von 18% bei der ersten, kleineren Szene auf 28% bei der zweiten, größeren Szene steigern. Bartels, Dinter, Lange Seite 31 von 43 AMD vs. Intel 6.5. WS 2007/ 08 System-Performance: BAPCo Sysmark 2004 SE Bei Sysmark 2004 SE handelt es sich um eine Benchmark-Suite, die aus diversen Einzelanwendungen besteht, die zu zwei Obergruppen zusammengefasst wurden. Zur Gruppe Internet Content Creation (ICC) gehören die Anwendungen: Adobe After Effects 5.5 Adobe Photoshop 7.01 Adobe Premiere 6.5 Discreet/ Autodesk 3ds Max 5.1 Macromedia Dreamweaver MX Macromedia Flash MX Microsoft Windows Media Encode 9 Series Network Associates McAfee Virus Scan 7.0 WinZip Computing WinZip 8.1 Zur Gruppe Office Productivity (OP) gehören die Anwendungen: Adobe Acrobat 5.0.5 Microsoft Access 2002 Microsoft Excel 2002 Microsoft Internet Explorer 6 Microsoft Outlook 2002 Microsoft PowerPoint 2002 Microsoft Word 2002 Network Associates McAfee Virus Scan 7.0 ScanSoft Dragon NaturallySpeaking 6 Preferred WinZip Computing WinZip 8.1 Der Benchmark wird direkt vom Hersteller über dessen Homepage vertrieben. [vgl. BAP08] Das Ergebnis der Internet Content Creation und Office Productivity Benchmarks beruht wiederum aus den unter drei verschiedenen Aspekten zusammengefassten Einzeltests. Beim Internet Content Creation sind dies die drei Aspekte 3D Creation (3DC), 2D Creation (2DC) und Web Publishing (WP), beim Office Productivity die drei Aspekte Communication (C), Document Creation (DC) und Data Analysis (DA). [vgl. BAP05] Das Sysmark 2004 Gesamtergebnis ist jeweils der gerundete Durchschnitt der Einzelergebnisse. Als Basis-System dient ein 2,0 GHz Intel Pentium 4 mit Intel-i845-Chipsatz, 512 MB DDR266-Speicher (CL2.5), Creative Labs Soundblaster Audigy PCI, ATI-Radeon 9700 Pro Grafikkarte mit 64 MB und einer 80 GB IBM Festplatte. Dieses System erreicht eine Wertung von 100 Punkten. Erreicht ein anderes System 200 Punkte im Sysmark 2004, so ist dieses doppelt so schnell wie das Basis-System. [vgl. BAP05] Bartels, Dinter, Lange Seite 32 von 43 AMD vs. Intel WS 2007/ 08 Die Ergebnisse der Gesamtwertung für diesen Vergleich werden im folgenden Diagramm dargestellt. [vgl. TC07] Gesamtwertung [Punkte], ATI X1900XTX, 1280x1024x32, Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 290 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 289 0 50 100 150 200 250 300 Abbildung 15: Ergebnisse, BAPCo Sysmark 2004 SE (Gesamtwertung) Bei der Gesamtwertung liegen beide Systeme ungefähr auf demselben Niveau. Die Intel CPU liegt lediglich einen Punkt oder ungefähr 0,3 % hinter der Konkurrenz von AMD. Beim Internet Content Creation Szenario wird eine produktbezogene Webseite für ein via Breit- und Schmalband angebundenes Publikum erstellt. Dazu wird ein 3D-Modell in ein Bitmap gerendert. Währenddessen wird mit einem Publishing Tool eine Webseite erstellt, der Benutzer öffnet eine Videobearbeitungs-Software, erstellt ein Video aus mehreren Quellen, schneidet den Film und zugehörige Audiosequenzen und startet den Export des Videos. Solange das Video exportiert wird, wird das gerenderte Bitmap mit einem Bildbearbeitung-Programm geöffnet, bearbeitet und die Änderungen werden gespeichert. Zurück in der 3D-Modelling-Software wird das 3D-Modell modifiziert und als Vektorgrafik exportiert. Nachdem das Video exportiert wurde, wird dieses erneut bearbeitet und mit Spezialeffekten versehen. Währenddessen werden Dateien aus einem Archiv entpackt und eine Animation aus der vorher erstellten Vektorgrafik erstellt. Anschließend wird das fertige, mit Spezialeffekten versehene Video komprimiert, finale Anpassungen an der Webseite werden vorgenommen und das System wird nach Viren gescannt. Die Ergebnisse für diesen Vergleich werden im folgenden Diagramm dargestellt. [vgl. BAP05, TC07] Internet Content Creation [Punkte], ATI X1900XTX, 1280x1024x32, Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 380 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 259 0 50 100 150 200 250 300 350 Abbildung 16: Ergebnisse, BAPCo Sysmark 2004 SE (Internet Content Creation) Die Ergebnisse im Bereich Internet Content Creation wird besonders durch eine Erhöhung der Taktfrequenz und durch eine bessere Speicherausstattung bzw. Speicheranbindung beeinflusst. In beiden Bereichen kann der AMD Athlon 64 X2 6000+ Punkten. Dieser kann seine höhere Taktfrequenz und seine bessere Speicheranbindung in ein besseres Ergebnis umsetzen. Die AMD CPU erzielt im Vergleich mit dem Intel Core 2 Duo E6400 ein um 121 Punkte oder ca. 5% besseres Ergebnis. Bartels, Dinter, Lange Seite 33 von 43 AMD vs. Intel WS 2007/ 08 Im Office Productivity Szenario werden eine Marketing-Präsentation und verschiedene Dokumente für ein neues Produkt erstellt. Dazu werden im ersten Schritt E-Mails empfangen, die eine Sammlung von Dokumenten in einem Archiv enthalten. Die E-Mails werden betrachtet, der Kalender aktualisiert, während das System nach Viren gescannt wird. Die Unternehmens-Webseite wird betrachtet und das System beginnt mit dem Erstellen diverser Dokumente. Außerdem wird auf eine Datenbank zugegriffen und einige Abfragen werden gesendet. Die erstellten Dokumente werden komprimiert, die Abfrageergebnisse in einer Tabellenkalkulation importiert und ein Diagramm aus diesen Daten generiert. Anschließend werden einige Elemente zu einer Präsentation hinzugefügt und bearbeitet. Zum Abschluss wird die erstellte Präsentation und die erstellten Dokumente mit einem Webbrowser betrachtet. Die Ergebnisse für diesen Vergleich werden im folgenden Diagramm dargestellt. [vgl. BAP05, TC07] Office Productivity [Punkte], ATI X1900XTX, 1280x1024x32, Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 222 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 232 0 50 100 150 200 Abbildung 17: Ergebnisse, BAPCo Sysmark 2004 SE (Office Productivity) Die beiden Punkte, die den Ausschlag beim Internet Content Creation gegeben haben, die höhere Taktfrequenz und die bessere Speicheranbindung, wirken sich beim Office Productivity Ergebnis weniger stark aus. Aufgrund dessen hat die reine CPU-Performance einen größeren Anteil am Gesamtergebnis. In diesem Bereich konnte die Intel CPU bereits in vorherigen Benchmarks punkten. Aufgrund dessen kann der Intel Core 2 Duo E6400 auch diesen Vergleich gegen die AMD CPU mit 10 Punkten oder ungefähr 5% mehr für sich entscheiden. 6.6. Energieverbrauch AMD und Intel spezifizieren den Energiebedarf ihrer Prozessoren mit der Thermal Design Power (TDP). Dieser Wert gibt den theoretisch, maximalen Energiebedarf an – in der Praxis liegt dieser aber selbst bei hoher Auslastung darunter. Die TDP-Werte sind allerdings für die Dimensionierung der CPU-Kühler relevant. [vgl. HO08] Interessanter ist allerdings der reale Energiebedarf des kompletten Systems (ohne Monitor). Die verwendeten Testplattformen unterscheiden sich lediglich beim Mainboard und natürlich der CPU. Alle anderen Komponenten, Grafikkarte, Netzteil, Festplatte, Soundkarte und die Speicherausstattung, sind identisch. So lassen sich praxisnahe Aussagen über den tatsächlichen Energieverbrauch der Systeme treffen. [vgl. HO08] Bartels, Dinter, Lange Seite 34 von 43 AMD vs. Intel WS 2007/ 08 Die Verbrauchswerte des Gesamtsystems unter Volllast sind im folgenden Diagramm dargestellt. [vgl. TC07] Energieverbrauch (Gesamtsystem/ Volllast) [W], Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 326 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 257 0 50 100 150 200 250 300 Abbildung 18: Ergebnisse, Energieverbrauch (Gesamtsystem, Volllast) Im folgenden Diagramm wird der Energieverbrauch unter Windows im „Leerlauf“ ohne aktivierten Energiesparmodus dargestellt. Energieverbrauch (Gesamtsystem/ Leerlauf) [W], Win XP SP2 AMD Athlon 64 X2 6000+ 1 GB, Dual DDR2-800 148 Intel Core 2 Duo E6400 1 GB, Dual DDR2-800 124 0 20 40 60 80 100 120 140 Abbildung 19: Ergebnisse, Energieverbrauch (Gesamtsystem, Leerlauf) Den Vergleich des Energieverbrauchs kann der Intel Core 2 Duo E6400 klar für sich entscheiden. Unter Volllast verbraucht das System mit dem AMD Athlon 64 X2 6000+ 69 Watt oder ungefähr 26%, im Leerlauf immerhin noch 24 W oder ungefähr 19% mehr. Vor Einführung der Core-Architektur war der deutlich geringere Energieverbrauch des Athlon 64 im Vergleich mit dem Pentium 4 eines der wichtigsten Verkaufsargumente von AMD. Zu dieser Zeit lagen die Vorteile klar auf der Seite von AMD, deren Prozessoren teilweise dieselbe Leistung beim halben Energieverbrauch erzielen könnten. Aufgrund dessen sah sich Intel gerade in diesem Bereich zum handeln gezwungen. Dies ist ihnen bei der Entwicklung der Core-Architektur offenbar gut gelungen, so dass der Intel Core 2 Duo E6400 diesen Vergleich für sich entscheiden kann. 6.7. Ausblick in die Zukunft Zum Abschluss der Betrachtungen soll noch ein Blick in die nahe Zukunft geworfen werden. AMD bietet bereits die ersten Quad-Core-Opterons an. Dies sind die ersten Vertreter der neuen K10 Architektur. Ab Anfang 2008 wird Intel wahrscheinlich die ersten Prozessoren aus der 45nm Fertigung ausliefern. Dieser Vergleich soll zeigen, wie sich die neue Architektur von AMD gegen die verbesserten Intel CPUs der Core Architektur schlägt. Bartels, Dinter, Lange Seite 35 von 43 AMD vs. Intel WS 2007/ 08 Die für diesen Vergleich genutzten CPU Modelle sind in der folgenden Tabelle aufgeführt. Tabelle 7: CPU Modelle für den Ausblick in die Zukunft Kerne: Takt: L1 Cache: L2 Cache: L3 Cache: Arbeitsspeicher: Strukturbreite: AMD Opteron 2350 (SE) „Barcelona“ 4 4 x 2,0 GHz (4 x 2,5 GHz) 4 x 128 KB 4 x 512 KB 2 MB 16 GB 65 nm Intel Xeon E5472 „Harpertown“ 4 4 x 3,0 GHz 4 x 32 KB 2 x 6 MB --16 GB 45 nm Intel Xeon X5365 „Clovertown“ 4 4 x 3,0 GHz 4 x 32 KB 2 x 4 MB --16 GB 65 nm Beim Opteron 2350 bzw. Opteron 2350 SE (Codename „Barcelona“) handelt es sich um zwei Modelle der neuen K10 Architektur von AMD. Diese können von den bereits oben beschriebenen Verbesserungen profitieren (siehe Abschnitt 2.2). Der Intel Xeon E5472 (Codename „Harpertown“) gehört zur neuen Generation der Quad-Core-Xeons. Diese entstehen bereits in der 45nm Fertigungstechnik. Durch die neue Fertigungstechnik kann Intel mehr Transistoren auf kleineren Chips unterbringen und so die Fertigungskosten senken. Außerdem werden dadurch auch schnellere und sparsamere Prozessoren ermöglicht. Intel ist hier also bestens für den Preiskampf mit AMD gerüstet. Die weiteren Verbesserungen der neuen Core-Generation werden bereits oben beschrieben (siehe Abschnitt 2.4). Die hier aufgeführten Messergebnisse stehen allerdings unter Vorbehalt, da es sich bei der getesteten CPU um ein Vorserienmodell handelt. [vgl. CT07, 3DC07] Des Weiteren vergleichen wir die Ergebnisse des AMD Opteron 2350 (SE) mit dem Intel Xeon X5356 (Codename „Clovertown“). Dabei handel es sich um ein Quad-Core-Xeon der aktuellen Generation in 65nm. Dieses Modell dient zum Einen dem Vergleich der Opterons mit der aktuellen XeonGeneration, zum Anderen, um die Verbesserungen der neuen Xeon-Generation zu beurteilen. [vgl. CT07] Für den Vergleich der CPU-Performance wurde die SPEC CPU 2006 Benchmark-Suite verwendet. Die ersten aufgeführten Ergebnisse zeigen die Integer-Performance, single-threaded [vgl. CT07] SPEC CPU 2006, SPECint_base_2006 [Punkte], x64 2 x AMD Opteron 2350 SLES10, PGI7 10,2 2 x Intel Xeon X5365 RHEL5, INTC10 15,7 2 x Intel Xeon E5472 RHEL5, INTC10 16,9 0 5 10 15 Abbildung 20: Ergebnisse, SPECint_base_2006 Bartels, Dinter, Lange Seite 36 von 43 AMD vs. Intel WS 2007/ 08 Im Bereich der Integer-Performance, Einzelkern kommt der Vertreter der neuen K10 Architektur, AMD Opteron 2350 nicht an die Leistung der beiden Konkurrenten von Intel heran. Sowohl die aktuelle als auch die neue Generation der Xeon-CPUs liegen vor dem AMD Opteron 2350. Beim aktuellen Intel Xeon X5365 beträgt der Vorsprung 5,5 Punkte oder ungefähr 54%, beim neuen Intel Xeon E5472 sind dies 6,7 Punkte oder ungefähr 66%. Die Strukturverbesserungen für die neue XeonGeneration bescheren dieser einen Mehrleistung von 1,2 Punkten oder ungefähr 8%. Die zweiten Ergebnisse zeigen die Floating-Point-Performance, single-threaded [vgl. CT07] SPEC CPU 2006, SPECfp_base_2006 [Punkte], x64 2 x AMD Opteron 2350 SLES10, PGI7 11,6 2 x Intel Xeon X5365 RHEL5, INTC10 15,8 2 x Intel Xeon E5472 RHEL5, INTC10 16,9 0 5 10 15 Abbildung 21: Ergebnisse, SPECfp_base_2006 Im Bereich der Floating-Point-Performance, Einzelkern zeigt sich ein ähnliches Bild wie bei der Integer-Performance. Auch hier reichen die Verbesserungen der neuen K10 Architektur nicht aus, um an die Leistung der Xeon-CPUs heran zu kommen. Das alte Modell, der Intel Xeon E5365 erreicht eine um 4,2 Punkte oder ungefähr 36% bessere Leistung, das neue Modell erreicht eine um 5,3 Punkte oder ungefähr 46% bessere Leistung. Auch hier resultieren die Strukturverbesserungen der neuen Xeon-Generation in einer Mehrleistung. Diese beträgt hier 1,1 Punkte oder ca. 7% mehr. Die nächsten Ergebnisse zeigen die Integer-Performance, multi-threaded [vgl. CT07] SPEC CPU 2006, SPECint_rate_base_2006 [Punkte], x64 2 x AMD Opteron 2350 SE SLES10, PGI7 88,2 2 x Intel Xeon X5365 RHEL5, INTC10 72,5 2 x Intel Xeon E5472 RHEL5, INTC10 83,9 0 20 40 60 80 Abbildung 22: Ergebnisse, SPECint_rate_base_2006 Bartels, Dinter, Lange Seite 37 von 43 AMD vs. Intel WS 2007/ 08 Die Integer-Performance bei der Durchsatz-Messung aller Kerne im System zeigt ein anderes Bild als die Einzelkern-Performance. Hier kann die neue K10 Architektur von AMD überzeugen. Es zeigt sich, dass auch die K10 Architektur, ähnlich der K8 Architektur bei mehreren Kernen besser skaliert. Dadurch erreicht der AMD Opteron 2350 SE eine um ca. 21% bessere Leistung als der aktuelle Intel Xeon X5365 und eine um ca. 5% bessere Leistung als der neue Intel Xeon E5472. Die neue XeonGeneration von Intel skaliert ebenfalls besser als die alte Xeon-Generation. Die Ergebnisse konnten hier durch die Strukturverbesserungen um ca. 16% gesteigert werden. Die letzen Ergebnisse zeigen die Floating-Point-Performance, multi-threaded [vgl. CT07] SPEC CPU 2006, SPECfp_rate_base_2006 [Punkte], x64 2 x AMD Opteron 2350 SE SLES10, PGI7 80,6 2 x Intel Xeon X5365 RHEL5, INTC10 61,9 2 x Intel Xeon E5472 RHEL5, INTC10 74 0 20 40 60 80 Abbildung 23: Ergebnisse, SPECfp_rate_base_2006 Auch bei der Floating-Point-Performance skaliert der AMD Opteron 2350 SE besser als die Konkurrenz von Intel. Dieser erreicht eine um ungefähr 30% bessere Leistung als der aktuelle Intel Xeon E5365 und eine um ungefähr 9% bessere Leistung als der neue Intel Xeon E5472. 6.8. Resümee Bei einer Betrachtung der reinen CPU-Performance ist der Intel Core 2 Duo E6400 der klare Sieger vor dem AMD Athlon 64 X2 6000+. Der Intel Prozessor kann den Konkurrenten von AMD sowohl bei der Integer-Performance als auch bei der Floating-Point-Performance klar übertrumpfen (siehe Abschnitt 6.1). Der AMD Athlon 64 X2 6000+ verfügt seinerseits über die bessere Speicheranbindung. Dies konnte durch Messungen der Speicherbandbreite belegt werden. Auch skaliert der AMD Prozessor besser, so dass dieser eher von multi-threaded Anwendung profitiert (siehe Abschnitt 6.2 ff.). Bei der Auswahl zwischen den beiden verglichenen Modellen sollte die Entscheidung nach dem vorgesehenen Anwendungszwecke getroffen werden. Allerdings handelt es sich beim Modell von AMD bereits um das aktuelle Topmodell für den Desktop-Bereich. Der Intel Core 2 Duo E6400 ist dagegen ein Mainstream-Modell, das wahrscheinlich in einigen Wochen nicht mehr erhältlich sein wird. Von Intel sind bereits für einen geringen Aufpreis weitere Modelle erhältlich, die im Vergleich mit dem Core 2 Duo E6400 (teilweise deutlich) besser abschneiden. Diese konnten allerdings nicht in diesen Vergleich aufgenommen werden, da keine passenden Benchmark-Ergebnisse verfügbar waren. Bartels, Dinter, Lange Seite 38 von 43 AMD vs. Intel WS 2007/ 08 Auch ein Vergleich der beiden kommenden Generationen, des, auf der K10 Architektur basierenden AMD Opteron 2350 und der neuen Quad-Core-Xeon Generation zeigt ein ähnliches Bild. Die Prozessoren von Intel können sich bei der reinen CPU-Performance gegen die Konkurrenz behaupten. Der neue AMD Opteron 2350 muss sich hier sogar der aktuellen Xeon-Generation, dem Intel Xeon 5365, geschlagen geben. Ähnlich der K8 Architektur skalieren die Prozessoren der K10 Architektur besser. Bei den DurchsatzMessungen aller Kerne im System kann der AMD Opteron 2350 SE die Konkurrenz von Intel hinter sich lassen. Aber auch die neue Quad-Core-Xeon Generation skaliert im Vergleich zum Vorgänger besser. Die von Intel vorgenommenen Verbesserungen reichen allerdings nicht aus, um sich gegen den AMD Opteron 2350 SE zu behaupten (siehe Abschnitt 6.7). Intel hat hier allerdings den Vorteil, dass die neuen Prozessoren bereits in 45nm gefertigt werden. Dadurch können mehr Transistoren auf kleineren Chips untergebracht und die Fertigungskosten gesenkt werden. Die Prozessoren können günstiger angeboten werden. Auch können durch die Strukturverkleinerungen schnellere und sparsamere CPUs gefertigt werden. Im Vergleich für den Ausblick in die Zukunft lag das Intel-Testsystem unter Volllast bei einem Verbrauch von 375 Watt ungefähr gleich auf mit dem AMD-Barcelona Testsystem mit dem Opteron 2350. Diese CPU läuft allerdings langsamer als der Intel Xeon E5472. Einzig der AMD Opteron 2350 SE schafft es, den Intel Xeon zu schlagen, schluckt aber auch mehr als der Opteron 2350. Intel hat also noch Raum für höhere Taktfrequenzen. Erste Benchmark-Werte für 120-Watt-Harpertowns mit 3,2 GHz und 3,4 GHz hat Intel bereits veröffentlich – erwartungsgemäß sind diese Prozessoren demnach schneller als zwei Opteron 2350 SE. [vgl. CT07] Um gegen Intels zukünftige Quad-Core-Xeon Generation bestehen zu können, müsste AMD dringend die Taktraten ihrer Prozessoren erhöhen. Dies resultiert allerdings wiederum in einem höheren Energieverbrauch. Zu der anderen Alternative, den Fertigungsprozess auf 45nm umzustellen, ist AMD derzeit technisch noch nicht in der Lage. Hierzu werden sie wahrscheinlich noch ca. 12 Monate benötigen. Bartels, Dinter, Lange Seite 39 von 43 AMD vs. Intel WS 2007/ 08 Quellenverzeichnis [3DC07] 3Dcenter, Intel Core 2: Allendale vs. Conroe und FSB266 vs. FSB333, 28.10.2007, http://www.3dcenter.org/artikel/2007/10-28_a.php, 01.12.2007 [AMD05] Advanced Micro Devices (AMD), Software Optimization Guide for AMD64 Processor, September 2005, http://www.amd.com/us-en/assets/content_type /white_papers_and_tech_docs/25112.PDF, 01.12.2007 [AMD06] Advanced Micro Devices (AMD), Performance Guidelines for AMD Athlon 64 and AMD Opteron ccNUMA Multiprocessor Systems, Juni 2006, http://www.amd.com/ us-en/assets/content_type/white_papers_and_tech_docs/25112.PDF, 01.12.2007 [AMD07] Advanced Micro Devices (AMD), AMD64 Architecture Programmer’s Manual – Volume 2: System Programming, September 2007, http://www.amd.com/us-en /assets/content_type/white_papers_and_tech_docs/24593.pdf, 01.12.2007 [AMD07b] Advanced Micro Devices (AMD), AMD Athlon 64 X2 Dual-Core Processor Product Data Sheet, Januar 2007, http://www.amd.com/us-en/assets/content_type/ white_papers_and_tech_docs/33425.pdf, 01.12.2007 [AMD07c] Advanced Micro Devices (AMD), Software Optimization Guide for AMD Family 10h Processors, September 2007, http://www.amd.com/us-en/assets/content_type/ white_papers_and_tech_docs/40546.pdf, 01.12.2007 [AMD08] Advanced Micro Devices (AMD), Die AMD Story, 2008, http://www.amd.com/dede/Weblets/0,,7832_10554,00.html, 04.03.2008 [ARS06] Jon Stokes, Into Intel Core: Intel’s next-generation microarchitecture, ars technical, 05.04.2006, http://arstechnica.com/articles/paedia/cpu/core.ars, 01.12.2007 [BAP05] BAPCo (Business Application Performance Corporation), SYSmark 2004 SE – An overview of SYSmark 2004 SE, Version 1.0, Juni 2005, http://www.bapco.com/ techdocs/SYSmark2004SEWhitePaper.pdf, 01.12.2007 [BAP08] BAPCo (Business Application Performance Corporation), BAPCo – Real World, Real Benchmarks, http://www.bapco.com, 04.03.2008 [CB07] Thomas Hübner, Test: Intel Core 2 Extreme QX6800 – Schnelle Osterüberraschung, ComputerBase, 09.04.2007, http://www.computerbase.de/artikel/hardware/ prozessoren/2007/test_intel_core_2_extreme_qx6800/, 01.12.2007 [CT03] Christof Windeck, Stufe vier – AMD Athlon 64, Apple PowerMac G5, FX und die Konkurrenz, c’t-Artikel, Heft 20/2003, Seite 112 ff. [CT03b] Christof Windeck, Kraftsportler – Der Doppelkern-Prozessor Athlon 64 X2, c’tArtikel, Heft 11/2005, Seite 34 ff. [CT06] Andrea Trinkwalder, Zweispänner – Wie Anwendungen von Dual-Core-Systemen profitieren, c’t-Artikel, Heft 4/2006, Seite 132 ff. [CT06b] Benjamin Benz, Nachschlag – AMD rüstet sich mit DDR2-Speicher für die nächste Runde im CPU-Wettstreit, c’t-Artikel, Heft 13/2006, Seite 114 ff. Bartels, Dinter, Lange Seite 40 von 43 AMD vs. Intel WS 2007/ 08 [CT06c] Benjamin Benz, Ausreißer – Intel Core 2 Duo kontra AMD Athlon 64 X2, c’tArtikel, Heft 16/2006, Seite 106 ff. [CT06d] Christof Windeck, Vierspänner – Der erste Prozessor mit vier x86-Kernen, c’tArtikel, Heft 24/2006, Seite 92 ff. [CT07] Christof Windeck, Schneller oder sparsamer – Intels erste 45-NanometerProzessoren, c’t-Artikel, Heft 21/2007 ,Seite 26 [CT07b] Benjamin Benz, Stelldichein – Wegweiser durch den x86-Prozessordschungel, c’tArtikel, Heft 6/2007, Seite 156 ff. [CT07c] Christof Windeck, Vier gegen vier – AMDs Vierkern-Serverprozessoren „Barcelona“, c’t-Artikel, Heft 20/2007, Seite 164 ff. [FOG07] Agner Fox, The microarchitecture of Intel and AMD CPU’s – An optimization guide for assembly programmers and compiler makers, Copenhagen University College of Engineering, 29.07.2007, http://www.agner.org/optimize/microarchitecture.pdf, 01.12.2007 [HO08] heise online, Glossar – Thermal Design Power (TDP), http://www.heise.de/glossar/ entry/6abd9bb2ddff7eb3, 04.03.2008 [INT97] Steve Gorman, Programming with the Intel architecture in the flat memory model, Intel Corporation, 1997, http://download.intel.com/design/intarch/papers/ esc_ia_p.pdf, 01.12.2007 [INT06] Ofri Wechsler, Inside Intel Core Microarchitecture – Setting New Standards for Energy-Efficient Performance (White Paper), Intel Corporation, 2006, http://download.intel.com/technology/architecture/new_architecture_06.pdf, 01.12.2007 [INT06b] Jack Doweck, Inside Intel Core Microarchitecture and Smart Memory Access – An In-Depth Look at Intel Innovations for Acceleration Execution of Memory-Related Instructions (White Paper), Intel Corporation, 2006, http://download.intel.com/ technology/architecture/sma.pdf, 01.12.2007 [INT07] Intel Corporation, Intel 64 Architecture Memory Ordering White Paper, August 2007, http://www.intel.com/products/processor/manuals/318147.pdf, 01.12.2007 [INT07b] Intel Corporation, TLBs, Paging-Structure Caches, and Their Invalidation (Application Note), April 2007, http://www.intel.com/design/processor/applnots/ 317080.pdf, 01.12.2007 [INT07c] Intel Corporation, Intel 64 and IA-32 Architectures Optimization Reference Manual, November 2007, http://www.intel.com/design/processor/manuals/248966.pdf, 01.12.2007 [INT07d] Intel Corporation, Intel 64 and IA-32 Architectures Software Developer’s Manual – Volume 1: Basic Architecture, November 2007, http://www.intel.com/design/ processor/manuals/253665.pdf, 01.12.2007 [INT07e] Intel Corporation, Intel 64 and IA-32 Architectures Software Developer’s Manual – Volume 3A: System Programming Guide, Part 1, November 2007, http://www.intel.com/design/processor/manuals/253668.pdf, 01.12.2007 Bartels, Dinter, Lange Seite 41 von 43 AMD vs. Intel WS 2007/ 08 [INT07f] Intel Corporation, Intel X38 Express Chipset Memory Technology and Configuration Guide (White Paper), October 2007, http://download.intel.com/ design/chipsets/applnots/31846901.pdf, 01.12.2007 [INT08] Intel Corporation, Intel Corporate Archives, 2008, http://www.intel.com/museum/ archives/index.htm, 04.03.2008 [RWT07] David Kanter, Intel’s Next Generation Microarchitecture Unveiled, Real World Technologie, 03.09.2007, http://www.realworldtech.com/page.cfm?ArticleID= RWT030906143144, 01.12.2007 [RWT07b] David Kanter, Inside Barcelona: AMD’s Next Generation, Real World Technologie, 05.16.2007, http://www.realworldtech.com/page.cfm?ArticleID=RWT05160 7033728, 01.12.2007 [SG08] SunGard, SunGard Homepage, http://www.sungard.com/sungard/, 04.03.2008 [SP07] SPEC, Homepage der SPEC – Standard Performance Evaluation Corporation, www.spec.org, 01.12.2007 [SP07b] SPECapc, Homepage der SPECapc project group, 03.08.2007, http://www.spec.org/ gwpg/apc.static/apc_overview.html, 04.03.2008 [TC06] Christian Vilsbeck, Volle Performance – halber Preis: Athlon 64 X2 fordert Cure 2 Duo, tecchannel.de, 15.08.2006, http://www.tecchannel.de/pc_mobile/prozessoren/ 445604/, 01.12.2007 [TC07] Christian Vilsbeck, Dual-Core-Test: Neuer Athlon 64 X2 6000+ mit 3,0 GHz, tecchannel.de, 20.02.2007, http://www.tecchannel.de/pc_mobile/prozessoren/ 462108/, 01.12.2007 [TR07] Scott Wasson, AMD’s quad-core Opteron 2300 processors – An exclusive first look at how ‘Barcelona’ measures up, The Tech Report, 10.09.2007, http:// techreport.com/articles.x/13176/1, 01.12.2007 [WF08] Winfuture.de, Winfuture Download-Center - Sciencemark 2.0, http://winfuture.de /downloadstart,1204802604,78.html, 04.03.2008 [ZD07] Kai Schmerer, AMD Athlon 64 X2 6000+ mit 3 GHz im Benchmarktest, ZDnet, 20.02.2007, http://www.zdnet.de/enterprise/client/0,39023248,39151789-1,00.htm, 01.12.2007 Bartels, Dinter, Lange Seite 42 von 43 AMD vs. Intel WS 2007/ 08 Abbildungsverzeichnis Abbildung 1: K8 Architektur im Überblick [CT07c] .............................................................................. 7 Abbildung 2: K10 Architektur im Überblick [CT07c] ............................................................................ 9 Abbildung 3: Core Architektur im Überblick [CT07c] ......................................................................... 10 Abbildung 4: Ausschnitt der K8 Architektur [CT07c] .......................................................................... 15 Abbildung 5: Anbindung CPU an den Chipsatz und Speicher (X38 Chipsatz) .................................... 16 Abbildung 6: Ergebnisse, SPECint_base2000 ...................................................................................... 27 Abbildung 7: Ergebnisse, SPECint_rate_base2000 .............................................................................. 27 Abbildung 8: Ergebnisse, SPECfp_base2000 ....................................................................................... 28 Abbildung 9: Ergebnisse, SPECfp_rate_base2000 ............................................................................... 28 Abbildung 10: Ergebnisse, Sciencemark (Speichertransferrate) ........................................................... 29 Abbildung 11: Ergebnisse, SunGard ACR (Calculation Time) ............................................................ 30 Abbildung 12: Ergebnisse, 3ds Max 8 ( Rendering Time, Szene 1 „Radiosity“) ................................. 31 Abbildung 13: Ergebnisse, 3ds Max 8 (Rendering Time, Szene 2 „Underwater“) ............................... 31 Abbildung 14: Ergebnisse, BAPCo Sysmark 2004 SE (Gesamtwertung) ............................................ 33 Abbildung 15: Ergebnisse, BAPCo Sysmark 2004 SE (Internet Content Creation) ............................. 33 Abbildung 16: Ergebnisse, BAPCo Sysmark 2004 SE (Office Productivity) ....................................... 34 Abbildung 17: Ergebnisse, Energieverbrauch (Gesamtsystem, Volllast) ............................................. 35 Abbildung 18: Ergebnisse, Energieverbrauch (Gesamtsystem, Leerlauf) ............................................ 35 Abbildung 19: Ergebnisse, SPECint_base_2006 .................................................................................. 36 Abbildung 20: Ergebnisse, SPECfp_base_2006 ................................................................................... 37 Abbildung 21: Ergebnisse, SPECint_rate_base_2006 .......................................................................... 37 Abbildung 22: Ergebnisse, SPECfp_rate_base_2006 ........................................................................... 38 Tabellenverzeichnis Tabelle 1: Betriebsmodi der IA-32 Prozessoren mit AMD64/Intel 64 Erweiterungen ......................... 13 Tabelle 2: Eckdaten, L2 Cache.............................................................................................................. 19 Tabelle 3: Eckdaten, L1 Cache.............................................................................................................. 20 Tabelle 4: Eckdaten, TLB, AMD K8 .................................................................................................... 21 Tabelle 5: Eckdaten, TLB, Intel Core ................................................................................................... 21 Tabelle 6: CPU Modelle für die Benchmarks ....................................................................................... 24 Tabelle 7: CPU Modelle für den Ausblick in die Zukunft .................................................................... 36 Bartels, Dinter, Lange Seite 43 von 43