Rechnerarchitektur
Rechnerarchitektur ist ein Teilgebiet der Technischen Informatik, das sich mit dem Design von Rechnern (Computern) und speziell mit deren Organisation sowie deren externem und internem Aufbau (was ebenfalls mit 'Rechnerarchitektur' bezeichnet wird) beschäftigt.
Definition
Gene Amdahl, Gerrit A. Blaauw und Frederick P. Brooks führten 1964 den Begriff Architecture ein,[1] um die gemeinsamen Eigenschaften aller Modelle des IBM System/360 von ihren in Technik, Kapazität und Arbeitsgeschwindigkeit sehr verschiedenen Ausführungen zu unterscheiden. Diese Gemeinsamkeit sollte den Austausch von Rechnerteilen und Programmen bei verändertem Bedarf der Kunden erleichtern.
Es handelte sich also um eine Abstraktion ähnlich dem mathematischen Begriff einer algebraischen Struktur. In ihr wird zum Beispiel die Arithmetik durch die Regeln für Reihung und Vertauschung von Operanden oder die Auflösung von Klammern so abstrahiert, dass sie für verschiedene Grundmengen und Verknüpfungen, wie zum Beispiel die natürlichen Zahlen mit der Addition oder Mengen mit der Vereinigung gilt.
Das Wort Abstraktion vermieden die Autoren, indem sie in einer Fußnote eine Definition durch Aufzählung versuchten: „The term architecture is used here to describe the attributes of a system as seen by the programmer, i.e. the conceptual structure and functional behaviour as distinct from the organisation of the data flow and controls, the logical design and the physical implementation.“
Spätere Autoren wie Peter Stahlknecht und Ulrich Hasenkamp[2] haben diese Aufzählung detailliert, ergänzt und verändert, darüber aber den Aspekt der Gemeinsamkeit und Abstraktion aus den Augen verloren. So büßte der Begriff Rechnerarchitektur seinen wesentlichen Charakter ein und wurde zum anspruchsvollen Schlagwort für beliebige Entwürfe.
Anwendung
Wie ein Architekt eines Gebäudes die Prinzipien und Ziele eines Bauprojektes als die Basis für die Pläne des Bauzeichners festlegt, genauso legt ein Computer-Architekt die Computer-Architektur als Basis für die eigentlichen Designspezifikationen fest.
Der Ausdruck wird für verschiedene Bedeutungen verwendet:
- Das Design der Prozessorarchitektur eines Computer und seines Befehlssatzes und Techniken wie SIMD- und MIMD-Parallelität.
- Allgemeinere und umfassendere Hardware-Architektur wie Cluster Computing und NUMA-Architekturen.
- Eine weniger formale Bedeutung bezieht sich auf die Beschreibung der Voraussetzungen (besonders Geschwindigkeits- und Verbindungsvoraussetzungen) oder Design-Implementationen der verschiedenen Komponenten eines Computers (wie zum Beispiel Arbeitsspeicher, Hauptplatine, elektronische Peripherie oder ganz allgemein die CPU).
Literatur
- John L. Hennessy, David A. Patterson: Rechnerarchitektur: Analyse, Entwurf, Implementierung, Bewertung. Vieweg, Braunschweig 1994, ISBN 3-528-05173-6
- Wolfgang Everling: Algebra der Rechnerarchitekturen. Spektrum Akademischer Verlag Heidelberg, Berlin, Oxford 1996, ISBN 3-8274-0061-9
- John P. Hayes: Computer Architecture and Organization. McGraw-Hill 1998, ISBN 0-07-027355-3
- Paul Hermann: Aufbau, Organisation und Implementierung, inklusive 64-Bit-Technologie und Parallelrechner. 3. Auflage, Braunschweig, Vieweg 2002, ISBN 3-528-25598-6
- Andrew S. Tanenbaum, James Goodman: Computerarchitektur. 4. Auflage, Pearson Studium, München 2001, ISBN 3-8273-7016-7
- Nicholas P. Carter: Computerarchitektur. IT-Studienausgabe. mitp-Verlag/Bonn, 1. Auflage 2003, 1. Programmiermodelle, Prozessordesign und Parallelverarbeitung, 2. Cache und virtuelle Speicher, 3. 192 praxisnahe Übungen mit Musterlösungen, deu:19,95e, öster:20,60e, ISBN 3-8266-0907-7
- Theo Ungerer (Hrsg.) et al.: Rechnerarchitektur – Herausforderungen der nächsten Jahre. Schwerpunktthemenheft der Zeitschrift it-Information Technology, Vol. 50 (2008) Heft 5.