Skip to content

Vom Transistor zur CPU

Vorwort

Wie „denkt" ein Computer? Du weißt vielleicht, dass die CPU das „Gehirn" eines Computers ist – aber wie funktioniert dieses Gehirn eigentlich? Wie wird aus einem Haufen Metall und Plastik ein intelligentes Gerät, das Programme ausführen und Daten verarbeiten kann? Dieses Kapitel führt dich von den grundlegendsten Transistoren aus Schritt für Schritt durch die Funktionsweise einer CPU.

Was lernst du in diesem Artikel?

Nach diesem Kapitel wirst du Folgendes können:

  • Fachbegriffe verstehen: Begriffe wie „CPU-Taktfrequenz", „Mehrkernprozessor" oder „Befehlssatz" sind kein Rätsel mehr – du verstehst die physikalischen Prinzipien dahinter
  • Code-Ausführungsperspektive: Nachvollziehen, wie eine Codezeile die Schritte Fetch, Decode, Execute und Writeback durchläuft und schließlich zu Pixeln auf dem Bildschirm wird
  • Abstraktionsschichten-Denken: Verstehen, wie jede Schicht Dienste für die nächsthöhere bereitstellt und gleichzeitig die Komplexität der darunterliegenden verbirgt
  • Grundlage für Weiterführendes: Basiswissen für Computerarchitektur, Embedded-Entwicklung und Performance-Optimierung
KapitelInhaltKernkonzept
Kapitel 1TransistorenDie Schalter der digitalen Welt
Kapitel 2LogikgatterPhysikalische Umsetzung der Booleschen Algebra
Kapitel 3FunktionseinheitenAddierer, Register, Multiplexer
Kapitel 4CPU-KernFetch, Decode, Execute, Writeback

0. Gesamtbild: Vom Sand zur Intelligenz

Bei der Erforschung der Grundlagen von Computern stößt man unweigerlich auf eine fundamentale Frage: Woher kommt die Fähigkeit moderner Computer zu „denken"?

Wenn man das glänzende Gehäuse eines Computers öffnet, sieht man meist nur einen Haufen Metall, Plastik und Siliziumchips. Sie sind nicht lebendig, verstehen keine Mathematik und wissen erst recht nichts von Intelligenz. Doch sobald elektrischer Strom durch sie fließt, beginnt alles zu arbeiten. Im Kern geht alles auf eine denkbar einfache physikalische Abstraktion zurück: den Schalter.

Stell dir einen Lichtschalter vor, der eine Glühbirne steuert. Drückst du ihn, leuchtet die Birne – das steht für „1". Schaltest du aus, erlischt sie – das steht für „0". Was passiert, wenn wir Milliarden solcher Schalter haben und den Ausgang eines Schalters den Eingang eines anderen steuern lassen, um daraus ein unvorstellbar komplexes logisches Netzwerk zu bilden?

Die Antwort ist eine universelle Rechenplattform, die beliebige Logik ausführen kann. Der Schlüssel zum Verständnis von Computersystemen liegt in der Abstraktion. Wie bei Bauklötzen kontrollieren wir die Komplexität der unteren Ebenen durch gestaffelte Kapselung. Hier sind die vier Kernschichten vom Sand zur Intelligenz:

