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.
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 weitere Verarbeitungseinheiten, die in den Chip integriert sind.
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
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). Erst durch das Rechenwerk wird ein Prozessor 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. Ein Prozessor hat sehr viele Register, die als Zwischenspeicher für Operanden und Rechenergebnisse benutzt werden.
Je nach Prozessor-Architektur gibt es dabei unterschiedliche Zielregister für die Rechenergebnisse. So ist es bei x86-CPUs üblich, dass das Zielregister häufig mit einem Ausgangsregister übereinstimmt.
Operand aus Register A + Operand aus Register B = Ergebnis in Register A
Andere Architekturen kennen die Zwei-Operanden-Form, bei der die Register für die Operanden und das Ergebnis unterschiedlich sind.
Operand aus Register A + Operand aus Register B = Ergebnis in Register C
Zum internen Speicher gehört auch der Befehlszähler, in dem steht aus welcher Speicherzelle der nächste Befehl geladen werden muss.
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.
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. Zum Beispiel die 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. Ein Fehler könnte dabei das Gesamtsystem zum Absturz bringen.
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
- Der Befehlszählerinhalt wird auf den Adressbus gelegt.
- Über den Datenbus wird der Operations-Code des Befehls ins Befehlsregister geladen.
- Der Befehlszähler wird erhöht.
- Der Befehl wird decodiert.
- Wenn nötig (bei Mehrbytebefehlen) werden weitere Bytes des Befehls ins Befehlsregister geholt.
- Der Befehl wird ausgeführt.
Programmierung eines Prozessors
Eine Programmiersprache ist eine Sprache, um einem Prozessor zu sagen, was er tun soll. Eine Programmiersprache besteht im wesentlichen aus einer Reihe definierter Befehle. Dem sogenannten Befehlssatz. Der besteht aus Assembler-Befehlen, die für einen oder mehreren definierte Maschineninstruktionen bestehen. Durch den Assembler wird der Quellcode einer höheren Programmiersprache in die mnemonische Schreibweise der Maschinensprache des Prozessors zu übersetzen. Die Maschinensprache ist im Prinzip eine Aneinanderreihung von Bits, die das Befehlswerk auswertet und dadurch bestimmte Vorgänge im Prozessor auslöst.
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
RISC und CISC
RISC und CISC sind Befehlssatzarchitekturen für Prozessoren. RISC hat einen reduzierten Befehlssatz, während CISC umfangreicher ist. Moderne Prozessoren kombinieren beide Ansätze. Diskussionen über die Überlegenheit beider Typen sind komplex, da viele Faktoren die Effizienz beeinflussen. RISC-Prozessoren sind oft effizienter, benötigen jedoch mehr Befehle, während CISC-Prozessoren kürzeren Code verwenden, aber mehr Strom verbrauchen.
Parallelisierung
Die Verarbeitungsgeschwindigkeit von Prozessoren wird nicht nur durch die Taktfrequenz bestimmt, sondern auch durch interne Strukturen, die parallele Verarbeitung ermöglichen. Techniken wie Pipelining, Multi-Threading und Multi-Core-Prozessoren verbessern die Effizienz, indem sie Wartezeiten minimieren und Berechnungen parallel ausführen.
64-Bit-Prozessor
Die 64 Bit beziehen sich auf den physisch ansprechbaren Adressraum des Arbeitsspeichers, Schnittstellen und angeschlossene Geräte.
Prozessor-Architekturen
Weitere verwandte Themen:
- Prozessor (CPU)
- Prozessortechnik
- Prozessor-Kühlung
- Computer-Architektur
- Sicherheitslücken in Prozessoren
Lernen mit Elektronik-Kompendium.de
Noch Fragen?
Bewertung und individuelles Feedback erhalten
Aussprache von englischen Fachbegriffen
Computertechnik-Fibel
Alles was du über Computertechnik wissen musst.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Computertechnik-Fibel
Alles was du über Computertechnik wissen musst.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Artikel-Sammlungen zum Thema Computertechnik
Alles was du über Computertechnik wissen solltest.