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

1.1k questions

1.3k answers

1.7k comments

557 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 (170k points)
edited by

Related questions

Imprint | Privacy Policy
...