Prozessoren: Intels Core-i7-Architektur:
Mehr leisten - ohne mehr Leistung zu beanspruchen

von Bernd Reder (bernd.reder@networkcomputing.de), Stephan Gillich (Intel)

23.01.2009

Jede neuen CPU-Generation muss leistungsfähiger sein als ihre Vorgänger und Anwendungen beschleunigen. Aber das reicht nicht aus: Die Schnelligkeit darf nicht auf Kosten des Energiebedarfs gehen. Deshalb hat Intel bei seinen Core-i7-Prozessoren ein grundlegend neues Design gewählt. Es ist unter anderem deutlich besser für die Virtualisierung ausgelegt.

Seit Ende 2008 liefert Intel [1]seine Core-i7-Prozessoren auf Basis der neuen Core-Mikroarchitektur aus, die bis dato unter dem Codenamen Nehalem bekannt war. Die Core-i7-CPUs verfügen über vier Kerne mit Hyper-Threading Technik und verwenden den X58-Chipsatz.

Die Prozessoren passen ihre maximale Leistung automatisch an die jeweils benötigte Performance an und optimieren auch den Energieverbrauch je nach Arbeitslast. Darüber hinaus stehen Funktionen zur Virtualisierung im Mittelpunkt der neuen CPU-Familie.

Der Core-i7-Prozessor von Intel:Server-Versionen sollen in der ersten Jahreshälfte kommen.

Im Vergleich zu vorhandenen Xeon-CPUs wurde der Aufbau der Core-i7 CPUs und des Chipsatzes gründlich überarbeitet. Die neue Prozessorgeneration wird sowohl in Desktops als auch bei Server-Systemen Verwendung finden. Obwohl beide Rechnertypen für unterschiedliche Einsatzszenarien ausgelegt sind und auch in unterschiedliche Board-Designs eingebettet sein werden, ist der Kern der Mikroarchitektur derselbe.

Die gegenwärtig verfügbaren Modelle der Core-i7-Familie für Desktops sind der Core-i7-920 mit einer Taktfrequenz von 2,66 GHz, der Intel Core-i7-940 mit 2,93 GHz und der Intel Core-i7-965 Extreme Edition mit 3,2 GHz. Diese drei bieten, verglichen mit den Vorgängern, bis zu 40 Prozent mehr Leistung, und das bei gleichem Energiebedarf.

Intel geht davon aus, dass die Core-i7-965 Extreme Edition der zurzeit schnellste Prozessor der Welt ist. Die Markteinführung der CPUs für Server ist für das erste Halbjahr 2009 geplant.

Mainboards und Rechnersysteme bereits im Handel verfügbar

Passende Mainboards für die Desktop-Modelle mit dem X58-Chipsatz werden von den gängigen Mainboard-Herstellern wie Asus, Gigabyte, MSI und Intel bereits angeboten. Auch komplette Rechnersysteme finden sich im Sortiment der meisten PC-Hersteller, wie etwa bei Acer oder Dell. Bei diesen Systemen handelt es sich um Desktop-Systeme für Anwendungen, die einen hohen Leistungsbedarf aufweisen. Das ist beispielsweise beim Bearbeiten von Videos und Fotos der Fall.

Die Erweiterungen beim Server-Einsatz betreffen vor allem die Aspekte Hochverfügbarkeit, Zuverlässigkeit und das Gruppieren mehrerer CPUs in Mehrwege-Systemen. Der Kern der Architektur der Server- und Desktopmodelle ist identisch, deswegen gelten die folgenden Aussagen für beide.

Tief greifende Designänderungen für mehr Leistung

Mit dem Design der Core-i7-CPU baut Intel das Konzept aus, das der Hersteller bereits vor einigen Jahren mit der Einführung von Zwei- und Vierkern-CPUs präsentierte. Um die Leistung von Prozessoren zu verbessern, wurde über viele Jahre die Taktrate der CPUs immer weiter erhöht. Damit konnten Anwendungen schneller arbeiten, ohne dass Änderungen am Design der Programme erforderlich waren.

Ein höherer Takt ist die einfachste Möglichkeit, um Anwendungen leistungsfähiger zu machen. Aber diese Methode hat ihren Preis, denn höhere Taktfrequenzen treiben auch den Stromverbrauch in die Höhe.

Die Multi-Core-Technik biete einen Ausweg aus diesem Dilemma, weil sie effizienter ist. Aber auch hier ist die Annahme falsch, dass acht Kerne doppelt so schnell sind wie vier. Am Ende entscheiden bei x86-Mikroprozessoren mehr als nur Taktfrequenz und die Zahl der Kerne über die Leistung. Für künftige, noch schnellere Prozessoren sind unter anderem neue Befehlssätze und Verbesserungen am Cache notwendig. Zudem muss das Hardware-Thread-Scheduling verbessert werden.

