1. Datenpfad und Steuerwerk: wer macht was
Ein Prozessor lässt sich grob in zwei Teile gliedern: den Datenpfad und das Steuerwerk. Der Datenpfad besteht aus genau den Bausteinen, die in den vorherigen Kapiteln behandelt wurden – ALU (Addierer, Multiplizierer), ein Satz von Registern (Flip-Flops, meist zu einer sogenannten Registerdatei mit 16 bis 32 Einträgen zusammengefasst) und Busse, über die Daten zwischen ihnen verschoben werden, mit Multiplexern an jeder Stelle, an der ausgewählt werden muss, welche Datenquelle gerade durchgeschaltet wird. Der Datenpfad selbst trifft dabei keinerlei Entscheidungen; er tut in jedem Taktzyklus exakt das, wozu ihn die an seinen Steuereingängen anliegenden Signale zwingen.
Konkret sind das typischerweise: die Adressleitungen der Registerdatei, die festlegen, welche zwei Register auf die ALU-Eingänge gelegt werden und in welches Register das Ergebnis zurückgeschrieben wird; ein Write-Enable-Signal, das dieses Zurückschreiben überhaupt erst freigibt; ein ALU-Opcode, der bestimmt, ob die ALU addiert, subtrahiert, eine logische Verknüpfung bildet oder schiebt; sowie diverse Mux-Select-Leitungen, die etwa festlegen, ob der zweite ALU-Eingang aus einem Register oder direkt aus einem in der Instruktion enthaltenen Konstantwert (Immediate) stammt. All diese Signale erzeugt das Steuerwerk, und zwar rein aus zwei Eingangsgrößen: dem aktuellen Taktzyklus innerhalb der Befehlsausführung und dem sogenannten Opcode, den ersten paar Bits der gerade auszuführenden Instruktion. Das Steuerwerk "versteht" dabei nichts im menschlichen Sinn – es ist selbst nur eine (unter Umständen sehr komplexe) kombinatorische und sequenzielle Schaltung, die für jede Kombination aus Opcode und Zyklus ein festes, vorher beim Entwurf festgelegtes Muster an Steuersignalen ausgibt.