Home Computer x86 Prozessoren Site Map counter

Die Core Mikroarchitektur

In meiner Reihe über die Entwicklung der x86 Prozessoren geht es in diesem Aufsatz um die Core Mikroarchitektur. Sie ist, wenngleich inzwischen erweitert, die Basis für die 2014 aktuellen Prozessoren. Die Core Mikroarchitektur selbst ist nicht prinzipiell neu, sie basiert auf der P6-Plus Mikroarchitektur, die mit dem Pentium Pro eingeführt und in dem Pentium II/III verbessert wurde.

Die Core Mikroarchitektur löste die "Netburst" Architektur des Pentium 4 und Pentium D ab. Diese Architektur war von Intel auserkoren worden um über mehrere Jahre aktuell zu sein. Sie war ausgelegt für einen sehr hohen Takt. Auf Vorführungen beim "Intel Developer Forum" zeigte Intel Prototypen von Pentium 4 Prozessoren die mit 7-9 GHz Takt liefen. 10 GHz, so Intel wären mit der Netburst Mikroarchitektur möglich. In der Praxis machte die immer weiter steigende Verlustleistung der Chips große Probleme bei der Kühlung. Als die Prozessoren 3 GHz erreichten waren Luftkühlungen an der Grenze dessen was man selbst mit großen Kühlern und Lüftern erreichen konnte. Mehr als 3,8 GHz erreichte kein Prozessor mit Netburst Architektur.

AMD konnte mit dem Athlon zu dieser Zeit sich größere Marktanteile sichern. Ihr Athlon Prozessor war niedriger getaktet, hatte eine geringere Verlustleistung und erreichte eine gleich hohe bis höhere Leistung durch mehr parallel arbeitende Einheiten.

Da die Entwicklung einer neuen Architektur Jahre braucht und man AMD nicht solange noch weiter expandieren lassen wollte suchte Intel nach einer Lösung und fand sie im Pentium M. Der Pentium M war ein Prozessor für mobile Geräte. In diesem Segment gab es von Intel keine Prozessoren mit Netburst Technologie, weil sie zu viel Strom verbrauchten. Eine israelische Abteilung der Firma hatte die P6 Architektur des Pentium II/III weiter angepasst für Mobilgeräte und Stromsparmechanismen eingebaut. Der dabei entstandene Pentium M (M für Mobile)  wurde Basis der Core Mikroarchitektur. Angekündigt wurde sie im Herbst 2005, der interne Codename war "Merom".

Die Mikroarchitektur ist die interne Implementation des Prozessors. Die Architektur dagegen die für Programmierer sichtbaren Teile, also die Befehle, die Register etc. Seit dem Pentium laufen diese auseinander, weil der x86 Befehlssatz bzw. der Einführung der 64 Bit Erweiterungen (meist als x64 bezeichnet) intern in einfachere und elementarerer RISC Operationen übersetzt werden.

Technologie

Ports und einheitenNach der Schlappe mit Netburst legte Intel nun viel mehr Wert auf Stromsparmechanismen, nicht nur bei Mobilprozessoren, sondern auch bei Desktopprozessoren. Seitdem sank die TDP (Themal Design Power), der maximale Stromverbrauch eines Intel-Prozessors. So hatten die Desktopprozessoren der ersten Core Mikroarchitektur nun nur noch eine TDP von 75 anstatt 115 Watt. Intel hatte erkannt, dass der Gesamtdurchsatz definiert ist als Instruktionen/Takt x Frequenz. Anstatt die Frequenz zu erhöhen drehte man an der Schraube Instruktionen pro Takt. Intel nannte das "Wide Dynamic Execution",

Die Grundzüge der P6 Mikroarchitektur wurden nicht verändert, um mehr Geschwindigkeit zu erreichen wurde aber der Durchsatz aller Einheiten erhöht:

AufbauDie Caches wurden schon im Hinblick auf Mehrkernprozessoren ausgelegt. Diese erschienen schon mit Netburst Architektur, doch hatte in der ersten Generation jeder Prozessor seinen eigenen L2-Cache. In der zweiten war er gemeinsam genutzt, aber symmetrisch, jeder also genau die Hälfte. Der L2-Cache stieg Standardausführung auf 2 MByte, größere Versionen hatten sogar 4 Megabyte Cache. Er war 16-fach assoziativ. Damit nahmen die Caches den meisten Platz auf dem Die ein - bei der ersten Generation entfielen von 291 Millionen Transistoren nur 19 Millionen auf die Ausführungseinheiten. Der Frontsidebus konnte bis zu 10,6 Gigabyte/s in den L2-Cache transferieren. Der L2 Cache war nun gemeinsam für alle Kerne ausgelegt (zwei oder vier Kerne). Der L2-Cache konnte sowohl in der Größe dynamisch zwischen beiden Kernen verteilt werden wie auch die Bandbreite dynamisch genutzt wurde. Zudem merkte sich der L2-Cache einen Adressbereich nur einmal. Benötigte also ein weiterer Kern Daten eines schon gecachten Bereiches eines anderen Kerns so holte der Cache die Daten nicht vom langsamen Hauptspeicher. Er war mit einem 256 Bit breiten Bus an den L1-Cache angebunden. Seine Latenz betrug 18 Takte.

