219

Architektur und Organisation von Rechnersystemen (Fach) / Sommersemester 12 (Lektion)

Prof. Schaarschmidt, FHD

Diese Lektion wurde von Jasbaer erstellt.

Lektion lernen

Anzeige
  • Nenne die beiden zentralen Wirkprinzipien der Computer. - Programmierbarkeit - algorithmisches Arbeiten
  • Nenne 5 Bestandteile einer typischen Workstation. Maus Laufwerk Festplatten Tastatur Bildschirm  
  • Nenne 5 Bestandteile eines Rechners (Makroansicht). - Prozessor - Arbeitsspeicher - Ein-/Ausgabe - Langzeitspeicher - BUS-System
  • Worin liegt der Unterschied zwischen Tischcomputer und PCs? Es gibt keinen.
  • Was war früher oft ein Grund für viele "Computerheißssporne" ein Grund ihre Entwicklungsteams zu verlassen? Sie wollten eigene Firmen gründen.
  • In welchen Bestandteilen ist ein "Von Neumann Rechner" organisiert? Speicher Leitwerk Rechenwerk Ein-/Ausgabewerk
  • Wie sieht die Programmsteuerung beim "Von Neumann Rechner" aus? Universalrechner: unabhänging vom bearbeiteten Problem Embedded System: abhänging vom Einsatz
  • Nenne 5 Punkte die einen "Von Neumann Rechner" charakterisieren. - Programm und Daten im selben Speicher (außer BIOS) - Speicherorganisation mit gleichartigen Zellen (Byte, Wort, Doppelwort) mit fortlaufender Adressierung - Sequentielle Abarbeitung des Programmes - Veränderung der Programmreihenfolge durch bedingte bzw. unbedingte Sprünge - binäres Datenformat
  • Erkläre den Datenweg einer "Von Neumann Maschine" innerhalb des Prozessors. Register ALU-Eingaberegister ALU-Eingabebus ALU ALU-Ausgaberegister Register ...  
  • Nenne die 6 Abstraktionsebenen eines Computersystems. Ebene 0: Digitale Logik Hardware Ebene 1: Mikroachitektur Interpretation (Mikroprogramm) oder direkte Ausführung Ebene 2: Befehlssatzarchitektur (ISA) Teilinterpretation (Betriebssystem) Ebene 3: Betriebssystemmaschine Übersetzung (Assemblierer) Ebene 4:  Assemblersprache Übersetzung (Compiler) Ebene 5: Problemorientierte Sprache
  • Anzeige
  • Wie lässt sich das zeitliche Verhalten eines realen Systems herausfinden? Das zeitliche Verhalten muss den Datenblättern entnommen werden.
  • Wird der Speicherinhalt bei Ladebefehlen gelöscht? Nein
  • Erklären Sie den Ablauf eines einfachen Ladebefehls zwischen RAM und CPU (0404h LDA). Speicheradresse (hier: 0404) wird an den Prozessor angelegt, wobei sie sich aus den quergelesenen Binärcode an der Adressleitung ergibt. Programmcounter wird inkrementiert. Das erste Befehlswort wird als Opcode angeliefert. Befehl gelangt in das Instruktionsregister und von dort in den Decoder, wo festgestellt wird, dass die Adresse des Datums dem Befehlscode folgt. Die Adresse wird Byte für Byte in das Adressregister der CPU gegeben. Vom Adressregister wird die Adresse auf den Adressbus gelegt und das Datenbyte über den Datenbus in den Akku geladen.
  • Wie sind Speicher und Embedded System organisiert? (byte- oder bitweise?) Der Speicher ist byteweise orientiert, Embedded Systems bitweise.
  • In welches Register gelangt ein Befehl vom Speicher? Er gelangt in das Instruktionsregister.
  • Nene 6 typische Befehlsarten. einfache logische und arithmetische Verknüpfungsbefehle Datentransport- und Speicherbefehle Sprungbefehle UP-Aufruf Zwerzweigungen Ein-/Ausgabebefehle Sciebe- und Rotationsbefehle Zeichenketten- und Blockbefehle Systembefehle Exception
  • Welche 4 Angabe sind für eine "zweistellige Verknüpfung" mindestens notwendig? Arte der Operation (Opcode) 1. Quelloperand bzw. Adresse 2. Quelloperand bzw. Adresse Adresse des Resultats
  • Wie viele verschiedene Adressangaben in Befehlen gibt es? Nenne und erkläre sie. Implizite Adressierung: Eine Quell- oder Zieladresse ist implizit im Opcode enthalten, sie ist nicht explizit angegeben. Überdeckte Adressierung: Eine Quell- Oder Zieladresse wird mehrfach genutzt. Die Adresse ist gleichzeitig Quell- und Zieladresse. Direktoperanden: Die Operanden werden direkt im Adressteil des Befehls codiert.
  • Erkläre die Begriffe "Nulladressbefehl", "Einadressbefehl", "Zweiadressbefehl" und "Dreiadressbefehl". Nulladressbefehl: Implizite Adressierung, Operand bzw. Register im Befehl enthalten Einadressbefehl: Der Operandenteil des Befehls enthält nur eine Adresse (die andere ist implizit) Zweiadressbefehl: Der Operandenteil des Befehls enthält zwei 2 Adresse (zb. Quell- und Zieladresse) Dreiadressebefehl: Der Operandenteil enthält 3 Adressen (z.B. 1. Quelladresse, 2. Quelladresse, Zieladresse)
  • Nenne 5 verschiedene Adressierungsarten und erkläre diese. Implizit. Adresse und Operanden sind durch den Opcode selbst implizit festgelegt Immediate: Der Operand wird im Befehl explizit mitgeführt Relativ: Adresse wird relativ zu einer Basisadresse gebildet (Addition zur Basisadresse) Direkt: Die Adresse wird im Befehl direkt mitgeführt Indiziert: Der befehlt enthält eine Adresse (Basisadresse), die durch Addition eines Index (Indexregister) modifiziert wird
  • Wie lässt sich die Harvar Architektur einfach darstellen? Daten und Befehle werden in ein Rechenwerk gegeben das durch das Steuerwerk gesteuert wird                             [      Daten       ]                              |    |          |                             V  V        V[Steuerwerk]       [  ] [  ]  ... [  ]      Rechenwerk                             /\  /\         /\                              |   |          |                          [     Befehle     ] 
  • Die Verarbeitungsleistung der Proezssoren kann durch Erhöhung der Taktrate nur von Generation zu Generation verdoppelt werden. Nenne 5 weitere Strategien um den Durchsatz der Prozessoren zu erhöhen. - Pipelining - Programm- und Datencache - Sprungvorhersage - Datenflussanalyse - Spekulative Befehlsausführung
  • Erklären sie grob das Funktionsprinzip von sogenanntem Pipelining. Zerlegung einer bestimmten Aufgabe in Teilaufgaben, welche durch spezialisierte Prozessoren taktsynchron bearbeitet werden. Während der Ausführung des Befehls wird der nächste Befehl schon in eine Befehlswarteschlange geholt.
  • Was bedeuten PF, D1, D2 Ex und WB im Zusammenhang mit Pipelining? PF: Prefetch - Holen einer Instruktion aus Cache oder Arbeitsspeicher D1: Decoder 1 - Decodieren der Instruktion D2: Decoder 2 - Generieren der Speicheradresse EX: Execution - Ausführung der Instruktion WB: Write Back - Zurückschreiben des Ergebnisses in Cache oder RAM
  • Was ist beispielsweise bei zweistufigen Pipelines mit gemeinsamer Instruktionsabrufeinheit zu beachten? Damit Parallelbetrieb möglich ist, dürfen nicht im Konflikt über die Nutzung der Register geraten und nicht vom Ergebnis des jeweils anderen abhängen.
  • Nennen sie Beispiele für Funktionsblöcke in der EX von supersklararer Architekturen. ALU Laden Speichern Fließkomma
  • Einer Pipeline mit mehreren Instruktionseinheiten in Reihe liegt der Umstand zugrunde, dass beispielsweise PF3 schneller starten kann, als EX sie ausführt. Welches Problem ergibt sich aus dieser Situation und wie könnte man es lösen? EX benötigt mehr Taktzyklen für die Ausführung. Sinnvoll wären daher mehr ALUs.
  • Wie sind Pipelines bei Pentium umgesetzt? Es gibt zwei Pipelines (U und V). Die Hauptpipeline (U) kann jede  beliebige Instruktion ausführen, V nur einfache Integer-Befehle. Es gibt 2 ALUs. -> zwei Integerbefehle oder einen Gleitkommabefehl in einem Taktzyklus.
  • Wann wird der Prefetch aktiviert? Wenn der BUS unbenutzt oder der Prefetchbuffer leer ist.
  • In wie weit unterscheidet sich Decoder 1 von Decoder 2? Decoder 1 prüft nur ob der Befehl parallel zum vorherigen Befehl ausgeführt werden kann.  Wenn ja, wird er an die nächste Stufe weitergegeben, sonst wird er zurückgestellt. Decoder 2 dekodiert den Befehl ganz und ermittelt die Operanden und liest diese aus dem Speicher.
  • Anzeige
  • Was passiert mit Gleitkommabefehlen in der EX? Die Operanden werden in externes Format umgewandelt und zur FPU übertragen.
  • Was passiert mit Integerbefehlen im WB? Das Ergebnis wird zurückgeschrieben und die Bearbeitung des Befehls endet.
  • Was passiert mit Floatbefehlen im WB? Operanden werden vom externen in ein internes Floatingformat umgewandelt und in einem Floatingregister abgelegt.
  • Was passiert in FPU 1, 2 und 3? FPU1: Ergebnis der Floatingberechnung wird ermittelt FPU2: Ergebnis wird gerundet und in ein Hilfsfloatingregister abgelegt FPU3: WB für Floatbefehl 
  • Welche beiden Mechanismen kennt der Pentium zur Unterbrechung der Programmausführung? Exceptions und Interrupts.
  • Was sind Exceptions? Synchrone Ereignisse, welche Antworten auf bestimmte Bedingungen, die währender der Befehlsausführung erkannt werden
  • Was sind Interrupts? Asynchrone Ereignisse, die typischerweise von externen Geräten ausgelöst werden. Normalerweise keine zeitliche Abnhängigkeit vom Programm.
  • Was ist die Hautpsepicherzugriffsgeschwindigkeit? Die Zeit, die benötigt wird um Daten anzuliefern bzw. wegzuspeichern.
  • Erklären sie was ein Cache ist und warum der Einsatz sinnvoll ist. Die CPU ist deutlich schneller als der RAM. Ein Cache sorgt dafür, dass Befehle und  Daten ohne Wartezeiten für die CPU bereitgestellt werden.   Pipelining und superskalare Architektur reicht nicht mehr aus, da der externe Speicher schneller größer wird als die Zugriffsgeschwindigkeit der CPU. Das Problem ist eigentlich ein wirtschaftliches Problem, aber auch aus technologischer Sicht sind den schnellen Speichern Grenzen gesetzt. Ein Cache ist ein Kompromiss aus großen, langsamen, preiswerten Speichern und kleinen, schnellen Zwischenspeichern mit "schlauer" Taktlogik zu verschalten.
  • Werden Daten bzw. Befehle zuerst im Cache oder zuerst im Hauptspeicher gesucht? Im Cache.
  • Was ist das Lokalitätsprinzip? Was hat es mit dem Cache zu tun? Speicherreferenzen, die in kürzeren Zeitintervallen auftreten, beziehen sich nur auf einen lokalen Bereich des Gesamtspeichers. Alle Cache-Speicher basieren auf dieser Eigenschaft. Wird ein Wort aus dem Speicher für die CPU geholt, wird für den Cache auch schon die Umgebung aus dem langsamen Speicher mit geholt.
  • Der Cache hat zwei Schreibmodi. Wie unterscheiden sich Write-Through Mode und Write-Back Mode? Write-Through Mode: daten werden sowohl im Cache als auch im Hauptspeicher abgelegt. Write Back Mode: Daten werden nur in den Cachen geschrieben. Daten werden erst ins RAM geschrieben wenn sie alt oder von neuen Datenanforderungen verdrängt werden.
  • Wie können Trefferquote und Zugriffszeit mathematisch beschrieben werden? Trefferquote h=(k-1)/k mit k = Schreib- bzw. Lesevorgänge innerhalb eines Zeitintervalls. Zugriffszeit z=c+(1-h)m mit c = Cache-Zugriffszeit und m = Hauptspeicher-Zugriffszeit.   Wenn nun h -> 1, weden alle Referenzen aus dem Cache bedient.
  • Bei welcher Architektur werden Split-Caches verwendet? Harvard Struktur, da Pfade für Befehle und Daten getrennt verlaufen.
  • Warum wurde das MESI-Protokoll implementiert? Damit der gleiche Hauptspeicherbereich in allen Caches abgebildet wird.
  • Wofür steht die Abkürzung MESI grundsätzlich? MESI steht für die Zustände eines Cache-Eintrages.
  • Wofür steht das "M" im MESI-Protokoll? M: Modified -> Cachezeile befindet sich nur im Prozessor.Sie wurde nue beschrieben, wobei das RAM nicht mehr aktuell ist. Lesen und Schreiben erforder keinen Buszugriff und führen  wieder zum Zustand Modified.
  • Wofür steht das "E" im MESI-Protokoll? E: Exclusive -> Cachezeile befindet sich nur im Prozessor. Sie stimmt mit RAM überein. Lesen und Schreiben erfordern keinen Buszugriff. Lesen führt wieder zu Exclusive, Schreiben führt zu Modified.
  • Wofür steht das "S" im MESI-Protokoll? S: Shared -> Cachezeile befindet sich möglichersweise auch in anderen Caches. Lesen erfordert keinen Buszugriff und führt wieder zu Shared. Schreiben aktulaisiert Cache und Hauptspeicher. Wenn andere Caches den gleichen Bereich im Hauptspeicher abbilden, werden deren Cachezeilen auf INvalid gesetzt. Die Cachezeilen des schreibenden Prozessors werden auf Exlsuvie gesetzt.
  • Wofür steht das "I" im MESI-Protokoll? I: Invalid -> Die Cachezeile ist ungültig. Lesen und Schreiben erfordern Buszugriff und führt zum Zustand Exclusive.