Intel Core i7-4770K

Tock, Tick, Haswell

Seite 1: Intel Haswell im Detail

Nachdem der letzte "Tock" in Intels Tick/Tock Modell bereits mehr als zwei Jahre her ist, bringt Intel mit der vierten Core-i Generation das erste größere Architektur-Update. Die unter dem Codenamen Haswell bekannte Prozessorarchitektur fand sich in Form des Core i7-4770K in unserer Redaktion ein. Was sich es neues gibt, wie die Performance und der Stromverbrauch ausfällt ist in unserem ausführlichen Review zu lesen.

Lesezeichen:


Vor gut einem Jahr debütierten Intels Ivy-Bridge Generation, in Intels Tick/Tock Modell ein kleineres Architektur-Update, also ein "Tick". Wollte Intel mit Anfang des Tick/Tock Modells noch alle zwölf Monate eine neue CPU-Generation vorstellen, hat sich dies auch mit Haswell wieder anders dargestellt. Nachdem Ivy-Bridge bereits später kam, kommt heute mit Haswell der nächste "Tock" in Intels Prozessor Roadmap auch leicht verspätet.

Mit neuem Sockel und neuen Chipsätzen konzentriert man sich auf den Mid-Range beziehungsweise Performance Bereich. Die High-End Plattform mit Sockel 2011 und ihren Sandy-Bridge Prozessoren wartet nach wie vor auf ein Update.

Architektur

Intel Haswell Quad Core Hero
Mit Blick auf den Die-Shot einer Haswell Quad-Core CPU sticht die Ähnlichkeit zu den beiden Vorgängern natürlich direkt ins Auge. Unter der Haube hat sich allerdings einiges getan, so gab es Verbesserungen an der Sprungvorhersage und Vergrößerungen von einigen internen Buffern. Des weiteren kann das Front-End jetzt Cache-Misses parallel abarbeiten und somit mehr Daten gleichzeitig nachladen, fehlen Daten im L1 oder L2 Cache können die Daten also parallel aus dem Arbeitsspeicher gelesen werden. Die Bandbreite an die angebundenen Caches wurde in vielen Teilen, bei gleichbleibender Latenz, verdoppelt.

Intel HSW Die Funct

Wer tiefergehende Informationen zu den Interna der Haswell Architektur haben möchte, dem sei das entsprechende PDF vom Intel Developer Forum Anfang des Jahres zu empfehlen.

Neben den Architektur-Verbesserungen gibt es mit Haswell eine ganze Reihe neuer Instruktionen. So kommen mit AVX2 neue Vektor-Befehlserweiterungen, wie AVX aber noch mit einer Breite von 256bit. Trotzdem soll mit den neuen Befehlen die theoretisch mögliche Performance unter bestimmten Umständen doppelt so hoch sein. Im Bereich Fused-Multiply-Add, also der Berechnung einer Multiplikation zusammen mit einer Addition in einem Schritt, sind neue Befehle hinzugekommen. Hier zieht man teils nach, da AMD gleichwertige Befehle bereits seit Bulldozer unterstützt. Von den neuen Befehlen profitieren sollen vor allem Audio/Video Programme und auch Spiele. Doch auch abseits der Vektorberechnung sind Befehle hinzu gekommen, so gibt es Neuerungen im Bereich Kryptographie und Bit-Manipulation.


Transactional Memory – TSX

Etwas spannender dürfte die TSX Erweiterung sein, hinter dem Kürzel verbirgt sich der vielversprechende Name Transactional Synchronisation Extensions. Mit TSX führt Intel zum ersten Mal Hardwareunterstützung für das fein-granulares Sperrkonzept "Transactional Memory" in einer für Endanwender verfügbaren Prozessorarchitektur ein. Bisher wurde das Konzept vor allem im universitären Bereich untersucht und hierfür in Software emuliert, kann nun aber dank kommender breiter Hardwareunterstützung auch in Software für Endanwender, abseits theoretischer Performance-Vorteile eingesetzt werden.
Doch der Reihe nach. Bei Software, welche von mehreren Kernen parallel abgearbeitet wird, ist es nötig die Threads zu synchronisieren, damit sich diese nicht in die Quere kommen. Von falschen Ergebnissen bis hinzu Programm-Stillständen gibt es eine ganze Reihe an Problemen die so umgangen werden müssen. Bei klassischen Sperren wird dabei meist eine komplette Datenstruktur gesperrt, so dass nur ein Thread darauf zugreifen kann, selbst wenn mehrere Threads unterschiedliche Daten in dieser Struktur ändern.

