RW-Systemarchitektur Kap. 5
Kapitel 3
5 Rechnerorganisation
5.1 Leistung5.2 Pipelining
5.1 Leistung
Wiederholung und Diskussion
RW-Systemarchitektur Kap. 5
Zyklen, Taktraten Zeit im Rechner schreitet in diskreten Schritten fort, gesteuert durch
eine Uhr. Das Zeitintervall zwischen zwei Uhrticks ist ein Takt, ein Zyklus (cycle);
seine Länge ist die Zykluszeit. Die Ausführung eines Maschinenbefehls braucht mehrere Zyklen. Dies ist bei vielen Architekturen verschieden für verschiedene Befehle
und nicht mal konstant für einen individuellen Befehl. Für einen gegebenen Befehl hängt diese Zahl vom Zustand ab, in dem
der Befehl ausgeführt wird. Man betrachtet wieder
die durchschnittliche Zahl bei universellen Rechnern bei Echtzeitsystemen :
die Zahl bei gegebenem Zustand die Zahl im schlechtest möglichen Fall die Zahl im schlechtesten Fall bei gegebener Menge von Zuständen
CPI (cycles per instruction) wird i.A. für die durchschnittliche Zahl von Zyklen pro Befehl verwendet.
Warnung: Name passt bei Fließbandverarbeitung nicht mehr!
RW-Systemarchitektur Kap. 5
Leistung auf der Befehlsebene
Bisherige Leistungsmaße bezogen sich nicht auf die ausgeführten Befehle
Anzahl CPU-Zyklen für die Ausführung eines Programms =Zahl der ausgeführten Befehle Zahl der Zyklen pro Befehl
Also insgesamt:CPU-Ausführungszeit =
Zahl der ausgeführten Befehle Zahl der Zyklen pro Befehl Zykluszeit
Einfluss des Rechnerarchitekten auf die drei Parameter1. Zahl der ausgeführten Befehle 2. Zahl der Zyklen pro Befehl 3. Zykluszeit
RW-Systemarchitektur Kap. 5
1. Zahl der ausgeführten Befehle
Schleifengrenzen und Rekursionstiefe bleiben fest Änderung in der Zahl der erzeugten Befehle
führt zum Unterschied von Reduced Instruction Set Computer (RISC), z.B. MIPS,
SPARC, PowerPC kleiner Befehlsvorrat, wenige Adressierungsarten einfache Logik zur Implementierung, viel Platz für Register
Complex Instruction Set Computer (CISC); z.B. Pentium komplexe Instruktionen, viele Adressierungsarten Implementierung über Mikroprogramme wenig Platz für Register
Für ein Quellprogramm und einen CISC-Zielrechner werden i.A. Maschinenprogramme mit weniger Befehlen erzeugt.
RW-Systemarchitektur Kap. 5
Adressierungsmodi im MC 68000
1. Data register direct 2. Address register direct 3. Register indirect 4. Register indirect with post-increment 5. Register indirect with pre-decrement 6. Register indirect with displacement 7. Register indirect with index
8. Absolute short 9. Absolute long 10. PC relative with displacement 11. PC relative with index 12. Immediate 13. Quick Immediate 14. Implied register
Beispiel:d(An, Ix) scaled Address register indirect with Index and Address distance: St(cont(An) + cont(Ix) + d) mit An benutzt als Basis Register, Ix IndexRegister, 8-Bit-Versatz d.
RW-Systemarchitektur Kap. 5
Adressierungsmodi im MIPS Register Addressing in Sprungbefehlen PC-Relative Addressing in bedingten Sprüngen Pseudo-direct Addressing in Sprungbefehlen Base Addressing für Datenzugriff über
Basisadresse und Versatz (Offset)
SpeicherBasisadresse
Versatz
effektive Adresse
RW-Systemarchitektur Kap. 5
2. Zahl der Zyklen pro Befehl und 3. Zykluszeit
Single-Cycle Datenpfad führt jeden Befehl in einem Taktzyklus
aus; Taktzyklus kann kann sehr lange
dauern
Multi-Cycle Datenpfad hat viel kürzeren Taktzyklus (höhere
Taktrate) jeder Befehl benötigt mehrere
Taktzyklen
Single-Cycle Datenpfad Quelle: K. Diepold
RW-Systemarchitektur Kap. 5
Single-Cycle und Multi-Cycle-Datenpfad
Single-Cycle Datenpfad Bearbeitungszeit für alle Befehle
gleich lang, der langsamste bestimmt das
Tempo, Zykluszeit durch “kritischen Pfad”
bestimmt
Multi-Cycle-Datenpfad Befehlsausführung in mehrere Phasen
mit Zwischenspeicherung aufgeteilt, braucht mehrere Takte, kritischer Pfad und damit Takt verkürzt. Pro Phase nur ein Teil des Datenpfades
aktiv.
kritischer Pfad: der Pfad, dessen Länge die Gesamtdauer bestimmt
Multi-
Cycle-
Daten-
pfad
Quelle: K. Diepold
RW-Systemarchitektur Kap. 5 Kap. 5 10
Fließbandverarbeitung (Pipelining)
Pipelining verbindet beide Konzepte Taktzyklus wird kurz gehalten hohe Taktrate In jedem Taktzyklus kann ein Befehl abgearbeitet
werdenVorsicht:
der Übergang vom Single-Cycle Datenpfad zum Multi-Cycle Datenpfad erhöht den CPI!
Er verkürzt aber die Zykluszeit! Produkt, also Ausführungszeit des Befehls evtl. leicht
größer.Wodurch?
RW-Systemarchitektur Kap. 5 Kap. 5 11
Das Prinzip an einem alltäglichen Beispiel
Personen A, B, C, D kommen aus dem Urlaub; es ist vielschmutzige Wäsche zu waschen!
Zur Verfügung stehen: eine Waschmaschine (1/2 Stunde Laufzeit) ein Trockner (1/2 Stunde Laufzeit) eine Bügelmaschine (1/2 Stunde Arbeit zum Bügeln) ein Wäscheschrank (1/2 Stunde Arbeit zum
Einräumen)
jeder der Personen A, B, C, D aus dem Haushalt wäscht seine Wäsche selbst
Es gibt zwei Möglichkeiten, die vier Waschvorgänge auszuführen!
Dauer der Arbeiten: 8 Stunden
Dauer der Arbeiten: 3 1/2 Stunden
Das Prinzip an einem Beispiel
Time 76 PM 8 9 10 11 12 1 2 AM
ABCD
Time 76 PM 8 9 10 11 12 1 2 AM
ABCD
Taskorder
Taskorder
mit Pipelining
Time76 PM 8 9 10 11 12 1 2 AM
A
B
C
D
Taskorder
RW-Systemarchitektur Kap. 5 Kap. 5 13
Aufteilung der Befehlsabarbeitung in Phasen
Abarbeitung eines Maschinenbefehls in mehrere Phasen mit möglichst gleicher Dauer aufgeteilt.
Eine sinnvolle Aufteilung ist abhängig vom Befehlssatz und der verwendeten Hardware.
Beispiel: Abarbeitung in 5 Schritten: Befehls-Hole-Phase (instruction fetch) Dekodier-Phase / Lesen von Operanden aus Registern Ausführung / Adressberechnung (execute) Speicherzugriff (memory access) Abspeicher-Phase (result write back phase)
RW-Systemarchitektur Kap. 5
Aufteilung des Datenpfades in 5 Phasen
Instructionmemory
Address
4
32
0
Add Addresult
Shiftleft 2
Instruction
Mux
0
1
Add
PC
0Writedata
Mux
1Registers
Readdata 1
Readdata 2
Readregister 1
Readregister 2
16Sign
extend
Writeregister
Writedata
ReaddataAddress
Datamemory
1
ALUresult
Mux
ALUZero
IF: Instruction fetch ID: Instruction decode/register file read
EX: Execute/address calculation
MEM: Memory access WB: Write back
RW-Systemarchitektur Kap. 5 Kap. 5 16
Pipelining: Illustration
Annahme: Aufteilung der Befehlsabarbeitung in 5 gleichlange Phasen
Befehl 1: P1 P2 P3 P4 P5
Befehl 2: P1 P2 P3 P4 P5
Befehl 3: P1 P2 P3 P4 P5
Befehl 4: P1 P2 P3 P4 P5
Befehl 5: P1 P2 P3 P4 P5
Befehl 6: P1 P2 P3 P4 P5
Befehl 7: P1 P2 P3 P4 P5
Zeitschritt: 1 2 3 4 5 6 7 8 9 10 11
11 = (7-4) + 2 (5-1) Zyklen
Top Related