Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Beispiele für Mikroprozessoren 9

Ähnliche Präsentationen


Präsentation zum Thema: "Beispiele für Mikroprozessoren 9"—  Präsentation transkript:

1 Beispiele für Mikroprozessoren 9
Beispiele für Mikroprozessoren 9.1 PentiumPro, Pentium II und Pentium III Allesamt aus der Familie der Intel-Prozessoren mit 32-Bit-Architektur („IA-32-Architektur“ oder „Intel x86-Architektur“) P5-Mikroarchitektur: zweifach superskalar Pentium I P6-Mikroarchitektur: superskalar (3 Befehle, 5 Micro-ops) mit Zuweisung auch außerhalb der Programmreihenfolge (bei Intel dynamic-execution genannt) PentiumPro-Prozessor von 1995 Pentium II (Markteinführung 1997 mit 300 MHz) und Pentium III (Markteinführung 1999) erweitern den PentiumPro um Multimediaeinheiten, die MMX- bzw. MMX ISSE-Befehle ausführen können. P6-Mikroarchitektur: lange Pipeline Pentium 4 (Markteinführung 2000) erweitert den ISSE-Befehlssatz des Pentium III um den SSE-2-Befehlssatz, der Multimedia- und Gleitkommabefehle im 128-Bit-Format vereinheitlicht.

2 Pentium III

3 Pentium III - Charakteristika
Befehlsholeeinheit (Instruction Fetch Unit) lädt pro Takt 32 Bytes aus dem Code-Cache-Speicher Die Sprungvorhersagetechnik implementiert einen gshare-Algorithmus und umfasst dazu 512 Bytes große Tabellen im sogenannten Branch Target Buffer. Decodiereinheit kann drei Befehle pro Takt decodieren. Bei der Decodierung werden bis zu 6 sogenannte Micro-ops (je 118 Bits lang) erzeugt. 2 einfache, 1 allgemeiner Decodierer, eventuell Mikroprogrammaufruf, das einige Dutzend Micro-ops umfassen kann, bereitgestellt durch den Micro-op Sequencer. Registerumbenennung der Micro-ops durch die Register Allocation Table RAT auf 40 physikalische Register. 40 Micro-ops fassender Rückordnungspuffer (Reorder Buffer). Ausführbereite Micro-ops werden in einen 20 Einträge fassenden, allen Ausführungseinheiten gemeinsamen Zuordnungspuffer (Reservation Station genannt) transportiert, und von dort werden bis zu fünf Micro-ops pro Takt den insgesamt 11 Ausführungseinheiten zugeordnet. Rückordnungseinheit (Retirement Register File RRF)

4 9.2 Athlon Athlon (Codename K7) ab Oktober 1998 als Nachfolger des AMD-K6 Athlon implementiert ebenfalls die IA-32-Architektur, allerdings mit einem anderen Satz von Multimediabefehlen – der 3DNow!-Erweiterung ähnelt in Aufbau und Leistung ansonsten dem Pentium III-Prozessor 72 Plätze fassender Rückordnungspuffer in der Befehlssteuereinheit (Instruction Control Unit ICU). Die ICU ist für die Registerumbenennung, die Zuordnung zu den Ausführungseinheiten, die Rückordnung und die Behandlung von Ausnahmen zuständig. In einem Takt werden bis zu drei MacroOps an die beiden Zuordnungspuffer für die Integer-/Adressberechnungseinheiten und für die Gleitkommaeinheiten gegeben. Der Scheduler für die Integer-Einheiten kann bis zu sechs MakroOps auch außerhalb der Programmordnung (out-of-order) an die Integer- und Adressberechnungseinheiten zuweisen. Gleichzeitig werden bis zu drei MacroOps an die Gleitkommaeinheiten gegeben, die mit einer Pipeline implementiert sind. Bis zu neun RISC-artige Befehle können pro Takt ausgeführt werden.

5 Blockschaltbild des Athlon

6 9.3 Pentium 4 42 Millionen Transistoren; derzeit in 0,13-mm-Technologie gefertigt, mit 2 GHz, 2,2 GHz und 2,4 GHz angeboten, von der Mikroarchitektur her auf Taktraten bis hin zu 5 GHz entworfen. Charakteristikum: sehr lange Pipeline, mit 20 Stufen allein für die Ganzzahlbefehle bis zu 126 Befehle „on-the-fly“ in der Pipeline IA-32-Architektur mit einem zum Pentium III kompatiblen, aber um die SSE2-Befehle erweiterten Befehlssatz. SSE2 (Internet Streaming SIMD Extensions 2): 144 zusätzlichen Befehle erweitern die grafikorientierten Multimediabefehle und kombinieren diese mit den Gleitkommabefehlen. 128 Bit breite kombinierte Multimedia-/Gleitkomma-Register mit einem SSE2-Befehl wird pro Takt die Ausführung von zwei einfach oder vier doppelt genauen Gleitkommabefehlen angestoßen Gleitkommabefehle sind IEEE-754-konform und arbeiten mit 32- oder 64-Bit-Genauigkeit, im Gegensatz zu der 80 Bit „erweiterten Genauigkeit“ aller früheren Pentium-Prozessoren.

