Fragenkatalog Antworten RA

Overflow: XOR der beiden höchstwertigen Carrys. 28. Adressierung mit einer Speicheradresse und einem Register. 29. Wird davor in den Akkumulator geladen.
375KB Größe 0 Downloads 321 Ansichten
Fragenkatalog Antworten RA 1. Prozessor (Steuerwerk, Rechenwerk), Speicher, Bussystem, Ein/Ausgabe 2. Bussystem wird zum Engpass zwischen Prozessor und Speicher Prozessor ist wesentlich schneller als Bus übertragen kann 3. Cache in der CPU 4. Nicht für eine spezielle Aufgabe konstruiert Simuliert alle Komponenten der Turing Maschine 5. Die interne Struktur des Rechners, d.h. sein Aufbau aus versch. Komponenten und die Organisation der Arbeitsabläufe im Rechner 6. SISD: Klassischer von Neumann Rechner mit einer ALU SIMD: Vektorrechner o. MMX SSE3D MISD: Makropipelining MIMD: Multiprozessorsysteme 7. SIMD 8. 1984: 0111 1100 0000 4000: 1111 1010 0000 8192: 0010 0000 0000 0000 9. BAG 10. 100=(121)9 exemplarisch 11. (A01)16 = 2561 (25)8 = 21 Ergebnis: 53781 12. (AB)16 = (1010 1011)2 = (-85)10 13. Es gibt eine negative mehr als positive Zahlen 14. A) 170 51 B) -86 51 15.

16. 17. 18.

19. 20.

Vorteile

Festpunktzahlen Bei gleicher Bitzahl genauer als GP Schnellere Rechenoperationen

Nachteile

Kleinerer Zahlenbereich als Gleitpunkt

Gleitkommazahlen Größerer Zahlenbereich

Langsamere Rechenoperationen Ungenauer als FP bei gleicher Bitzahl Bei IEEE754: mehr als eine Ziffer vorm Komma oder nicht 1. e=1; f=0; vz=0 = 2^-126 a)24,125 Mantisse: 1000001…0, Exponent 10000011, VZ 0 8,5 Mantisse: 0001…0, Exponent 10000010, VZ 0 b) Es kann ein Bit mehr gespeichert werden. Verdopplung der Genauigkeit c) Kleinere Zahl solange nach Rechts shiften, bis Exponent mit dem der anderen Zahl übereinstimmt. Mantissen addieren, Zahl normalisieren. Mantisse 00000101…0, Exponent 10000100, VZ 0 -5 a) Mantisse 0101…0, Exponent 10000100, VZ 0 b) -16, 58, 42

21. a) 48: 0|10000100|1…0 -0,625: 1|01111110|01…0 b/c) 30: 1|10000011|111…0 22. Fehlererkennung a) 0 b) 1 c) 1 d) 0 23. Hamming-Distanz 1 aller benachbarter Codewörter, es ändert sich zur benachbarten Ziffer nur ein Bit. Bei Digitalanzeigen, weil keine Zwischenzustände auftreten, wenn z.B. eine Digitaluhr hochgezählt wird. 24. Ausgang XOR, Carry-Out AND. Liegt am Aufbau des HA. 25. 42 26. Carry, Sign, Zero, Overflow 27. Carry: Überlaufbit des höchsten VA Sign: Höchstes Ergebnisbit Zero: Verunden aller negierten Bits des Ergebnisses Overflow: XOR der beiden höchstwertigen Carrys 28. Adressierung mit einer Speicheradresse und einem Register 29. Wird davor in den Akkumulator geladen 30. In den Stack laden mit pop 3Adreßmaschine MUL b c h1 SUB a h1 h2 DIV e f h3 ADD d h3 h3 MUL h2 h3 h3 ADD a h1 h1 DIV h3 h1 z

31. 32.

33. 34.

2Adreßmaschine MUL b c ZUW c h1 SUB a h1 DIV e f ADD d f ADD c a MUL h1 f DIV f a ZUW a z

1 1/2Adreßmaschine ZUW c r1 MUL b r1 ZUW r1 r3 SUB a r1 ZUW f r2 DIV e r2 ADD d r2 ADD a r3 MUL r1 r2 DIV r2 r3 ZUW r3 z

0Adreßmaschine PUSH a PUSH b PUSH c MUL SUB PUSH d PUSH e PUSH f DIV ADD MUL PUSH a PUSH b PUSH c MUL ADD DIV POP z Nummer der Instruktionen steigt und Anzahl der Adressen sinkt mit sinkender Adressanzahl. Größe des Codes sinkt, weil Adressen den größten Anteil an der Befehlslänge haben. Absolute Adressierung: Die logische Adresse ist direkt im Befehl angegeben Register-Indirekte-Adressierung: Die effektive Adresse steht in einem Register, dessen Adresse im Befehl angegeben ist Indizierte Adressierung, Relative Adressierung Bei Pipelining werden mehrere Instruktionen überlappend bearbeitet Instruction Fetch, Instruction Decode, Operand Fetch, Execution, Write Back

