Rechnerarchitektur

spezifiziert die Beziehung zwischen unterschiedlichen Bestandteilen eines Computers
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. April 2005 um 17:09 Uhr durch 134.2.241.26 (Diskussion) (Designziele). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Rechnerarchitektur ist ein Teilgebiet der Technischen Informatik, welches sich mit dem Design von Computern und speziell mit deren Organisation, sowie deren externen und internen Aufbau beschäftigt.

Definition

Amdahl, Brooks und Blaauw definieren 1967: "Rechnerarchitektur definiert sich aus den Attributen und des Verhaltens eines Computers, wie dieser von einem Maschinenspracheprogrammierer gesehen wird. Diese Definition umfasst den Befehlssatz, die Befehlsformate, die OP-Codes, die Adressierungsarten und alle Register und Speicher, die direkt durch einen Maschinenspracheprogrammierer verändert werden können. Die Implementation ist durch den aktuellen Hardwareaufbau, das logische Design und die Organisation der Datenpfade einer bestimmten Ausführung der Architektur definiert."

Laut Stahlknecht und Hasenkamp: "Unter dem Begriff Rechnerarchitektur versteht man:

  • die interne Struktur des Rechners, d.h. seinen Aufbau aus verschiedenen Komponenten, und
  • die Organisation der Arbeitsabläufe im Rechner."

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:

Designziele

Die am häufigsten verfolgten Ziele beim Design einer Computer-Architektur kreisen um den Konflikt zwischen Kosten und Performance (d.h. Geschwindigkeit), allerdings können auch Erwägungen wie z.B. Zuverlässigkeit, Erweiterbarkeit, Größe/Gewicht oder Energieverbrauch ausschlaggebende Faktoren sein.

Kosten

Im Allgemeinen stehen die Kosten im Voraus fest, werden bestimmt durch den System- oder kommerziellen Bedarf. Die Geschwindigkeit und Speicherkapazität werden an dieses Kostenziel angepasst.

Performance

Computerverkäufer beschreiben die Performance ihrer Maschinen mit dem Begriff der Taktfrequenz (normalerweise in MHz oder GHz). Diese beschreibt, wie oft ein Taktzyklus des Systemtaktgebers pro Sekunde durchlaufen wird. Diese Maßeinheit ist jedoch etwas irreführend: Eine Maschine mit höherer Taktfrequenz muss nicht unbedingt auch eine höhere Performance aufweisen. Moderne CPUs können mehrere Instruktionen pro Taktzyklus ausführen, was ein Programm dramatisch beschleunigt. Auch andere Faktoren wie der Mix von funktionellen Einheiten, Bussystem-Geschwindigkeiten, verfügbarer Speicher und die Art und Reihenfolge der Instruktionen eines laufenden Programmes beeinflussen die Performance stark.

Es gibt verschiedene Arten von Geschwindigkeit. Interrupt Latency ist die garantierte maximale Antwortzeit des Systems auf ein elektronisches Ereignis (zum Beispiel wenn die Festplatte mit Schreiben von Daten fertig wird). Diese Zahl wird durch eine große Anzahl von Designentscheidungen beeinflusst. Computer, die Maschinen kontrollieren, brauchen für gewöhnlich eine niedrige Latenzzeit, weil die Maschine nicht warten kann, nicht warten wird oder nicht warten sollte. Zum Beispiel sollte eine computer-kontrollierte Bremse nicht warten, bis der Computer mit dem fertig ist, was er gerade macht, sondern sollte direkt bremsen. Niedrige Antwortzeiten können oft sehr kostengünstig erreicht werden.

Benchmarks versuchen dies alles zusammen zu erfassen indem sie die Zeit messen, die ein Computer braucht um eine Reihe von Testprogrammen zu verarbeiten. Obwohl ein Benchmark die Stärken aufzeigt, muss er bei der Auswahl eines Computer nicht unbedingt hilfreich sein. Oft variiert die Leistung der Systeme bei einzelnen Messpunkten. Zum Beispiel kann ein System vielleicht wissenschaftliche Programme schnell verarbeiten, während ein anderes Videos besser abspielen kann.

Ein allgemeines Optimierungsschema ist es, die einzelnen Kosten der verschiedenen Komponenten des Rechners zu betrachten. In einem ausgeglichenen Computersystem wird die Datenrate für alle Teile des Systems konstant sein und die Kosten werden proportional auf diese verteilt. Die genaue Ausprägung des Computersystems wird letztendlich aber immer durch das Umfeld und die Ziele bestimmt, für die es optimiert wurde.