• Keine Ergebnisse gefunden

HARDWARE / SOFTWARE- SCHNITTSTELLEN

N/A
N/A
Protected

Academic year: 2022

Aktie "HARDWARE / SOFTWARE- SCHNITTSTELLEN"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

SRQPON

M

L

KJIH GFEDCBA89

O0EKJ5Z2I1HRD8QGY9U3F

HARDWARE / SOFTWARE- SCHNITTSTELLEN

Hardwareentwurf mit VHDL

23. Juni 2014

(Revision: 1341)

Prof. Dr. Steffen Reith

Theoretische Informatik

Studienbereich Angewandte Informatik HochschuleRheinMain

PIPELINING

Notizen Notizen

(2)

GRUNDLAGEN

Pipelining ist eine grundlegende Technik, um diePerformanzeines Systemes zuverbessern.

→ Idee: Tasks (wenn möglich) zeitlichüberlappend auszuführen

→ Idee: kombinatorische Schaltkreise inTeilschritte aufteilen

→ Idee: verwendeRegisterumZwischenergebnissefür den nächsten Schritt zuspeichern

Hier gibt es zwei wichtige Kenngrößen:

→ Delay:Zeitdie dieBearbeitung eines Tasksbenötigt

→ Durchsatz:Anzahlder bearbeitetenTasks pro Zeiteinheit PipeliningverbessertdenDelay nicht(ehr schlechter) und vergrößert (evtl.) denDurchsatz.

154

Pipelining

EIN BEISPIEL: WASCHEN OHNE PIPELINING In einer Wäscherei sind die Tasks

”waschen“,

”trocknen“und

”bügeln“durchzuführen:

Ohne Pipeline

t/min

0 60 120 180 240

W1 T1 B1

W2 T2 B2

W3 T3 B3

W4 T4 B4

Ladung 1 Ladung 2 Ladung 3 Ladung 4

Wiwasche Ladungi Titrockne Ladungi Bibügle Ladungi

Damit ergibt sich:

Delay:60Minuten(Zeit für die Bearbeitung einer Ladung Wäsche)

Durchsatz:4/(4·3·20) =1/60Ladungen pro Minute

Notizen Notizen

(3)

EIN BEISPIEL: WASCHEN MIT PIPELINING

Mit Pipeline

t/min

0 60 120 180 240

W1 T1 B1

W2 T2 B2

W3 T3 B3

W4 T4 B4

Ladung 1 Ladung 2 Ladung 3 Ladung 4

Wiwasche Ladungi Titrockne Ladungi Bibügle Ladungi

Damit ergibt sich (idealisiert):

Delay: unverändert60Minuten(Zeit für die Bearbeitung einer Ladung Wäsche)

Durchsatz: FürkLadungen wird die Zeit40 + 20kbenötigt.

In diesem Beispiel ergibt sich4/(40 + 20·4) =1/30 Ladungen pro Minute

156

Pipelining

EIN BEISPIEL: WASCHEN MIT PIPELINING (II)

Werden sehrviele Ladungen Wäsche gewaschen, so ergibt sich sogar

klim→∞

k

40 + 20·k = 1 20 der dreifache Durchsatz.

Die dargestellte Situation ist stark idealisiert, denn:

→ Die drei Teilaufgaben”waschen“,”bügeln“und”trocknen“

haben denidentischen Zeitbedarf.

→ Derzusätzliche Zeitbedarf(z.B. Ablage in einem

Zwischenspeicher) für dieÜberlappungder Aufgaben wurde vernachlässigt.

Notizen Notizen

(4)

PIPELINING MIT SCHALTKREISEN

Der gleiche Ansatz kann auf Schaltkreise angewendet werden3. Ziel: Teile den kombinatorischen Schaltkreis in möglichst identisch langarbeitende Teile auf (Stages).

Stage 1 Stage 2 Stage 3 Stage 4

Input Output

SeienT1,T2,T3undT4die Delays der Stages1-4, dann ist der DelayTmaxdes gepipelineten Schaltkreises:

Tmax= max{T1, T2, T3, T4}.

3Das Prinzip des Pipelinings in CPUs wird in D. Patterson und J. Hennessy, Computer Organization and Design, Morgan Kaufmann, 2012 in den Kapiteln 4.5 und 4.6 beschrieben.

