Übung 1 Flashcards
Einführung
Welche drei Aussagen über Jobs der dritten Rechnergeneration sind wahr?
- Spooling kann I/O interaktiv nutzen.
- Beim Spooling kann immer nur ein Job ausgeführt werden.
- Time-Sharing kann I/O nicht interaktiv nutzen.
- Time Sharing findet auf einem heutigen PC keine Verwendung mehr.
- Multiprogramming findet auf einem heutigen PC keine Verwendung mehr.
- Multiprogramming kann I/O nicht interaktiv nutzen.
- Beim Spooling kann immer nur ein Job ausgeführt werden.
- Multiprogramming findet auf einem heutigen PC keine Verwendung mehr.
- Multiprogramming kann I/O nicht interaktiv nutzen.
Einführung
Ordnen Sie die Sprachen den Leveln 0 (maschinennah) bis 5 zu.
- Instruction Set
- Assembly language
- Operating system machine
- Problem-oriented language
- Digital logic
- Microarchitecture
- Digital logic
- Microarchitecture
- Instruction set
- Operating system machine
- Assembly language
- Problem-oriented language
Einführung
Welche Aussagen über Sprachlevel sind richtig?
- Ein Compiler übersetzt den Code einer höheren Schicht komplett, bevor dieser ausgeführt wird.
- Kompilierter Code ist durch den Kompiliervorgang fehlerfrei und wird immer terminieren.
- Ein Interpreter übersetzt maschinennahen Code in höhere Schichten um diesen lesbar (interpretierbar) zu machen.
- Interpretierter Code kann trotz Fehlern partiell ausgeführt werden und wird bis zum Fehlerfall die vorhergesehenen Resultate erzeugen.
- Ein Compiler übersetzt den Code einer höheren Schicht komplett, bevor dieser ausgeführt wird.
- Interpretierter Code kann trotz Fehlern partiell ausgeführt werden und wird bis zum Fehlerfall die vorhergesehenen Resultate erzeugen.
Einführung
Welche Aussage zu RISC und CISC ist wahr?
- Befehle, die auf einer CISC Architektur vorhanden sind können mit RISC Architekturen nicht dargestellt werden.
- CISC Architekturen können manche Probleme effizienter lösen und sind dadurch in vielen Fällen schneller.
- CISC Architekturen sind auf der Hardware meist kleiner und dadurch kostengünstiger
CISC Architekturen können manche Probleme effizienter lösen und sind dadurch in vielen Fällen schneller.
Einführung
Wie hoch ist der maximale Durchsatz eines Prozessors mit einer Zyklusdauer von 10 ns in MIPS (million instructions per second)?
- Formel: 1 Zyklus/Zyklusdauer * 10^9ns/1s
- 1 Zyklus/10 ns * 10^9ns/1s = 10^8 Zyklus/1s
- 10^8 Zyklus/1s = 100.000.000 Zyklus/1s
- 100 MIPS
Einführung
Wie hoch ist der maximale Durchsatz eines Prozessors mit einer fünfstufigen Pipeline (Instruction Fetch, Instruction Decode, Operand Fetch, Execute, Writeback) und einer Zyklusdauer von 50 ns in MIPS, wenn alle Stufen einen Zyklus benötigen?
- 1 Zyklus/50 ns * 10^9 ns/1 s
- = (1Zyklus * 10^9 ns)/50 ns * 1 s
- 10^9 Zyklus / 50 s
- = 20 MIPS
Einführung
Ein weiterer Prozessor mit einer fünfstufigen Pipeline und einer Zyklusdauer von 25 ns benötigt nur für den Schritt Operand-Fetch 2 Zyklen, da die Operanden nun aus dem Speicher geladen werden müssen und 4 Zyklen für die Befehlsausführung (Execute). Alle übrigen Schritte benötigen nur einen Zyklus. In jedem Takt wird ebenfalls sofern wie möglich ein neuer Befehl in die Pipeline gebracht.
Wie hoch ist der maximale Durchsatz dieses Prozessors in MIPS (gerundet auf eine Stelle nach dem Komma)?
- Hinweis: 5 Schritte, 25ns Takt, Schrittdauer: 1,1,2,4,1 Takt(e)
- Nach jedem 4 Takt ist eine Konstruktion fertig
- 5 Schritte, 25ns Takt, Schrittdauer: 1,1,2,4,1 Takt(e)
- (10^9 Zyklus * ns) / 25ns * s = 40 MIPS
- Nach jedem 4 Takt ist eine Konstruktion fertig
- 40 MIPS / 4 = 10 MIPS
Einführung
Ein Prozessor mit einer Pipeline, die in 8 Taktzyklen durchlaufen wird und einer Zyklusdauer von 20 ns kann in jedem Taktzyklus immer einen neuen Befehl in die Pipeline bringen. Der Prozessor muss bei jeder falschen Sprungverhorsage die komplette Pipeline leeren. Dazu wird angenommen, dass 10% aller Befehle Sprünge sind, welche zu 90% korrekt vorgesehen werden.
Wie hoch ist der erwartete Durchsatz in MIPS (gerundet auf eine Stelle nach dem Komma)?
Idee:
- Jede falsche Vorhersage kostet 8 Zyklen
- Berechne MIPS wenn alles gut läuft
- Verringere MIPS um die Faktoren
- Wahrscheinlichkeit für den Fall
- Kosten für den Fall
- 8Schritte, 20ns Takt, 10 % Sprünge, davon 90 % korrekt
- Fall: alles klappt
- 1 Zyklus / 20 ns = 50 MIPS
- Wahrscheinlichkeit für Fehlerfall:
- Jumps/Incorrect Jumps = 0.1/0.1 = 1 %
- 1 Fehler kostet 8 Zyklen -> Wir erwarten in 100 Zyklen durchschnittlich 92 Ergebnisse
- 50 MIPS * 0.92 = 46 MIPS