1 / 22

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. Zielsetzung des Itaniums. Parallelität ohne Laufzeit Overhead Minimierung von Latenzzeiten Überwindung von Ressourcenknappheit.

abby
Download Presentation

EPIC, IA-64 und Itanium

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Zielsetzung des Itaniums • Parallelität ohne Laufzeit Overhead • Minimierung von Latenzzeiten • Überwindung von Ressourcenknappheit

  3. 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

  4. 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

  5. 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 128 Bit Bundle 41 Bit 41 Bit 41 Bit 5 Bit Template Instruktion

  6. 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

  7. Itanium Pipeline • 10-stufig In-Order-Execution • 6 parallele Stränge = 2 Bundles

  8. 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

  9. 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

  10. Itanium Übersicht

  11. Verzweigungen • Prädikate • Beide Seiten einer Verzweigung ausführen • Nacher die falsche Verwerfen • Vermeidet Misprediction • Vorhersage • Statisch durch Programmierer • Dynamisch durch CPU

  12. 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

  13. 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

  14. 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

  15. Fliesskomma Einheit • multiply-accumulate (MAC) • Integermultiplikation in der FPU • Dedizierte Transfer/Transformationsmodi • SIMD in der FPU

  16. Speicher Anbindung/Verwaltung • 2^36 Bit phys. Adressen (64 GB) • 2,1 GB/s bei 2*133MHz*64 Bit

  17. 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)

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

  19. Mögliche Anwendungen • Wissenschaftliche Bereiche • Starke FPU • Grosse Datenbanken • Grosser Speicherbereich

  20. 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

  21. 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

  22. 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

More Related