Schichtweise Dekonstruktion: Vom Sand zur Intelligenz

  • Schicht 1: Transistoren (Milliarden) Dies sind die „Schalter" auf der untersten Ebene. Moderne CPUs verwenden hauptsächlich MOSFETs (Metall-Oxid-Halbleiter-Feldeffekttransistoren). Legt man eine Spannung ans Gate an, wird der Kanal zwischen Source und Drain leitend. Das ist der physikalische Ausgangspunkt von „Elektrizität steuert Elektrizität". Kernfrage: Wie steuert ein elektrisches Signal ein anderes elektrisches Signal?

  • Schicht 2: Logikgatter (Milliarden) Wenn wir bestimmte Transistoren in Reihe oder parallel schalten, geschieht ein wunderbarer Wandel: Die Schaltung wird zur Mathematik. Ein AND-Gatter beispielsweise gibt nur dann 1 aus, wenn beide Eingänge 1 sind. Das ist die Abbildung der Booleschen Algebra auf physikalische Schaltungen. Kernfrage: Wie wandeln wir physikalisches Ein/Aus in Logikoperationen auf Basis von 0 und 1 um?

  • Schicht 3: Funktionseinheiten (Hunderte) Durch das Zusammensetzen grundlegender Logikgatter entstehen Rechenmodule mit spezifischem Zweck. Addierer führen arithmetische Operationen aus, Multiplexer steuern den Datenfluss und Register verleihen der Schaltung die Fähigkeit, sich zu erinnern. Kernfrage: Wie konstruieren wir eine Maschine, die Additionen ausführen und Zustände speichern kann?

  • Schicht 4: CPU-Kerne (1–128 Kerne) Dies ist das Befehlszentrum der gesamten Mikroarchitektur. Wenn du eine Codezeile schreibst, arbeiten die Komponenten im Inneren der CPU milliardenfach pro Sekunde zusammen und durchlaufen den gesamten Zyklus aus Fetch, Decode, Execute und Writeback. Kernfrage: Wie bringen wir alle Module dazu, koordiniert zusammenzuarbeiten und automatisch eine vorgegebene Programmsequenz auszuführen?


1. Transistoren: Die Schalter der digitalen Welt

Beginnen wir in der mikroskopischen Welt. Die folgende Komponente zeigt das Grundprinzip eines Transistors – probiere sie aus und beobachte, wie der Strom fließt:

MOSFET transistor diagram -- click to toggle Gate voltage
Source
Source
Gate0
Open -> output 0
Drain
Drain
👆 Click to toggle Gate voltage

1.1 Was ist ein Transistor?

Konzepteinführung

In der Ingenieurwissenschaft ist der Transistor ein Halbleiterbauelement, das die Menschheitsgeschichte verändert hat. Im Kontext digitaler Schaltungen können wir ihn direkt als perfekten „Schalter" abstrahieren.

Warum brauchen wir Transistoren? Denk an einen Wasserhahn im Alltag. Du drehst das Ventil mit der Hand auf, und Wasser strömt heraus. Ein Transistor ist im Grunde ein Wasserhahn im Nanomaßstab:

  • Source und Drain sind wie die beiden Enden eines Wasserrohrs.
  • Das Gate ist das Ventil, das den Wasserfluss steuert.

Der entscheidende Unterschied: Wir drehen den Schalter nicht mit der Hand, sondern mit einem Spannungssignal. Sobald ein Schalter vom elektrischen Signal eines anderen Schalters gesteuert werden kann, haben wir die riesige Kluft zwischen „menschlichem Eingriff" und „automatischer Berechnung" überwunden.

1.2 Wie stellen Transistoren 0 und 1 dar?

Du fragst dich vielleicht: Was bedeutet das „Computer kennen nur 0 und 1" in der physikalischen Welt? Fließen im Chip wirklich winzige Nullen und Einsen?

Natürlich nicht. Alles beruht auf einer von Menschen gemachten Abstraktionsvereinbarung. Wir müssen uns von der Vorstellung kontinuierlicher analoger Signale lösen und zwei extreme Schwellwerte festlegen:

  • Wir definieren eine hohe Spannung (z.B. 3,3 V oder 1,0 V) willkürlich als logische 1 (True).
  • Wir definieren eine niedrige Spannung (nahe 0 V) willkürlich als logische 0 (False).

Das ist die sogenannte digitale Abstraktionsfähigkeit: Wir zerschneiden die verrauschte analoge Welt kurzerhand in saubere Nullen und Einsen. Liegt am Gate eine hohe Spannung an, leitet der Transistor – der Schalter ist geschlossen. Liegt eine niedrige Spannung an, ist der Schalter geöffnet.

1.3 Die Entwicklung der Transistoranzahl

Ein einzelner Transistor kann nur zwischen Ein und Aus schalten – das wirkt unbedeutend. Aber was passiert, wenn wir Milliarden solcher Schalter kombinieren? Sieh dir die folgende Tabelle an, die Moores Gesetz veranschaulicht und die Entwicklung moderner Chips zeigt.

