Prozessor-Architektur

Die Architektur moderner Prozessoren ist sehr komplex. Um ein Grundverständnis für die Arbeitsweise von Prozessoren zu bekommen, verwendet man eine vereinfachte Architektur, die auch für moderne Prozessoren gültig ist.
Obwohl jeder Mikroprozessor für eine spezielle Anwendung entwickelt wird, sind sie vom Grundaufbau her alle gleich. Die folgende Beschreibung bezieht sich auf die logische Zusammensetzung eines Prozessors und ist an den Von-Neumann-Rechner angelehnt.

Prinzipschaltbild eines Mikroprozessor

Ein Prozessor besteht grob gesehen aus Rechenwerk, Leitwerk und internem Speicher. Über ein Bus-Interface greift der Prozessor auf einen externen Bus, den Systembus zu. Moderne Prozessoren haben zusätzlich interne Speicher, einen integrierten Speichercontroller und Coprozessor-ähnliche Verarbeitungseinheiten, die in den Chip integriert sind.

Control Unit (CU) / Steuerwerk / Leitwerk / Befehlswerk

Control Unit (CU) / Steuerwerk / Leitwerk / Befehlswerk
Die Control Unit (CU) bzw. das Steuerwerk wird in mancher Literatur auch als Leitwerk oder Befehlswerk bezeichnet. Das Steuerwerk ist die Steuereinheit, die für die Zusammenarbeit der einzelnen Teile des Prozessors verantwortlich ist. Für die Aufgaben des Steuerwerks steht ein internes Bussystem zur Verfügung.

  • Lesen von Daten aus dem RAM
  • Speichern von Daten im RAM
  • Bereitstellen, Decodieren und Ausführen eines Befehls
  • Verarbeiten der Eingaben von peripheren Geräten
  • Verarbeiten von Ausgaben an periphere Geräte
  • Interrupt-Steuerung
  • Überwachung des gesamten Systems

Im Steuerwerk befindet sich das Befehlsregister, das alle Befehle enthält, die der Prozessor ausführen kann. Hier werden auch die Befehle dekodiert. Der Befehlsdecoder übersetzt die Befehle und übergibt sie der Ausführungseinheit, die den Befehl dann ausführt. Die Ausführungseinheit übergibt die Daten zur Berechnung an das Rechenwerk und erhält von dort das Ergebnis zurück. Wichtige Daten, die während der Ausführung gebraucht werden, werden in Registern zwischengespeichert. Ein Register ist der schnellste Speicher in einem Prozessor.
Dann gibt es noch eine zeitliche und logische Steuerung, die auf das Rechenwerk bei Rechenoperationen zugreift. Von hier wird auch der Steuerbus, die Interrupts und die serielle Ein- und Ausgabe gesteuert.

Arithmetic Logic Unit (ALU) / Rechenwerk

Arithmetic Logic Unit (ALU) / Rechenwerk
Das Rechenwerk ist der eigentliche Rechner. Es wird als Arithmetic Logic Unit, kurz ALU, bezeichnet. In der ALU werden alle arithmetische und logische Funktionen und Berechnungen ausgeführt. Zur ALU gehören auch der Akku (Speicher) und die Flags (Ereignisspeicher).
Durch das Rechenwerk wird das Befehlswerk in die Lage versetzt Daten zu verarbeiten.

Interner Speicher (Akku/Register)

Der Akku ist ein interner Speicher und Teil des Rechenwerks. Während man in den ersten Mikroprozessoren den internen Speicher noch Akkumulator, kurz Akku, nannte, haben die gleiche Aufgabe heute die Register.
Zum internen Speicher gehören wichtige Register, die als Zwischenspeicher dienen und der Befehlszähler, in dem steht aus welcher Speicherzelle der nächste Befehl geladen wird.

Erweiterte Architektur

Die Verbindung zwischen Prozessor, Speicher und Ein-/Ausgabe-Einheit ist schon immer ein Flaschenhals gewesen. Im Laufe der Zeit haben die Computer- und Prozessor-Hersteller immer wieder nach Wegen gesucht diesen Engpass zu umgehen. Der erste Schritt war, den Prozessor mit einer hierarchisch gegliederten Speicherstruktur aus Registern und verschiedenen Cache-Ebenen zu erweitern.

  • MMU - Memory Management Unit
  • Cache

Da das ursprüngliche Rechenwerk, die ALU, für vielerlei Verarbeitungsprozesse wenig geeignet war, wurden zusätzliche Recheneinheiten entwickelt, die für bestimmte Aufgaben optimiert wurden.

  • FPU - Floating Point Unit

