Program Counter 8Byte vorlauf

#668705
Lesenswert?

Pipeline! Ein typischer Fall. Was im ersten Design mal ganz praktisch 
war und bis ARM7 durchhielt ist nun auf ewig in der ISA festgeschrieben, 
ob's nun zur Pipeline aktueller Implementierungen passt oder nicht.

MIPS erging es mit den diversen delay slots kein Deut besser, auch die 
standen neueren superskalaren Designs eher im Weg als das sie noch etwas 
genützt hätten.
#668724
Lesenswert?

> dazu kommen noch die drei Bytes aus der Pipeline

Welche 3 Bytes?

> welche schichten werden bei einer 3stufigen pipeline gegenüber einer
> 5stufigen zusammengefasst?

Google => ARM pipeline

Oder besser noch: Vorher mal über Pipelining allgemein nachlesen. 
Wikipedia de/en müsste was dazu haben und allerlei Uni-Vorträge.
OP #668744
Lesenswert?

das pipeling besteht aus drei zyklen, die dreimal versetzt gleichzeitig 
ausgefüht werden... das ist wie in einer wäscherei (z.B. 3 waschmasichen 
und 3 trocknern und drei bügeleisen...) - das hab ich schon verstanden 
aber der zusammenhang jetzt zu dem Abstand vom Program Counter mit 
8Bytes, da hängt es noch bei mir (und leider finde ich da auch nichts 
was diese thematik in einem bild oder ähnlichem gut erklärt.

Bernd
#668748
Lesenswert?

@ Bernd Schuster (mms)

>das pipeling besteht aus drei zyklen, die dreimal versetzt gleichzeitig
>ausgefüht werden... das ist wie in einer wäscherei (z.B. 3 waschmasichen
>und 3 trocknern und drei bügeleisen...) - das hab ich schon verstanden

Na das vermischt du aber was. Und zwar die Anzahl Stufen mit der Breite 
der Stufen. Eine Wäscherei braucht nur eine Waschmaschine, einen 
Trockner und ein Bügeleisen, um Pipelining zu machen.

>aber der zusammenhang jetzt zu dem Abstand vom Program Counter mit
>8Bytes, da hängt es noch bei mir (und leider finde ich da auch nichts
>was diese thematik in einem bild oder ähnlichem gut erklärt.

Hmm, vielleicht läuft die CPU in Thumb Modus (16 Bit). Da wären 8 Byte = 
4 Worte, das kommt dann schon eher hin.

MFG
Falk
#668754
Lesenswert?

> Hmm, vielleicht läuft die CPU in Thumb Modus (16 Bit). Da wären 8 Byte =
> 4 Worte, das kommt dann schon eher hin.

Seite 8, Fig 2a: Register wird in der dritten Stufe gelesen. Da ist der 
PC 2 Worte weiter. Bei ARM10 passt es zufällig wieder, ARM9 und ARM11 
müssen mogeln.
OP #668759
Lesenswert?

vielen dank für das pdf... ich glaub ich hab mich oben falsch 
ausgedrückt...

ich hatte das so verstanden, dass bei jedem arbeitsschritt 1Byte 
benötigt wird / also der PC 1Byte weiter ist und bei drei 
Arbeitsschritten somit drei Bytes weiter...

aber was in diesem pdf ganz interessant ist, dass man das wie du schon 
sagtest auch stark beeinflussen kann = mogeln muss.


>Na das vermischt du aber was. Und zwar die Anzahl Stufen mit der Breite
>der Stufen. Eine Wäscherei braucht nur eine Waschmaschine, einen
>Trockner und ein Bügeleisen, um Pipelining zu machen.

für eine ganz einfache Wäscherei sicherlich richtig, aber meistens 
befinden sich dort ja mehrere Geräte so dass z.B. von jedem Gerät vier 
laufen mit der Wäsche von Person A, B, C, D und jede Person hat somit 
eine einzelne Pipeline

Bernd
#668785
Lesenswert?

> ich hatte das so verstanden, dass bei jedem arbeitsschritt 1Byte
> benötigt wird / also der PC 1Byte weiter ist und bei drei
> Arbeitsschritten somit drei Bytes weiter...

Wenn ein Befehl 4 Bytes breit ist und pro Takt ein Befehl durchgeht... 
Nö, die Befehle werden am Stück verdaut.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren