Как рассчитать средний ИПЦ для конвейерного процессора?
На вопрос о практическом экзамене он спрашивает:
Рассмотрим программу, состоящую из 100
ld
инструкции, в которых каждая инструкция зависит от инструкции, непосредственно предшествующей ей, например,
ld x2,0(x1)
ld x3,0(x2)
ld x4,0(x3)
Каким будет средний ИПЦ в конвейерном процессоре с пересылкой?
Это также говорит, что предполагаемый ответ (5 + (99 * 2)) / 100 = 2.03
, Я понимаю, что 5 - это количество шагов на инструкцию, и для каждого шага есть процессы чтения / записи, однако у меня есть несколько вопросов по этому поводу:
- Во-первых, почему 5 добавляется к 99*2 вместо умножения, хотя каждая инструкция имеет 5 шагов?
- Как бы вы рассчитали ответ, предполагая отсутствие переадресации?
Спасибо!!