Architektur: Pipelining -> Frage

Gast #518044
Lesenswert?
• ▲
▼
Hi

Ich frage mich grad, wie viel Takte ein Befehl in meinem Controller 
braucht. Meiner hat eine 5 Stage Instruction Pipeline:
IF - ID - EX - MA - WB

und parallel:
WB
MA - WB
EX - MA - WB
ID - EX - MA - WB
IF - ID - EX - MA - WB

D.h. jeder Befehl braucht immer 5 Takte aber: die Befehle unternander 
sind nur 1 Takt auseinander (bei voller Auslastung).

Hab ich das jetzt richtig verstanden??

Dann würde der Befehl
i++
so - wie jeder andere Befehl - 5 Takte beanspruchen. Bei 100MHz also 
50ns ?
Gast #518063
Lesenswert?
• ▲
▼
@Prof. X

>Ich frage mich grad, wie viel Takte ein Befehl in meinem Controller
>braucht. Meiner hat eine 5 Stage Instruction Pipeline:

Das steht im Datenblatt.

>D.h. jeder Befehl braucht immer 5 Takte aber: die Befehle unternander
>sind nur 1 Takt auseinander (bei voller Auslastung).

>Hab ich das jetzt richtig verstanden??

Nein.

>Dann würde der Befehl
>i++
>so - wie jeder andere Befehl - 5 Takte beanspruchen. Bei 100MHz also
>50ns ?

Nein. Du verwechselst Latenz (Durchlaufzeit des Befehls durch die 
gesamte Verarbeitungskette) mit Durchsatz (Wieviel Befehle werden pro 
Takt beendet). Deine Latenz ist 5 Takte, dein Durchsatz 1 Befehl/Takt. 
Das bezieht sich aber auf Assembler.
Was ein C Compiler an Befehlen braucht, um "i++" in Assembler umzusetzen 
ist verschieden, aber wenn der Compilr was taugt und Optimierungen aktiv 
sind wird meistens ein einziger Assemblerbefehl draus.

MFG
Falk

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.