计算机组成原理第8章习题解答4
设CPU内有下列部件:PC、IR、SP、AC、MAR、MDR和CU
(1)画出完成间接寻址的取数指令LDA@X(将主存某地址单元X的内容取至AC中)的数据流(从取指令开始)
(2)画出中断周期的数据流
解:为简单起见,本题采用单总线将题中所给部件连接起来,框图如下:(1)LDA@X指令周期数据流程图PC→MARM(MAR)→MDR(MDR)→IRPC+1→PCAd(IR)→MARM(MAR)→MDRMDR→Ad(IR)Ad(IR)→MARM(MAR)→MDRMDR→AC(2)中断周期流程图SP-1→SPPC→MDRMDR→M(MAR)向量地址→PC0→EINTSP→MAR8
11今有四级流水线,分别完成取指(IF)、译码并取数(ID)、执行(EX)、写结果(WR)4个步骤
假设完成各步操作的时间依次为90ns、90ns、60ns、45ns
1)流水线的时钟周期应取何值
2)若相邻的指令发生数据相关,那么第二条指令安排退出多少时间才能不发生错误
3)若相邻两指令发生数据相关,为了不推迟第2条指令的执行,可采取什么措施
解:1)流水线的每段时间应取各步操作时间最大值90ns;2)发生数据相关时,为了不发生错误,第二条指令的译码取数(ID)操作必须等到第一条指令完成第4个步骤后才能执行,所以必须推迟2个操作周期;3)可以采取定向技术(又称旁路技术),直接把执行结果送至所需位置;8
12在5个功能段的指令流水线中,假设每段的执行时间分别是10ns、8ns、10ns、10ns和7ns
对于完成12条指令的流水线而言,其加速比为多少
该流水线的实际吞吐率为多少
解:1)流水线的每段时间取最大值,即10ns;采用流水线完成12条指令所需时间:10×4+12×10=160ns不采用流水线完成12条指令所需时间:12×(10+8+10+10