MeilensteinProzessor-ChipTransistoranzahlFertigungsknotenBedeutung
1971Intel 40042.30010 µmBeginn der Mikroprozessor-Ära
1993Intel Pentium3,1 Mio.800 nmMassenverbreitung des PCs
2006Intel Core 2 Duo291 Mio.65 nmMehrkernarchitektur wird Standard
2020Apple M116 Mrd.5 nmRevolution durch mobile Architektur
2023Apple M3 Max92 Mrd.3 nmAn der atomaren Grenze der Physik

Zum Nachdenken: Was bedeutet „3 nm"? Wenn wir in den Nachrichten von 5 nm oder 3 nm hören, können wir uns vorstellen, wie winzig das ist. Ein Siliziumatom hat einen Durchmesser von etwa 0,2 Nanometern. Bei einer 3-nm-Fertigung ist die kritischste Transistorstruktur nur wenige Dutzend Atome breit! Das bedeutet: Wir bauen die gewaltigste Rechenfestung der Menschheit an der Grenze, wo die Gesetze der Quantenmechanik wirksam werden.


2. Logikgatter: Rechnen mit Schaltern

2.1 Vom Transistor zum Logikgatter

Wie bereits gesagt, ist ein einzelner Transistor nur eine einfache Stromsteuerung. Doch wenn man mehrere Transistoren in bestimmten Strukturen anordnet, wird aus Physik mathematische Logik. In dieser neuen Dimension sprechen wir nicht mehr von mühsamen Spannungen und Strömen, sondern direkt von reiner logischer „Wahrheit" (1) und „Falschheit" (0).

Verschaffe dir mit der folgenden Logikgatter-Demo einen intuitiven Eindruck von der Wirkung der Schalterkombinationen:

Four Basic Logic GatesThe building blocks of all digital computing
ANDAND gate
Operation:A ∧ B
Outputs 1 only when both inputs are 1
Series switches: both switches must be closed
Truth table
ABOutput
000
010
100
111
OROR gate
Operation:A ∨ B
Outputs 1 when at least one input is 1
Parallel switches: either switch can close the circuit
Truth table
ABOutput
000
011
101
111
NOTNOT gate
Operation:¬A
Inverts the input: 0 becomes 1, 1 becomes 0
Inverter: on becomes off, off becomes on
Truth table
AOutput
01
10
XORXOR gate
Operation:A ⊕ B
Outputs 1 only when the two inputs are different
Difference detector: different means true
Truth table
ABOutput
000
011
101
110
Core idea: Logic gates turn physical circuit on/off states into mathematical true/false operations. They are the bridge from hardware to software logic.

2.2 Einführung in die grundlegenden Logikgatter

In unserer Computerarchitektur gibt es einige grundlegendste Logikgatter. Alle Supercomputer sind aus diesen Bausteinen aufgebaut:

  • AND-Gatter:

    • Regel: Der Ausgang ist nur dann 1, wenn alle Eingänge 1 sind.
    • Intuitive Erklärung: Zwei Transistoren in Reihe schalten. Der Strom muss beide Sperren gleichzeitig passieren. Wie bei einem Banktresor, für den Manager und Vorgesetzter jeweils ihren eigenen Schlüssel einstecken müssen.
  • OR-Gatter:

    • Regel: Der Ausgang ist 1, sobald mindestens ein Eingang 1 ist.
    • Intuitive Erklärung: Zwei Transistoren parallel schalten. Mehrere parallele Pfade – sobald ein Weg offen ist, kann der Strom fließen.
  • NOT-Gatter (Inverter):

    • Regel: Eingang 1 erzwingt Ausgang 0, Eingang 0 erzwingt Ausgang 1.
    • Intuitive Erklärung: Ein spezielles Gatter zum Umdrehen von Zuständen, auch ein wichtiges Element zur Signalaufbereitung im Schaltungsdesign.
  • XOR-Gatter (Exklusiv-ODER):

    • Regel: Der Ausgang ist genau dann 1, wenn die beiden Eingänge unterschiedlich sind.
    • Intuitive Erklärung: Du kannst es dir als eine präzise Maschine zur „Unterschiedserkennung" vorstellen. Es ist das Killer-Feature für die binäre Addition in Schaltungen.

2.3 Addition mit Logikgattern

Wenn die eben vorgestellten Logikgatter nur einfache Bedingungen prüfen können – wie führt ein Computer dann eigentlich mathematische Berechnungen aus?

