Wikipedia · einfach zusammengefasst · Stand
Prozessorarchitektur
Die Prozessorarchitektur bezieht sich auf die spezifische Struktur und Organisation eines Prozessors, der ein wesentlicher Bestandteil von Computern und …
Inhalt5 Abschnitte
Grundlagen und Bedeutung
Eine Prozessorarchitektur beschreibt die Struktur und Organisation eines Prozessors. Sie legt unter anderem fest, welche Befehle verarbeitet werden, wie diese ausgeführt werden, welche Register und Caches vorhanden sind und wie funktionale Einheiten, Daten und Anweisungen zusammenwirken. Eine Prozessorarchitektur kann sowohl die Rechnerarchitektur als auch die Mikroarchitektur eines Mikroprozessors bezeichnen. Auch andere integrierte Schaltungen, etwa Grafikprozessoren (GPUs), besitzen spezialisierte Architekturen.
Zu den grundlegenden Bestandteilen eines Computers gehören eine zentrale Verarbeitungseinheit, ein Speicher, Ein- und Ausgabeschnittstellen sowie eine Kontrolleinheit zur Steuerung der Befehlsausführung. Heute werden diese Aufgaben vor allem durch CPU, RAM und weitere Speicherbausteine wie ROM, Flash und EEPROM erfüllt.
Wichtige Grundrichtungen sind CISC (Complex Instruction Set Computer) mit einem komplexen Befehlssatz und RISC (Reduced Instruction Set Computer) mit einem vereinfachten Befehlssatz. Die Wahl der Architektur beeinflusst unter anderem Leistung, Energieverbrauch, technische Komplexität und Einsatzgebiet.
Entwicklung und moderne Einsatzgebiete
Die Entwicklung von Prozessorarchitekturen reicht bis in die 1940er Jahre und zur Erfindung des ENIAC zurück. Auf mechanische Rechenmaschinen folgten röhrenbasierte Systeme. In den 1950er Jahren entstanden elektronische Computer auf Grundlage der Von-Neumann-Architektur. In den 1960er Jahren waren transistorbasierte Rechnerarchitekturen üblich; Dick Grimsdale gelang als Erstem der Aufbau einer Rechnerarchitektur und Rechenmaschine auf Transistorbasis. Seit den 1970er Jahren wurden neue Architekturen und Konzepte entwickelt, um Leistung, Effizienz und Funktionalität zu steigern. Diese Entwicklung steht eng mit der Halbleitertechnologie beziehungsweise den Technologieknoten in Verbindung.
Seit den 2010er Jahren dominiert die energieeffiziente RISC-Architektur mobile Endgeräte und teilweise Notebooks. Beispiele sind Apples M-Chip sowie CPUs und System-on-a-Chip (SoCs) mit ARM-Architektur, etwa Qualcomms Snapdragon-Plattform. Die meisten dieser Prozessoren sind Mehrkernprozessoren. Sie können homogene RISC- oder CISC-Architekturen verwenden; heterogene RISC-CISC-Bausteine sind möglich, aber eher selten.
Bekannt sind außerdem GPGPU-Architekturen für allgemeine Berechnungen auf Grafikprozessoren sowie Systeme wie die Accelerated Processing Unit (APU) und die Tensor Processing Unit (TPU). Seit den 2020er Jahren kommen für KI-Anwendungen optimierte, meist GPU-basierte Architekturen und KI-Beschleuniger auf den Markt.
Wichtige Prozessorarchitekturen
• ARM (Advanced RISC Machine) ist eine von ARM Holdings entwickelte RISC-Architektur. Sie ist für Energieeffizienz und Skalierbarkeit bekannt und wird in Smartphones, Tablets, eingebetteten Systemen, IoT-Geräten und einigen Servern eingesetzt. ARM-Prozessoren haben meist eine geringe Leistungsaufnahme und eignen sich daher besonders für batteriebetriebene Geräte. Die Architektur wird unter anderem von Qualcomm, Samsung, Apple und NVIDIA lizenziert.
• Itanium (IA-64) wurde von Intel und HP für hochskalierbare Server und Workstations entwickelt. IA-64 war inkompatibel mit der x86-Architektur IA-32 und sollte diese ursprünglich ersetzen. Wegen der Weiterentwicklung von x86 zu x64, die federführend durch AMD erfolgte, und der Dominanz von x86 im Server- und Workstation-Markt wurde Itanium schließlich eingestellt.
• MIPS (Microprocessor without Interlocked Pipeline Stages) ist eine frühe RISC-Architektur von MIPS Technologies. Sie ist heute weniger verbreitet als x86 oder ARM, wird aber noch in einigen eingebetteten Systemen und speziellen Anwendungen eingesetzt.
• Die Power Architecture wurde ursprünglich von IBM entwickelt. Heute wird sie von verschiedenen Herstellern, darunter IBM, Freescale (jetzt NXP) und Xilinx, für High-Performance-Computing (HPC), Server und eingebettete Systeme verwendet.
• RISC-V ist eine offene, auf RISC-Prinzipien beruhende und lizenzfreie Architektur. Sie wurde von der RISC-V Foundation entwickelt und wird von einer wachsenden Zahl von Unternehmen und Organisationen für unterschiedliche Anwendungen und Forschungszwecke eingesetzt.
• SPARC (Scalable Processor ARChitecture) wurde von Oracle, früher Sun Microsystems, für SPARC-Prozessoren entwickelt. Die Architektur war häufig in Servern und Workstations anzutreffen, hat aber stark an Marktanteil verloren.
• x86 wurde von Intel entwickelt und wird in Desktop- und Laptop-Computern sowie in vielen Servern eingesetzt. Auch AMD und andere Hersteller bieten entsprechende Prozessoren an. x86 verwendet meist CISC, also einen komplexen Befehlssatz mit hoher Befehlsdichte. Gegenüber ARM bieten x86-Prozessoren tendenziell eine höhere Leistung pro Kern, benötigen aber gewöhnlich mehr Energie.
Verbreitung und Betriebssysteme
x86 ist besonders in der PC- und Server-Industrie verbreitet. Die Architektur wird von den meisten Desktop-Betriebssystemen unterstützt, darunter Windows, macOS und Linux.
ARM wird häufig in Geräten mit spezieller Software eingesetzt. Dafür können besondere Anpassungen oder Betriebssysteme erforderlich sein. In den letzten Jahren hat ARM jedoch auch den PC-Markt erreicht; beispielsweise unterstützt Windows 10 ARM. ARM ist damit nicht mehr ausschließlich auf mobile und eingebettete Geräte beschränkt.
Technische Unterschiede
Die wichtigsten Unterschiede zwischen Prozessorarchitekturen betreffen mehrere miteinander verbundene Bereiche:
• Befehlssatzarchitektur (ISA): Die ISA legt fest, welche Befehle ein Prozessor ausführen kann, wie diese formatiert sind und wie sie Daten bearbeiten. CISC und RISC unterscheiden sich vor allem durch die Komplexität beziehungsweise Reduzierung des Befehlssatzes. Das beeinflusst Leistung, Energieeffizienz und Prozessor-Komplexität.
• Pipeline-Architektur: Eine Pipeline teilt den Ausführungspfad von Instruktionen in mehrere Stufen auf, die teilweise parallel bearbeitet werden. Anzahl und Aufbau der Stufen wirken sich auf Ausführungsgeschwindigkeit und Latenzzeit aus.
• Cache-Hierarchie: L1-, L2- und L3-Caches speichern häufig benötigte Daten und Befehle nahe am Prozessor. Ihre Organisation und Größe beeinflussen Speicherlatenz und Durchsatz.
• Register-Datei und Registerbreite: Architekturen unterscheiden sich in der Anzahl und Breite ihrer Register. Mehr Register können Registerumbenennung und Optimierung erleichtern und dadurch die Leistung beeinflussen.
• Funktionale Einheiten: Dazu gehören unter anderem ALUs (Arithmetic Logic Units) für arithmetische und logische Operationen, FPUs (Floating Point Units) für Gleitkommaberechnungen und SIMD-Einheiten (Single Instruction, Multiple Data), die dieselbe Anweisung auf mehrere Daten anwenden können. Anzahl und Art dieser Einheiten bestimmen, welche Berechnungen besonders effizient ausgeführt werden.
• Speicherzugriff und Busarchitektur: Die Organisation des Speicherzugriffs und die Übertragung von Daten zwischen Prozessor und Speicher beeinflussen Speicherlatenz, Durchsatz und Skalierbarkeit.
• Energieverwaltung: Moderne Architekturen enthalten Stromspar- und Energieverwaltungsfunktionen. Deren Ausgestaltung beeinflusst den Energieverbrauch bei unterschiedlichen Arbeitslasten und Betriebszuständen.