35. Um Faktor 10, wenn sehr viele Befehle auszuführen sind

1Adreßmaschine LOAD b MUL c STORE h1 ADD a STORE h2 LOAD a SUB h1 STORE h1 LOAD e DIV f ADD d MUL h1 DIV h2 STORE z

36. Es gibt Situationen bei denen die nächste Instruktion nicht im im nächsten Taktzyklus ausgeführt werden kann  Struktural Hazards  Mehrere Pipeline-Stufen benötigen zeitgleich die selbe Ressource  Control Hazards  Nachfolgebefehl bzw. auch Instruction Fetch hängt vom Ausgang einer Phase/Änderungen im Kontrollfluss ab  Data Hazards  Berechnung erfordert Ergebniss eines Vorgängerbefehles noch in der Pipeline befindlich 37. Bei Struktural Hazards: geeignete Architektur, Pipeline löschen Control Hazards: Brand Prediction, Delayed Branching, Pipeline löschen Data Hazards: Forwarding, Code Optimierung, Pipeline löschen 38. Read after Write, Write after Read, Write after Write 39. RAW: Ein Register wird gelesen, bevor ein vorheriger Befehl es beschrieben hat WAR: Folgebefehl schreibt auf Register, das noch von einem anderen gelesen wird WAW: Mehrere Befehle schreiben auf ein Register. Es ist wichtig, darauf zu achten, dass die Schreibreihenfolge der Befehlsreihenfolge entspricht. 40. RAW: add $s0, $t0, $t1 sub $t2, $s0, $t3 WAR: R=R2+R3 R2=2 WAW: R1=R2+R3 R1=R2 41. RAW 42. Nein 43. Struktural Hazard Erkannt durch Scoreboard Beheben durch Pipelineleerlauf, Pipeline-Sperrung oder Verdopplung der Ressource, was jedoch teuer ist 44. Das Scoreboard führt zentral eine Hazard-Erkennung durch und leitet wenn keine Abhängigkeiten mehr bestehen den Instruktionsfluss von einer Stage zur nächsten weiter. Scoreboard ist eine Hardware-Einheit, die sich alle in Ausführung befindlichen Instruktionen, alle bei der Ausführung beteiligten Einheiten und sich alle Register merkt, die die Resultate speichern sollen 45. Mehrere Prozessorkerne Superskalarität 46. Mehrere Befehle werden gleichzeitig in die Pipeline gesetzt und parallel zueinander abgearbeitet. Manche Ausführungseinheiten sind doppelt vorhanden. 47. Out of order Execution, Speculative Execution, Branch Prediction 48. Mikroprogramm zerlegt Programm in kleinere Einheiten (Mikroinstruktionen), diese werden dann vom Prozessor ausgeführt. a) Festverdrahtetes Steuerwerk, Zustandsautomat b) Vorteile

Nachteile

Mikroprogrammierung

Festverdrahtet 49.

50. 51.

52.

53. 54. 55. 56.

57. 58. 59.

Weniger Hardwareaufwand Implementierung neuer Maschinenbefehle einfach möglich Emulation verschiedener Maschinensprachen Schneller

Langsamer

Mehr Hardwareaufwand Unflexibel Horizontale Programmierung: Der Mikrobefehl enthält die Steuersignale unkodiert, d.h. jedes Bit steuert Vorteil: Alle Steuersignale können unabhängig voneinander gesetzt werden, erlaubt maximale Parallelität im Datenpfad, schnell Nachteil: Breite Mikroinstruktion, Oft sind nicht alle Kombinationen der Steuersignale sinnvoll Vertikale Mikroprogrammierung: Ein Kontrollfeld wird in der Mikroinstruktion gespeichert. Der Wert des Kontrollfelds wist die Binärcodierung des zu setzenden Steuersignals Vorteil: Schmale Steuerworte Nachteil: Es kann immer nur ein Steuersignal gesetzt werden, im Datenpfad keine Parallelität Maschinenbefehl wird in Folge von elementaren Steueroperationen zerlegt. RISC: Reduzierung des Befehlssatzes auf einfache Befehle. Load/Store-Architektur führt zu einfacher Operandenbehandlung CISC: Komplexer Befehlssatz. Komplexe Operandenbehandlung. Orthogonaler Befehlssatz (alle Adressierungsarten und Datentypen mit allen Befehlen) Mehrere Befehle bzw. Operationen werden zu einem sehr breiten Befehlswort zusammengefasst. Dieser Befehl wird vom Compiler zusammengestellt. Die Teile dieses Befehls werden parallel ausgeführt. RISC, weil Befehle ungefähr gleich lang sind und CISC befehle im Grunde nur aus einfachen Befehlen bestehen 32bit Speicheradresse 14bit Segmentselektor, dadurch 2^46 bit virtueller Speicher adressierbar Adressabbildung: Logische Adresse -> Physikalische Adresse Adressrechnung: z.B. Addieren von Offset auf Basisadresse Eine logische Adresse wird mittels einer Adressabbildung auf eine physikalische Adresse abgebildet. Eine effektive Adresse entsteht aus einer Programmadresse durch eine Adressrechnung gemäß der im Befehl gewählten Adressierungsart Speicherverwaltung anhand logischer Einheiten, variable Größe Zerstückelung des Speichers durch Swapping verschiedener Segmente Einteilung des Adressraums in Seiten gleicher Größe Bei x86 Adressumsetzung in Hardware Die Virtuelle Adresse setz t sich aus Segmentnummer, Seitennummer und Offset zusammen. Erst wird anhand der Segmentnummer das richtige Segment gesucht, dieses verweist dann auf die Basisadresse der Seitentabelle. Die Seitennummer ist der Index innerhalb der Seitentabelle. Inhalt der Seitennummer ist die Rahmennummer der realen Basisadresse, dazu wird der Offset addiert und man erhält die gewünschte Adresse.