In einem weiteren Schritt wurde die ursprünglich sequenzielle Befehlsausführung parallelisiert. Dazu bekamen die Prozessoren mehrere Funktionseinheiten und Ausführungsebenen, um pro Taktzyklus mehrere Befehle parallel verarbeiten zu können.

MMU - Memory Management Unit

Die MMU ist ein wichtiger Teil eines Prozessors, wenn es darum geht, Teile des Speichers zu reservieren, um Software in geschützten Bereichen ablaufen lassen zu können. Sonst würde man ständig Gefahr laufen, dass parallel laufende Applikationen sich gegenseitig überschreiben würden. Die Folge wäre, dass ein solcher Fehler das Gesamtsystem zum Absturz bringen würde.

Cache

Aufgrund der großen Datenmengen, die ein Prozessor verarbeiten muss, ist der interne Speicher mit den Registern nicht groß genug. Um die langsamen Zugriffe auf den Arbeitsspeicher zu verkürzen, werden Teile des Arbeitsspeichers vorab in den Cache geladen. Bei Bedarf stehen die Daten und Befehle schneller zur Verfügung. Der Prozessor ist dann weniger mit Warten beschäftigt.

FPU - Floating Point Unit - Gleitkomma-Einheit

Eine CPU mit FPU kann Operationen mit Gleitkommazahlen schneller ausführen als CPUs ohne FPU. Die Gleitkomma-Einheit ist in x86-CPUs fast ein eigener Prozessor mit eigenen Befehlen. Seit dem i486DX von Intel ist diese Einheit in der CPU integriert. Davor war die FPU in einen Coprozessor ausgelagert. Auch andere Prozessor-Hersteller haben die Gleitkomma-Einheit in ihre Prozessoren integriert.

Ablauf einer Befehlsausführung

  1. Der Befehlszählerinhalt wird auf den Adressbus gelegt.
  2. Über den Datenbus wird der Operations-Code des Befehls ins Befehlsregister geladen.
  3. Der Befehlszähler wird erhöht.
  4. Der Befehl wird decodiert.
  5. Wenn nötig (bei Mehrbytebefehlen) werden weitere Bytes des Befehls ins Befehlsregister geholt.
  6. Der Befehl wird ausgeführt.

Programmierung eines Prozessors

Eine Programmiersprache ist eine Sprache, um einem Prozessor zu sagen, was er tun soll. Die Programmiersprache besteht im wesentlichen aus definierten Befehlen. Neben den höheren Programmiersprachen gibt es das sehr einfache Assembler. Einfach deshalb, weil es für jeden Assembler-Befehl eine oder mehrere genau definierte Maschineninstruktionen gibt. Der Prozessor versteht jedoch kein Assembler. Es handelt sich bei Assembler um eine bequemere Schreibweise der Maschinensprache für den Menschen. Der Assembler hat die Aufgabe die mnemonische Schreibweise in die eigentliche Maschinensprache zu übersetzen. Die Maschinensprache ist im Prinzip eine Aneinanderreihung von Bits, die bestimmte Vorgänge im Prozessor auslösen.

Quellcode > > > Assembler > > > Programmspeicher
IN 01
INC A
OUT 02
...
Quellcode in mnemonischer Schreibweise
 
1000 1110
0110 1100
...
...
Programm in Maschinensprache (einzelne Bits)
Die Befehle eines Programms müssen in binärer Form in den Speicher geschrieben werden:
  • direkte Binäreingabe oder
  • Eingabe des mnemonischen Codes über einen Compiler (Assembler)
Eine Maschinensprache hat folgende grundlegenden Befehlsarten:
  • Arithmetische Befehle (Grundrechenarten)
  • Logische Befehle (logische Grundverknüpfungen)
  • Registrieranweisungen
  • Sprungbefehle
  • Unterprogrammbehandlung
Moderne Prozessoren haben zusätzliche Befehle:
  • Befehle für die Verarbeitung von Audio, Video und Grafik
  • kryptografische Befehle
  • Befehle für spezielle Anwendungen

CISC und RISC

CISC und RISC sind unterschiedliche Konzepte für Computer oder Prozessoren. CISC steht für einen Prozessor, der einen umfangreichen Befehlssatz hat. Dem gegenüber steht RISC für einen Prozessor, der einen reduzierten Befehlssatz hat.

Parallelisierung

Moderne Prozessoren verteilen die anstehenden Aufgaben auf viele parallel arbeitende Einheiten.

64-Bit-Prozessor

Die 64 Bit beziehen sich auf den physisch ansprechbaren Adressraum des Arbeitsspeichers.

Prozessor-Architekturen

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was Sie über Computertechnik wissen müssen.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was Sie über Computertechnik wissen müssen.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen