Home | Computer | x86 Prozessoren | Site Map |
In meiner Reihe über die Entwicklung der x86 Prozessoren geht es in diesem Aufsatz um die beiden "Bridge" Mikroarchitekturen. Sie waren die zweite bzw. dritte Generation der Intel Core Prozessoren und zumindest Prozessoren welche die Sandy Bridge Architektur einsetzen sind Ende 2014 noch im Handel.
Intel hatte zwei Generationen vorher ein System eingeführt, in dem zuerst eine Architektur mit der Technologie der Vorgängerarchitektur eingeführt wurde "Tock" genannt. Dies war die Sandy Bridge Architektur die im 32 nm Prozess entstand. Das hatte den Vorteil, das der Prozess der Fertigung ein bis eineinhalb Jahr alt war, man daher wenige Probleme bei der Fertigung erwarten konnte, so konnte man sich komplett auf die neuen Chips konzentrieren. Dann folgt ein Übergang auf kleinere Strukturen, entweder ein Die-Shrink also kleinere Chips (höhere Ausbeute) oder mehr Kerne. Meistens gibt es auch kleine Änderungen in der Architektur wie neue SSE-Befehle oder größere Caches. Dies bezeichnet Intel als "Tick". Mit dem nächsten Tock wird dann eine neue Architektur eingeführt, dies war in diesem Fall die Haswell Architektur. Sandy Bridge entsprach dem Tock, Ivy Bridge dem Tick. Für Intel als Chiphersteller ist die Verkleinerung der Strukturbreiten wichtig, daher ist in ihrem Schema der Shrink das Tick und die Reihenfolge logisch. während beim Blick auf die Architekturen das Tock zuerst kommt.
Der Zeitabstand zwischen einem Tick und Tock beträgt etwa ein bis eineinhalb Jahre.
Die wesentliche interne Aufbau der beiden Bridge Architekturen basiert noch auf der P6-Architektur des Pentium Pro. Sie wurde im Pentium II+III als P6-Plus erweitert und erneut in der Core Mikroarchitektur aufgegriffen, nachdem die Netburst Architektur des Pentium 4 und Pentium D nicht die Erwartungen erfüllte die man sich von ihr versprach. Seitdem wurde sie optimiert indem man mehr parallel arbeitende Einheiten einführte, mehr Buffer einführte, Datenpfade verbreiterte. Es waren evolutionäre Änderungen. Wie schon seit Einführung der Core Mikroarchitektur war es bei Sandy und Ivy Bridge vor allem wichtig Strom zu sparen, das heißt Intel arbeitete vor allem an Lösungen, die überproportional mehr Leistung verglichen mit dem höheren Stromverbrauch lieferten oder sogar Mehrleistung ohne nennenswert höheren Stromverbrauch (das war z.B. bei AVX so). Mit der größeren Bedeutung von sehr leichten mobilen Geräten (Ultrabooks, Tablett PCs) war dies wichtig, um in diesem Markt erfolgreich zu sein.
Intern war die wichtigste Änderung, das Intel noch mehr vorher externe Funktionen auf den Prozessor integrierte. Bei der letzten Nehalem Generation "Westmere" war die Intel HD Grafik eingeführt worden. Sie war dort aber noch als Multichip Lösung implementiert, d.h. zwei integrierte Schaltungen auf einem Die, verbunden durch einen Quickpath-Interconnect. Bei Sandy Bridge war sie nun fest in die CPU integriert. Dadurch stieg ihre Performance, da die Busse schneller angebunden waren. Sie hatte auch eine eigene Stromversorgung und konnte unabhängig von den Kernen in einen Stromsparmodus gefahren werden. Ebenso hatte sie ihre eigene Frequenz (anfangs 350, 500 und 650 MHz) und konnte auch einen Turbomodus (bis 1.300 MHz) nutzen. Die Grafik hieß beim Desktop Intel HD 2000 Grafik, bei den Notebookprozessoren nur Intel HD Grafik, eine Bezeichnung die leider auch bei den folgenden Generationen beibehalten wurde. Bei den Core Prozessoren war es die Intel HD 3000 Grafik mit 12 Ausführungseinheiten. Pentium und Celeron bekamen nur eine einfachere Version Intel HD 2000 Grafik mit nur 6 Ausführungseinheiten. Die Grafik nutzt auch den Level 3 Cache des Prozessors.
Ebenfalls auf dem Prozessor integriert war die North Bridge die den Speicher und die Slots anband, die in der Intel Terminologie aber System Agent hieß.
Die Busse waren auch die für die zweite Neuerung gut waren: Intel änderte das Design um, sodass es besser gerüstet für mehr Kerne war. Bei mehr Kernen sollte die Geschwindigkeit hochskalieren. Mit den bisherigen Bussen hätte man dafür zu viele Punkt-Punkt Verbindungen gebraucht, so wurde ein Ringbus eingeführt der alle Kerne mit den anderen Subeinheiten wie z.B. dem gemeinsamen Level 3 Cache verband. Der Ringbus hat den Vorteil, dass seine Bandbreite der Anzahl der Kerne folgt. Er erlaubt es leichter Komponenten und Cacheteile abzuschalten und senkt dadurch vor allem den Strombedarf im Leerlauf. Es gab vier Ringe für Datenzugriff, Ackknowledge, Snoop und Requests.
Neu war auch die Branch Prediction Unit. Diese Einheit hat die Aufgabe "vorherzusagen" wohin Sprünge erfolgen. Sprünge erfolgen im Assembler bei Schleifen, um Sprünge vorherzusagen haben diese Vorhersageeinheiten Listen mit den letzten Sprüngen und versuchen anhand derer ein Muster zu erkennen und den Sprung richtig vorzusagen. Da die Befehle vorrausschauend gelesen werden und in einer Pipeline sukzessive dekodiert und ausgeführt werden ist es wichtig Sprünge mit hoher Trefferrate vorherzusagen. Bei einer Pipeline von 14-19 Stufen wie sie in der Sandy Bridge Architektur vorlag bedeutet dass, das bei einem falsch vorhergesagten Befehl bis zu 14-19 Takte es dauerte bis ein Befehl dekodiert war.
Kleinere Änderungen gab es in der CPU. So wurde der in der Pentium 4 CPU eingeführte und dann bei der Core Mikroarchitektur wieder weggefallene Cache für schon dekodierte Mikrooperationen wieder eingeführt. Er saß hinter dem Dekoder und nahm 1,5 K-Mikroops (6 KByte) auf. (Pentium 4: 12 K Mikroops). Dieser als L0-Bezeichnete Cache hatte eine Trefferrate von 80% und wurde mit 32 Bytes pro Takt gefüllt, das entsprach 4 Instruktionen pro Takt. Der Cache sollte nicht die Ausführung beschleunigen, er war vielmehr ein weiterer Weg Energie einzusparen, da bei einem Hit der Decoder abgeschaltet werden konnte, was bei den komplexen CISC Befehlen der x86 Architektur viel Energie sparte. Die Sandy Bridge Architektur hat um alle Funktionseinheiten zu versorgen vier Befehlsdekoder, die parallel arbeiten.
Die Caches selbst sind verglichen zu Nehalem/Westmere gleich groß geblieben: Ein jeweils 32 KByte großer Daten und Code Level 1 Cache und ein 256 kb großer Level 2 Cache. Der L1-Codecache war zur Beschleunigung nun achtfach anstatt vierfach assoziativ. Der für alle Kerne gemeinsam genutzte Level 3 Cache ist nun segmentiert. Das machte der Ringbus nötig. Jeder Kern konnte auf einen 1,5 bis 2 MB großen Teil des Level 3 Caches zugreifen. Um diesen effizient zu nutzen werden Adressen zwischen den Segmenten als Hashsummen übertragen. Die Memory Unit des Kerns konnte pro Takt zwei 16 Byte Lade- und einen 16 Byte Speichertransfer aus dem L1-Cache abwickeln. Für die neu eingeführten großen virtuellen Seiten (2 oder 4MB groß) gab es nun 8 anstatt 7 Seitenspeicher.
Schon lange arbeitet intern in den Prozessoren von Intel eine RISC-Einheit, welche die erzeugten Mikroops verarbeiten. Intern gibt es auch mehr Register als nach außen hin sichtbar sind. Um die Performance zu erhöhen, werden diese nun als Registerfile behandelt. Das bedeutet: Operanden werden nicht zwischen den Registern bewegt, sondern es gibt Zeiger die auf sie zeigen und diese werden angepasst. Da es viel weniger Register gibt als eine Zahl breit ist (64 Bit bei Ganzzahlen, bis zu 128 Bit bei Fließkommazahlen) beschleunigt dies die Verarbeitung. Intel nennt um 33% höhere Parallelität.
Die wichtigste Änderung in den Befehlen, also dem was der Programmierer an Neuerungen sieht, war die Einführung von AVX (Advanced Vector Extensions).AVX löste SSE ab. SSE (Streaming SIMD Extension) war mit dem Pentium II eingeführt worden. SSE wie ach AVX verarbeitetet ein Befehl mehrere Daten. Das waren bei SSE zuerst Ganzzahlen, dann Fließkommazahlen. Schließlich kamen Befehle fürSpezialaufgaben wie die Bildung des Skalarproduktes oder Verschlüsselung hinzu. Es war an dem Befehlsvorrat zu sehen, das SSE am Ende seiner Evolution angekommen war, denn Spezialbefehle die nur in bestimmten Situationen Sinn machen, werden von den meisten Programmen nicht genutzt.
AVX unterscheidet sich in drei wesentlichen Punkten von SSE:
Dazu kam eine im wissenschaftlichen Bereich wichtige Instruktion, FMA, fused Multiply Add. FMA macht eine Addition und eine Multiplikation einer Fließkommazahl (32 oder 64 Bit lang) sowie das Laden der Opperanden in einem Takt und entspricht der Rechnung y = a * x + b. Die Performance von FMA wird oft für die theoretische Peakperformance der Prozessoren angegeben. Beim Einsatz des FMA Befehls kann ein Prozessor 8 doppelt genaue oder 16 einfach genaue Operationen pro Takt und Kern. Das war die doppelte Performance von SSE. Berücksichtigt man noch die Verbesserung durch mehr Register und weniger Ladebefehle so stiegt die Geschwindigkeit im LINPACK Benchmark, bei dem man diesen Befehl sehr gut einsetzen kann, um den Faktor 1,8 höher als bei SSE.
Weiterhin kann beim Einsatz von AVX Instruktionen zumindest in der Xeon Linie der Kern höher im Turbo Modus getaktet werden als bei den anderen Befehlen.
Wie der Name "Advanced Vector Extensions" schon sagt, kann man diese Befehle wie schon die Vorgänger SIMD bei Verarbeiten von Feldern (Vektoren) nutzen. Bearbeitet man alle Elemente eines Feldes in einer Schleife, so kann man bei AVX die Zahl der Schleifendurchläufe um den Faktor 4 bis 8 reduzieren und jeweils 4 oder 8 (abhängig von der Größe der Zahlen) Werte gleichzeitig bearbeiten. Derartige Fragestellungen gibt es im naturwissenschaftlichen Bereich, weshalb man dort auch schon in dem siebziger Jahren Vektorrechner wie von Cray einführte.
Kleinere Befehlserweiterungen wurden für die AES Verschlüsselung eingeführt: So gab es eine Addition mit Carry die ein 128 Bit Produkt lieferte und die AES Verschlüsselung um bis zu 25% beschleunigen kann.
Betriebssysteme profitierten von besserer Virtualisierung und effizienten Sichern/Laden von Zuständen bei Taskwechseln sowie die Unterstützung von Virtualisierungsfunktionen.
Der Turbo Modus wurde überabreitet. Es gab nun in der CPU über 100 Punkte bei denen Stromverbrauch und Wärme gemessen wurden. Daraufhin versuchte der prozessorinterne Mikroprozessor das Thermalbudget besser vorherzusagen als bei den Vorgängern. Dies drückte sich in mehr Übertaktungsstufen und schnellerem Wechsel des Turbomodus bei den meisten Prozessorvarianten aus.
Als Sandy Bridge und Ivy Bridge eingeführt wurden, war Intel schon dominant auf dem Mikroprozessormarkt. Die Firma hatte ihren Konkurrenten AMD mit den stromsparenden Vorgängerarchitekturen vom Markt verdrängt und konnte den Vorsprung mit diesen Architekturen ausbauen. Mit AVX konnte Intel auch AMD im wissenschaftlichen Bereich weiter zurückdrängen.
Intel selber bezeichnet die Prozessoren der Sandy Bridge Baureihe als die "zweite Genration der Core Prozessor Familie" und entsprechend Ivy Bridge als die dritte Generation. Das ist etwas verwirrend, weil die Core Mikroarchitektur eigentlich die Vor-Vorgängerarchitektur ist, es also die dritte und vierte Generation sein sollte. Erstaunlicherweise sieht man dies am Nummerierungsschema der Desktopprozessoren.
Auf die Nehalem Architektur mit dreistelligen Nummern (weggelassener "0" als erste Ziffer, sowohl bei Nehalem wie auch Westmere als "Tock") folgte nun gleich die 2 als erste Ziffer, die "1" wurde weggelassen. Ivy Bridge Prozessoren haben dann die "3" als erste Ziffer. Eine Sandy Bridge Prozessor wäre dann also Core I3 2125 und ein Ivy Bridge Prozessor ein Core i7 3770. (zu dem Nummerierungsschema siehe Artikel über Nehalem. Die nachfolgende Haswell Architektur bekam eine "4", die Haswell EP-Architektur eine "5".
Aufgrund der fast gleich gebliebenen Architektur war der Performancegewinn in Benchmarks mit normalen PC-Anwendungen gering und lag bei 10-25% gegenüber der Nehalem Generation. Im Dhrystone Benchmark, mit dem die unten angegebenen MIPS Werte errechnet wurden, z.B. bei der Core 7 Generation 16% bei gleichem Takt. Eine Untersuchung über viele Benchmarks ergab sogar nur eine Steigerung um 11,3%, die Grafikengine hatte gar keine Steigerung gegenüber der letzten Nehalem-Subarchitektur Clarksdale.
Für den gemeinen PC-Besitzer waren die wichtigsten Neuerungen dass mit dem Sockel LGA 1155 ein Sockelsystem eingeführt wurde, das nun länger Bestand hatte als die vorherigen Sockel, also ein Austausch der CPU theoretisch möglich war (in der Praxis hing dies auch vom Motherboard und verfügbaren BIOS-Updates ab). Durch die integrierte Grafikeinheit entfiel die Grafik auf dem Chipsatz. AMD versuchte den Rückstand bei der CPU-Performance durch leistungsfähigere integrierte Grafikeinheiten (sogenannte APU) auszugleichen, doch mit wenig Erfolg auf dem Massenmarkt, da die Grafik zwar deutlich schneller als die von Intel war, für aktuelle spiele aber trotzdem nicht reichte.
Die ersten Sandy Bridge Prozessoren wurden im Januar 2011 vorgestellt. In dem Desktop Segment kann man sie an der "2" in der ersten Ziffer der vierstelligen Nummer erkennen z.B. Core i7-2600.
Ivy Bridge als Die-Shrink folgte am 23.4.2012. Es gab noch weniger Änderungen in der Architektur verglichen mit dem vorherigen Tick-Tockpaar Nehalem/Westmere. Vielmehr ging es darum einen neuen Transistortype, den Trigate-Transistor einzuführen, bei dem das Gate in das Drain hineinversetzt wurde (dreidimensionale Fertigung, verglichen mit den bisherigen Planartransistoren). Auch dies diente dem Stromsparen. der Abstand zum Gate war kleiner und er schaltete mit kleineren Strömen. Als "Tick" vollzog Intel den Übergang von 32 auf 22 nm Strukturbreite. Damit ist Intel auch 2014 seinen Konkurrenten noch voraus, so plant AMD erst 2015 auf 20 nm umsteigen, während Intel 2014 schon 14 nm Strukturen einführte. Ivy Bridge Prozessoren haben eine 3 als führende Ziffer
Die meisten der 300 Millionen zusätzlichen Transistoren eines 4-Kern Ivy Bridge Prozessors ging in eine deutlich verbesserte HD 4000 Grafik. (in der maximalen Ausbaustufe bei Core Prozessoren 1,4 Milliarden Transistoren auf 150 mm² Fläche, Sandy Bridge: 1,1 Milliarden auf 215 mm² Fläche). Wie bei Sandy Bridge gab es mit nur 4 verschiedenen Die-Typen schon beim Start 35 Prozessorvarianten im Consumerbereich:
Die Xeon Prozessoren waren in dieser Auflistung nicht dabei. Sie haben eine andere Architektur, z.B. keine integrierte Grafik und größere Caches. Ebenso fehlen die Pentium und Celeron Linie, die noch keine AVX Instruktionen und andere Features nicht haben und eine andere Grafikengine mit geringerer Leistung haben. Die Atom Prozessoren für mobile, extrem stromsparende Geräte haben nochmals eine andere Architektur mit noch weniger Leistung. Die Mehrleistung von Ivy Bridge war gering und bei einem Test verschiedener Anwendungsprogramme, Benchmarksuiten und synthetischer Tests nur bei 16% bei gleichem Takt und Kernzahl verglichen mit dem Sandy Bridge Vorgänger, vergleichbar dem Übergang von Westmere zu Sandy Bridge.
Intern wurden in Ivy Bridge Kleinigkeiten geändert. So gab es einen neuen digitalen Zufallszahlengenerator, MOV Operationen wurden aus der Pipeline entfernt, das trug dem neuen Modell der Zeiger auf Register Rechnung. Vor allem gab es weitere Sicherheitsfeatures die bei Servern wichtig waren und AVX erhielt Befehle zum Verarbeiten von weiteren Formaten.
Bei Ivy Bridge sank gegenüber Sandy Bridge erneut die Energieaufnahme im Leerlauf. die maximale TDP (Thermal Design Power) war zuerst unverändert, später folgten aber Modelle mit geringerer TDP. Sie war nun auch vom Hersteller des Computers über das Motherboard konfigurierbar. So konnte man z.B. einen Prozessor mit einer TDP von 25 Watt in ein Notebook einbauen, das maximal 15 Watt abführen konnte. Die maximale Taktfrequenz orientierte sich dann an der TDP von 15 Watt, lag also niedriger als eigentlich für diesen Prozessor üblich.
Technische Daten | |
---|---|
Erschienen: | Januar 2011 (Sandy Bridge) 23.4.21012 (Ivy Bridge) |
Transistoren: | 1100 Millionen (Sandy Bridge Core i7) 1400 Millionen (Ivy Bridge Core i7) |
Technologie | 32 / 22 nm |
Taktfrequenzen: | 1,6 bis 3,8 GHz, (Sandy Bridge) 2,3 bis 3,90 GHz (Ivy Bridge) |
Recheneinheiten Ganz/Fließkomma | 3 ALU / 3 SSE / 2 FPU |
Geschwindigkeit Ganzzahlen | 11797 Dhrystones bei 3500 MHz (Core I7 2600 (Sandy Bridge)) 14196 Whetstones bei 3800 MHz (Core I7 3770K (Ivy Bridge)) |
Geschwindigkeit Fließkommazahlen | 3428 Whetstones bei 3500 MHz (Core I7 2600 (Sandy Bridge)), 3719 Whetstones bei 3800 MHz (Core I7 3770K (Ivy Bridge)) |
Geschwindigkeit: | 12.800 MIPS pro Singlethread (Core i7-2600, 3,8 GHz, 8 virtuelle, 4 echte Kerne) 14.200 MIPS pro Singlethread (Core i7-3770K, 3,5 GHz 8 virtuelle, 4 echte Kerne) |
Spannung: | |
Gehäuse: | LGA 1155,2011, verschiedene BGA |
Speicher: | 64 GByte physikalisch, 64 TByte virtuell |
Datenbus: | 64 Bit breit |
Vorgänger: | Core Mikroarchitektur |
Nachfolger: | Ivy Bridge Mikroarchitektur |
Intel's Sandy Bridge Architecture Exposed
Intels Sandy Bridge Microarchitecture
Artikel erstellt am 12.12.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.
Sitemap | Kontakt | Impressum / Datenschutz | Neues | Hier werben / advertisment here | Buchshop | Bücher vom Autor |