Probeklausur zur Vorlesung

Rechnerarchitektur

17.12.2003

Aufgabe 1: (Leistungsbewertung von Rechnersystemen)

  1. Welche Faktoren kann man beim Entwurf eines Prozessors optimieren, um eine Leistungssteigerung zu erreichen?
  2. 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.
  3. Warum treten die Bedingungen für die Maximalleistung fast nie ein?
  4. 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?
  5. 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.

  1. Welche Konflikte treten bei dieser Architektur auf?
  2. Entwickeln Sie für jede von Ihnen gefundene Konfliktart ein Beispiel und erläutern Sie den Konflikt.
  3. Welche der Konflikte könnten mit einer Forwarding-Hardware behoben werden?
  4. Welche der Konflikte könnten mit einer Harvard-Architektur behoben werden?
  5. Worin liegt bei dieser Architektur das Problem beim Einsatz eines Branch-Target-Buffers?

 





Antworten zur Probeklausur Rechnerarchitektur

Aufgabe 1: (Leistungsbewertung von Rechnersystemen)

  1. Die Zahl der Befehle für ein Programm, die Zahl der Takte pro Befehl und die Taktfrequenz.
  2. 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.
  3. 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
  4. 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)

  1. Ressourcen, Daten und Steuerkonflikte
  2. 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

 

  1. Datenkonflikte
  2. Ressourcenkonflikte
  3. Da sich die Sprungadresse mit dem Register RS ändert, kann es sein, dass der Sprung – obwohl korrekt vorausgesagt – an die falsche Stelle geht.