From Hand Addition to Logic GatesHow can computers do math with only 0 and 1? Follow the pattern.
Step 1: Recall carrying in decimal addition
1
7
+5
12

Because 7 + 5 = 12, the result is larger than the largest single digit (9). We split 12 into "one full 10" and "the remaining 2":

  • 2 The remaining 2 stays in the current column. This is the sum bit.
  • The full 10 carries a 1 into the tens column. This is the carry.
Step 2: The four binary addition cases
+=00

0 + 0 = 0. Write 0 in this column, with no carry.

Step 3: Name the patterns as circuits
ABCarrySum
0000
0101
1001
1110
Sum Sum pattern:
The sum is 1 only for inputs (0,1) or (1,0). It is 1 only when the two inputs are different.
In circuits, this pattern is called XOR.
Carry Carry pattern:
The carry is 1 only for inputs (1,1). It is 1 only when both inputs are 1.
In circuits, this pattern is called AND.

Kombinieren wir also ein XOR-Gatter (berechnet das Summenbit) und ein AND-Gatter (berechnet den Übertrag), erhalten wir eine Schaltung, die zwei einstellige Binärzahlen addieren kann – den grundlegenden Halbaddierer (Half Adder).

Half Adder -- Interactive DemoClick inputs A and B to see the result for one binary column
+=00
▲ Carry: pass a 1 to the column on the left ▲ Sum: the digit written in this column
0 + 0 = 0. Write 0 in this column, with no carry.
All possible cases
ABWrite (sum)Carry
0000
0110
1010
1101

Look closely at the table and two patterns appear:

  • The sum column is 1 only when A and B are different. This is XOR.
  • The carry column is 1 only when A and B are both 1. This is AND.
The circuit is connected like this:
A = 0
B = 0
XOR gate
Different -> 1
Output: 0
AND gate
All 1 -> 1
Output: 0
Sum
0
Carry
0

Doch der Halbaddierer hat einen entscheidenden Nachteil: Er hat physikalisch nur zwei Eingänge (A und B).

Stell dir eine schriftliche Dezimaladdition vor (z.B. 19 + 22):

  • Einerstelle: 9 + 2 = 11. Nur zwei Zahlen addieren, schreibe 1, Übertrag 1. Genau zwei Eingänge – der Halbaddierer meistert das perfekt.
  • Zehnerstelle: Nicht nur 1 + 2, sondern zuzüglich des Übertrags von der Einerstelle (also 1 + 2 + 1 = 4). Bei mehrstelligen Zahlen müssen alle Stellen außer der niederwertigsten tatsächlich drei Zahlen addieren!

Da der Halbaddierer keinen dritten Eingang für den „Übertrag von der vorherigen Stelle (Carry-in)" hat, ist er außer für die rechteste Stelle unbrauchbar. Um dieses Problem zu lösen, brauchen wir den Volladdierer (Full Adder), der drei Signale verarbeiten kann:

Full Adder -- Interactive DemoA full adder adds one more input: carry-in (Cin) from the lower bit. Click the three inputs to try it.
++=01
ABCarry-inCarrySum
1 + 0 + 0 = 1. Write 1 in this column, with no carry.
Compared with a half adder: A full adder adds a third input: carry-in (Cin). In multi-bit addition, each column adds A, B, and the carry from the column on the right.
All 8 cases (3 inputs -> 2³ = 8)
ABCinSumCarry
00000
00110
01010
01101
10010
10101
11001
11111
Inside a full adder = two half adders in series
Step 1: Half adder 1
First calculate A + B
A = 1B = 0
Intermediate sum: 1Carry 1: 0
Step 2: Half adder 2
Add the intermediate sum and carry-in
Intermediate sum = 1Cin = 0
Sum: 1Carry 2: 0
Step 3: Merge carries
If either carry path is 1, carry 1 into the next higher bit.
Carry 1 = 0Carry 2 = 0
Final carry: 0

Durch die Kaskadierung mehrerer Volladdierer lässt sich eine mehrstellige Addition realisieren:

