Prozessortakt und Maschinenzyklus
Einheit außerhalb des Systems · Größe: ein Synchronisationsintervall und ein Maß der Rechenarbeit
Im Herbst 2004 stellte Intel die Entwicklung eines Prozessors ein, der mit zehn Gigahertz laufen sollte, und das war kein technisches Scheitern, sondern das Eingeständnis einer physikalischen Wand: ein doppelt so schnell getriebener Chip verlangte die vierfache Leistung und schmolz schlichtweg. Das Frequenzrennen, das dreißig Jahre gedauert hatte, endete an einem einzigen Tag, und mit ihm die Gewohnheit, eine Maschine nach der Zahl auf der Schachtel zu beurteilen.
Der Takt selbst ist das Intervall zwischen zwei Flanken des Taktsignals, eben jener Schritt, mit dem alle synchronen Teile des Chips zugleich umschalten. Sein Kehrwert ist die Frequenz, und so dauert ein Takt bei fünf Gigahertz zwei Zehntel einer Nanosekunde, in denen das Licht sechs Zentimeter schafft, ein Signal auf einer Kupferbahn aber noch weniger — weniger als der Chip breit ist.
01 · Definition
Der Takt ist die Periode des Taktsignals, also das Intervall zwischen zwei gleichnamigen Flanken, bei denen die synchronen Elemente des Chips gemeinsam ihren Zustand ändern. Der Maschinenzyklus ist eine ganze Zahl von Takten, in der der Prozessor eine abgeschlossene Handlung ausführt; in der Pipeline-Maschine ersetzt man ihn durch das umgekehrte Maß — die Zahl der Takte je Befehl, deren eigener Kehrwert sagt, wie viele Befehle in einem Takt die Pipeline verlassen.
Die Länge eines Taktes ist nicht von der Natur gesetzt, sondern von der Verdrahtung des Chips: sie darf nicht kürzer sein als der langsamste Weg zwischen zwei Flipflops, samt der Laufzeit des Flipflops selbst und einer Reserve für die Streuung der Parameter. Daher der übliche Griff des Entwerfers — einen langen Logikweg in zwei Pipelinestufen zu zerschneiden: der Takt wird halb so lang, die Frequenz doppelt so hoch, und der Befehl geht nun die ganze Treppe.
Was die Frequenz begrenzt, ist jedoch nicht die Logik, sondern die Leistung: der dynamische Verbrauch wächst mit der Frequenz und mit dem Quadrat der Spannung, und die Spannung muss angehoben werden, damit die Schaltung bei der höheren Frequenz mitkommt. Die Wärme geht daher etwa wie die dritte Potenz der Frequenz, und an dieser kubischen Abhängigkeit blieb das Gigahertzrennen bei ungefähr vier stehen.
Schließlich ist der Takt eine Einheit, deren Länge nicht beständig ist. Die Leistungsverwaltung ändert die Frequenz hundertmal in der Sekunde, angepasst an Last und Temperatur, und darum lässt sich an der Zahl der Takte nicht die verstrichene Zeit ablesen, wohl aber die geleistete Arbeit: der Taktzähler zählt keine Sekunden, sondern Schritte der Berechnung, und darin liegt sein wahrer Wert.
Führen Sie die Frequenz mit dem Schieber und achten Sie auf zwei Kurven, die nach entgegengesetzten Seiten auseinandergehen. Die grüne ist die Strecke, die ein Signal in einem Takt schafft: je höher die Frequenz, desto kürzer dieser Weg, und bei fünf Gigahertz wird er kleiner als der Chip selbst. Die karmesinrote ist, was ein Griff in den Speicher an Takten kostet: seine Latenz in Nanosekunden ändert sich kaum, und in Takten wächst sie daher nur.
Hat der Entwerfer die Arbeit in Stufen zerschnitten, so verkürzt er den Takt, doch ein einzelner Befehl geht nun diese ganze Treppe, und seine eigene Latenz nimmt nicht ab, sondern zu. Der Gewinn stellt sich erst ein, wenn die Stufen mit verschiedenen Befehlen gefüllt sind, und bei einem falsch vorhergesagten Sprung muss die Pipeline vollständig geleert werden — je tiefer sie ist, desto teurer.
02 · Umrechnung
Frequenz, Periode, Arbeit
Geben Sie eine Frequenz oder eine Taktlänge ein, und das Blatt zeigt den Kehrwert, den Weg des Signals in einem Takt und die Kosten von Speicherzugriffen in Takten. Die erste Familie ist nach Definition genau, die zweite stützt sich auf Mittelwerte eines Kerns, die dritte auf die typischen Latenzen der heutigen Speicherhierarchie.
Die Ausbreitungsgeschwindigkeit des Signals auf der Leiterbahn ist mit sechs Zehnteln der Lichtgeschwindigkeit angesetzt; in den feineren Einstellungen des Blattes lässt sie sich auf die Hälfte ändern.
Nach der Frequenz vergleichen lassen sich nur gleiche Kerne, denn die Zahl der Takte je Befehl unterscheidet sich zwischen Architekturen um ein Mehrfaches: die eine Maschine nimmt in einem Takt vier Befehle, die andere kaum einen. Eben darum verschwand die Gigahertzzahl aus der Werbung, und an ihre Stelle traten Testreihen, die nicht mehr Takte messen, sondern geleistete Arbeit.
| Wert | Anmerkung | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · Größenordnungen
logarithmische Skala: vom Takt bis zum Zeitquantum des Schedulers04 · Messgeräte
Womit der Takt gesetzt und womit er gezählt wird
Als Quelle des Taktes dient ein Quarzplättchen, das gewöhnlich mit einigen zehn Megahertz schwingt, mit einer Genauigkeit von etwa zehn Millionsteln. Die Gigahertz auf dem Chip stammen nicht von ihm, sondern aus der Vervielfachung dieser Bezugsfrequenz, sodass die Stabilität der ganzen Maschine von einem Stück Mineral in der Größe eines Reiskorns geerbt wird.
Die Phasenregelschleife vergleicht die geteilte Frequenz des Oszillators mit der Bezugsfrequenz und dreht ihn nach, bis die Phasen übereinstimmen; durch Ändern des Teilers wird die Frequenz im Betrieb verstellt. Eben sie erlaubt es der Leistungsverwaltung, den Takt im Leerlauf auf einige hundert Megahertz zu senken und ihn für wenige Sekunden in den Turbo zu heben, solange thermische Reserve bleibt.
Im Kern sitzen Register, die Takte, ausgeführte Befehle, Cache-Fehlgriffe und falsch vorhergesagte Sprünge zählen, und lesen lassen sie sich unmittelbar aus dem laufenden Programm. Aus diesen Zahlen gewinnt man die Zahl der Takte je Befehl — das einzige ehrliche Maß dafür, wie gut der Code sich auf einen bestimmten Chip gelegt hat.
Um den Takt selbst zu sehen, braucht man ein Gerät, das Flanken mit einer Auflösung von wenigen Pikosekunden fängt, und dasselbe zeigt jene Dinge, wegen deren die Frequenz nicht weiter steigen kann: Phasenzittern, den Schiefstand der Signalankunft in verschiedenen Ecken des Chips und das Abflachen der Flanke auf einer langen Leitung.
05 · Schreibregeln
Takte und Hertz sind nicht dasselbe
Die Frequenz schreibt man in Hertz, mit großem Präfix bei Mega und Giga, die Zahl der Takte dagegen als schlichte ganze Zahl ohne jede Einheit, da der Takt keine SI-Einheit ist. Leistungskennzahlen schreibt man in Großbuchstaben ohne Punkte und mit dem Hinweis, auf welchen Kern sie sich beziehen; Frequenz und Leistung in einer Größe zu mischen ist nicht erlaubt.
Die erste Schreibweise vermengt zwei verschiedene Größen: eine Zahl von Takten ist dimensionslos, das Hertz hingegen misst die Frequenz. Die zweite verletzt die Groß- und Kleinschreibung des Präfixes, die bei Mega und Giga verbindlich ist. Die dritte vergleicht nach der Frequenz Architekturen, deren Takte je Befehl sich um ein Mehrfaches unterscheiden, und daraus folgt nichts. Die vierte nimmt eine veränderliche Größe für eine feste.
06 · Benachbarte Einheiten
Daneben stehen die Einheiten, die dieselbe Arbeit von anderen Seiten messen: das Hertz als Frequenz des Signals selbst, die Zahl der Gleitkommaoperationen je Sekunde und die Zahl der Befehle, die auf einen Takt entfallen. Alle folgen auseinander, sobald man die Frequenz und das Verhalten der Pipeline kennt.
Frequenz, eine SI-Einheit
ein dimensionsloses Maß
ein Maß der Rechenarbeit
Von den Datenblättern von Simetrium stehen daneben Hertz, das die Frequenz angibt, Sekunde und seine Teilerpräfixe, unix time, wo die Grenze ebenfalls vom Maschinenwort bestimmt wird, und das Bit s das Byte, mit denen gemessen wird, was ein Takt trägt.
07 · Historischer Teil
Dreißig Jahre Rennen und ein Tag der Absage
Der erste Ein-Chip-Prozessor lief mit einer Frequenz, die ein heutiger Chip im Bruchteil einer Mikrosekunde durchläuft, und für einen Befehl brauchte er acht Takte. Der Maschinenzyklus war damals wörtlich zu nehmen: Befehl holen, entschlüsseln, Daten holen, rechnen und schreiben — jede Stufe nahm ihren eigenen Takt, und alle gingen streng der Reihe nach.
Sobald die Stufen gelernt hatten, gleichzeitig an verschiedenen Befehlen zu arbeiten, zerbrach das gewohnte Maß: ein Befehl ging weiterhin fünf Takte, verließ die Pipeline aber jeden Takt. Man musste die Zählung umdrehen und von Takten je Befehl sprechen, die bei einer guten Maschine unter eins fielen — das heißt, in einem Takt wird mehr als ein Befehl fertig.
Eine Architektur mit einer Pipeline von einunddreißig Stufen war der Frequenz zuliebe gebaut und lief in die Wärme: die versprochenen zehn Gigahertz verlangten eine Kühlung, die in einem Schreibtischgehäuse undenkbar war. Das Vorhaben wurde eingestellt, und die Branche wandte sich der Mehrkernigkeit zu — nicht weil sie besser wäre, sondern weil das kubische Wachstum des Verbrauchs keinen anderen Weg ließ.
Ein heutiger Kern hat keine einzige Frequenz: im Leerlauf sinkt er auf einige hundert Megahertz, unter Last steigt er gegen fünf Gigahertz und hält sie, solange thermische Reserve bleibt. Die Zahl auf dem Datenblatt wurde zu einem Versprechen unter günstigen Bedingungen, und Maschinen danach zu vergleichen haben Hersteller wie Rezensenten aufgegeben.
Eine Einheit, deren Länge sich während der Messung ändert
Der Takt ist für den Metrologen unbequem eingerichtet: seine Länge setzt kein Normal, sondern die Verdrahtung des Chips, und sie ändert sich bei ein und demselben Prozessor hundertmal in der Sekunde, da die Leistungsverwaltung die Frequenz Last und Temperatur anpasst. Daher taugt der Taktzähler nicht zum Messen der Zeit, obwohl er äußerlich wie eine Uhr aussieht, und ein Programm, das ihm traut, irrt um so viel, wie die Frequenz gewandert ist.
Für die Aufgabe hingegen, um derentwillen der Takt entstand, passt er besser als jede Zeiteinheit. Indem wir Takte zählen, messen wir keine Dauer, sondern den Umfang der Rechenarbeit, und darum bleibt die Zahl der Takte je Befehl bei jeder Änderung der Frequenz vergleichbar — sie spricht davon, wie gut der Code sich auf den Chip gelegt hat, nicht davon, wie viele Sekunden vergangen sind.
Katalog · Maßeinheiten
Ein Datenblatt für jede Größe
Sieben SI-Basiseinheiten, zweiundzwanzig abgeleitete mit eigenem Namen und Größen außerhalb des Systems, ohne die weder Technik noch Kalender auskommen.