Rechnerarchitektur
Computer-Architektur ist die Theorie hinter dem Design eines Computers. 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 CPU-Architektur 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, Motherboard, elektronische Peripherie oder ganz allgemein die CPU).
Designziele
Die am häufigsten verfolgten Ziele beim Design einer Comnputer-Architektur kreisen um den Konflikt zwischen Kosten und Performance (d.h. Geschwindigkeit), allerdings können auch andere Erwägungen wie Größe, Gewicht und Energieverbrauch ein Faktor sein.
1. Kosten
Im allgemeinen sind die Kosten fix, bestimmt durch den System- oder kommerziellen Bedarf, und die Geschwindigkeit und die Speicherkapazität werden an das Kostenziel angepasst.
2. Performance
Computerverkäufer beschreiben die Perfomance ihrer Maschinen mit dem Begriff der Taktfrequenz (normallerweise in MHz oder GHz). Diese beschreibt, wie oft ein Taktzyklus des Systemtaktgebers pro Sekunde durchlaufen wird. Dennoch, diese Maßeinheit ist 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 Pro-gramm dramatisch beschleunigt. Andere Faktoren wie der Mix von funktionellen Einheiten, Bussystem-Geschwindigkeiten, verfügbarer Speicher und die Art und die Reihenfolge der Instruktionen eines laufenden Programmes, fügen noch Geschwindigkeit hinzu.
Allerdings gibt es auch 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). Die 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.
Vergleiche CPU-Design