Computerarchitektur
Englisch: computer architecture
Die konzeptionelle Struktur, auf der ein bestimmter Computer aufgebaut ist.
Computerarchitektur: Aufbau und Verschaltung eines Prozessors
Computerarchitektur beschreibt, wie ein Prozessor auf logischer Ebene organisiert ist: wie seine Funktionseinheiten angeordnet, verbunden und gesteuert werden, um Befehle auszuführen. Sie ist der Bauplan, der bestimmt, wie Daten zwischen CPU, Speicher und Ein-/Ausgabesystemen fließen. Dies unterscheidet sich vom physischen Aufbau (genannt Implementierung), wobei Architekturentscheidungen direkt bestimmen, welche Implementierungen praktikabel sind.
Die heute am weitesten verbreitete Industriearchitektur ist der x86-64-Standard, der von Intels Design von 1985 abstammt. Andere große Architekturen sind ARM (dominant in eingebetteten und mobilen Systemen), MIPS (noch in Industriereglern verwendet) und PowerPC (in Luft- und Raumfahrt sowie Verteidigungsanwendungen). Jede definiert einen anderen Befehlssatz, eine andere Registerorganisation und ein anderes Speichermodell. Ein Ingenieur, der einen Prozessor für einen Fabriksteuerrechner oder ein Datenerfassungsgerät auswählt, muss verstehen, welche Architektur zum erforderlichen Softwareökosystem und zum Leistungsspektrum passt.
Fetch, Decode, Execute
Im Herzen jeder Architektur liegt die Befehlspipeline: eine Abfolge von Stufen, in denen der Prozessor einen Befehl aus dem Speicher holt, decodiert, welche Operation auszuführen ist, sie ausführt (mittels ALU oder anderer Funktionseinheiten) und das Ergebnis zurückschreibt. Moderne Industrieprozessoren verwenden tiefere Pipelines (oft 8 bis 20 Stufen in x86-Chips), um die Taktfrequenz zu erhöhen, was aber Komplexität bei der Sprungvorhersage und Behandlung von Hazards mit sich bringt. Einfachere eingebettete Architekturen können 3- oder 5-stufige Pipelines für niedrigeren Stromverbrauch und leichtere Verifikation nutzen.
Architekturentscheidungen beeinflussen reale Leistungskennzahlen: Cachehierarchie (L1-, L2-, L3-Größen und Latenzen), Sprungvorhersagestrategie, Out-of-Order-Ausführungsfähigkeit und Vektorbefehlsbreite (SSE, AVX auf x86; NEON auf ARM). In Industrieanwendungen zählen diese Unterschiede. Ein Bildverarbeitungssystem, das Bilder mit 640x480 Pixeln mit 30 Hz verarbeitet, benötigt möglicherweise SIMD (Single Instruction Multiple Data), um den Durchsatz zu erreichen; eine diskrete SPS, die boolesche Logik durchläuft, kann mit einem einfacheren In-Order-Prozessor auskommen, wenn Stromverbrauch und Kosten kritisch sind.
Kompatibilität ist ein Hauptgrund, warum Architekturnamen in der Industrie bestehen bleiben. Software, die für einen x86-64-Rechner geschrieben wurde, wird auf ARM nicht ohne Neukompilierung laufen, und manche Industrie-Altsoftware wurde nie portiert. Dies erzeugt mehrarchitekturige Systeme in Fertigungsbetrieben, wo Wartungstechniker mehrere verschiedene Designs verstehen müssen, auch wenn die zugrundeliegende Berechnung identisch ist. Die Architekturauswahl ist nicht rein technisch; sie ist eine Geschäfts- und Lieferketten-Entscheidung.