Prozessorarchitektur
Eine Prozessorarchitektur beschreibt den Aufbau von Prozessoren bzw. Prozessorkernen.
Prozessorarchitekturen unterscheiden sich in Art und Umfang der folgenden Einheiten, die zusammen eine elektronische Schaltung zu einem Prozessor bzw. Prozessorkern ergeben:
- Ein Registersatz zum Speichern temporärer Anwendungsdaten (Akkumulator und andere General-Purpose-Register) und zur Darstellung des Verarbeitungs-Kontextes (Flag-Register, Stapelzeiger, Segmentregister et cetera)
- Arithmetisch-logische Einheit (ALU) zur arithmetischen und logischen Verarbeitung von Registerinhalten.
- Interner Daten-, Adress- und Steuerbus. Diese sind von ihren externen Pendants zu unterscheiden.
- ein Steuerwerk, das innerhalb der Befehlsausführung im Prozessortakt Tore innerhalb der internen Busse öffnet und schließt und so den Datenfluss zwischen Registern, der ALU und den externen Bussen steuert.
Beispiele für Prozessorarchitekturen sind AMD64, ARM und MIPS. Sie gehören zu den Mikroprozessorarchitekturen.
Die populäre x86-Architektur kann aufgrund ihrer bis in die 1970er Jahre zurück reichenden Geschichte nicht mehr sinnvoll als Prozessorarchitektur bezeichnet werden. Diese ist eher eine Rechnerarchitektur: Ein in 8086-Assembler geübter Anwendungsprogrammierer kommt ohne Weiteres auch mit der Intel64-Architektur zurecht. Im Aufbau gibt es allerdings keine Gemeinsamkeiten mehr, die über die Disposition der Register hinausgeht.
Innerhalb einer Architektur kann es Prozessoren mit mehreren Kernen geben. Sogar ein gemischter Aufbau mit mehreren Kernen unterschiedlicher Architektur in einem Prozessor ist möglich, z. B. IBMs Cell-Prozessor als Kombination von PowerPC und SPEs.
Während in modernen PCs oder Servern als Hauptprozessor nur noch Prozessoren mit 32 oder 64 Bit Verarbeitungsbreite genutzt werden, sind Spezialprozessoren für sehr unterschiedliche Aufgaben im Einsatz, z. B. Mikrocontroller, Signalprozessoren, Grafikkarten oder Buscontroller.
Im Gegensatz zu praktisch allen zuvor genannten Prozessoren, die taktgesteuert sind, gibt es auch ungetaktete, asynchrone Prozessoren. Da sie ohne Taktung auskommen, weisen asynchrone Prozessoren eine bessere elektromagnetische Verträglichkeit auf und verbrauchen während Prozesspausen kaum Strom. Theoretisch passt sich ihre Leistung den elektrophysikalischen Möglichkeiten und der softwarelogischen Bedarfssituation an. Allerdings gibt es für asynchrone digitale Schaltungen weit weniger ausgereifte Entwicklungstechniken, weshalb dieser Ansatz selten verfolgt wird.