Die Kernkomponente, die CPU, besteht selbst
wiederum aus mehreren Unter-Komponenten,
alle in einen gemeinsamen Mikrochip integriert.
Aufgrund der hohen Dichte von mikroelektronischen
Schaltkreisen und der hohen Taktgeschwindigkeit
kann die CPU eines Computers sehr heiß werden, was
die empfindlichen Schaltkreise verbrennen könnte —
deshalb muss sie mit einem Lüfter gekühlt werden.
Das Herz der CPU stellt die Steuereinheit dar,
eine Verschaltung, die Eingangs-, Ausgangs- und
Steuer-Leitungen bzw. -Register inklusive
Programmzeiger beinhaltet.
Wenn eine "Code-Zeile" vom Programmspeicher
gelesen wird, setzt dies das Befehlsregister
sowie ein oder mehrere Operandenregister
in der Steuereinheit. Dies wird als Phase des
Befehl-Holens (engl. "fetch") bezeichnet.
Das Ausführen (engl. "execute") des Befehls
erfolgt in der zweiten Phase der Steuereinheit.
Das Befehlsregister ist ein Verbund aus
Steuer-Leitungen, die in Form von Schaltkreisen
definieren, ob ein Operandenregister als
Speicher-Eingangswert (Konstante) oder als
Adresse (Zeiger/Variable) für eine Lese- oder
Schreib-Operation verwendet wird.
Es setzt auch die Adress-Gruppe, eine Art
Postleitzahl, um anzugeben, in welcher "Region"
des Computers die Adresse liegt.
Die CPU nutzt verschiedene interne Gruppen
sowie E/A-Ports (externe Gruppen).
Der RAM-Arbeitsspeicher ist nur eine dieser
Adressgruppen, Programme können aber diverse
weitere lesen und schreiben. Dazu gehören die
E/A-Ports zu und von E/A-Geräten, darunter auch so
einfache wie die Power-on-LED und der Pieper,
sowie spezielle CPU-Subprozessorgruppen
wie die mathematischen Rechenwerke
Arithmetik-Logik-Einheit (ALE)
und Fließkommaeinheit (FKE).
Um zwei Bytes zu addieren, werden beide Werte
in die Operandenregister der ALE geschrieben,
woraufhin der Addieren-Befehl das vorberechnete
Ergebnis ausliest. Die Operanden fungieren hier als
Adress-Koordinaten, die wie x,y oder Spalte,Zeile
auf eine Adresse in der ALE-Nachschlagetabelle
unter dem Versatz "Addition" verweisen.
Anders ausgedrückt ergeben beide Operanden
zusammengenommen, erweitert um den
Befehlsversatz, in diesem Beispiel die
eigentliche Adresse in das ROM der ALE.
(Nicht alle Ergebnisse werden in
ROM-Nachschlagetabellen hinterlegt,
manche lassen sich effizienter über
Boole'sche Verschaltungen live erzeugen.)
Ein so genialer wie notwenidger Trick ist es,
dass sogar der Programmzeiger vom Programm
überschrieben werden kann, so dass Programme
nicht nur in fester Abfolge linear von Anfang bis
Ende einmal ablaufen und das war's dann, sondern
dass sich Codezeilen in Abhängigkeit von
programmierten Bedinungnen wiederholen
wie auch überspringen lassen.
Und natürlich lässt sich als Ziel-Gruppe auch der
Programmspeicher schreiben, so dass Programme
nach Bedarf geladen und ausgeführt werden können.