Moderne Rechner-Architekturen Referenten: Albert Maas Peter Oberhofer
Präsentationsfahrplan: Moderne Rechner-Architekturen Präsentationsfahrplan: - Von-Neumann-Konzept - RISC-Architektur - Fließbandverarbeitung - CISC-Architektur - Kombination von RISC und CISC - Zukünftige Entwicklungen
Moderne Prozessoren folgen grundsätzlich dem Moderne Rechner-Architekturen Moderne Prozessoren folgen grundsätzlich dem Von-Neumann-Konzept RW - Rechenwerk - Hauptspeicher HS - Ein-/Ausgabewerk E/A - Leitwerk Leitwerk
z. B. Rechenwerk und Ein-/Ausgabewerk Moderne Rechner-Architekturen Busse Bus Anpassungen: Caches Cache - Vervielfachung RW ... E/A Spezialspeicher SS - Erweiterung z. B. Rechenwerk und Ein-/Ausgabewerk HS RW E/A Leitwerk
= Reduced Instruction Set Computer Moderne Rechner-Architekturen Im Wesentlichen kann man alle gängigen Prozessorarchitekturen in zwei Klassen unterteilen: Cisc Risc Risc = Reduced Instruction Set Computer
- elementare, kleine Befehlssätze Moderne Rechner-Architekturen Eigenschaften: - elementare, kleine Befehlssätze Compiler nur einen kleinen Teil nützen weniger Fallunterscheidungen beim Decodieren => kürzere Taktzyklen Synergie Compilerbau-Rechnerarchitektur , da - einheitliches Befehlsformat - Fließbandtechnik redundante Informationen: hoher Speicherverbrauch aber schnellere Decodierung festverdrahtete Leitwerke - Load-/Store-Architektur Operanden holen und Operation ausführen in einem Takt große Registersätze
Registerorganisation Moderne Rechner-Architekturen Registerorganisation Stanford ... Physische Registersätze Berkeley ... global logische Registersätze lokal1 lokal2
Fließbandverarbeitung (Pipelining) Moderne Rechner-Architekturen Fließbandverarbeitung (Pipelining) - die einzelnen Fasen des Maschinenbefehlszyklus werden von verschiedenen Teilwerken ausgeführt 1.TW 2.TW 3.TW 4.TW 5.TW BH BD OH BA ES Fasen eines Befehls 1.Schritt 2.Schritt 3.Schritt 4.Schritt 5.Schritt
Problem: Fließbandhemmnisse Moderne Rechner-Architekturen Leistungssteigerung erst durch gleichzeitiges Arbeiten der einzelnen Teilwerke 1 1.TW 2.TW 3.TW 4.TW 5.TW Schritte BH BD OH BA ES ... 1.Befehl 2.Befehl 3.Befehl 4.Befehl 5.Befehl 2 3 4 5 ... Problem: Fließbandhemmnisse
Superskalare Mikrochips: Moderne Rechner-Architekturen Superskalare Mikrochips: - mehrere Unterprozessoren - Befehlsgruppierer gruppiert Befehle - jeder Unterprozessor bearbeitet einen Befehl der Gruppe BH BD OH BA ES 1.Befehl 2.Befehl 3.Befehl } 1.Gruppe } BH BD OH BA ES 4.Befehl 5.Befehl 6.Befehl 2.Gruppe ...
Beschleunigung der einzelnen Fasen des Maschinenbefehlszyklus Moderne Rechner-Architekturen Beschleunigung der einzelnen Fasen des Maschinenbefehlszyklus Befehlsholfase - Verwendung von Caches - Fifo-Befehlspuffer, um Befehle in einem Takt zu holen Zugriffszeiten: 1-5 Takte für interne Mehrere Dutzend für externe Problem: Sprünge
- Verzögerter Sprung bzw. Aufruf Moderne Rechner-Architekturen Lösungsansätze: - Sprungzielspeicher - Verzögerter Sprung bzw. Aufruf - Spekulative Ausführung - Bedingte Ausführung
- vereinfachtes Befehlsformat Moderne Rechner-Architekturen Decodierfase - Vereinfachter Befehlssatz und Art der Speicherung => keine µ-Programmierung - vereinfachtes Befehlsformat - Vereinfachte Befehle, wenn möglich in einem Takt ausführbar - Load-/Store-Architektur: Nur Register als Operanden
- Drei-Adress-Prinzip: Wiederverwendung von Ergebnissen Moderne Rechner-Architekturen Operandenholfase - Drei-Adress-Prinzip: Wiederverwendung von Ergebnissen - Redundante Speicherung von Daten - Load-/Store-Architektur: Speicher-zugriffe mittels expliziten Befehlen
Problem: Fließbandhemmnisse durch Datenabhängigkeit Moderne Rechner-Architekturen Problem: Fließbandhemmnisse durch Datenabhängigkeit - expliziter Speicherzugriff - Ergebnis des vorhergehenden Befehls wird benötigt Lösung: Abkürzende Datenpfade
Moderne Rechner-Architekturen Ausführungsfase - Befehle dürfen heute bei Risc-Prozessoren mehr als einen Takt benötigen - Die verschiedenen Alus dürfen gleichzeitig mehrere Befehle ausführen (superskalare Rechenwerke) => mehr Verwaltungsaufwand für das Leitwerk, aber clocks per instruction (CPI) < 1
- Beschleunigt durch Load-/Store-Prinzip Moderne Rechner-Architekturen Rückschreibfase - Beschleunigt durch Load-/Store-Prinzip - Bei expliziten Speicherzugriffen: Caches und Schreibpuffer
- aufgrund der Fließbandverarbeitung sind mehrere Befehlszähler nötig Moderne Rechner-Architekturen Adressierungsfase - aufgrund der Fließbandverarbeitung sind mehrere Befehlszähler nötig - bei sequentieller Fortschaltung nur Erhöhung um einheitliches Befehlsformat notwendig
Complex Instruction Set Computer Moderne Rechner-Architekturen CISC -Architektur CISC bedeutet: Complex Instruction Set Computer Überersetzt heißt das: Computer (Prozessor) mit komplexem Befehlssatz
Arbeitsweise eines CISC-Prozessors Moderne Rechner-Architekturen Arbeitsweise eines CISC-Prozessors CISC-Befehle Dekoder-Einheit Nanoprozessor Mikrocode
- umfangreiche Maschinenbefehlssätze Moderne Rechner-Architekturen Eigenschaften: - umfangreiche Maschinenbefehlssätze - viele Adressierungsarten - Familienkonzept (Abwärtskompatibilität) - Leitwerk ist mikroprogrammiert Trennung von Befehlssatz, Implementierung und Realisierung - uneinheitliches Befehlsformat
Kompatibilität und Familienbildung Moderne Rechner-Architekturen Kompatibilität und Familienbildung - Kompatibilität zu Vorgängern Unterschiede nur in der Implementierung und in der Realisierung CISC-Prozessoren: - 808x und 80x86 von Intel - 680x0 von Motorola - Macintosh, Amiga und Atari
Komplexbefehle und Mikroprogrammierung Moderne Rechner-Architekturen Komplexbefehle und Mikroprogrammierung - M.V.Wilkes im Jahr 1953 die Mikroprogrammierung ist die Brücke zwischen Hardware und Software
Kombination von RISC und CISC Moderne Rechner-Architekturen Kombination von RISC und CISC RISC -> hohe Leistung, allerdings keine Familienbildung CISC -> trotz geringerer Leistung Marktführer allerdings wurden RISC-Techniken mit einbezogen
Zukünftige Entwicklungen Moderne Rechner-Architekturen Zukünftige Entwicklungen VLIW Vielfädigkeit Netzwerkprozessor Multiprozessortechnik
VLIW – VERY LONG INSTRUCTION WORD Moderne Rechner-Architekturen VLIW – VERY LONG INSTRUCTION WORD - optimale Ausnutzung der parallelen Einheiten Ansteuerung der Einheiten erfolgt statisch und direkt - bis zu 1000Bit langer Opcode
VLIW – Zusammensetzung Moderne Rechner-Architekturen VLIW – Zusammensetzung Unterbefehl/ Operation 1 Unterbefehl/ Operation 2 Unterbefehl/ Operation n ...
VLIW – Verarbeitungsstufen Moderne Rechner-Architekturen VLIW – Verarbeitungsstufen Register Lesen Operation 1 Register Schreiben Register Lesen Operation 2 Register Schreiben Decodieren VLIW-Holen ... ... ... Register Lesen Operation n Register Schreiben
Parallelisierung erfolgt beim Kompilieren Moderne Rechner-Architekturen VLIW – Vorteile Parallelisierung erfolgt beim Kompilieren auf ganzes Programm anwendbar - theoretisch n-fache Leistungssteigerung
Anzahl der Rechenwerke Moderne Rechner-Architekturen VLIW – Nachteile hochredundanter Code Anzahl der Rechenwerke - Applikationen nicht voll Parallelisierbar - Nicht-VLIW nicht lauffähig oder langsam
VLIW – Beispiel Pentium 4 Moderne Rechner-Architekturen VLIW – Beispiel Pentium 4
- Programm wird in Teilprogramme Zerlegt Moderne Rechner-Architekturen Vielfädigkeit - Programm wird in Teilprogramme Zerlegt Teilprogramme -> Fäden jeder Teilprozessor kann einen dieser Fäden abarbeiten
- World Wide Web optimiert Moderne Rechner-Architekturen Netzwerkprozessor - World Wide Web optimiert Rechnerressourcen werden vom WWW geholt Beispiel ist die JVM
Multiprozessortechnik Moderne Rechner-Architekturen Multiprozessortechnik - Großrechnerbetrieb mehrprozessorfähiges Betriebsystem spezielle Anwendungen nötig Leistungssteigerung von 30% bis 95%
Danke für ihre Aufmerksamkeit