Rechnerarchitektur Vorlesungsbegleitende Unterlagen WS 2003/2004 Klaus Waldschmidt Teil 2 Begriffshierarchie der Rechnerarchitektur Seite 1
Systemarchitektur Hardwarearchitektur (Rechnerarchitektur) Softwarearchitektur Rechnerorganisation (Funktionelle Arbeitsweise der Komponenten) Rechnertechnologie (Entwurfsmethodik, Chipdesign Schaltungsentwurf) Mikro- architektur Makroarchitektur Hardwaresystemarchitektur (HSA) #Prozessoren #Verbindungnetze #Speicher Hardwaresystemarchitektur (HSA) Organisation der Befehlsverarbeitung Rechenund Steuerwerke, Caches usw. Instruktionssatzarchitektur (ISA) Registermodell Adressmodi, Maschinenbefehlssatz, etc. Seite 2
Die Hardwaresystemarchitektur HSA bestimmt das Operationsprinzip und das Strukturkonzept der Rechnerklasse und definiert den Aufbau des Rechners aus den einzelnen Hardwarekomponenten. Auf der Makroarchitekturebene bedeutet dies z. B. die Anzahl der Prozessoren und ihr Verbindungskonzept. Auf der Mikroarchitekturebene beschreibt die HSA den Aufbau der Werke (Operationsund Steuerwerke), die Caches und die Befehlsverarbeitung. Die ISA beschreibt auf der Mikroarchitekturebene die Hardware/Software-Schnittstelle aus Assembler- und Compilersicht. Zur ISA sind das Registermodell, die Adressierungsarten und natürlich der Befehlssatz zu zählen: Instruktionssatzarchitekturen werden grob unterteilt in: RISC = Reduced Instruction set CISC = Complex Instruction set Heute entstehen in zunehmendem Maße Mischformen. Eine ISA ermöglicht unterschiedliche Implementierungen durch unterschiedliche Hardwaresystemarchitekturen und hat damit großen Einfluß auf die HSA. Seite 3
Sowohl RISC als auch CISC hatten das gleiche Ziel - die Überbrückung des semantic gap. Sie versuchten das Ziel jedoch auf völlig unterschiedlichen Wegen zu erreichen. High Level Language (HLL) semantic gap Problem High Level Language Semantic gap Steuerinformationen im Prozessor Ausführung Steuerinformation Seite 4
HLL CISC Compiler Microcode HLL RISC Compiler Seite 5 Maschinenbefehle Steuerinformationen Maschinenbefehle Steuerinformationen
Bei einer CISC-ISA unterstützen die Maschienbefehle in Anzahl und Komplexität in starkem Maße die Konstrukte einer HLL. Die Übersetzung wird dadurch vereinfacht, dass der Umfang des Assemblercodes geringer wird. Dafür gerät die Interpretation der Maschinenbefehle zu einer schwierigen Aufgabe, die üblicherweise durch Mikroprogrammierung gelöst wird. Fortschritte in der Rechnertechnologie können ausgeschhöpft werden, ohne dass Änderungen in der ISA vorgenommen werden müssen. Die Rechnertechnologie beginnt also unterhalb der Ebene der Maschinenbefehle und umfaßt im wesentlichen die Bei einer RISC-ISA gibt es vergleichsweise wenig Befehle, die überdies sehr einfach strukturiert sind. Die Hauptaufgabe hat der Compiler, der die HLL-Konstrukte auf den einfachen RISC-Befehlssatz abzubilden hat. Der Umfang des Assemblercodes wird dadurch naturgemäß größer. Die Interpretation des einfachen Maschinenbefehlssatzes ist problemlos mit einem festverdrahteten Steuerwerk möglich. Eine Interpretation mittels Mikroprogrammierung, die Speicherplatz und Zeit erfordert, ist nicht notwendig. (Mikroprogrammebene) Gatterebene Transistorebene Layoutebene Seite 6
Eine Rechnerarchitektur beschreibt die Rechnerhardware und zwar auf funktionaler und schaltungstechnischer Ebene. Die funktionale Beschreibung ist Gegenstand der Rechnero rganisation und die schaltungs- (integrations-)technische Realisierung ist Gegenstand der Rechnertechnologie. Häufig wird weiterhin in Makro- und Mikroarchitektur unterschieden. Beide Ebenen werden durch die Hardwaresystemarchitektur HSA und die Mikroarchitekturebene zusätzlich noch durch die Instruktionssatzarchitektur ISA beschrieben. Abschließend sei noch erwähnt, dass von der Rechnerarchitektur die Softwarearchitektur zu unterscheiden ist. Unter Softwarearchitektur wird allgemein der Aufbau der Systemprogramme verstanden. Rechnerarchitektur zusammen mit der Softwarearchitektur bilden die Systemarchitektur. Seite 7
Zum Stand der Technik auf der Mikroarchitekturebene Seite 8
Die Leistungssteigerung bei Mikroprozessoren ist durch folgende Fortschritte erreicht worden: durch Steigerung der Gatterzahl auf dem Chip Die Steigerung der Gatteranzahl wurde durch Vergrößerungen der Chipfläche in Richtung Wafer-Scale-Integration und durch gleichzeitige Verringerung der Strukturbreiten erreicht. durch Steigerung der Taktrate Die Steígerung der Taktrate wurde gleichermaßen durch Verringerung der Strukturbreiten und durch eine Verringerung der Hardwarekomplexität der Befehlsausführungen erreicht. durch Fortschritte in der Prozessorarchitektur Fortschritte in der Prozessorarchitektur liegen im wesentlichen in einer konsequenten Ausnutzung der Parallelität. Seite 9
Parallelität - Parallelität: Möglichkeiten der gleichzeitigen Ausführung - Korngröße: Anzahl der Befehle einer sequentiellen Befehlsfolge - feinkörnige Parallelität: Korngröße = 1 - Parallelität auf der Befehlsebene - grobkörnige Parallelität: Korngröße > 100 - Parallelität auf der Ebene von UNIX-Prozessoren oder Threads Seite 10