假定有一个程序的指令序列为“lw,add,lw,add,…”。add指令仅依赖它前面的lw指令,而lw指令也仅依赖它前面的add指令,寄存器写口和寄存器读口分别在一个时钟周期的前、后半个周期内独立工作在带转发的五段流水线中执行该程序,其CPI为多少?
正确答案:
因为lw指令和add指令之间存在一个load- use数据冒险,所以每个lw指令和add指令之间要有一次流水线阻塞。而add指令和lw指令之间的数据冒险可通过数据转发解决。即:CPI为1.5
答案解析:有
微信扫一扫手机做题
假定有一个程序的指令序列为“lw,add,lw,add,…”。add指令仅依赖它前面的lw指令,而lw指令也仅依赖它前面的add指令,寄存器写口和寄存器读口分别在一个时钟周期的前、后半个周期内独立工作在带转发的五段流水线中执行该程序,其CPI为多少?
微信扫一扫手机做题