7 Pentium 4 Sprungvorhersagetechnik (darüber wenig bekannt): eine „erweiterte“ Sprungvorhersage auf Micro-ops-Basis mit 4 KByte großen Tabellen, welche die Fehlvorhersagen gegenüber der gshare-Technik des Pentium III um ein Drittel verringern soll Daten-Cache-Speicher: 8 KByte on-chip, zwei Zugriffe pro Takt, Lese-Latenzzeit von zwei Takten, Hardware-Vorabladeeinrichtung Sekundär-Cache-Speicher (Advanced Transfer Cache genannt) für Code und Daten auf dem Prozessor-Chip: 256 KByte, achtfach assoziativ, 256 Bit breiten Schnittstelle zum Prozessorkern, Lese-Latenzzeit beträgt 7 Takte. Die Cache-Blöcke sind 128 Bytes groß. Cache-Blöcke in zwei 64 Byte breite Sektionen mit eigenen Cache-Tags unterteilt. Nach einem Schreibzugriff muss nur noch die betreffende Sektion zurückgeschrieben werden. Kein Code-Cache! Statt dessen ein Trace Cache!

8 Trace Cache (Level 1 Execution Trace Cache genannt)
Der Trace Cache ersetzt den Code-Cache! IA-32-Befehle werden direkt aus dem Sekundär-Cache geladen, decodiert und in den Trace Cache eingefügt. Nach der Anlaufphase werden die meisten Befehle im Trace Cache gefunden, so dass die Pipeline mit dem Befehleladen aus dem Trace Cache beginnt. Um Platz zu sparen speichert der Trace Cache für die komplexen Befehle nicht alle ihre Micro-ops, sondern nur den ersten davon. Den Rest erzeugt dann wieder ein Mikrocode-Sequenzer. Trace-Cache-Blöcke können miteinander verkettet sein, so dass nach einem Trace-Cache-Block sofort der in dynamischer Programmordnung nächste zugeordnet werden kann. Der Trace Cache kann 12 K Micro-ops speichern und pro Takt drei Micro-ops liefern.

9 Pentium 4 Registerumbenennung auf 128 Allzweckregister
bis zu sechs Micro-ops pro Takt können den Ausführungseinheiten aus zwei getrennten Umordnungspuffern zugeordnet werden, einem gemeinsamen für die Gleitkomma- und SSE-Einheiten und einem gemeinsamen für die Integer- und Adressgenerierungseinheiten, drei Micro-ops können pro Takt rückgeordnet werden. 11 Ausführungseinheiten (Art und Anzahl variieren je nach Publikation), die sogenannte Rapid Execution Engine besagt, dass die zwei arithmetisch-logischen Einheiten (Integer ALUs) mit doppelter Prozessortaktrate betrieben werden, also in jedem Halbtakt jeweils eine Ganzzahloperation beenden können. 400 MHz-Systembus ist ein sogenannter Quad-pumped-Bus mit Transferrate von 3,2 GBytes pro Sekunde, zwei schnelle Rambus-Kanäle nötig

10 Prozessor-Vergleich nach Stiller [2000]
Prozessor Pentium III Athlon Pentium 4 Transistoren 28,1 Mio. 37 Mio. 42 Mio. Integer-Pipeline (+Fetch+Decode) Ausführungseinheiten Zuordnungsbandbreite (in Micro-ops) L1-Daten-Cache 16 KByte 64 KByte 8 KByte, Rückschreibestrategie Durchschreibestrategie L1-Code-Cache 16 KByte 64 KByte – Trace Cache – – 12 K Mikro-ops L2-Cache 256 KByte 256 KByte 256 KByte, alle mit Rückschreibestrategie Busbreite zum L2-Cache 256 Bit 64 Bit 256 Bit Verbrauch 33 W 66 W ca. 60 W


Herunterladen ppt "Beispiele für Mikroprozessoren 9"

Ähnliche Präsentationen


Google-Anzeigen