Beispiel: Mehrere Benutzer bearbeiten gleichzeitig eine Präsentation, jeder eine andere Folie. Verglichen mit klassischen Sperren wird nun oft, aufgrund hohem Fehlerpotenzial und hohem Optimierungsaufwand, die komplette Präsentation "gesperrt", so dass nur ein Benutzer Zugriff auf diese hat – alle anderen müssen warten.

Mit Transactional Memory werden die Zugriffe nun in Transaktionen in einem optimistischen Ansatz durchgeführt, heißt jeder Thread führt seine Berechnungen durch und versucht anschließend das Ergebnis zurückzuschreiben. Kam es zu Konflikten beim bearbeiten der "Transaktion", wird diese entweder nochmals durchgeführt oder aber die Datenstruktur mit klassischen Sperren geschützt.

Mit Blick auf unser Beispiel erkennt man schnell, dass hier einiges an Potenzial verborgen liegt, denn nun kann jeder Benutzer unabhängig seine eigene Folie bearbeiten, solange er keinem anderen in die Quere kommt.

Transactional Memory bietet dem Programmierer also eine einfache und weitaus weniger fehleranfällige Möglichkeit parallel auf einer Datenstruktur zu arbeiten. Man muss dazu aber auch sagen dass der mögliche Performance-Gewinn stark vom Algorithmus und dem grundlegenden Problem abhängt, so kann es unter Umständen auch aufgrund des Overheads, welcher durch die Transaktionen erzeugt wird, dazu kommen, dass ein Algorithmus mit klassischen Sperren schneller abgearbeitet wird als mit Transactional Memory.

Haswell bietet nun zwei unterschiedlicher Interfaces, um die TSX Erweiterungen zu nutzen. Zum einen wäre das "Hardware Lock Elision" (HLE), hierbei werden Hinweise in den Maschinencode geschrieben, welcher von älteren Systemen, die kein Transactional Memory in Hardware unterstützen, ignoriert werden. Die Software bietet also volle Kompatibilität zu aktuellen X86 Prozessoren, kann aber im Fall der Fälle deutlich an Performance zulegen. Keine Abwärtskompatibilität, dafür allerdings mehr Flexibilität bietet das "Restricted Transactional Memory" (RTM) Interface.


Deeper Idle States

Hohe Wellen schlugen auch die neuen Idle-States der Haswell Prozessoren, so ranken sich Mythen, dass man ein zertifiziertes Netzteil benötigt und das Haswell Systeme mit älteren Netzteilen nicht betrieben werden können.

Mit C7 führt Intel bei Haswell einen weiteren Schlafzustand ein, in dem die CPU fast komplett vom Strom getrennt wird. Der Stromverbrauch des Prozessors im Leerlauf soll hierdurch deutlich gesenkt werden. Da jedoch einige Netzteil Probleme damit haben könnten ist der C7 Idle-State im BIOS zumeist deaktiviert. Mit bis zu 4 Watt an Ersparnis ist es aber zu empfehlen die Option im BIOS zu aktivieren, sofern das Netzteil mitspielt. Bis auf den höheren Verbrauch gibt es aber im Betrieb mit älteren Netzteilen keinerlei Probleme. Die meisten Netzteilhersteller haben zudem Kompatibilitätslisten veröffentlicht, auf denen auch viele ältere Modelle gelistet sind.
Nächste Seite: Modelle und Chipsätze