Zurück an die Spitze: Intels Core-Prozessoren

Christian Vilsbeck war viele Jahre lang als Senior Editor bei TecChannel tätig. Der Dipl.-Ing. (FH) der Elektrotechnik, Fachrichtung Mikroelektronik, blickt auf langjährige Erfahrungen im Umgang mit Mikroprozessoren zurück.
Mit der neuen Mikroarchitektur "Core" will Intel ein Zeichen in der Prozessorwelt setzen. Fünf Innovationen sollen für hohe Performance bei gleichzeitig niedrigem Energiebedarf sorgen. Der Beitrag von tecChannel.de erläutert die Architektur und zeigt erste Benchmarks.

Von Christian Vilsbeck,

tecChannel.de

Schon länger spielen Intels Prozessoren mit der NetBurst-Architektur die zweite Geige hinter den AMD64-CPUs. Der Athlon 64/X2 und der Opteron sind dem Pentium 4/D und dem Xeon in der Performance meist einen kleinen Schritt voraus. Die NetBurst-Architektur - ausgelegt für hohe Taktfrequenzen - ist dem effizienteren AMD64-Design unterlegen.

Doch jetzt will Intel in Sachen Effizienz doppelt zurück schlagen. Höchste Performance ohne Gigahertzrekorde bei gleichzeitig deutlich reduziertem Energiebedarf. Die neue Architektur für dieses hehre Ziel nennt Intel schlicht "Core". Sie stellt ein Mix aus den besten Komponenten der Core-Duo- und NetBurst-Architektur dar - mit Schwerpunkt auf dem Core-Duo-Design. Außerdem spendiert Intel der Core-Architektur fünf "Innovationen": Wide Dynamic Execution, Advanced Digital Media Boost, Advanced Smart Cache, Smart Memory Access sowie Intelligent Power Capability.

Bereits im frühen dritten Quartal 2006 will Intel seinen ersten Desktop-Prozessor mit der neuen Core-Architektur vorstellen. Im Laufe des zweiten Halbjahres 2006 werden sukzessive auch die mobilen Centrino-CPUs Core Duo sowie die Xeons für Server und Workstations auf das Core-Design umgestellt. NetBurst hat ausgedient.

Doch was verbirgt sich hinter "Core" sowie den "fünf Innovationen" und wie soll damit die AMD64-Architektur in die Schranken gewiesen werden? Dieser Beitrag von tecChannel.de erläutert die Details der Core-Mikroarchitektur. Außerdem präsentiert er Ihnen erste Benchmarks der Core-Prozessoren, wie beispielsweise den Conroe 2,67 GHz gegen AMDs Athlon 64 FX-60.

Core-CPUs: Conroe, Merom & Woodcrest

Intel setzt die Core-Mikroarchitektur in allen Segmenten ein. Für Desktop-PCs steht der Pentium-D-Nachfolger mit Code-Namen "Conroe" auf dem Plan. Als Mobile-Pendant wird es für den aktuellen Core Duo den "Merom" geben. Bei den Xeons integriert Intel im Dempsey-Erben "Woodcrest" die neue Architektur.

Ähnlich wie AMD seine AMD64-Architektur im kompletten Produktportfolio verwendet, verfährt Intel jetzt mit Core. In naher Zukunft setzen bei Intel nur noch die Enterprise-Prozessoren der Itanium-2-Familie auf eine andere Architektur.

Premiere feiert die Core-Architektur im frühen dritten Quartal 2006 in den Desktop-CPUs "Con-roe". Vermutlich wird sich Intel vom Markennamen "Pentium" verabschieden, allerdings fehlen hier noch offizielle Herstelleraussagen. Griffiger sind dagegen die zum Launch geplanten Prozessor-Nummern und Taktfrequenzen des Conroe - wie uns interne Roadmaps verraten: E6300 bis E6700 bei Taktfrequenzen von 1,86 bis 2,67 GHz. Dabei sind die Conroe-Prozessoren mit einem TDP-Wert von 65 Watt spezifiziert. Aktuelle Pentium-D-900-Modelle genehmigen sich einen TDP-Wert von bis zu 130 Watt. Platz nehmen die Conroe-CPUs im LGA775-Steckplatz in den Plattformen Bridge Creek und Averill.

Ebenfalls im dritten Quartal 2006 gehen die Server-/Workstation-CPUs "Woodcrest" mit einer Taktfrequenz von 3,0 GHz an den Start. Die Prozessoren für 2-Sockel-Systeme erhalten den LGA771-Steckplatz der Xeon-5000-Modelle "Dempsey". Intel garantiert eine Kompatibilität zur Bensley-Plattform. Woodcrest genehmigt sich laut Intel maximal 80 Watt. Zum Vergleich: Der 65-nm-NetBurst-Prozessor Xeon 5070 "Dempsey" mit 3,46 GHz Taktfrequenz ist mit 130 Watt spezifiziert.

