A-A+
今有四级流水线 分别完成取指(IF) 译码并取数(ID) 执行(EX) 写结果(WR)四个步
问题详情
今有四级流水线,分别完成取指(IF)、译码并取数(ID)、执行(EX)、写结果(WR)四个步骤。假设完成各步操作的时间依次为100 ns、100 ns、70 ns、50 ns。 (1)流水线的时钟周期应取何值? (2)若相邻的指令发生数据相关,那么第二条指令安排推迟多少时间才能不发生错误? (3)若相邻两指令发生数据相关,而不推迟第二条指令的执行,可采取什么措施?
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:(1)流水线的时钟周期应按各步操作的最大时间来考虑即流水线的时钟周期应取100 ns。(2)若相邻两条指令发生数据相关需使第二条指令暂停执行直到前面指令产生结果后再执行第二条指令因此至少要延迟两个时钟周期。(3)若想不推迟第二条指令的执行在硬件设计上可采取旁路技术即设置直接传送数据的通路。
(1)流水线的时钟周期应按各步操作的最大时间来考虑,即流水线的时钟周期应取100ns。(2)若相邻两条指令发生数据相关,需使第二条指令暂停执行,直到前面指令产生结果后,再执行第二条指令,因此至少要延迟两个时钟周期。(3)若想不推迟第二条指令的执行,在硬件设计上可采取旁路技术,即设置直接传送数据的通路。