Informatik · Klasse 7–13 · aktualisiert
CPU einfach erklärt: Aufbau, Ablauf und Leistung
Du lernst, wie die CPU Befehle verarbeitet: Rechenwerk, Steuerwerk, Register, Busse. Und warum Takt und Kerne allein nicht alles sagen.
0 von 13 Aufgaben gelöst
Kurz gesagt
Die CPU führt die Befehle eines Programms aus. Das Rechenwerk rechnet, das Steuerwerk lenkt den Ablauf, Register speichern Werte besonders schnell. Jeder Befehl wird geladen, dekodiert, ausgeführt und sein Ergebnis gespeichert. Die Leistung hängt nicht nur vom Takt ab.
Jedes Spiel, jede Chat-Nachricht und jedes Video wird am Ende von einem winzigen Chip bearbeitet: der CPU. Sie arbeitet Befehl für Befehl, und das milliardenfach pro Sekunde. Auf dieser Seite siehst du, woraus sie besteht, wie sie einen Befehl abarbeitet und woran man ihre Leistung beurteilt.
Deine Lernziele
Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.
4 Abschnitte
Die CPU (englisch Central Processing Unit, zentrale Verarbeitungseinheit) ist der Hauptprozessor. Man nennt sie das „Gehirn“ des Computers. Sie führt die Befehle aus, mit denen der Computer programmiert wurde.
Ein Prozessorkern besteht mindestens aus Registern, einem Rechenwerk, einem Steuerwerk und Datenleitungen. Diese Datenleitungen heißen Busse. Über sie spricht der Kern mit anderen Teilen des Computers.
Das Rechenwerk führt die Elementaroperationen durch, also die eigentlichen Berechnungen. Es kann rechnen, zum Beispiel zwei Zahlen addieren. Es kann auch logische Operationen wie AND oder OR ausführen. Das Rechenwerk besteht aus der ALU (arithmetisch-logische Einheit) und aus Arbeitsregistern.
Das Steuerwerk steuert den Ablauf der Befehlsverarbeitung. Dazu sendet es Steuersignale an andere Einheiten und empfängt Statussignale von ihnen. Im Steuerwerk sitzen der Befehlszähler, das Befehlsregister, der Befehlsdecoder und die Operationensteuerung. Der Befehlsdecoder übersetzt einen Maschinenbefehl in Anweisungen, die die nötigen Schaltungen aktivieren.
Register sind sehr schnelle Speicher direkt im Prozessor. Datenregister speichern die Zahlen, mit denen die ALU rechnet, und ihre Ergebnisse. Das Befehlsregister enthält den Befehl, der gerade ausgeführt werden soll. Der Befehlszähler zeigt auf den nächsten Befehl. Meist können Operationen nur mit den Werten in den Registern direkt ausgeführt werden.
Definition
Register
Register sind Speicherbereiche in der CPU, auf die der Prozessor besonders schnell zugreifen kann. Sie liegen direkt in der Nähe der Rechenwerke.
| Baustein | Aufgabe |
|---|---|
| Rechenwerk | führt die Berechnungen und logischen Operationen aus |
| Steuerwerk | steuert den Ablauf der Befehlsverarbeitung mit Steuersignalen |
| Register | halten Werte und Befehle besonders schnell bereit |
Teste dich
Ein Programm besteht aus vielen Maschinenbefehlen. Die CPU arbeitet sie nacheinander ab, jeden in einem eigenen Befehlszyklus. Man nennt ihn auch Fetch-Execute-Cycle. Je nach Prozessortyp und Befehlssatz gibt es verschiedene Ausprägungen dieses Schemas. Hier siehst du das Grundschema.
Befehl laden: Die CPU nimmt den Wert des Befehlszählers (auch Programmzähler genannt). Er sagt ihr, wo im Hauptspeicher der Befehl steht. Der Befehl wird in die CPU geladen und landet im Befehlsregister.
Befehl dekodieren: Die CPU ermittelt den Befehlscode und die Operanden. Operanden sind die Werte, mit denen der Befehl arbeitet. Außerdem wird ermittelt, wie sie adressiert werden müssen.
Operanden laden: Danach werden die Operanden in die CPU geladen. Wie das genau geht, hängt von der Adressierung ab.
Befehl ausführen: Der Befehl wird gemäß dem Befehlscode ausgeführt. Logische Befehle verarbeitet zum Beispiel das Rechenwerk.
Ergebnis speichern: Das Ergebnis wird im Hauptspeicher abgelegt. War der letzte Befehl ein Sprungbefehl, wird der Befehlszähler auf das Sprungziel gesetzt. Ein Sprungbefehl lässt das Programm an einer anderen Stelle weitermachen. Sonst erhält der Befehlszähler die Adresse des nächsten Befehls. Danach beginnt der Zyklus von vorn, solange kein HALT-Befehl ausgeführt wurde.
Jeder Schritt braucht je nach Komplexität des Befehlssatzes mehrere Taktzyklen.
Beispiel: Die Schritte im Überblick
- 1Befehl laden: Der Befehlszähler zeigt auf die Stelle des Befehls
- 2Befehl dekodieren: Befehlscode und Operanden werden ermittelt
- 3Operanden laden: Die benötigten Werte kommen in die CPU
- 4Befehl ausführen: Zum Beispiel rechnet das Rechenwerk
- 5Ergebnis speichern: Danach zeigt der Befehlszähler auf den nächsten Befehl
Merke: Die Reihenfolge lautet: laden, dekodieren, Operanden laden, ausführen, Ergebnis speichern. Dann geht es mit dem nächsten Befehl weiter.
Teste dich
Die CPU ist über Busse mit dem Arbeitsspeicher (auch Hauptspeicher oder RAM genannt) verbunden. Es gibt drei Arten von Leitungen.
Über den Datenbus werden Daten mit dem Arbeitsspeicher ausgetauscht, etwa die Informationen für die Arbeitsregister und das Befehlsregister. Der Adressbus überträgt Speicheradressen. So wird jeweils eine Speicherzelle des RAM ausgewählt. Mit dem Steuerbus steuert der Prozessor unter anderem, ob Daten gerade geschrieben oder gelesen werden sollen.
Beim Lesen eines Befehls läuft es so: Das Steuerwerk legt den Befehlszähler auf den Adressbus und signalisiert einen Leseimpuls. Der Inhalt der Speicherzelle liegt dann auf den Datenleitungen. Das Steuerwerk kopiert ihn ins Befehlsregister. Beim Speichern eines Ergebnisses legt das Steuerwerk die Adresse auf die Adressleitungen und die Daten auf die Datenleitungen. Dazu kommt ein Schreibimpuls. Danach muss die CPU genug lange warten, bis das RAM die Daten sicher aufgenommen hat.
Im PC bilden 64 Datenleitungen, bis zu 40 Adressleitungen und einige Steuerleitungen den Speicherbus.
Das Ein-/Ausgabewerk (englisch I/O Unit) steuert die Ein- und Ausgabe von Daten. Sie läuft zum Anwender (Tastatur, Bildschirm) oder zu anderen Systemen über Schnittstellen. Mitunter ist eine I/O-Unit in den Prozessor integriert.
Definition
Bus
Ein Bus ist ein Bündel von Signalleitungen, über das die CPU mit anderen Komponenten verbunden ist. Datenbus, Adressbus und Steuerbus haben verschiedene Aufgaben.
Beispiel: Ein Ergebnis in den Arbeitsspeicher schreiben
- 1Das Steuerwerk legt die Adresse auf die Adressleitungen
- 2Der Dateninhalt kommt auf die Datenleitungen
- 3Ein Schreibimpuls wird signalisiert
- 4Die CPU wartet, bis das RAM die Informationen sicher aufgenommen hat
Teste dich
Der Takt: Alle Vorgänge in der CPU laufen getaktet ab. Die Taktfrequenz gibt an, wie oft die Taktsignale kommen. Sie wird in Hertz (Hz) angegeben. Heutige PCs haben Taktfrequenzen von drei bis vier Gigahertz, also drei bis vier Milliarden Takte pro Sekunde. Bei 1 GHz dauert ein Takt eine Nanosekunde. Gleiche Frequenz heißt gleich lange Takte. Eine CPU mit höherer Taktfrequenz kann mehr Befehle pro Zeiteinheit ausführen.
Die Wärme: Solange ein Schaltkreis im Zustand „0“ oder „1“ bleibt, verbraucht er fast keinen Strom. Beim Umschalten steigt der Strombedarf steil an. Je höher der Takt, desto höher ist die Wärmeentwicklung. Eine bestimmte Dual-Core-CPU (D840) verwandelte 140 Watt auf 2 cm² in Wärme: 70 W/cm². Eine Kochplatte mit 750 Watt auf etwa 250 cm² kommt nur auf 3 W/cm². Ab Frequenzen von etwa 4 GHz war die Abwärme nicht mehr sinnvoll handhabbar. Gute Kühlung ist deshalb wichtig. Wie man kühlt, behandelt diese Seite nicht. Der Turbo-Modus erhöht den Takt kurzzeitig, je nach Auslastung der Kerne und Temperatur. Wird ein Kern zu heiß, macht er eine Abkühlpause. Speedstep senkt den Takt bei geringer Belastung automatisch und spart Strom.
Die Kerne: Ein Mehrkernprozessor hat mehr als einen vollständigen Prozessorkern in einem Chip. Er entstand, weil höhere Taktfrequenzen große technische Probleme verursachten. Theoretisch bringen n Kerne das n-fache an Rechenleistung. In der Realität wird das kaum erreicht. Die tatsächliche Steigerung hängt vor allem davon ab, wie gut die Software parallelisiert ist, also die Arbeit auf mehrere Kerne verteilt. Viele Anwendungen, insbesondere Büroanwendungen und Spiele, nutzen den zweiten Kern überhaupt nicht. Bei einer Doppelkern-CPU ist bei geeigneten Anwendungen eine Leistungssteigerung um 40 % bis 70 % realistisch. Bei Intel gibt es ab der 12. Core-i-Generation P-Cores und E-Cores auf einem Chip. Die E-Cores verbrauchen weniger Strom, die P-Cores erledigen Aufgaben schneller.
Weitere Faktoren: Ein Cache ist ein kleiner, schneller Zwischenspeicher. Er speichert die zuletzt verarbeiteten Daten und Befehle, damit man sie rasch wiederverwenden kann. Auch Größe und Anzahl der Register spielen eine Rolle. Die IPC-Rate (Instruktionen pro Taktzyklus) gibt an, wie viele Befehle die CPU pro Takt gleichzeitig abarbeiten kann. Selbst bei gleichem Befehlssatz und gleicher Taktrate können sich deshalb gravierende Leistungsunterschiede zeigen. Auch die Anbindung an den Arbeitsspeicher zählt. Zum Vergleichen reicht der Blick auf die Taktfrequenz nicht mehr aus.
| Faktor | Wirkung auf die Leistung |
|---|---|
| Taktfrequenz | mehr Takte pro Sekunde, aber mehr Wärme |
| Kernzahl | theoretisch n-fach, in der Realität hängt es von der Software ab |
| Cache | schneller Zwischenspeicher für zuletzt verarbeitete Daten und Befehle |
| IPC-Rate | mehr Befehle pro Takt bei gleicher Frequenz |
Merke: Ein hoher Takt oder viele Kerne allein sagen nicht alles: Auch Cache, Aufbau der CPU, Software und Wärme beeinflussen die Leistung.
Teste dich
Alles auf einen Blick
CPU
Rechenwerk
führt Berechnungen und logische Operationen aus
Steuerwerk
steuert den Ablauf der Befehlsverarbeitung
Befehlszyklus
laden, dekodieren, Operanden laden, ausführen, Ergebnis speichern
Busse
Datenbus für Daten, Adressbus für Speicheradressen, Steuerbus für Lesen oder Schreiben
Leistung
Takt, Kerne, Cache und IPC-Rate wirken zusammen, der Takt allein reicht nicht
Musteraufgabe · Schritt für Schritt
Ein Additionsbefehl im Befehlszyklus (ausgedachtes Beispiel)
- 1Ausgedacht: Der Befehl heißt „Addiere die Werte aus Register A und Register B“. In A steht 5, in B steht 3.
- 2Laden: Der Befehlszähler zeigt auf die Stelle des Befehls. Der Befehl kommt über den Datenbus ins Befehlsregister.
- 3Dekodieren: Der Befehlsdecoder ermittelt den Befehlscode „addieren“ und die Operanden A und B.
- 4Operanden laden: Beide Werte stehen schon in Registern, hier muss nichts nachgeladen werden.
- 5Ausführen: Das Rechenwerk rechnet 5 + 3 = 8.
- 6Ergebnis: Die 8 landet wieder in einem Register. Es war kein Sprungbefehl, also erhält der Befehlszähler die Adresse des nächsten Befehls.
Fehler finden
Prüfe die Aussagen zu Takt und Kernen In einer Zeile steckt ein Fehler. Tippe sie an.
Fehler in Zeile 4Das ist zu allgemein: Viele Anwendungen nutzen den zweiten Kern überhaupt nicht. Richtig: Die tatsächliche Steigerung hängt vor allem davon ab, wie gut die Software parallelisiert ist.
Lückentext
Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.
Bei einer Taktfrequenz von 1 GHz dauert ein Takt eine . Der enthält die Adresse des nächsten Befehls. Ob Daten gelesen oder geschrieben werden, meldet der Prozessor über den .
Karteikasten
Erst selbst überlegen, dann umdrehen.
Übung mit Feedback