22
EPIC, IA-64 und Itanium Eine Kurzpräsentation von Jan Hübbers bei Prof. Dr.-Ing. Risse im Fach Labor Rechnerstrukturen an der Hochschule Bremen 12.12.2002

EPIC, IA-64 und Itanium

  • Upload
    abby

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

EPIC, IA-64 und Itanium. Eine Kurzpräsentation von Jan Hübbers bei Prof. Dr.-Ing. Risse im Fach Labor Rechnerstrukturen an der Hochschule Bremen 12.12.2002. Zielsetzung des Itaniums. Parallelität ohne Laufzeit Overhead Minimierung von Latenzzeiten Überwindung von Ressourcenknappheit. - PowerPoint PPT Presentation

Citation preview

Page 1: EPIC, IA-64 und Itanium

EPIC, IA-64 und Itanium

Eine Kurzpräsentation

von Jan Hübbers

bei Prof. Dr.-Ing. Risse

im Fach Labor Rechnerstrukturen

an der Hochschule Bremen

12.12.2002

Page 2: EPIC, IA-64 und Itanium

Zielsetzung des Itaniums

Parallelität ohne Laufzeit Overhead Minimierung von Latenzzeiten Überwindung von Ressourcenknappheit

Page 3: EPIC, IA-64 und Itanium

Was ist EPIC? (1)

Explicit Parallel Instruction Computing Compiler findet parallelisierbare Instruktionen

(ILP, Instruction Level Parallelism) Reorganisation des Bytecodes zu parallelen

Datenströmen zur Compilerzeit Hohe Ausnutzung der parallelen

Funktionseinheiten Mehrere parallele Instruktionen pro Takt

Page 4: EPIC, IA-64 und Itanium

Was ist EPIC? (2)

Sehr starke Determinierung der Nutzung der Hardware durch den Bytecode

Sehr gute Compiler nötig Sehr(!!) gute Assembler-Programmierer nötig Einsparung von komplexer Out Of Order

Logik

Page 5: EPIC, IA-64 und Itanium

Was ist IA-64?

Neues Instuction Set (ISA) von Intel X86 (IA-32) direkt ausgeführt Very Long Instruction Word (VWLI) 128 Bit 3 Instruktionen à 41 Bit + 1 Template à 5 Bit

41 Bit 41 Bit 41 Bit 5 Bit

128 Bit Bundle

Instruktion Template

Page 6: EPIC, IA-64 und Itanium

IA-64 ISA

3*7 Bit Operanden = 21 Bit

14 Bit Opcode 6 Bit Prädikaten-

kombinationen Insgesamt 1 Bundle Group = mehrere

Bundles bis Stop-Bit

Page 7: EPIC, IA-64 und Itanium

Itanium Pipeline

10-stufig In-Order-Execution 6 parallele Stränge = 2 Bundles

Page 8: EPIC, IA-64 und Itanium

Itanium Daten

3 Branch Einheiten 2 Integer Einheiten 2 Integer/Load/Store Einheiten 2 FP Einheiten L1 Cache 16KB+16 KB L2 Cache 96 KB L3 Cache 2 MB / 4 MB on Module 800 MHz 25 Mio. Transistoren

Page 9: EPIC, IA-64 und Itanium

Itanium Register

128 generelle Integer Register, 64 Bits breit 128 FP Register, 82 Bits breit 64 1-Bit Prädikat Register 8 Branch Register, 64 Bits breit

Page 10: EPIC, IA-64 und Itanium

Itanium Übersicht

Page 11: EPIC, IA-64 und Itanium

Verzweigungen

Prädikate– Beide Seiten einer Verzweigung ausführen– Nacher die falsche Verwerfen– Vermeidet Misprediction

Vorhersage– Statisch durch Programmierer– Dynamisch durch CPU

Page 12: EPIC, IA-64 und Itanium

Hinweise & Spekulationen

Vorzeitiges Laden/Speichern von Daten Vor Verzweigungen möglich Advanced Load Address Table (ALAT )

verhindert Inkonsistenzen Ebenfalls determiniert (Programmierer /

Compiler) Bis hin zu Vorhaltezeit und Ort von Daten

Page 13: EPIC, IA-64 und Itanium

Register Rotation (1)

Software Pipelining von Schleifen– Enorme Zeitersparnis– Überlappende Schleifendurchläufe– Iteration N benutzt logisch das gleiche Register

wie Iteration N+1– Physikalisch jedoch unterschiedliche Register– Überwachung mit Prädikaten

Page 14: EPIC, IA-64 und Itanium

Register Rotation (2)

Effizienter Prozedur Wechsel– Rotation bildet einen Stack nach– Kein „push/pop“ nötig

Im Falle eines Register-Überlaufs– Register Save Engine (RSE) pusht/popt

transparent– Aber CPU stall

Page 15: EPIC, IA-64 und Itanium

Fliesskomma Einheit

multiply-accumulate (MAC) Integermultiplikation in der FPU

– Dedizierte Transfer/Transformationsmodi

SIMD in der FPU

Page 16: EPIC, IA-64 und Itanium

Speicher Anbindung/Verwaltung

2^36 Bit phys. Adressen (64 GB) 2,1 GB/s bei 2*133MHz*64 Bit

Page 17: EPIC, IA-64 und Itanium

Itanium 2

Bessere Speicheanbindung 6,4 GB/s 2*200MHz*128 Bit

L3 Cache on Die 8 Pipeline Stufen 2^44 Bit phys. adressierbar (18 TB)

Page 18: EPIC, IA-64 und Itanium

Betriebssysteme

MS .NET Server HP-UX Linux – 64 (Trillian)

Page 19: EPIC, IA-64 und Itanium

Mögliche Anwendungen

Wissenschaftliche Bereiche– Starke FPU

Grosse Datenbanken– Grosser Speicherbereich

Page 20: EPIC, IA-64 und Itanium

Betriebsarten

64-Bit Modus– Für 64-Bit OS– IA-64 Befehlssatz– IA-32 real mode, IA-32 V86 mode, IA-32 protected mode– Von IA-32 Modi kann IA-64 aufgerufen werden

32-Bit Modus– Für 32-Bit OS

PA-RISC Emulation

Page 21: EPIC, IA-64 und Itanium

Pro und Contra

Pro– Weg von x86– Großer adressierbarer Speicherbereich– Ausnutzung von Parallelität

Contra– „Zu neu“– Migration nicht zwingend– 64-Bit Software nicht ausgereift– I/O Performance nicht so toll

Page 22: EPIC, IA-64 und Itanium

Ausblick

Itanium 1 war ein Flopp Itanium 2 tut sich schwer Opteron zZ attraktiver Allerdings ist zB HP hinter Itanium .Net Server für IA-64 Langfristig setzt sich IA-64 gegen x86-64

durch