Ripple Carry AdderCascade multiple full adders to perform multi-bit binary addition
CascadeLower-bit Cout connects to higher-bit Cin
RippleCarry propagates bit by bit like a wave
OverflowThe highest bit produces a carry beyond the range
Bits:
+=13
A0111(7)
B0110(6)
=1101(13)
Adder cascadeHover to inspect each bit calculation
Bit 0Half adder
A1B0
Sum1Cout0
Bit 1Full adder
A1B1Cin0
Sum0Cout1
Bit 2Full adder
A1B1Cin1
Sum1Cout1
Bit 3Full adder
A0B0Cin1
Sum1Cout0
Overall calculation
Input:A = 7 (0111), B = 6 (0110)
Process:Start at bit 0, compute each sum and carry, and propagate carries toward higher bits.
Result:1101 = 13
Core idea: Carry ripples from the lowest bit to the highest bit, which is why this circuit is called a ripple carry adder. More bits increase delay, but the circuit stays simple.

Kernanalyse: Den Addierer zerlegen

Um realistischere, komplexere Zahlen zu verarbeiten, werden Addierer wie Bauklötze zusammengesetzt:

  1. Halbaddierer (Half Adder) : Kann zwei einzelne Bits addieren (die oben beschriebene Kombination aus XOR- und AND-Gatter). Er berechnet Summe und Übertrag, kann aber keinen Übertrag von einer niedrigeren Stelle empfangen.
  2. Volladdierer (Full Adder) : Bei mehrstelligen Berechnungen muss die mittlere Stelle neben A und B auch den Übertrag der niedrigeren Stelle (Carry In) verarbeiten. Wird dieser Übertrag in die Logik einbezogen, entsteht ein Volladdierer.
  3. Ripple-Carry-Addierer (Ripple Carry Adder) : Um 32- oder 64-Bit-Zahlen zu verarbeiten, schaltet man einfach Dutzende Volladdierer in Reihe. Das Übertragssignal wandert dann wie eine Welle von den niedrigen zu den hohen Stellen und führt so Additionen beliebiger Größe aus.

Möchtest du den gesamten Prozess von Logikgattern bis zur mehrstelligen Addition auf einmal verstehen? Probiere diese umfassende Demo:

Complete Adder DemoFrom logic gates to multi-bit addition -- abstraction layer by layer
Layer 1: Logic gates
The basic operation units. Each gate performs one Boolean operation.
AND gateOutputs 1 only when all inputs are 1
OR gateOutputs 1 when any input is 1
XOR gateOutputs 1 when inputs differ
&
AND gateA AND B
0001
>=1
OR gateA OR B
0111
=1
XOR gateA XOR B
0110
1
NOT gateNOT A
10
Core idea: Logic gates turn voltage levels (0/1) into Boolean operations (false/true). They are where hardware starts implementing math.
Abstraction layers
Logic gates
Half adder
⊞⊞Full adder
[]Multi-bit adder
CPUALU/CPU

3. Funktionseinheiten: Kombinationen von Logikgattern

Mit den Bausteinen der Logikgatter in der Hand können wir nun zur nächsthöheren Abstraktionsebene aufsteigen. Einfaches Addieren reicht nicht aus – wir verpacken Gruppen von Logikgattern zu Modulen mit spezifischen Funktionen. Diese Module nennen wir Funktionseinheiten (Functional Units) .

3.1 Klassifizierung gängiger Funktionsmodule

Beim CPU-Design gibt es einige bewährte, klassische vorgefertigte Module:

ModulnameKernaufgabeInterne LogikstrukturPerfekte Alltagsmetapher
Addierer (Adder)Führt verschiedene arithmetische Operationen ausFortgeschrittene bitweise Kaskadierung massenhafter VolladdiererUnermüdlicher Abakus
Multiplexer (MUX)Steuert den Datenfluss, realisiert Mehr-zu-eins-KanalGeschickte Kombination aus AND-Gattern als Schalter und OR-Gattern zum ZusammenführenPräzise Weiche im Gleisnetz
DecoderEntschlüsselt und übersetzt eingehende binäre BefehleGatter-Array, das basierend auf dem Eingangszustand genau einen Ausgang aktiviertCodeknacker und Übersetzer
FlipflopÜberwindet die Flüchtigkeit elektrischer Signale, speichert ZuständeÄußerst raffinierte kreuzgekoppelte Rückkopplungsschleife als bistabile StrukturWippe, die ihren Zustand hält

