• Keine Ergebnisse gefunden

Was ist der CPI‐Wert?

N/A
N/A
Protected

Academic year: 2022

Aktie "Was ist der CPI‐Wert?"

Copied!
10
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Verbesserung: Loop‐Unrolling

Grundlagen der Rechnerarchitektur ‐Prozessor 107

Loop: lw $t0, 0($s1) # $t0=Array-Element addu $t0, $t0, $s2 # addiere Wert

sw $t0, 0($s1) # Speichere Element addi $s1, $s1, -4 # nächstes Element bne $s1, $zero, Loop # solange $s1 != 0 Code wie vorher (der Einfachheit sei Loop‐Index Vielfaches von 4):

Loop‐Body vier mal kopiert und Register‐Renaming

Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

Was ist der CPI‐Wert?

(2)

Multiple‐Issue

Dynamic‐Multiple‐Issue

(3)

Generelle‐Idee

• CPU entscheidet, ob und wie viele aufeinander  folgende Instruktionen parallel gestartet werden  können

• Compiler erzeugt nur eine Folge von  Instruktionen; kein VLIW

• Instruktions‐Scheduling des Compilers nicht mehr  erforderlich aber trotzdem aus Performance‐

Gründen sinnvoll

• Verbesserung der Superskalarität durch  dynamisches Pipeline‐Scheduling: 

Instruktionsreihenfolge darf geändert werden, um  Stalls zu vermeiden

Grundlagen der Rechnerarchitektur ‐Prozessor 109

(4)

Dynamic‐Pipeline‐Scheduling Motivation

lw $t0, 20($s2) # zunächst $t0 laden

addu $t1, $t0, $t2 # addu durch lw verzögert sub $s4, $s4, $t3 # sub könnte schon starten slti $t5, $s4, 20 # und genau so auch slti

Warum nicht sub (und ggf. slti) vor addu vorziehen?

(5)

Dynamic‐Pipeline‐Scheduling generell

Grundlagen der Rechnerarchitektur ‐Prozessor 111

Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

(6)

Wiedervorlage: Daten einiger ausgewählter Prozessoren

(7)

Zusammenfassung und Literatur

Grundlagen der Rechnerarchitektur ‐Prozessor 113

(8)

Zusammenfassung

• Schlechte Performance von Single‐Cylce‐Ansatz

• Instruktionsabarbeitung besteht aus mehreren Zyklen

• Moderne Prozessoren nutzen dies für Pipelining

Multiple‐Issue

• Allgemein als Instruction‐Level‐Parallelism bezeichnet

• Für High‐Level‐Programmierer ist die Parallelität nicht sichtbar Sichtbar auf Assembler‐Ebene

Sichtbar auf Compiler‐Ebene

• Hauptprobleme die die Parallelität einschränken Daten‐Abhängigkeiten

Control‐Abhängigkeiten

• Methoden um Data‐ und Control‐Hazards zu reduzieren Scheduling

Spekulation

(9)

Quiz

Bildquelle: www.geemag.de/wp‐content/artikel_endgegner_bild.jpg

Welchen Einfluss hat Pipelining auf den CPI‐Wert?

[  ] Der CPI‐Wert bleibt immer unverändert.     [  ] Der CPI‐Wert kann unter 1 fallen. 

[  ] Der CPI‐Wert steigt in der Regel an.

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 115

Mittels Pipelining kann man die Taktrate eines Rechners erhöhen.

[  ] Stimmt!       [  ] Nein, das ist völliger Quatsch.

Eine Pipeline mit k Stufen erreicht asymptotisch immer eine Performance‐Ratio von k.

[  ] Jawohl.      [  ] Nein, die Ratio kann darunter liegen.

[  ] Nein, die Ratio kann sogar noch höher liegen.

Welchen Einfluss hat Superskalarität auf den CPI‐Wert?

[  ] Der CPI‐Wert bleibt immer unverändert,      [  ] Der CPI‐Wert steigt an.

[  ] Der CPI‐Wert kann unter 1 fallen.

Pipelining erhöht den Durchsatz aber reduziert nicht die Instruktions‐Latenz.

[  ] Nein, Durchsatz und Latenz sinken       [  ] Nein, Durchsatz und Latenz steigen       [  ] Ja, das ist richtig

Super! Geschafft. Auf 

zum nächsten Level.

(10)

Literatur

[PattersonHennessy2012] David A. Patterson und John  L. Hennessy, „Computer Organization and Design“,  Fourth Edition, 2012

4.1 Introduction

4.2 Logic Design Conventions 4.3 Building a Datapath

4.4 A Simple Implementation Scheme 4.5 An Overview of Pipelining

4.6 Pipelined Datapath and Control

4.7 Data Hazards: Forwarding versus Stalling

Referenzen

ÄHNLICHE DOKUMENTE

Wenn ihr die Abstimmung gemeinsam mit mehreren Klassen durchführen wollt, dann könnt ihr die folgenden Schritte entsprechend anpassen.. Was brauchen wir für

Modeling and Forecasting Inflation in Zimbabwe: a Generalized Autoregressive Conditionally Heteroskedastic (GARCH) approach, Munich University Library – Munich

• Statt eine Ableitung für das Target topdown zu raten, sammeln wir sämtliche Möglichkeiten bottom-up auf. == ⇒

wenn eine Ladung verschoben wird Magnetische Kraft verrichtet keine Arbeit, da die Kraft senkrecht

Those who have not previously worked with a solder- masked board will find that it takes considerably less solder to make a good joint since the solder does not spread out

If the product is delivered by mail or common carrier, you agree to insure the product or assume the risk of loss or damage in transit, to prepay shipping charges

Therefore, since all systems access both memory and I/O space, install at least two jumpers to minimize wait time.. The standard CompuPro configuration is to

Name des Verfassers, Vorname(n) (abgekürzt), die bei weiteren Autoren dem Nachnamen vor- angestellt sein sollen, vollständiger Titel der Arbeit, abgekürzter Titel der Zeitschrift,