home *** CD-ROM | disk | FTP | other *** search
- Gek├╝rzte Pipeline
- --- RECORDSEPARATOR ---
-
- --- RECORDSEPARATOR ---
- K├╝rzere Pipelines zeugen meist von einem ef-
- --- RECORDSEPARATOR ---
- fizienteren CPU-Design. Beispielsweise kosten
- --- RECORDSEPARATOR ---
- falsche spekulative Sprungvorhersagen weni-
- --- RECORDSEPARATOR ---
- ger Taktzyklen für das erneute Œrichtige Aus-
- --- RECORDSEPARATOR ---
- führen. Allerdings ermöglichen längere Pipe-
- --- RECORDSEPARATOR ---
- lines auch h├╢here Taktfrequenzen und ein da-
- --- RECORDSEPARATOR ---
- mit besseres Skalieren der Performance. Denn
- --- RECORDSEPARATOR ---
- mit mehr Stufen kann eine CPU auch mehr Be-
- --- RECORDSEPARATOR ---
- fehle gleichzeitig Œin flight halten - abhängig
- --- RECORDSEPARATOR ---
- nat├╝rlich von der superskalaren Auslegung.
- --- RECORDSEPARATOR ---
- Entscheidend f├╝r ein superskalares Design ist
- --- RECORDSEPARATOR ---
- die Anzahl der Ausf├╝hrungseinheiten. Core be-
- --- RECORDSEPARATOR ---
- sitzt drei 64-Bit-ALUs f├╝r Integer-Operationen,
- --- RECORDSEPARATOR ---
- drei 128-Bit-SSE-Units sowie zwei 128-Bit-
- --- RECORDSEPARATOR ---
- Floating-Point-Rechenwerke. Außerdem gibt
- --- RECORDSEPARATOR ---
- es noch eine Load- und Store-Unit. Damit
- --- RECORDSEPARATOR ---
- macht Intel die Core-Architektur fit f├╝r eine
- --- RECORDSEPARATOR ---
- massive Parallelisierung.
- --- RECORDSEPARATOR ---
- Doch besonders bei der SSE-Befehlsabarbei-
- --- RECORDSEPARATOR ---
- tung zeigt die Core-Architektur deutliche Fort-
- --- RECORDSEPARATOR ---
- schritte, wie Sie im Abschnitt ŒDigital Media
- --- RECORDSEPARATOR ---
- Boost nachlesen können. Zur ŒWide Dynamic
- --- RECORDSEPARATOR ---
- Execution zählen zudem Verbesserungen im
- --- RECORDSEPARATOR ---
- Frontend sowie die neue Macro-Fusion, wie
- --- RECORDSEPARATOR ---
- wir auf den folgenden Seiten erläutern.
- --- RECORDSEPARATOR ---
-
- --- RECORDSEPARATOR ---
- Erweitertes Frontend
- --- RECORDSEPARATOR ---
-
- --- RECORDSEPARATOR ---
- Um das vierfach superskalare Design und die
- --- RECORDSEPARATOR ---
- vielen Ausf├╝hrungseinheiten der Core-Archi-
- --- RECORDSEPARATOR ---
- tektur bei Laune zu halten, bedarf es effektiver
- --- RECORDSEPARATOR ---
- Befehlsdekoder sowie einer guten Sprungvor-
- --- RECORDSEPARATOR ---
- hersage (Branch Prediction). In beiden Fällen
- --- RECORDSEPARATOR ---
- wartet die Core-Architektur mit Verbesse-
- --- RECORDSEPARATOR ---
- rungen auf. Außerdem verfügen beide Prozes-
- --- RECORDSEPARATOR ---
- sorkerne des Core jeweils ├╝ber drei individuelle
- --- RECORDSEPARATOR ---
- Prefetcher: zwei f├╝r Daten, einer f├╝r Befehle.
- --- RECORDSEPARATOR ---
- Die Prefetcher holen basierend auf einer Work-
- --- RECORDSEPARATOR ---
- flow-Analyse Daten und Befehle in die CPU, die
- --- RECORDSEPARATOR ---
- voraussichtlich als nächstes benötigt werden.
- --- RECORDSEPARATOR ---
- Die Ausf├╝hrungseinheiten aktueller Prozes-
- --- RECORDSEPARATOR ---
- soren sind ├╝ber ein Viertel ihrer Zeit mit Be-
- --- RECORDSEPARATOR ---
- fehlswiederholungen durch falsche Sprungvor-
- --- RECORDSEPARATOR ---
- hersagen beschäftigt. Dies kostet nicht nur
- --- RECORDSEPARATOR ---
- Performance, weil die CPU die korrekte Sprun-
- --- RECORDSEPARATOR ---
- gadresse aus dem Speicher holen muss.
- --- RECORDSEPARATOR ---
- Gleichzeitig steigt durch die Befehlswiederho-
- --- RECORDSEPARATOR ---
- lung der Stromverbrauch. Deshalb hat Intel bei
- --- RECORDSEPARATOR ---
- der Core-Architektur viel Wert auf optimierte
- --- RECORDSEPARATOR ---
- Sprungvorhersagen gelegt.
- --- RECORDSEPARATOR ---
- Die Sprungvorhersage des Core-Prozessors
- --- RECORDSEPARATOR ---
- analysiert die vergangene Programmausf├╝h-
- --- RECORDSEPARATOR ---
- rung und sagt darauf basierend voraus, welche
- --- RECORDSEPARATOR ---
- Operationen nach einem Sprung wahrschein-
- --- RECORDSEPARATOR ---
- lich als nächstes ausgeführt und welche Daten
- --- RECORDSEPARATOR ---
- ben├╢tigt werden. Intel hat bei der Core-Archi-
- --- RECORDSEPARATOR ---
- tektur drei verschiedene Logiken zur Sprung-
- --- RECORDSEPARATOR ---
- vorhersage kombiniert: bimodal, local und
- --- RECORDSEPARATOR ---
- global. Diese Triple-Logik f├╝hrte Intel bereits
- --- RECORDSEPARATOR ---
- beim ersten Pentium M ŒBanias ein.
- --- RECORDSEPARATOR ---
- Core verwendet zusätzlich mit dem Loop De-
- --- RECORDSEPARATOR ---
- tector LD sowie dem Indirect Branch Predictor
- --- RECORDSEPARATOR ---
- IBP zwei weitere Vorhersagelogiken. Während
- --- RECORDSEPARATOR ---
- der LD den Aussprung aus Programmschleifen
- --- RECORDSEPARATOR ---
- vorhersagt, speichert der IBP in einer Tabelle
- --- RECORDSEPARATOR ---
- bevorzugte Zieladressen von indirekten Spr├╝n-
- --- RECORDSEPARATOR ---
- gen. Wenn somit das Frontend der CPU einen
- --- RECORDSEPARATOR ---
- indirekten Sprung vorhersagt und ausf├╝hrt,
- --- RECORDSEPARATOR ---
- kann aus der IBP-Tabelle die Adresse entnom-
- --- RECORDSEPARATOR ---
- men werden.
- --- RECORDSEPARATOR ---
- Neben der verbesserten Sprungvorhersage
- --- RECORDSEPARATOR ---
- wartet die Core-Architektur mit neuen Befehls-
- --- RECORDSEPARATOR ---
- dekodern auf. Die Dekoder wandeln die her-
- --- RECORDSEPARATOR ---
- k├╢mmlichen x86-Befehle (Macro-Ops) in f├╝r
- --- RECORDSEPARATOR ---
- den Prozessor verständliche Micro-Ops um.
- --- RECORDSEPARATOR ---
- Insgesamt besitzt Core vier Dekoder-Einheiten.
- --- RECORDSEPARATOR ---
- Damit dekodiert die CPU mindestens vier In-
- --- RECORDSEPARATOR ---
- struktionen pro Taktzyklus, was der vierfach
- --- RECORDSEPARATOR ---
- superskalaren Auslegung der Core-Architektur
- --- RECORDSEPARATOR ---
- entspricht. ŒMindestens vier Stück, weil sich
- --- RECORDSEPARATOR ---
- die vier Dekoder aus drei einfachen und einer
- --- RECORDSEPARATOR ---
- komplexen Einheit zusammensetzen.
- --- RECORDSEPARATOR ---
- Die komplexe Dekodiereinheit erläutern wir
- --- RECORDSEPARATOR ---
- ausführlicher im Abschnitt ŒMacro-Fusion,
- --- RECORDSEPARATOR ---
- welche eine weitere Neuerung der Core-Archi-
- --- RECORDSEPARATOR ---
- tektur darstellt.
- --- RECORDSEPARATOR ---
-
- --- RECORDSEPARATOR ---
- Micro-Ops-Fusion
- --- RECORDSEPARATOR ---
-
- --- RECORDSEPARATOR ---
- Ein superskalares Prozessor-Design zum paral-
- --- RECORDSEPARATOR ---
- lelen Abarbeiten von Befehlen ist nicht neu.
- --- RECORDSEPARATOR ---
- Hierzu bedarf es vereinfacht ausgedrückt Œnur
- --- RECORDSEPARATOR ---
- der bereits erwähnten parallelen Ausführungs-
- --- RECORDSEPARATOR ---
- einheiten. So erlaubt die Core-Architektur be-
- --- RECORDSEPARATOR ---
- reits vier Instruktionen pro Taktzyklus. Um
- --- RECORDSEPARATOR ---
- aber die Performance pro Taktzyklus weiter zu
- --- RECORDSEPARATOR ---
- steigern, verwendet Intel Techniken zur Redu-
- --- RECORDSEPARATOR ---
- zierung von Micro-Ops.
- --- RECORDSEPARATOR ---
- Die Core-Architektur vereinfacht die kompli-
- --- RECORDSEPARATOR ---
- zierte Verwaltung der Micro-Ops im Re-Order-
- --- RECORDSEPARATOR ---
- Buffer und den Schedulern durch die Micro-
- --- RECORDSEPARATOR ---
- Ops-Fusion. Die erstmals beim Pentium M
- --- RECORDSEPARATOR ---
- ŒBanias verwendete Micro-Ops-Fusion-Tech-
- --- RECORDSEPARATOR ---
- nologie analysiert die Instruktionen des Pro-
- --- RECORDSEPARATOR ---
- grammablaufs. Wenn sich mehrere aus einer
- --- RECORDSEPARATOR ---
- Macro-Op dekodierte Micro-Ops zusammen-
- --- RECORDSEPARATOR ---
- fassen lassen, werden sie zu einer neuen
- --- RECORDSEPARATOR ---
- Micro-Op verschmolzen.
- --- RECORDSEPARATOR ---
- Die Effizienz der Befehlsabarbeitung erh├╢ht
- --- RECORDSEPARATOR ---
- sich durch dieses Verfahren, weil der Schedu-
- --- RECORDSEPARATOR ---
- ler weniger Einträge verwalten muss. Diese
- --- RECORDSEPARATOR ---
- ŒBefehlsreduzierung vor den Ausführungsein-
- --- RECORDSEPARATOR ---
- heiten steigert aber nicht nur die Performance,
- --- RECORDSEPARATOR ---
- sondern reduziert gleichzeitig den Energiebe-
- --- RECORDSEPARATOR ---
- darf der Scheduler-Einheit. Durch die Micro-
- --- RECORDSEPARATOR ---
- Ops-Fusion-Technologie muss der Core-Pro-
- --- RECORDSEPARATOR ---
- zessor laut Intel mehr als zehn Prozent weniger