Gliederung
Transcrição
Gliederung
Computertechnologie: Grundlagen der Rechnertechnik Dozent: Dr. Harry S. Barowski (TIT05AIC) BA Stuttgart Übersicht zur Vorlesung 1) Grundlagen eines Rechnersystems 1.1 ISA (instruction set architecture)...................... 1.2 Hardware................................................ 1.3 Bewertung einer Rechnerarchitektur...................... 1.4 Implementierung......................................... 1.5 Realisierung............................................ 1 2 3 3 4 2) Der von-Neumann-Rechner 2.1 Konzept/Prinzipien 2.2 Beschreibung des Rechners............................... Kontrollstruktur des von-Neumann-Rechners............... Hardwarestruktur........................................ Instruktionssatz........................................ Skizze und Funktionsablauf (2-Takt-Schema).............. Erweiterung des von-Neumann-Rechners.................... 2.3 von-Neumann-Rechner heute............................... 2.4 Schwachpunkt: von-Neumann-Flaschenhals.................. 5 5 6 7 9 10 11 11 3) Der Harvard-Rechner 3.1 Prinzip................................................. 3.2 Beschreibung und Abgrenzung zu von-Neumann-Konzept von-Neumann/Harvard-Aspekte in RISC-Rechnersystemen..... 3.3 Grundstruktur eines Rechnersystems...................... Aufbau eines Mikroprozessors............................ 4) ISA- Instruktionssatz-Architektur 4.1 Klassen von Instruktionssatz-Architekturen.............. 4.2 Instruktionen und Datentypen............................ 4.3 Assembler-Programmierung................................ Definition von Operatoren Definition von Operanden und Symbolen 5) Speichersystem und Speicherhierarchie 5.1 Speicherhierarchie...................................... 5.2 Hauptspeicher........................................... 5.3 Byte-Ordering........................................... 5.4 Adressraum.............................................. 5.5 Fehlererkennung......................................... 5.6 Register................................................ Mehrzweckregister/Akkumulator...................... Indexregister...................................... Basisadressregister................................ Speicherschutzregister............................. Interruptregister.................................. 6) Adressrechnung und Adressierungsarten 6.1 Grundtypen der Adressrechnung........................... Arithmetische Verknüpfung Substitution Konkatenation 6.2 Adressierungsarten...................................... Direkte Adressierung............................... 12 13 14 15 16 17 18 19 20 21 22 22 22 22 23 23 23 23 24 25 25 6.3 Indirekte Adressierung............................. registerindirekt speicherindirekt Stackadressierung............................. Relative Adressierung.............................. bzgl Basisadresse bzgl Programmzähler Adressierung mit Indizierung....................... 26 Adressierungsarten der Intel x86-Architektur............ 30 7. Fortschritte in der Mikroarchitektur 7.1 Pipeline-Prozessoren.................................... 7.2 Prinzip des Pipeline-Rechners........................... Veranschaulichung: Synchrone/Asynchrone Pipeline........ 7.3 Konflikte bei einem Pipelinerechner..................... Speicherzugriffskonflikte.......................... Datenabhängigkeiten................................ Methoden zur Konflikterkennung..................... Scoreboarding Interlock-Logik Methoden, um Konflikte zu reduzieren............... Durchschreiben/Forwarding Ressourcekonflikte................................. Kontrollabhängigkeiten............................. Sprungbefehle und ihr Folgen.................. Abhilfe: Delayed Branches..................... Abhilfe: Sprungvorhersage..................... 27 28 29 32 33 34 35 35 36 37 37 38 38 38 39 39 8. Superskalarrechner 8 ........................................................ 40 9. Out-of-Order Prozessor 9.1 Prinzip................................................. 9.2 Register Renaming....................................... 9.3 Reservation Station (Instruktionsbuffer)................ 9.4 Reorder Buffer (In-Order Zurückschreiben)............... Beispiel: PPC601................................... 42 42 43 44 45 10. CISC vs RISC: Änderung des Architekturansatzes 10.1 Hintergrund............................................. 10.2 RISC Architektur - Konzepte/Prinzipien.................. 10.3 Optimierende Compiler als Muss.......................... delayed brunch..................................... bedingte Ausführung................................ 10.4 Historie: erste RISC-Architekturen...................... 10.5 aktuelle, neue Konzepte: VLIW........................... 46 47 48 49 49 50 51 11. Leistungsbewertung von Rechnersystemen ........................................................ 11.1 Lastbeschreibungen...................................... Instruktions-Mixes...................................... 11.2 Kernels/Benchmarks...................................... 11.3 Konzepte zur Leistungssteigerung........................ 11.4 Zuverlässigkeit und Verfügbarkeit....................... 11.5 Hardware/Software-Zuverlässigkeit....................... 53 54 54 55 56 57 58 12. Multiprozessorsysteme Array-Rechner........................................... 59 12.1 12.2 12.3 12.4 12.5 12.6 Unterscheidung von Multiprozessoren aufgrund ihrer Kopplung..................................... der Speicherorganisation........................... UMA (uniform memory access)................... Speicher-Kohärenz....................................... Speicherkonsistenz...................................... DSM (distributed shared memory)......................... Kommunikationsnetzwerk & Speicher-Directories..................... Rechenbeispiel: DSM........................... NUMA (non uniform memory access).............. COMA (cache only memory access)............... Synchronisation............................... Vektorrechner........................................... 13. Digitaler Signalprozessor ........................................................ 14. Realisierung einer ALU Boolsche Algebra........................................ CMOS-Implementierung der Grundgatter.................... SRAM-Speicherzelle...................................... 14.1 Arithmetische Operationen............................... (2,2) Halbaddierer...................................... (3,2) Volladdierer...................................... 14.2 Addiererkonzepte Carry-Ripple-Addierer.............................. Carry-Lookahead-Addierer........................... Carry-Skip-Addierer................................ Carry-Select-Addierer.............................. Vergleich der Addierer-Konzepte......................... 14.3 Subtraktion............................................. 14.4 Multiplikation.......................................... Flussdiagramm...................................... Multiplikatioren-Konzepte Carry-Save-Multiplizierer..................... Array-Multiplizierer.......................... Wallace-Baum-Multiplizierer................... 14.5 Division Flussdiagramm: restoring/non-restoring step........ Beispiel (restoring dividing step)................. 15. Gleitkommaarithmetik 15.1 IEEE Standard 754....................................... Zahlenformate und Genauigkeit........................... Rundungsmodi............................................ Ausnahmebedingungen..................................... 15.2 Addition/Subtraktion von Gleitkommazahlen............... Algorithmus........................................ 15.3 Multiplikation/Division von Gleitkommazahlen............ inkl. Algorithmus 16. Dynamische Sprungvorhersage ........................................................ 60 62 62 63 64 64 65 66 67 67 68 69 73 75 76 78 80 80 81 83 83 85 85 86 87 88 89 90 91 91 92 93 95 96 97 98 98 99 100 101