Предположим, что 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