Probeklausur zur Vorlesung
Rechnerarchitektur
17.12.2003
Aufgabe 1: (Leistungsbewertung von Rechnersystemen)
- Welche
Faktoren kann man beim Entwurf eines Prozessors optimieren, um eine
Leistungssteigerung zu erreichen?
- Berechnen
Sie die theoretische Maximalleistung in MIPS für eine Architektur mit
einer Zykluszeit von 20 ns und vier Funktionseinheiten (Integeroperationen,
Sprungbefehle, Gleitkommaoperationen, LOAD/STORE-Befehle). Nehmen Sie an,
dass jeder Befehl innerhalb eines Taktzyklus ausgeführt werden kann und
dass drei Befehle gleichzeitig eingelesen und von einer dreistufigen
Pipeline bearbeitet werden können.
- Warum
treten die Bedingungen für die Maximalleistung fast nie ein?
- Dieser
Prozessor mit einer Wortbreite von 32 Bit soll in einem
Mehrprozessorsystem mit 4 CPUs eingesetzt werden. Wie hoch ist die
Speicherbandbreite in MB/s für das Gesamtsystem?
- Welche
theoretische Leistungssteigerung gegenüber einem System mit einem
Prozessor erzielt das Rechnersystem aus Teilaufgabe d) bei einer
Anwendung, deren parallelisierbarer Anteil 50% beträgt?
Aufgabe 2: (Pipelines)
Ein einfacher 32-Bit RISC Prozessor
(von-Neumann-Architektur) mit einer vierstufigen Pipeline enthält die folgenden
Befehlstypen:
Liste der Befehle
|
Befehl
|
Bedeutung
|
|
<op> RD, RS1, RS2
|
RD = RS1 <op> RS2
|
|
LOAD RD, RS1, RS2
|
RD = Speicher(RS1 + RS2)
|
|
STORE RD,
RS1, RS2
|
Speicher(RS1
+ RS2) = RD
|
|
BRANCH
RS, RD
|
If (RS
==0) Then PC = PC+RD else PC =PC +1
|
|
NOP
|
keine Aktivität
|
Die ALU-Befehle <op> können sein: ADD, SUB, INC, AND,
OR, NOT
Die Pipelinestufen sind IF, ID/OF, EX, WB. Bei
Sprungbefehlen erfolgt die Berechnung des Sprungziels in der EX-Phase. Bei
LOAD/STORE-Operationen erfolgt die Berechnung der Speicheradresse ebenfalls in
der EX-Phase.
Alle Sprung-, LOAD- und STORE-Befehle besitzen einen
Delay-Slot, der mit einem sinnvollen Befehl gefüllt werden kann. Die
Architektur besitzt keine Forwarding-Hardware. Dem Prozessor stehen die 16
Register R0 bis R15 zur Verfügung.
- Welche
Konflikte treten bei dieser Architektur auf?
- Entwickeln
Sie für jede von Ihnen gefundene Konfliktart ein Beispiel und erläutern
Sie den Konflikt.
- Welche
der Konflikte könnten mit einer Forwarding-Hardware behoben werden?
- Welche
der Konflikte könnten mit einer Harvard-Architektur behoben werden?
- Worin
liegt bei dieser Architektur das Problem beim Einsatz eines
Branch-Target-Buffers?
Antworten zur Probeklausur Rechnerarchitektur
Aufgabe 1: (Leistungsbewertung von Rechnersystemen)
- Die
Zahl der Befehle für ein Programm, die Zahl der Takte pro Befehl und die
Taktfrequenz.
- Taktfrequenz:

Bei dieser Architektur werden im Idealfall pro Takt drei Befehle
abgeschlossen. Daraus folgt die maximale Zahl von 150 Milionen Befehle pro
Sekunde, also 150 MIPS.
- Weil
ein kaum möglich ist die Befehle in einem Programm so zu ordnen, dass die
vorhandenen Funktionseinheiten (Integeroperationen, Sprungbefehle,
Gleitkommaoperationen) immer mit sinnvollen Befehlen versorgt werden
können
- In
dem Takt können pro Prozessor drei Befehle und ein Operand aus dem
Hauptspeicher gelesen werden. Damit ergibt sich die maximale
Speicherbandbreite aus


Aufgabe 2: (Pipelines)
- Ressourcen,
Daten und Steuerkonflikte
- Ressorucenkonflikt:
LOAD 1,2,3
ADD 4,5,6
ADD 7,8,9
ADD 9,10,11 <- Hier wird der Load-Befehl ausgeführt. Gleichzeitig muss
ein neuer Befehl aus dem Hauptspeicher gelesen werden
Datenkonflikt:
ADD 1,2,3
SUB 4,1,2 <- Hier wird ein
Operand benötigt, der vom vorausgegangenen Befehl erst noch berechnet
werden muss
Steuerkonflikt:
BRANCH 1,2 <- Hier ist noch
nicht klar, ob dieser Sprung ausgeführt wird
ADD 1,2,3
- Datenkonflikte
- Ressourcenkonflikte
- Da
sich die Sprungadresse mit dem Register RS ändert, kann es sein, dass der
Sprung – obwohl korrekt vorausgesagt – an die falsche Stelle geht.