Caching 流水线:在条件分支中寻找额外的循环?

Caching 流水线:在条件分支中寻找额外的循环?,caching,Caching,这是一道试题。 CPU有五级流水线。指令获取发生在流水线的第一级。 条件分支指令计算目标地址并计算 管道第三阶段。处理器停止获取条件分支后的新指令,直到知道分支结果。程序执行10^9条指令 其中20%为分支机构。如果每条指令需要一个时钟周期才能完成,则查找 程序的总执行时间?? 给定CPU频率1GHz 答案是1.4秒。请解释如何计算分支导致的额外周期???总共有10^9条指令,但20%是分支导致的。分支指令是2*10^8。 分支机构ins=200000000 分支指令导致的损失为2 分支机构的总

这是一道试题。 CPU有五级流水线。指令获取发生在流水线的第一级。 条件分支指令计算目标地址并计算 管道第三阶段。处理器停止获取条件分支后的新指令,直到知道分支结果。程序执行10^9条指令 其中20%为分支机构。如果每条指令需要一个时钟周期才能完成,则查找 程序的总执行时间?? 给定CPU频率1GHz


答案是1.4秒。请解释如何计算分支导致的额外周期???

总共有10^9条指令,但20%是分支导致的。分支指令是2*10^8。 分支机构ins=200000000 分支指令导致的损失为2 分支机构的总成本ins 3
现在所有指令的总成本是(10^9-2*10^8)*1+(2*10^8*2)/10^9秒

,这仅仅是因为每个分支上浪费了2条指令。