Auch der Core-Duo-Nachfolger "Merom" soll mit der aktuellen Centrino-Plattform zusammen arbeiten. Merom ist Pin-kompatibel zum Core Duo und wird ab dem Launch-Datum in der zweiten Jahreshälfte 2006 in Notebooks Einzug erhalten. Durch die gleichen thermischen Anforderungen wie beim Core Duo sind für den Merom mit 35 Watt TDP am Notebook-Design keine Änderungen erforderlich. Merom setzt auf Intels aktuelle 945er Mobile-Chipsätze.

Komplettaustattung

Intel legt die Core-Architektur von Anfang an für die Dual-Core-Technologie aus. Beide Prozessorkerne sind auf einem Siliziumplättchen vereint und greifen auf einen gemeinsamen L2-Cache zurück. Die Größe der zweiten Pufferstufe legt Intel je nach CPU-Version auf 2 oder 4 MByte fest. Lesen Sie im Abschnitt "Advanced Smart Cache" weitere Informationen über die L2-Cache-Technologie.

Der L1-Cache für Daten und Befehle fasst beim Core jeweils 16 KByte bei achtfach assoziativer Auslegung. Dem Core Duo stehen noch je 32 KByte L1-Cache zur Verfügung. Ein Trace-Cache der NetBurst-Architektur, der bereits dekodierte Micro-Ops speichert, ist beim Core-Design passé.

Ein weiteres Merkmal von NetBurst sucht man bei der Core-Architektur vergeblich: Die Hyper-Threading-Technologie wird bei den Core-Prozessoren nicht mehr benötigt. Durch sein effizienteres Design sind bei der Core-Architektur die Ausführungseinheiten besser ausgelastet als bei NetBurst. Technisch wäre die Realisierung von Hyper-Threading in der Core-Architektur laut Intel allerdings möglich.

Pflicht für eine neue CPU-Architektur ist dagegen die 64-Bit-Erweiterung EM64T. Die Core-Prozessoren arbeiten mit 64-Bit-Betriebssystemen zusammen, was dem bisherigen Pentium M und Core Duo verwehrt ist. Für die Virtualisierung der CPU beherrscht die Core-Architektur zudem den VT-x-Befehlssatz der Vanderpool-Technologie. Je nach Prozessortyp gibt es beim Core erste LaGrande-Implementierungen für Trusted Computing. Ein Standard-Feature bei allen Core-Modellen ist die XD-Technologie für erweiterten Schutz vor Viren und Buffer Overflows.

Die Kommunikation der Core-CPUs mit dem Chipsatz erledigt weiterhin ein "klassischer" Prozessorbus. Dieser arbeitet beim mobilen Merom mit einer Taktfrequenz von 667 MHz. Der Desktop-Prozessor Conroe überträgt seine Daten über den Bus mit 1066 MHz. Etwas mehr gibt es beim Woodcrest: Die FSB-Taktfrequenz erreicht auf der Bensley-Plattform 1.333 MHz. Intel fertigt die erste Core-Generation in einem 65-nm-Prozess. Anfang 2007 werden bereits Core-CPUs mit 45 nm Strukturbreite erwartet.

Wide Dynamic Execution

Ein Ziel bei der Entwicklung der Core-Architektur war es, mehr Befehle gleichzeitig pro Taktzyklus abarbeiten zu können. Dies erhöht nicht nur die Performance eines Prozessors, sondern sorgt auch für eine bessere Energieeffizienz.

Hinter dem Begriff "Wide Dynamic Execution" verbirgt sich zuerst einmal eine klassische Out-of-Order-Architektur nach dem spekulativen Verfahren. Out-of-Order heißt, die CPU arbeitet die Befehle in einer "optimierten" Reihenfolge ab, und nicht in der eingelesenen. Dies ermöglicht eine bessere Auslastung der Funktionseinheiten der CPU. Dabei führt der Prozessor Instruktionen auch "spekulativ" durch, in der Hoffnung, die Ergebnisse werden demnächst sowieso benötigt. Diese Hoffnungen beruhen natürlich auf einer in der CPU durchgeführten Datenfluss-Analyse.