Im Inneren der Core-i7-CPUs befinden sich vier Kerne; maximal acht sind in späteren Modellen geplant. Die vier Cores sind in der Lage, mehrere Prozesse parallel zu bedienen. Diese wiederum lassen sich einer einzelnen Applikation, aber auch mehreren Anwendungen zuordnen.

Das Betriebssystem verteilt die einzelnen Prozesse auf die Kerne der CPU.

Acht Threads für Parallelverarbeitung

Um die Rechenkerne optimal ausnutzen, sollten sie möglichst gleichmäßig ausgelastet sein. Ein Großteil der Server-Applikationen erfüllt bereits diese Anforderungen und ist für Multi-Threaded-Systeme ausgelegt.

Bei der Core-i7-Architektur sorgt zudem Hyper-Threading (Hyper-Threading Technology / HTT) dafür, dass Programmcode auf die bestmögliche Weise ausgeführt wird. erzielt. HTT ermöglicht eine bedingte Parallelverarbeitung von zwei Threads innerhalb eines Kerns.

Der Leistungsgewinn wird dadurch erreicht, dass die Ausführeinheit (Execution Unit) der CPU besser ausgelastet wird. Da jeder Kern der CPU beim Core-i7-Prozessor zwei Threads parallel bearbeitet, sind bei den derzeit angebotenen Core-i7-Modellen bis zu acht parallele Verarbeitungs-Threads vorhanden.

Durch mehrere Kerne, Hyper-Threading und die Verbesserungen der Architektur steigt der Leistungsdurchsatz von Prozessoren sowohl bei Multi-Threaded-Anwendungen als auch traditionellen Single-Threaded Applikationen. Dennoch werden Anwendungen immer unterschiedliche Lastprofile in den parallelen Threads aufweisen.

Die Herausforderung bei allen Techniken der parallelen Programmierung besteht ja gerade darin, die Applikation so aufzubrechen, dass sie die vorhandenen stehenden Rechenkerne möglichst gleichmäßig »beschäftigt«.

Die unterschiedlichen Lastkurven bei der Parallelverabeitung führen dazu, dass einzelne Kerne mehr, andere weniger ausgelastet sind. Prozesse mit hohem Bedarf an Rechenleistung werden die Performance ihres Kerns zu 100 Prozent nutzen, andere vielleicht nur zu einem Bruchteil. Manche Kerne bleiben komplett inaktiv.

Intelligentes Overclocking durch Turbo-Boost

Damit auch Anwendungen, die noch nicht auf Multi-Core-Umgebungen abgestimmt sind, in den Genuss der Leistungssteigerungen kommen, hat Intel eine neue Technik eingeführt: eine variable Taktung der einzelnen Kerne. So lasen sich mittels »Turbo-Boost« Cores, die hoch belastet sind, kurzfristig höher takten.

Funktionsweise von Turbo-Boost: Bei Bedarf werden die Taktfrequenzen von einzelnen Kernen der CPU erhöht. Kerne, die nicht benötigt werden, bleiben inaktiv und fressen daher auch keinen Strom.

Die Kerne ohne Auslastung bleiben inaktiv und verbrauchen nahezu keinen Strom. Das führt letztendlich dazu, dass die Ausführung der Anwendung schneller wird. Die Erhöhung der Taktrate durch Turbo-Boost erfolgt in zwei 133-MHz-Schritten.

Prinzipiell ist es möglich, die Frequenz für alle vier Kerne zu erhöhen. Das ist aber, wie beim Übertakten einzelner Kerne, nur dann möglich, wenn dabei die maximale Verlustleistung (Thermal-Design-Power, TDP) von 130 Watt nicht überschritten wird. Wenn Taktraten ausgelasteter Cores erhöht werden, operiert die CPU noch innerhalb dieser Spezifikationen und trotzdem steht die maximale Leistung für Prozesse zur Verfügung.

Zusätzlich lassen sich die Kerne in Ruhephasen fast vollständig deaktivieren. Diese Technik ist von Prozessoren für Notebooks her bekannt. Die Kerne verringern verringer auf diese Weise den Stromverbrauch des Gesamtsystems.

Positiv auf den Stromverbrauch wirkt sich außerdem der Fertigungsprozess aus. Die Core-i7-Prozessoren werden, wie alle anderen CPU-Modelle von Intel, in einem 45-Nanometer-Prozess gefertigt. Der Energiegewinn dabei ergibt sich aus der Vermeidung von Leckströmen in den Transistoren sowie aus einer höheren Transistordichte.

