4. Übungsblatt zur Vorlesung Rechnerstrukturen

Die Besprechung des Übungsblattes findet am Donnerstag, den 29. Juni 1995 um 14.00 Uhr im HMU statt. Die Musterlösung ist ausschließlich im WWW zu finden.

9. Aufgabe (Vektorrechner)

Betrachte ein vierstufiges Addierwerk für normalisierte Gleipunktzahlen mit 10ns Verzögerung pro Stufe. Die Pipelinetaktfrequenz entspreche der Verzögerung einer Stufe. Neben Addierwerken stehen Verzögerungsglieder zur Verfügung.
  1. Konstruieren Sie aus den eingeführten Bestandteilen eine Pipeline, mit der aus dem Vektor a1... an der Vektor b1... bn mit bi= ai+ai-1 erzeugt wird, wobei a0=0 gesetzt wird.
  2. Zählen Sie die Taktzyklen zur Bearbeitung eines Vektors der Länge n, d.h. wieviele Taktzyklen werden benötigt, bis das Element bn die Pipeline verläßt?
  3. Wie läßt sich die Pipeline modifizieren, um damit folgende Zahlenfolge für i>=0 zu berechnen:
        ai = ai-4+ai-8        für  i > 3 
        a0 = a1 = a2 = a3 =1 
        ai = a0               für  i < 0;	
         
  4. Wie lange dauert es, bis die n-te Zahl berechnet ist?

10. Aufgabe (Vektorrechner Kenngrößen)

Ein Vektorrechner habe eine achtstufige Pipeline, deren Startzeit 5 Taktzyklen beträgt. Für eine skalare Operation benötigt der Prozessor 3 Taktzyklen. Die Maschine wird mit einer Taktfrequenz von 90 MHz betrieben.
  1. Berechnen Sie den Grenzwert des Durchsatzes für den beschriebenen Vektorrechner im Idealfall.
  2. Wie lang sollten die Vektoren nach dem Maß "half-performance length" ohne Berücksichtigung der Startzeit sein?
  3. Berechnen Sie den Trade-Off-Punkt.

11. Aufgabe (Pipelining)

Nehmen wir an, daß Maschinenbefehle in einer k-stufigen Pipeline ausgeführt werden. Die Verzögerung in einer Pipelinestufe betrage eine Zeiteinheit. Hängt ein Befehl vom n-ten vorhergehenden Befehl ab, so muß jener schon vollständig abgearbeitet sein, bevor der aktuelle Befehl bearbeitet werden kann. Der Befehl muß deswegen um max(0, k-n) Zeiteinheiten verzögert werden. Die Wahrscheinlichkeit pn für eine Abhängigkeit vom n-ten vorhergehenden Befehl sei definiert als:
      /  1      
      |  _ für 1 <= n <= L
pn := <  L
      |
      \  0 für n > L
Dabei sei L>k. Somit bezeichnet L den größten Abstand zweier abhängiger Instruktionen. Ein vorgegebenes Programm habe nun m Instruktionen auszuführen.
  1. Wie viele Zeiteinheiten werden durchschnittlich benötigt?
  2. Wie viele Befehle pro Zeiteinheit werden bei der Ausführung von m Befehlen erwartet? Betrachten Sie den Grenzwert bei Variation der Programmgröße m .
  3. In der Vorlesung wurde die Kenngröße Sk für die Leistungssteigerung (Speedup) eines Pipeline-Prozessors eingeführt. Bei der Berechnung des Speedup's für einen Pipeline-Prozessor wurden a llerdings keine Verzögerungen berücksichtigt. Wie hängt die im vorigen Aufgabenteil berechnete Größe mit Sk zusammen?

12. Kontrollfragen

Das folgende sind Fragen zu Stichworten des bisher behandelten Stoffs. Sie sollen dazu dienen, das eigene Wissen zu überprüfen und dazu anregen, die entsprechenden Kapitel im Skript noch einmal aufzuschlagen.
Matthias Müller