Der L1-Datencache war achtfach assoziativ mit einer Cacheline von 64 Bit organisiert. Auch der L1-Code Cache war 32 Kbyte groß. Die L1-Caches waren in jedem Kern vorhanden. Ihre Größe hatte sich seit einigen Generationen nicht geändert. Sie waren klein, aber mit einer Latenz von 3 Takten sehr schnell. Um die Performance zu verbessern, gab es beim Cache eine Vorhersagestrategie wie bei Sprüngen, sie sollte vermeiden, das Schreiboperationen das Lesen aufhalten und das Schreiben einer Cacheline und das darauffolgende Lesen desselben Speicherbereichs verhindern. Der Frontsidebus hatte 800, 1055 oder 1333 MHz Takt je nach internem Takt.

Verbesserungen gab es in der Befehlsausführung. So wurden häufig benutzte Micro-Ops, in die die x86 Befehle zerlegt wurden, in eine leistungsfähigere Microop verschmolzen, von denen 4 pro Takt ausgeführt werden konnte. Dieses Konzept wurde dann auch auf die x86 Befehle ausgedehnt: die 64 häufigsten Befehlsfolgen im 32 Bit Code wurden als eine "Macro-Op" ausgeführt - in einem Takt wurden so zwei Instruktionen verarbeitet. Das betraf z.B. die häufig vorkommende Kombination CMP / JP Conditional.

Die Verarbeitungseinheiten konnten pro Takt eine Integeroperation, jeweils eine Addition und Multiplikation von 128 Bit Breite (Fließkomma) sowie je eine Speicher- und Ladeinstruktion pro Takt verarbeiten, das war ein Performancesprung von bis zu dem Faktor 2.

Der Prefetchalgorithmus wurde verbessert und versuchte Zugriffmuster vorherzusagen. Wenn ein Programm z.b. mehrmals nur jede vierte Adresse abrief so würde der Prefetch Algorithmus nach einigen Zugriffen automatisch nur noch jede vierte Adresse einlas. Der Hardwareprefetch sollte auch vorrausschauend Daten laden und durch die Caches schleusen und so zum einen Caches Misses wie auch die Latenz des Cache reduzieren.

Um einen größeren Durchsatz zu erhalten, wurde der interne Datenpfad nun 128 Bit breit. Vorher waren es 64 Bit. Das wirkte sich auf die SSE Befehle aus, deren Register 128 Bit breit waren. Eingesetzt wurde SSE3, die schon in der letzten Pentium 4 Version "Prescott" eingeführt wurde. SSE3 hatte Befehle für die Umwandelung von Gleitpunktzahlen in Ganzzahlen und komplexe Arithmetik. Mit der zweiten Generation kam dann SSE 4.1. Sie enthielt viel mehr Befehle (47 im Vergleich zu 13 bei SSE3) und war vor allem für Spiele ausgerichtet. Es konnte das Skalarprodukt bestimmt werden, Maxima und Minima bestimmt, Überblendungen und Integerumwandlungen gemacht werden. Die meisten dieser Befehle sind auf Ganzzahlen ausgerichtet. Das ist bei der Unterstützung von Spielen, bei denen man selten Fließkommazahlen braucht, nicht verwunderlich. Es ist aber auch so, dass Intel nur die FPU Einheiten erweitert hat, d.h. es bisher keine Möglichkeit gab analog den SSE Befehlen mehrere Ganzzahlen parallel zu verarbeiten (außer bei MMX, dann aber nur auf 8 oder 16 Bit beschränkt).