Quick-Path-Interconnect ersetzt den Front-Side-Bus

Mithilfe der Quick-Path-Interconnect-Technik erfolgt eine schnellere Abstimmung der CPUs untereinander. Diese Technologie löst den Front-Side-Bus (FSB) ab. Die Vorteile von Quick-Path-Interconnect: eine schnellere Kommunikation zwischen den CPUs in einem Mehrprozessorsystem und ein besseren Durchsatz bei der Kommunikation, beispielsweise mit Grafikkarte und Arbeitsspeicher.

Traditionelle Verknüpfung von Arbeitsspeicher, I/O-Systemen und CPU: Alle Daten liefern übern einen zentralen Memory-Controller. Dieser entwickelte sich vor allem bei Mehrkernprozessoren zum Flaschenhals.

Schneller Speicherzugriff via On-Chip-Speichercontroller

Neu bei den Core-i7-Prozessoren ist der Speicher-Controller. Er befindet sich nicht mehr außerhalb der CPU auf dem Chipsatz, sondern wurde in den Prozessor verlagert. Dadurch sinkt die Zeit beim Zugriff auf den Speicher.

Der Controller unterstützt DDR3-Speicherbausteine mit 800 MHz, 1066 MHz und einen Gesamtspeicher von 24 GByte. Nach ersten Benchmark-Messungen beschleunigt sich der Zugriff um den Faktor drei.

Bei Quick-Path ist der Speicher-Controller in die CPU integriert. Das erhöht den Durchsatz erheblich.

Weit reichende Virtualisierungsfunktionen in der CPU

Virtualisierung ist eine Technik, die in den kommenden Jahren erheblich an Boden gewinnen dürfte. Auch die Hersteller von Prozessoren müssen Virtualisierungsfunktionen in ihren Produkten unterstützen. Mithilfe von Extended-Page-Tables beispielsweise lassen sich die Speicherinhalte von virtuellen Gastsystemen schneller auf die darunter liegenden Speicherbereiche umsetzen, die ein Hypervisor verwaltet, etwa Vmware, Hyper-V oder Xen.

Zudem hat Intel in die Core-i7-Prozessoren eine Reihe von Funktionen (Intel-VT) integriert, die den Einsatz in virtuellen Umgebungen vereinfachen. VT-x hilft dem Hypervisor dabei, den Gastbetriebssystemen »klarzumachen«, direkt auf der Hardware zu laufen, die Prozesse der einzelnen Betriebssysteme jedoch voneinander abzuschotten.

Durch VT-Flex-Priority wird der Zugang der virtuellen Maschinen zu den Task-Priority-Registern optimiert. Die VT-Extended-Page-Tables wiederum verbessern den Zugriff auf die Speicherbereiche.

Eine beschleunigtes Umschalten zwischen den virtuellen Maschinen wird durch die VT-Virtual-Processor-ID erreicht. Eine Technik namens VT-Flex-Migration wiederum erleichtert die Migration virtueller Maschinen. Virtual Machines lassen sich auch dann auf ein anderes System portieren, wenn Quell- und Zielrechner mit unterschiedlichem CPU-Typen verwenden.

Ebenfalls in den Bereich Virtualisierung fällt VT-d (Virtualization Technology for Directed I/O). Die VT-d-Funktionen setzen nicht an der CPU an, sondern am Chipsatz. Sie sorgen für eine bessere Anbindung der virtuellen Maschinen an die Ein- und Ausgabe-Kanäle (I/O-Kanäle). Dies erlaubt beispielsweise den Treibern in den virtuellen Maschinen, direkt auf Hardware-Komponenten wie Grafik- und Netzwerkkarten zuzugreifen.

Fazit

Die Verbesserungen der Core-i7-Prozessoren sind ein gewaltiger Schritt nach vorn: Durch die Verbindung von vier Kernen, Hyper-Threading, Turbo-Boost und Quick-Path-Interconnect steigt die Verarbeitungsleistung für die Applikationen erheblich.

Die Verlagerung des Speicher-Controllers in die CPU sorgt dabei für einen schnellen Zugriff auf den Arbeitsspeicher. Die erweiterten Funktionen für Virtualisierung wiederum vereinfachen den Einsatz von Virtualisierungstechniken.

Der Autor: Stephan Gillich ist Director HPC and Workstation EMEA - EMEA Enterprise Marketing bei der Intel GmbH.

[1] http://www.intel.de