Here you can ask questions and find or give answers to organizational, academic and other questions about studying computer science.

1.1k questions

1.2k answers

1.6k comments

532 users

0 votes
Müssen wir die CPI für die verschiedene Befehlstyp (Branch, Arithmetik, Lade) schon wissen? In den Folien habe ich noch keine Information gesehen, aber in den Altklausuren werden die Werte auch nicht vorgegeben.
in * TF "Emb. Sys. and Rob." by (150 points)

1 Answer

0 votes
CPI-Werte, also die Zahl der Takte, welche eine Instruktion zur Abarbeitung benötigt, betrachten wir nicht in den Pipeliningaufgaben. In der Realität sind die Schaltungen für die arithmetischen Operationen unterschiedlich komplex, so dass z.B. die Division länger dauert als die Addition. Insofern unterteilt man gerne die Execute-Stufe in unterschiedliche Teilstufen, die nicht immer alle benötigt werden. In den Aufgaben, die wir in RoSy betrachten, gehen wir aber i.d.R. davon aus, dass jede Anweisung gleich viele Stufen durchläuft. Sollte eine Pipeline betrachtet werden, bei der dies nicht der Fall sein sollte, was grundsätzlich möglich ist, so muss angegeben werden, welcher Befehl, welche Pipelinestufen durchläuft. Ein Problem dabei ist immer, dass man dann darauf achten muss, dass die Befehle die Register in der Reihenfolge des Programms aktualisieren, da ansonsten eine inkorrekte Abarbeitung des Programms vorliegen würde.

Es kommen aber manchmal Aufgaben vor, bei denen man für ein gegebenes Programm einen durchschnittlichen CPI-Wert bestimmen soll. Dieser Wert kann mehr als 1,0 sein, da manche Befehle aufgrund von Pipeline-Konflikten weitere Takte benötigen.
by (166k points)
edited by

Related questions

0 votes
1 answer
0 votes
1 answer
asked Jul 13, 2021 in * TF "Emb. Sys. and Rob." by v (310 points)
0 votes
1 answer
Imprint | Privacy Policy
...