Ein Unterschied der Core-Architektur zu Net-Burst und dem Core-Duo-Design liegt in der Be-zeichnung "Wide". Intels Core verarbeitet pro Taktzyklus vier Instruktionen. Dabei kann die CPU pro Taktzyklus mindestens vier Befehle gleichzeitig holen, dekodieren, ausführen und die Ergebnisse in den L1-Daten-Cache übertragen. Die Core-Architektur ist somit vierfach superskalar ausgelegt. Damit sind Core-CPUs der NetBurst-Architektur des Pentium D oder Xeon sowie dem Pentium-M-basierenden Core Duo klar überlegen. Diese CPUs können nur drei Instruktionen pro Taktzyklus parallel durchführen.

Die Pipeline der Core-Architektur ist mit 14 Stufen deutlich kürzer ausgelegt als bei aktuellen NetBurst-CPUs mit 31 Stufen. Die Anzahl der Stufen bezeichnet die notwendigen Schritte bei der Abarbeitung von Befehlen: beginnend mit dem Einlesen einer neuen Instruktion in die CPU bis zur Ausgabe des Ergebnisses.

Gekürzte Pipeline

Kürzere Pipelines zeugen meist von einem effizienteren CPU-Design. Beispielsweise kosten falsche spekulative Sprungvorhersagen weniger Taktzyklen für das erneute "richtige" Ausführen. Allerdings ermöglichen längere Pipelines auch höhere Taktfrequenzen und ein damit besseres Skalieren der Performance. Denn mit mehr Stufen kann eine CPU auch mehr Befehle gleichzeitig "in flight" halten - abhängig natürlich von der superskalaren Auslegung.

Entscheidend für ein superskalares Design ist die Anzahl der Ausführungseinheiten. Core besitzt drei 64-Bit-ALUs für Integer-Operationen, drei 128-Bit-SSE-Units sowie zwei 128-Bit-Floating-Point-Rechenwerke. Außerdem gibt es noch eine Load- und Store-Unit. Damit macht Intel die Core-Architektur fit für eine massive Parallelisierung.

Doch besonders bei der SSE-Befehlsabarbeitung zeigt die Core-Architektur deutliche Fortschritte, wie Sie im Abschnitt "Digital Media Boost" nachlesen können. Zur "Wide Dynamic Execution" zählen zudem Verbesserungen im Frontend sowie die neue Macro-Fusion, wie wir auf den folgenden Seiten erläutern.

Erweitertes Frontend

Um das vierfach superskalare Design und die vielen Ausführungseinheiten der Core-Architektur bei Laune zu halten, bedarf es effektiver Befehlsdekoder sowie einer guten Sprungvorhersage (Branch Prediction). In beiden Fällen wartet die Core-Architektur mit Verbesserungen auf. Außerdem verfügen beide Prozessorkerne des Core jeweils über drei individuelle Prefetcher: zwei für Daten, einer für Befehle. Die Prefetcher holen basierend auf einer Workflow-Analyse Daten und Befehle in die CPU, die voraussichtlich als nächstes benötigt werden.

Die Ausführungseinheiten aktueller Prozessoren sind über ein Viertel ihrer Zeit mit Befehlswie-derholungen durch falsche Sprungvorhersagen beschäftigt. Dies kostet nicht nur Performance, weil die CPU die korrekte Sprungadresse aus dem Speicher holen muss. Gleichzeitig steigt durch die Befehlswiederholung der Stromverbrauch. Deshalb hat Intel bei der Core-Architektur viel Wert auf optimierte Sprungvorhersagen gelegt.

Die Sprungvorhersage des Core-Prozessors analysiert die vergangene Programmausführung und sagt darauf basierend voraus, welche Operationen nach einem Sprung wahrscheinlich als nächstes ausgeführt und welche Daten benötigt werden. Intel hat bei der Core-Architektur drei verschie-dene Logiken zur Sprungvorhersage kombiniert: bimodal, local und global. Diese Triple-Logik führte Intel bereits beim ersten Pentium M "Banias" ein.

Core verwendet zusätzlich mit dem Loop Detector LD sowie dem Indirect Branch Predictor IBP zwei weitere Vorhersagelogiken. Während der LD den Aussprung aus Programmschleifen vorhersagt, speichert der IBP in einer Tabelle bevorzugte Zieladressen von indirekten Sprüngen. Wenn somit das Frontend der CPU einen indirekten Sprung vorhersagt und ausführt, kann aus der IBP-Tabelle die Adresse entnommen werden.

Neben der verbesserten Sprungvorhersage wartet die Core-Architektur mit neuen Befehlsdekodern auf. Die Dekoder wandeln die herkömmlichen x86-Befehle (Macro-Ops) in für den Prozessor verständliche Micro-Ops um. Insgesamt besitzt Core vier Dekoder-Einheiten. Damit dekodiert die CPU mindestens vier Instruktionen pro Taktzyklus, was der vierfach superskalaren Auslegung der Core-Architektur entspricht. "Mindestens" vier Stück, weil sich die vier Dekoder aus drei einfachen und einer komplexen Einheit zusam-mensetzen.