60. Logische Adresse: Programmseitige Adresse Lineare Adresse: Virtuelle Adresse, nach Segmentierung Physikalische Adresse: Maschinenadresse, nach Paging 61. A)Gültigkeitsbit im zweiten Schritt null (Seite nicht im Hauptspeicher?) B)Gültigkeitsbit im ersten Schritt null (Segment nicht im Hauptspeicher?) C) D) 62. Direct Mapped, Voll assoziativ, N-fach Assoziativ 63. Jeder Block des Hauptspeichers kann jede beliebige Zeile des Cache belegen Hoher Aufwand 64. A) 1 B) 2 C) 4 D) 64 65. 2^15 Zeilen Die ersten 27 Bit der Prozessoradresse geben die Zeile an, die letzten 5 Bit werden zur Adressierung des richtigen Bytes in der Zeile gebraucht 66. Tag gibt die Zeile im Cache an Index das gesuchte Byte in der Zeile 67. Zusammenfassung von n Zeilen zu Sets Innerhalb des Sets sind die Zeilen wahlfrei 68. LRU, FIFO, LFU, Random 69. Programme greifen zu einer Zeit auf einen relativ kleinen Anteil des Adressraums zu. Hilfreich für Cache-Algorithmen und vorausschauendes Einlagern 70. Programme, die in einer Mehrprozessumgebung lauffähig sein sollen, müssen verschiebbar sein, d.h. nicht an festgelegt, physikalische Adressen gebunden sein. Speicherreferenzen erfolgen daher über sog. Virtuelle Adressen, die erst bei der Programmausführung in physikalische Adressen umgesetzt werden. Jeder Prozess hat einen eigenen einheitlichen Adressraum. 71. Memory Management Unit, setzt virtuelle Adressen auf physikalische Adressen um. IN Hardware. 72. Speichert die Zuordnung von Virtuellen auf physikalische Adressen um auf häufig genutzte Adressen schneller zugreifen zu können. Sinnvoll wegen Datenlokalität. 73. SRAM: Muss nicht refreshed werden, wird als Cache eingestetzt. DRAM: Muss refreshed, wird eingesetzt z.B. als RAM. 74. Dauer bis ein Speicherzugriff abgeschlossen ist und die nächste Anfrage angenommen werden kann. 75.

;

76. A) IO-Adressbereich wird in den Hauptspeicheradressbereich abgebildet B) Eigener IO-Adressbereich C) Vorteil A: Adressierbar wie Speicher, Nachteil A: Hauptspeicheradressraum wird belegt Vorteil B: Nutzt keinen Hauptspeicheradressraum, Nachteil B: Spezielle Befehle nötig 77. 100 MHz: 3,2GB/s; 133MHz: 4,3GB/s; 150MHz: 4,8GB/s; 200MHz: 6,4GB/s 78. Frontsidebus 79. Unterbricht die Abarbeitung von Programmen. Sichern von Stack, PC, sucht in IVT nach Interrruptbehandlungsroutine. Nach Beendigung wird Prozesskontext geladen. 80. Interrupt Request

81. Interrupt Service Routine, diese Routine wird augerufen, nachdem ein Interrupt ausgelöst wird und behandelt diesen. 82. In der Interruptvektortabelle ist für jeden Interrupt die Adresse der zugehörigen Interruptserviceroutine vermerkt. Die Einträge werden durch Treiber erstellt. 83. Z.B. Division durch 0 Page/Segment Fault, Trap, Abort 84. DMA, PIO 85. Polling, z.B. Abfragen eines Statusbits 86. Redundant Array of Independent Disks Durch Redundanz vermeiden von Datenverlust Durch parallele Anordnung Steigerung der Performance 87. UMA: Uniform Memory Access; Alle Prozessoren erreichen den Speicher auf gleiche Weise und mit gleicher Zugriffszeit NUMA: Non-“: Werden die Speicherzugriffe topologisch und zeitlich unterschiedlich behandelt, je nachdem, wo sich die Daten in Bezug auf den zugreifenden Prozessor befinden. 88. Bei paralleler Ausführung, ist ein Programm umso schneller, desto größer sein Anteil an parallel ausführbarem Code ist. 89.

„Wirkungsgrad“ von unter 20% erscheinen nicht sehr akzeptabel