Попытка подсчитать время выполнения инструкций пятиступенчатого конвейерного процессора

Предположим, что M5 - это пятиэтапная конвейерная реализация.

Я знаю, что пятиступенчатый конвейер состоит из следующих этапов:

    IF -- instruction fetch (and PC update)
    ID -- instruction decode (and get operands from registers)
    EX -- ALU operation (can be effective address calculation)
    MA -- memory access
    WB -- write back (results written to register(s))

Предположим, что имеется 100 инструкций MIPS со следующим набором инструкций:

Loads 23%, Stores 12%, Conditional Branches 12%, Jumps
8% and R-type instructions 45%.

The CPU clock frequency is 1.2 GHz

Я пытаюсь подсчитать время выполнения 100 инструкций. Я понимаю, как рассчитать время для непроводника по этой формуле

ExTime = Instruction count * CPI * Clock period in seconds

Я конвертирую частоту в период, используя 1/f = 8.33 * 10^-10 seconds. Но я не знаю, как рассчитать время выполнения для этого конвейера, и нужно ли мне знать циклы реализации конвейера?

Пожалуйста, помогите мне, так как я не могу найти достойного примера в Интернете. Спасибо

ИЗМЕНИТЬ

Думаю, я нашел ответ!

Я нашел информацию, которая

INSTRUCTION LATENCY = 5 time units THEREFORE
INSTRUCTION THROUGHPUT = 5 * (1 / 5) = 1 instruction per time unit
So in this case it would be: 
ExTime in seconds = Number of instructions * clock cycle period in seconds

person Bic B    schedule 13.09.2012    source источник
comment
Я не понимаю, почему я должен получать -1? Не хочешь объяснить?   -  person Bic B    schedule 13.09.2012
comment
Также нужно учитывать промывки трубопровода на ответвлениях и переходах.   -  person markgz    schedule 14.09.2012
comment
Так как бы вы тогда продолжали его вычислять?   -  person Bic B    schedule 14.09.2012


Ответы (1)


Игнорирование времени, затрачиваемого на смывы на ветки / прыжки:

Среднее количество циклов, выполняемых инструкцией в данной комбинации инструкций =

(0,23) * 5 + (0,12) * 4 + (0,12) * 4 + (0,08) * 4 + (0,45) * 4 = 4,23 такта

(Загрузка занимает 5 циклов, магазин: 4, R: 4, прыжок / переход: 4)

В настоящее время,

Количество циклов, выполняемых 1 инструкцией в среднем = 4,23

=> Количество циклов, выполняемых 100 инструкциями в среднем = 423

Тактовая частота = 1,2 ГГц

=> Время, затраченное на 1 цикл = 8,33 * 10 ^ -10

=> Время, затраченное на 423 цикла = 3,5236 * 10 ^ -7 = Ответ

person Joe Roth    schedule 07.10.2014