Um ein intuitives Gefühl für die Arbeitsweise dieser Funktionseinheiten zu bekommen, kannst du die folgende Komponente bedienen und dir die interne Logik von Multiplexer und Decoder ansehen:

Common Functional Units -- switch modules to see how they work
Multiplexer (MUX): like a railway switch, it uses the select signal to decide which data input passes through.
Data 0 (D0)
Data 1 (D1)
MUX
Select (Sel)
Output (Out)0

The select signal is 0, so the output equals data 0 (D0): 0

Experimentiere mit der folgenden Komponente und entdecke selbst den faszinierendsten Teil – wie Erinnerung aus dem Nichts entsteht:

CPU Register FileHigh-speed storage inside the CPU
Special Registers
PC
0x00401000
Program counter
IR
0x8B450008
Instruction register
MAR
0x00401000
Memory address register
MDR
0x00000000
Memory data register
ACC
0x0000001A
Accumulator
General Purpose Registers
RAX
0x00000000
Return value
RBX
0x00000000
Base register
RCX
0x00000000
Counter register
RDX
0x00000000
Data register
RSI
0x00000000
Source index
RDI
0x00000000
Destination index
RBP
0x00000000
Base pointer
RSP
0x7FFDE000
Stack pointer
Program Status Word (PSW / FLAGS)
CF0Carry flag
PF0Parity flag
AF0Auxiliary carry
ZF0Zero flag
SF0Sign flag
OF0Overflow flag
Registers vs Memory
FeatureRegisterMemory (RAM)
LocationInside the CPUOutside the CPU
Access speedFastest (< 1ns)Slower (50-100ns)
CapacityTiny (bytes)Large (GB)
RoleHold instructions, operands, and resultsStore programs and data

3.2 Register: Die Speichereinheit für Daten

Neben dem Rechnen muss ein Computer Daten auch langfristig oder temporär speichern können. Ginge während der Berechnung die Erinnerung an den vorherigen Zustand verloren, wäre jede komplexe Berechnung unmöglich. Ein Computer muss über eine Möglichkeit verfügen, vergangene Zustände festzuhalten – diese Fähigkeit verdankt er hauptsächlich einer Schaltungsstruktur namens Flipflop.

Vertiefung: Erinnerung ist im Wesentlichen eine Schleife

Bei den meisten Logikschaltungen fließt das Signal vorwärts (Feedforward-Schleife). Um ein dauerhaftes „Gedächtnis" zu erzeugen, ersannen frühe Pioniere ein geniales Design: das Ausgangssignal auf den Eingang zurückführen.