158

Pipelining

PIPELINING MIT SCHALTKREISEN (II)

Zur Regulierung des Signalflusses werden die (synchronen) RegisterR1,R2undR3eingeführt. RegisterR4dient als Ausgabebuffer:

Stage 1 R1 Stage 2 R2 Stage 3 R3 Stage 4 R4

Input Output

SeiTcqdieVerzögerung eines RegistersRimit der das

Clocksignal amQ-Ausgang ankommt, dann beträgt die minimale PeriodendauerTc

Tc=Tmax+Tset+Tcq

Tcgibt dabei die Dauer einesTeilschrittsan.

Notizen Notizen

(5)

PIPELINING MIT SCHALTKREISEN (III)

Der ursprüngliche kombinatorische Schaltkreis braucht für die gesamteAufgabe (Delay):

Tcomb =T1+T2+T3+T4

Für die Version mit Pipeline ergibt sich der schlechtere Delay Tpipe= 4Tc= 4Tmax+ 4(Tset+Tcq)

Hier zeigt sich, dass dieeinzelnen Stagesmöglichst dengleichen Delayhaben sollten. Dies muss man evtl. durch mehrere

Implementierungsversuche

”ausprobieren“und dann die Stages anpassen (Retiming).

160

Pipelining

PIPELINING MIT SCHALTKREISEN (IV)

DerDurchsatz des kombinatorischen Schaltkreisesbeträgt 1

Tcomb

UmkTasks zu bearbeiten, benötigt die Variante mit Pipeline 3Tc+kTc

Zeit und liefert den Durchsatz (für großek) k

3Tc+kTc 1 Tc

Unter den Annahmen, dassTset+Tcqvernachlässigbarkleinund Tmax=Tcomb/4(perfekt balancierte Stages) gilt:

Tpipe= 4Tc4Tmax=Tcomb

Notizen Notizen

(6)

PIPELINING MIT SCHALTKREISEN (V) Damit ergibt sich

1

Tc 1 Tmax

= 4 Tcomb,

d.h. dervierfache Durchsatz. Diese Betrachtung kann auch auf eine Pipeline mitnStufen übertragenwerden.

Achtung:Verwendet man sehr viele Pipelinestufen, so wirdTc klein, aberTset+Tcqist nicht mehr vernachlässigbar!

Für deneffektiven Einsatzvon Pipilining sollte ein Schaltkreis

→ kontinuierlich grosse Mengen an Daten verarbeiten müssen,

→ den Durchsatz als wichtigstes Designkriterium haben,

→ in möglichst gleiche Stages aufteilbar sein und

→ der Delay einer Stage ist groß gegenüberTset+Tcq.

162

Notizen Notizen

Referenzen

ÄHNLICHE DOKUMENTE

F ur die Zustandsgleihung brauhen wir nur die V -Abh angigkeit, die komplett in

Die Abbildung 3 zeigt die ersten 20 Polynomkurven in der Färbung rot für geraden Grad, blau für ungeraden Grad. 3: Die ersten

Es sieht nun so aus, dass c n und c − n (sie haben jeweils dieselbe Farbe) durch eine Kreisspiegelung am Einheitskreis auseinander hervor gehen.. Dies ist global

[r]

»Mein Vater sagte, „Ich bin immer noch ein persi- scher Vater!” Es war für ihn auch sehr schwer zu akzeptieren, dass wir jetzt hier in Deutschland sind, dass es hier mehr

©e^tvieft bei tn.. IS)er ®ru(l Mefer ©d)rif( wirb «titcr tet Sc&ingung betutttigt, öafi unmittelbar na(^ tem Sibbrudfe unb t>or J)cr 6jfcntlid)cn J^erau^gabcj

©er norftelieube, in golge bes 33efc£)tufies beä SkooinsiaLSanbtageä oom 11. aufgeftettte britte Siadftrag ju bem ^Reglement nont 16. guni 1884, betreffenb bie

technisches System oder Verfahren zu verwenden ist (S. 123 des Planfeststellungsbeschlusses). Als Systeme, welche die in der Nebenbestimmung spezifizierten Anforderungen gewährleisten,