Die komplexe Dekodiereinheit erläutern wir ausführlicher im Abschnitt "Macro-Fusion", welche eine weitere Neuerung der Core-Architektur dar-stellt.

Micro-Ops-Fusion

Ein superskalares Prozessor-Design zum parallelen Abarbeiten von Befehlen ist nicht neu. Hierzu bedarf es vereinfacht ausgedrückt "nur" der bereits erwähnten parallelen Ausführungseinheiten. So erlaubt die Core-Architektur bereits vier Instruktionen pro Taktzyklus. Um aber die Perfor-mance pro Taktzyklus weiter zu steigern, ver-wendet Intel Techniken zur Reduzierung von Micro-Ops.

Die Core-Architektur vereinfacht die komplizierte Verwaltung der Micro-Ops im Re-Order-Buffer und den Schedulern durch die Micro-Ops-Fusion. Die erstmals beim Pentium M "Banias" verwendete Micro-Ops-Fusion-Technologie analysiert die Instruktionen des Programmablaufs. Wenn sich mehrere aus einer Macro-Op deko-dierte Micro-Ops zusammenfassen lassen, werden sie zu einer neuen Micro-Op verschmolzen.

Die Effizienz der Befehlsabarbeitung erhöht sich durch dieses Verfahren, weil der Scheduler weniger Einträge verwalten muss. Diese "Befehlsreduzierung" vor den Ausführungseinheiten steigert aber nicht nur die Performance, sondern reduziert gleichzeitig den Energiebedarf der Scheduler-Einheit. Durch die Micro-Ops-Fusion-Technologie muss der Core-Prozessor laut Intel mehr als zehn Prozent weniger Micro-Ops in den Ausführungseinheiten berechnen. Bei der Core-Architektur erweitert Intel zudem die Anzahl von fusionierbaren Micro-Ops.

Um die Zahl der MicroOps weiter zu verringern, gibt es seit der Pentium-M-Architektur "Banias" einen dedizierten Ablaufmanager. Programm-Overhead wie die Stack-Befehle push, pop, call und ret führt der Prozessor in einer dedizierten Hardware durch. Die CPU kann das eigentliche Programm in den Ausführungseinheiten damit ohne Unterbrechung abarbeiten. Die Zahl der Micro-Ops verringert sich durch den Stack Manager laut Intel um fünf Prozent.

Macro-Fusion

Neben der vom Pentium M bekannten Micro-Ops-Fusion führt Intel bei der Core-Architektur die neue Macro-Fusion ein. Bei der Macro-Fusion geht Intel im Vergleich zur Micro-Ops-Fusion einen anderen Weg. In der Pre-Dekodierphase analysiert das Frontend der Core-Architektur, ob sich zwei in der Regel aufeinander folgende Macro-Ops zusammenfassen lassen. So folgt auf den Assembler-Befehl "cmp" (Compare) oder "test" typischerweise ein Sprungbefehl "jcc", wie Intel angibt.

Die komplexe Dekodiereinheit der vier Dekoder fügt diese beiden Macro-Ops zu einer einzigen Micro-Op zusammen. Diese Micro-Op führen die Execution-Units der Core-Architektur dann in einem Taktzyklus durch.

Durch die Macro-Fusion kann das Frontend der Core-Architektur aus dem Befehlspuffer (L1-Befehls-Cache) bis zu fünf Instruktionen pro Taktzyklus holen. Drei Macro-Ops dekodieren die drei einfachen Dekoder-Units. Sind von den fünf Macro-Ops zwei fusionierbar, werden sie über die komplexe Dekodiereinheit per Macro-Fusion in eine Micro-Op umgewandelt. Ohne Macro-Fusion wären für das Dekodieren von fünf Assembler-Befehlen zwei Taktzyklen notwendig. Pro Taktzyklus ist bei der Core-Architektur allerdings nur eine Macro-Fusion möglich.

Für das Ausführen der aus Macro-Fusion entstandenen neuen Micro-Ops verfügt die Core-Architektur über eine speziell angepasste ALU.

Durch die Macro-Fusion reduziert sich wie schon bei der Micro-Ops-Fusion die Zahl der auszufüh-renden Micro-Ops. Dadurch wird zum einem die Performance weiter gesteigert. Außerdem erhöht sich die Effizient des Out-of-Order-Schedulers, weil durch die reduzierte Micro-Ops-Anzahl mehr Programm-Code auf einmal analysiert und parallelisiert werden kann.

Die Fortsetzung dieses Beitrags finden Sie nächste Woche in der ComputerPartner- Ausgabe 27/06.

Zur Startseite