Wie eine ausgeklügelte Wippe mit zwei stabilen Ruhepunkten. Solange keine äußere Störung einwirkt, verharrt sie durch ihr geschlossenes Regelkreisdesign dauerhaft in „links hoch, rechts runter" (das steht dann z.B. für „0") oder im umgekehrten Zustand (für „1"). Selbst flüchtige Zustandsänderungen werden durch die gegenseitige Verriegelung des Regelkreises langfristig „eingeschlossen".

Wenn wir 32 oder 64 solcher Flipflops sauber in einer Reihe anordnen und ihnen dasselbe starke Taktsignal (Clock) als gemeinsamen Taktgeber geben, entsteht das Register. Es sitzt im Herzen des CPU-Systems, dient als blitzschneller „Arbeitsnotizzettel" und bewacht still und zuverlässig jede deiner aktuell wichtigen Variablen.

Erlebe den Prozess des Unterbrechens und Wiederherstellens des Regelkreises selbst mit der folgenden interaktiven Demo:

From Flip-Flops to Registers: The Feedback Loop of Memory
Change the data and observe it: without a clock signal, the output feeds back to the input and the closed loop preserves memory.
Data Bus (Data Input)
1
0
1
0
Gate
🔒
4-bit Register (Stored State)
0
0
0
0
Control Center
Try changing the left-side input. The register value is locked while the feedback loop is closed.

4. CPU-Architektur: Von Funktionseinheiten zum Prozessor

Nachdem die verschiedenen Rechen- und Speichermodule entworfen sind, kommt nun die entscheidende Synthesephase. Wie setzt man diese Module zu einer Central Processing Unit (CPU) zusammen, die automatisch Befehle ausführt?

4.1 Die Kernkomponenten einer CPU

Betrachtet man eine CPU als Maschine mit klarer Arbeitsteilung, hat jede Einheit ihren unersetzlichen Platz:

  • Arithmetisch-logische Einheit (ALU) : Die Recheneinheit, die die eigentliche „Arbeit" verrichtet – sie führt Addition, Subtraktion, Multiplikation, Division und diverse logische Operationen aus.
  • Registerbank (Register File) : Temporäre Schubladen auf der Werkbank, sehr klein, aber extrem schnell. Sie speichern die dringenden Parameter der aktuellen Berechnung zwischen.
  • Interner Bus (Internal Bus) : Das Förderband des Systems, das Daten und Signale zwischen den Modulen transportiert.
  • Steuerwerk (Control Unit) : Der Oberbefehlshaber. Seine Aufgabe ist es, die aus Nullen und Einsen bestehenden Befehle aus dem Speicher zu lesen, zu analysieren, was zu tun ist, und konkrete Steuersignale an die anderen Module zu senden, um sie zu koordinieren.
CPU Internal Microarchitecture
Click a module to see its subcircuits and how it works
CPU Core (Central Processing Unit)
Address Bus
Data Bus

Control Unit

Program Counter (PC)
Instruction Register (IR)
Instruction Decoder
Clock Generator
Control signals ↓

Register File

General Registers R0-R3
Accumulator (ACC)

Arithmetic Logic Unit (ALU)

Adder Circuit
Status Flags
Control Bus
🖱️

Click a module in the CPU diagram to explore its circuit-level implementation.

4.2 Wie führt eine CPU Befehle aus?

Egal wie komplex die von dir geschriebene Hochsprache ist – am Ende wird sie zu einer Abfolge von Maschinenbefehlen im Speicher. Die Ausführung jedes Befehls durch die CPU wiederholt im Wesentlichen die folgenden vier Schritte:

  1. Fetch (Abrufen) : Die CPU folgt dem aktuellen Befehlszähler, greift in den relativ langsamen Speicher und holt den nächsten binären „Befehl" in den Kern.
  2. Decode (Dekodieren) : Das Steuerwerk analysiert sofort: Soll dieser Befehl Daten im Speicher verschieben oder den Addierer zur Berechnung aufrufen? Die benötigte Schaltung wird umgehend aktiviert.
  3. Execute (Ausführen) : Der Befehl wird an die ausführenden Einheiten wie die ALU weitergeleitet – die Maschinerie läuft auf Hochtouren und führt die harten Logikoperationen aus.
  4. Write Back (Zurückschreiben) : Der Moment der Ergebnissicherung – das soeben berechnete Ergebnis wird sorgfältig in ein bestimmtes Register geschrieben oder in den Speicher zurückgeführt.

Klicke unten auf den „Taktimpuls" und beobachte, wie ein Befehl in dieser Endlosschleife Schritt für Schritt zerlegt und ausgeführt wird und welche Hardware-Module daran beteiligt sind:

Detailed CPU Instruction Cycle Demo
CPU
Control Unit CU
PC256Program Counter
IRInstruction Register
MARMemory Address Register
MDRMemory Data Register
Arithmetic Logic Unit ALU
ACC0Accumulator
General Register File
R00
R10
R20
R30
Address Bus
Data Bus
Control Bus
Main Memory
0x100LOAD R0, [0x200]
 0x101LOAD R1, #7
 0x102ADD R0, R1
 0x103STORE [0x201], R0
Data Area
 0x51242
 0x5130
FetchFetch
DecodeDecode
ExecuteExecute
Write BackWrite Back
Step 0 / 32
Click "Clock Pulse" to step through execution, or "Auto Run" to play continuously.

Das Streben nach maximaler Effizienz: Die Pipeline

Müsste man warten, bis ein Befehl alle vier Schritte durchlaufen hat, bevor der nächste beginnt, wäre das offensichtlich viel zu ineffizient.

Wie bei einem Fließband in der Fabrik führten Chip-Ingenieure die Befehlspipelining-Technik ein. Das bedeutet: Während ein Teil der Schaltung Befehl A „ausführt", ist der vorherige Teil nicht untätig, sondern „dekodiert" bereits Befehl B oder hat Befehl C schon vorab „abgerufen". Durch diese parallele Überlappung wird die Ausführungseffizienz der CPU massiv gesteigert.


5. Fazit: Quer durch die Abstraktionsebenen

Rückblickend haben wir die zentralen Abstraktionsschichten der Computerarchitektur durchlaufen. Dies ist der vollständige Weg, der aus grundlegenden physikalischen Materialien eine universelle Rechenplattform macht:

  1. Makro-Physik: Sand (Siliziumdioxid-Kristall)Nach anspruchsvoller Veredelung durch Schmelzen, Zerschneiden und Ätzen mit giftigen Gasen
  2. Mikro-Physik: Abermilliarden Transistorschalter (Elektrizität steuert Elektrizität im Mikromaßstab) → Durch unermüdliche Verdrahtungsarbeit genialer Ingenieure entsteht eine erstaunliche digitale Abstraktion
  3. Digitale Algebra: AND/OR/NOT-LogikgattersystemFehler werden gnadenlos eliminiert, grundlegende Verhaltensweisen aus perfekten Wahrheitstabellen abgeleitet
  4. Mikroarchitektur-Module: Baukasten der Funktionseinheiten (Addierer und andere Komponenten)Durch das Hinzufügen von Systemtakt und Speicherfähigkeit entstehen vollständige Funktionseinheiten
  5. Komplexe Architektur: Gewaltiges und ausgeklügeltes CPU-VerbundsystemÖffnet Entwicklern auf der ganzen Welt die Tür zur virtuellen Anwendungswelt
  6. Universum der Anwendungen: Algorithmen, Systemsoftware und das blühende Internet

Das Faszinierendste an der Informatik ist, dass jede Kapselungsschicht die komplexen Details der darunterliegenden Schicht perfekt verbirgt. Wenn du als Softwareentwickler salary = base + bonus schreibst, musst du dir keinerlei Gedanken über die Elektronenwanderung auf unterster Ebene oder den Stromfluss im Halbaddierer machen. Ebenso wenig muss sich der Chip-Designer darum kümmern, welche Software sein Chip einmal ausführen wird.

Genau diese extreme Entkopplung der Ebenen und die strikt voneinander unabhängige Blackbox-Kapselung haben gemeinsam die Blütezeit der modernen Technologie ermöglicht.

Abschließender Gedanke

Letztlich ist das, was wir Rechenleistung nennen, nichts anderes als das Zusammenspiel von Milliarden Schaltern, die in einem begrenzten Raum ihren Zustand wechseln; im Takt der Uhr vollführen sie auf diesem winzigen Siliziumchip komplexe Berechnungen.

„Quantität schlägt irgendwann in Qualität um" – dieser Satz wird in der Computerarchitektur immer wieder bestätigt. Wenn wir auf die Tastatur tippen und auf den Bildschirm schauen, können wir uns vorstellen: Tief im Silizium schalten in diesem Moment hunderte Milliarden winziger Transistoren in rasender Geschwindigkeit und arbeiten präzise zusammen. Das ist vielleicht die einzigartigste Schönheit der Informatik.


Weiterführende Literatur

Wenn dich die Grundlagentechnik fasziniert, kannst du in diesen Richtungen weiterforschen:

  • Klassisches Lehrbuch: Computer Organization and Design (The Hardware/Software Interface) ist eine hervorragende Referenz für die Vertiefung in die Computerarchitektur.
  • Digitale Logiksimulation: Versuche dich mit Logiksimulationssoftware oder einfachen Bauelementen am Aufbau eines einfachen 8-Bit-Addierers oder Simulators.
  • Aktuelle Architekturthemen: Lerne, wie mehrstufige Caches das „Memory Wall"-Problem mildern, wie Out-of-Order-Ausführung funktioniert und welche speziellen Rechenmechanismen GPUs besitzen.
  • Maschinensprache & Assembler: Lerne die Grundlagen einer Assemblersprache, um zu verstehen, wie Hochsprachen-Code letztlich in hexadezimale Maschinenbefehle übersetzt wird.