Von-Neumann-Rechner – Das Steuerwerk
Du hast bestimmt schon mal etwas von „Übertakten“ gehört und vielleicht sogar deinen Prozessor selbst dieser Prozedur unterzogen. In diesem Beitrag erklären wir dir, was damit genau gemeint ist.
Inhaltsübersicht
Das Steuerwerk als das „Gehirn“ des Rechners
Um herauszufinden, was Übertakten so toll macht, müssen wir erst einmal verstehen, wie das Steuerwerk deines Rechners funktioniert. Denn dort laufen all die Prozesse ab, die dafür relevant sind.
Allgemein betrachtet ist das Steuerwerk so etwas wie das Gehirn des Rechners. Es befehligt alle anderen Komponenten und führt die in einem Programm festgelegten Arbeitsvorgänge durch.
Das EVA-Prinzip
Das macht es nach dem EVA-Prinzip. Das E steht hier für Eingabe. Bei diesem Schritt werden relevante Daten einzeln aus dem Speicherwerk ausgelesen. Dabei bedient sich das Steuerwerk der Adresse aus dem Adress-Memory-Port und lädt die Daten der dort adressierten Zelle mittels des Read-Memory-Ports in das Akkumulator-Register.
Danach wird die Operation beim Schritt V – der Verarbeitung – von einer Funktionseinheit ausgeführt. Ist das vollbracht, folgt Schritt drei: Die Ausgabe, bei der das Ergebnis der Operation aus dem Akkumulator-Register über den Write-Memory-Port in die, im Address-Memory-Port beschriebene Adresse geschrieben wird.
Jetzt muss nur noch der sogenannte Programm-Counter auf den nächsten Wert gesetzt werden und das ganze Spiel kann wieder von vorne losgehen. Der PC ist hierbei nichts anderes als ein Wegweiser, der die Adresse der nächsten zu adressierenden Speicherzelle enthält. Er kann entweder einfach eins hochgezählt werden – was für sequenzielle Programme der Fall ist – oder auf einen spezifischen Wert gesetzt werden.
Der Fetch-Decode-Execute-Zyklus
Das ist allerdings nur eine grobe Unterteilung des Vorgangs. Deswegen wird das Ausführen eines Programms nochmal untergliedert. Dazu gibt es den Fetch-Decode-Execute-Zyklus. Beginnen wir mit Fetch. Vorerst wird der nächste Befehl mittels der im PC angegebenen Adresse aus dem Speicherwerk über den Read-Memory-Port in das Instruktionsregister geladen.
Danach wird es decodiert. Das heißt: der gelesene Befehl wird entschlüsselt und einer Befehlsart zugeordnet. Darauffolgend wird er in seine Einzelteile, die Operatoren und Operanden, zerlegt. Beim Execute-Teil wird später dafür gesorgt, dass die Ausführung nach dem EVA-Prinzip erfolgt.
Steuersignale zwischen Rechenwerk und Speicherwerk
Um all diese Aufgaben zu koordinieren, nutzt das Steuerwerk sogenannte Steuersignale. Diese sorgen dafür, dass die Zusammenarbeit zwischen Rechenwerk und Speicherwerk reibungslos funktioniert. Die drei wichtigsten dieser Signale sind der Adress-Strobe-Befehl der Direction-Befehl und der Data Transfer Acknowledge Befehl. Diese treten meist in dieser Reihenfolge auf. Dabei kommt Adress Strobe – oft auch als A abgekürzt – direkt vom Steuerwerk und überbringt dem Speicherwerk die Nachricht, es soll die Daten aus der Adresse lesen, die zurzeit im Adress-Memory-Port steht. Ebenso erhält das Speicherwerk vom Steuerwerk mittels der Direction entweder den Wert 0 oder den Wert 1. Dabei steht 0 für einen Lesezugriff und 1 für einen Schreibzugriff.
Hat das Speicherwerk diesen Zugriff ausgeführt, sendet es den Data Transfer Acknowledge an das Steuerwerk.
Taktung des Steuerwerks
Jetzt sind wir endlich soweit, dass wir zu unserem anfänglichen Thema zurückkommen können:
Dem Takt. Jedes Steuerwerk ist getaktet. Während eines Taktes kann immer genau ein Fetch-Decode-Execute-Zyklus ausgeführt werden. In modernen Rechnern wird dies allerdings mit mehreren Kernen umgangen. Aber unabhängig von der Kernanzahl oder der Leistung des Prozessors laufen alle Vorgänge getaktet ab.
Was die Leistung eines Prozessors tatsächlich beeinflusst, ist nämlich nicht der Taktzyklus, sondern die Taktfrequenz. Ähnlich wie im Sport wird also die Leistung eines Prozessors dadurch festgelegt, wie viele „Runden“ er in einer festgelegten Zeit zurücklegen kann. Diese Runden messen wir in Hertz.
Unendlich schnelle Prozessoren?
Natürlich sind moderne Prozessoren um einiges schneller. Deswegen geben wir heute bereits deren Leistung in Megahertz an. Du fragst dich jetzt, ob du auch unendlich schnelle Prozessoren bauen kannst? Die Antwort ist simpel: Nicht mit der heutigen Bauweise von Chips. Das liegt daran, dass allein der Stromfluss in Kupferleitungen viel langsamer als Lichtgeschwindigkeit ist. Elektronen in Kupfer bringen es gerade einmal auf 20 cm/Takt.
Aber nicht einmal bis an diese Schwelle kommen wir. Wenn Strom fließt, entsteht nämlich auch Wärme. Damit ist unsere Prozessorgeschwindigkeit auch abhängig von unseren Kühlungsmöglichkeiten. Das ist übrigens auch der Grund, warum man einen Prozessor nicht mit dem mitgelieferten Kühler übertaktet. Die Leistung dieses Standard-Lüfters reicht nicht mehr aus, um den schnelleren und damit auch heißeren Prozessor zu kühlen. Würden wir noch verrückter sein und unseren Prozessor gar nicht kühlen, würde er uns in 10-30s komplett durchbrennen.
Wenn wir nun unseren Blick wieder auf das Gesamtsystem richten, sehen wir, dass wir uns mit noch einem weiteren Flaschenhals beschäftigen müssen: Den Speichereinheiten. Denn so schnell unser Prozessor auch sein mag, ohne Daten kann er nicht arbeiten.
Zusammengefasst heißt das: Wenn es eine Möglichkeit gäbe, Strom ohne Hitze mit Lichtgeschwindigkeit zu übertragen und Speichermedien auf einmal genauso schnell wären – dann könnte man tatsächlich unendlich schnelle Prozessoren bauen.
Aber bis die Technologie dafür existiert könnte es noch Jahre dauern – oder sie könnte vielleicht schon morgen marktreif sein. Also werden wir wohl gespannt warten müssen. Jetzt weißt du jedenfalls, wie dein Steuerwerk im Rechner arbeitet.