因为lw指令和add指令之间存在一个load- use数据冒险,所以每个lw指令和add指令之间要有一次流水线阻塞。而add指令和lw指令之间的数据冒险可通过数据转发解决。即:CPI为1.5
问答题以下指令序列中,哪些指令对发生数据相关?假定采用“取指、译码 取数、执行、访存、写回”五段流水线方式,那么不用“转发”技术的话,需要在发生数据相关的指令前加入几条nop指令才能使这段程序避免数据冒险?如果采用“转发”是否可以完全解决数据冒险?不行的话,需要在发生数据相关的指令前加入几条nop指令才能使这段程序不发生数据冒险?
问答题吞吐量最大的流水线
问答题插入三个流水段寄存器,得到一个四级流水线
问答题插入两个流水段寄存器,得到一个三级流水线
问答题插入一个流水段寄存器,得到一个两级流水线