Die Core Mikroarchitektur war die erste die von vorneherein für den Einsatz mehrerer Kerne in einem Prozessor entworfen wurde. Intel hatte CPUs mit zwei Kernen schon mit der Netburst Technologie eingeführt "Pentium D". Dies waren aber zuerst nur zwei Prozessoren auf einem Die. Es gab keine Kommunikation oder gemeinsame Ressourcennutzung. Bei der Core Mikroarchitektur teilen sich die beiden Kerne einen L2-Cache der dynamisch den Anforderungen angepasst wird. Anders als bei dem Übergang von P6 zu Netburst wo man schon erreichtes über Bord kippte (z. B. den FPU-Teil von zwei auf eine reduzierte), behielt man die Fähigkeiten, die die Pentium II(III Prozessoren schon hatten, bei und erweiterte sie sogar. Es gab damals auch die Spekulation ob Intel sich von Features die viel Logik erfordern wie die "Out of Order Execution", also das Umsortieren von Befehlen um alle Einheiten auszulasten trennen würde um mehr einfachere Kerne zu ermöglichen. Doch das fand nicht statt. Nur bei dem Einsteigerchip Atom wurde Out-of-Order Execution aufgegeben, vor allem deswegen weil er sehr wenig Strom verbrauchen dürfte und sich diesem Ziel alles andere unterordnen musste,

Während die Netburst Mikroarchitektur im Markt war, führte AMD die 64 Bit Architektur in ihren Prozessoren ein. Dies war eine Erweiterung des x86 Befehlssatzes (32 Bit) auf 64 Bit, samt einer verdoppelten Registerzahl und einer höher performanten Fließkommaeinheit. AMD war mit den Opterons und Athlon 64 so im Massenmarkt erfolgreich, dass Intel nachzog. Ihre mit dem Itanium eingeführte Architektur IA64 war niemals für den Massenmarkt gedacht und Itanium Prozessoren fanden sich vor allem in Servern oder anderen größeren Rechnern. Intel übernahm die Befehlserweiterung von AMD und damit endeten auch jahrelange Rechtstreitigkeiten zwischen beiden Konzernen, die dazu führten, dass jede Firma eigene Erweiterungen wie MMX und 3DNow einführen.  Die Core 2 Architektur übernahm daher AMD 64 Bit Anweisungen.

Geschichtliche Bedeutung

Mit der Core Mikroarchitektur gelang es Intel an alte Erfolge anzuknüpfen. Die Prozessoren überholten bald AMDs Athlon in der Performance, verbrauchten aber weniger Strom. AMD hatte das Problem, dass der höhere Stromverbrauch die Anzahl der Transistoren pro Chip begrenzte, Intel so mehr Transistoren = höhere Rechenleistung unterbringen konnte. Weiterhin konnte Intel als größter Prozessorhersteller mehr Geld in die Fertigung investieren. Dadurch konnte die Firma vor allen Mitbewerbern die Größe eines Die verkleinern oder auf demselben Die mehr Transistoren unterbringen. Auch dadurch war sie AMD immer einen Schritt voraus. AMD verlor an Marktanteilen und konnte sich nur im Einstiegssegment wo weniger die Performance als der Preis zählt, halten. Dies ist bis heute so. 2014 kann Intel Prozessoren mit 14 nm großen Strukturen fertigen. NVidia hat einige Monate später gerade einmal die 18 nm Fertigung eingeführt. AMD arbeitet noch mit 32 nm großen Strukturen, kann also fünfmal weniger Elemente pro Chip unterbringen.

Am 7.6.2006 erschienen die ersten Prozessoren unter der Bezeichnung "Intel Core 2". Sie basierten auf der ersten Architektur "Merom". Ende 2007 kam mit dem Die-Shrink auf von 65 auf 45 nm breite Strukturen die Nachfolgearchitektur "Penryn". Sie führte die Verbesserte Version SSE 4.1 ein, die einen schnelleren Divisions- und Wurzelalgorithmus hat. Auch sollen SSE Instruktionen generell durch eine neue Verteileinheit beschleunigt werden. Beim Zugriff auf nicht auf 32 Bit Wortgrenzen ausgerichtete Adressen war der Memory Order Buffer effizienter und für Notebookprozessoren wurde der Tiefschlafmodus C6 eingeführt. Penryn ermöglichte durch den Die-Shrink dann auch Quadcoreprozessoren.

Danach wurde die Core Mikroarchitektur nach vier Jahren von der Intel Nehalem Mikroarchitektur abgelöst.

Intel pflegt seitdem einen zweistufigen Entwicklungszyklus, der es Konkurrenten noch mehr erschwert aufzuschließen, die "Tick-Tock" Strategie. Bei einem Tick wird die Fertigungstechnologie auf kleinere Strukturbreiten angepasst, die Architektur des Chips nicht verändert. Der neue Chip sollte so stromsparender sein und es gibt mehr Chips pro Wafer. Bei einem "Tock" wird dann eine neue Architektur eingeführt, bzw. die vorhandene erweitert. Bisher lagen zwischen einem Tick und einem Tock nur ein bis maximal eineinhalb Jahre. So auch hier: Merom war die erste Architektur mit 65 nm Strukturen, Penryn veränderte die Architektur kaum, aber die Strukturen wurden auf 45 nm verkleinert. Danach kommt eine neue Architektur 3 Jahre später zum Einsatz. So folgten Merom/Penryn (65/45 nm), dann Nehalem/Westmere (45/32 nm), Sandy Bridge/Ivy Bridge (32/22 nm), Haswell/Broadwell (22/14 nm)

Was auch zeitgleich passierte, aber nicht unbedingt mit der Architektur zusammenhängt, ist eine enorme Ausweitung der Produktpalette. Bisher gab es schon die Linien "Xeon" (Serverprozessoren mit großen Caches, sehr teuer", "Pentium" (Mainstream für Desktops und Mobilgeräte" und "Celeron" (Einsteigerklasse). Dazu gesellte sich nun noch der Atom für extrem geringen Stromverbrauch für kleine Mobilgeräte wie Netbooks. Die Prozessoren hatten nun bei Desktop und Server ein System aus den Buchstaben E,L,T,X mit einer vierstelligen Ziffer wie E7000. E war für den Desktop vorgesehen, TLX für Mobilprozessoren. Die Xeon-Prozessoren erhielten nur eine Nummer und besonders stromsparende Prozessoren ein M mit einer nur dreistelligen Nummer. Später kam noch der Buchstabe Q dazu. Dieses verwirrende System wurde bei der nächsten Generation durch ein neues abgelöst, das seitdem beibehalten wird.

Die Desktopprozessoren bekamen nun die Bezeichnung Core mit einer Ziffer und einer vierstelligen Ziffer. Diese sieht beim Autor z.b. so aus:

Core i5-4690

die 5 gibt an, dass das Preis/Leistungssegment nach Intel Einstufung in der Mittelklasse liegt. (4 Kerne) Es gibt dann noch I3 (Einstiegsklasse, meist zwei Kerne) und i7 (Oberklasse, meist 4 Kerne mit Hyperthreading oder 6 Kerne). Daneben gibt es immer noch unterhalb der i3 Klasse noch die Pentium, Celeron und Atomlinie. Dies ist aber nur eine grobe Orientierung, so kann der leistungsstärkste Vertreter einer Klasse durchaus schneller als die leistungsärmsten der nächsthöheren Klasse sein.

4690 ist dann die Typennummer in dieser klasse. Dabei ist die erste Ziffer die Generation, hier eine "4" für die Haswell-Technologie. Die restlichen 3 Ziffern korrespondieren dann mit der Leistung in dieser Klasse, eine höhere Ziffer ist also besser (der Autor wollte z.B. lange einen 4670, der unterschiedet sich vom 4690 nur dadurch dass er mit 3,5/3,8 GHZ (Normal/Turbo) anstatt 3,6/3,9 taktet. Kleiner Tipp am Rande: Innerhalb der Core Linie zählen in der Praxis bei Officeanwendungen (Office, Internet surfen, aber auch die meisten Tools) nur die Singlethread-Geschwindigkeit und die hängt vom Takt ab. Dafür lohnt sich ein preiswerter Core i3 mit hohem Takt eher als ein niedrig getakteter Core i7.

Der Takt steigt innerhalb der Klasse an, dazu gibt es noch einige Bauformen für Mobilgeräte mit besonders geringem Stromverbrauch oder lüfterlose Systeme oder ohne Begrenzung des Taktes. Diese sind an angehängten Buchstaben wie U K oder X erkennbar.

Technische Daten  
Erschienen: Juli 2006 (Merom)
November 2007 (Penryn)
Transistoren: 291 Millionen (Merom)
410/820 Millionen (Penryn Dual/Quadcore)
Technologie 65 / 45 nm
Taktfrequenzen: 2,13 bis 3,0 GHz (Merom)
2,40 bis 3,33 GHz (Penryn)
Recheneinheiten Ganz/Fließkomma 3 + 3 gemeinsam genutzte / 3 SSE / 2 FPU
Geschwindigkeit Ganzzahlen 8114 Dhrystones bei 3000 MHz (Core 2 Duo E6850), 9011 bei 3950 MHz (Core 2 Duo E8600)
Geschwindigkeit Fließkommazahlen 3142 Whetstones bei 3000 MHz (Core 2 Duo E6850), 3624 bei 3950 MHz (Core 2 Duo E8600)
Geschwindigkeit: 5.700 - 10.000 MIPS (Merom)
18.000 MIPS (Penryn)
Core2Duo E6550 2,33 GHZ: 12.500 MIPS
Spannung: 0,85 bis 1,5 V (Merom)
0,85 - 1.35 VV (Penryn)
Gehäuse: Sockel 478 (Pentium 4)
Sockel 478 / 775
FCBGA 479 / 965
Speicher: 64 GByte physikalisch, 64 TByte virtuell
Datenbus: 64 Bit breit
Vorgänger: Pentium 4
Nachfolger: Intel Nehalem Mikroarchitektur

Quellen:

Agner Fog: The microarchitecture of Intel, AMD and VIA CPUs

Inrel: Inside Intel Core Microarchitecture

Gabriel Torres: Hard3are Secrets: Inside Intel Core Microarchitecture

Artikel erstellt am 27.11.2014

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

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

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

Mehr über das Buch auf dieser eigenen Seite.

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


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