> > > > IDF 2012: Haswell-Architektur: Breitere Pipelines und Caches

IDF 2012: Haswell-Architektur: Breitere Pipelines und Caches

Veröffentlicht am: von

idflogo2012Während des Intel Developer Forums gab Intel erste Einblicke in die Architektur der kommenden Haswell-Generation. Ein Vorteil der neuen Haswell-Generation soll seine erhöhte Single-Thread-Performance sein, die auf Verbesserungen bei der Architektur zurückzuführen sind. In einer Technical Session zeigte man den neuen Aufbau der Cores - zudem hat Intel bereits einen Einblick auf die Stromspartechniken zugelassen. 

Wie bei jedem Intel-Prozessor wurde wieder an der Branch Prediction Einheit gefeilt, das Front End des Prozessors wurde massiv verbessert, die Puffer vergrößert und die Anzahl der Execution Units erhöht (von sechs auf nun acht), während gleichzeitig deren Latenz verbessert wurde. Hinzu kommt eine größere Bandbreite bei den Caches, deren Größe aber zumindest im L1- und L2-Bereich identisch bleiben sollen.  

Optimierungen an der Architektur

Intel erreicht durch eine Erhöhung der Buffer Sizes eine bessere Paralellisierung von Workloads. Haswell hat im Vergleich zur Sandy-Bridge-Architektur in allen Bereichen (Out-of-Order Window, In-Flight Loads, In-Flight Stores, Scheduler Entries, Integer Register Files, FP Register Files und Allocation Queues) eine größere Buffer Size. Dabei hat Intel aber aufgrund der Effizienz darauf geachtet, die Buffer auf einem aufeinander abgestimmten Niveau zu halten und nicht zu sehr aufzublasen - denn ungenutzte Buffer verbrauchen nur Strom, bringen aber keinen Geschwindigkeitsvorteil mehr. 

Ein weiteres neues Kernfeature für Haswell sind Advanced Vector Extensions 2 (kurz Intel AVX2). Diese Befehlssatzerweiterung besitzt unter anderem jetzt 256-bit Integer Vectors, zudem wird Fused Multiply-Add unterstützt. Intel schafft es damit die Flops pro Taktzyklus bei Haswell zu verdoppeln. Als Resultat erhält man bei Anwendungen, die AVX2 nutzen, eine deutlich höhere Performance. Die Integer Instructions behandeln hauptsächlich den Bereich Indexing und Hashing, Kryptografie und Endian Conversion (MOVBE). Durch Fused Multiply-Add wird zudem das Rechenergebnis genauer, da bei einer getrennten Operation zwei Rundungsvorgänge vorhanden sind, bei der Abwicklung mit FMA jedoch nur einer enthalten ist.

Spannend sind die Verbesserungen bei der Cache-Bandbreite. Während die Größe für den L1-Instruction- und Data-Cache weiterhin bei 32K und einer 8-fach assoziativen Anbindung geblieben sind, hat Intel die Load- und Store-Bandbreite im Vergleich zu Sandy Bridge von 32 Bytes pro Cycle auf 64 Bytes pro Cycle für Load und von 16 Bytes/Cycle auf 32 Bytes/Cycle für Store aufgebohrt. Der L2-Cache bleibt ebenso bei 256K und 8-Fach assoziativer Anbindung, auch hier bohrt man die Bandbreite zum L1-Cache auf 64 Bytes/Cycle auf. Als wichtige Veränderung hat Intel zudem die Größe des Unified Translation Lookaside Buffers (L2 Unified TLB) auf eine Größe von 4K + 2M shared mit 1024 Einträgen aufgebohrt. Die Latenzzeit der Caches wurde trotz der Verbesserungen gleich behalten. 

Auch den System Agent und Last Level Cache hat Intel überarbeitet. Man bietet unter anderm mehr Bandbreite für den Shared Last Level Cache durch neue, dedizierte Pipelines, die Data und Non-Data-Zugriffe parallel behandeln können. Für den System Agent gibt es einen neuen Load-Balancer, der die Ressourcen effektiver verteilen kann. Zudem wird auch der DRAM Write Throughput durch bessere Queues und einen besseren Scheduler beschleunigt. Auch hier wurde aber auf eine niedrigere Energieaufnahme geachtet und insbesondere die Idle-Power gesenkt. 

Als weitere Architektur-Features ist die neue Intel TSX-Technik mit Lock Elision zu nennen. Zudem hat Intel die Geschwindigkeit für Roundtrips bei Virtualisierung in VT-x noch einmal deutlich beschleunigt, hier liegt man jetzt unter 500 Zyklen pro Roundtrip.

Optimierungen am Stromverbrauch 

Beim Stromverbrauch geht Intel den Weg weiter, möglichst alles abzuschalten, was nicht gerade benötigt wird. Interessant ist, dass Intel die Kerne vom LLC+Ring nun trennt und jeweils eine separate Frequency Domain anbietet. Dadurch soll eine genauere Steuerung der Taktraten möglich sein. Die Power Control Unit steuert dabei dynamisch das vorhandene TDP- oder Strom-Budget, wenn man ein Limit angibt. 

Als weiteres Feature hat Intel einen neuen Power-State im C7-Modus untergebracht. Hier werden alle Takte gestoppt, die Spannung wird vom Hauptteil der CPU genommen - selbst, wenn das Display noch aktiv ist. Die Zeitspanne zum Aufwecken aus dem C7 Modus und zum Schalten in andere C-Modi hat Intel dabei um 25% beschleunigt. Durch neue Idle-States für Tablets (S0ix) und eine neue C-State-Intelligenz möchte man den Stromverbrauch weiter senken - und schafft dies gegenüber Ivy Bridge auch massiv im Idle-Power-Bereich 

Auch hat Intel nun eine eigene Power-Domain für die Grafik - mit der CPU und dem System Agent ist dies also die dritte Power Domain. Intel kann die Spannungen für die CPU also so steuern, wie gerade Leistung benötigt wird - das sollte auch die Active Power reduzieren oder gleichzeitig eine höhere Taktung und höhere Turbo-Modi möglich machen.  

Durch diese Veränderungen ist auch zu erklären, warum Haswell in ersten Demonstrationen nur 8 Watt verbraucht hat: Die Grafik war hier zwar aktiv, aber viele andere Bereiche der CPU konnte Intel abschalten.