四步操作,
今假设完成各步操作的时间依次为100ns,100ns,80ns,50ns。 请问:(1)流水线的操作周期应设计为多少?
(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第二条指令要
推迟多少时间进行。
(3)如果在硬件设计上加以改进,至少需推迟多少时间? 解:
(1) 流水线的操作时钟周期 t应按四步操作中最长时间来考虑, 所以t=100ns;
(2) 两条指令发生数据相关冲突情况:: ADD R1,R2,R3 ; R2+R3→R1 SUB R4,R1,R5 ; R1-R5→R4 两条指令在流水线中执行情况如下表所示:
ADD指令在时钟4时才将结果写入寄存器R1中, 但SUB指令在时
钟3时就需读寄存器R1了,显然发生
数据相关,不能读到所需数据,只能等待。如果硬件上不采取措施,第2条指令SUB至少应推迟2个
操作时钟周期,即t=2×100ns=200ns;
(3)如果硬件上加以改进(采取旁路技术),这样只需推迟1个操作时钟周期就能得到所需数据, 即t=100ns。
15.用定量描述法证明流水计算机比非流水计算机具有更高的吞吐率。
解:衡量并行处理器性能的一个有效参数是数据带宽(最大吞吐量),它定义为单位时间内可以产生 的最大运算结果个数。
设P1是有总延时T1的非流水处理器,故其带宽为1/T1。又设Pm是相当于P1 m 段流水处理器延迟时 间Tr,故Pm的带宽为1/(Tc+Tr)。如果Pm是将P1划分成相同延迟的若干段形成的,则T1≈mTc 因
此P1的带宽接近于1/mTc,由此可见,当mTc>Tc+Tr满足时,Pm比P1具有更大的带宽。
16. 流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写
(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。 (1) I1 LAD R1,A ; M(A)→R1,M(A)是存储器单元 I2 ADD R2,R1 ;(R2)+(R1)→R2 (2) I3 ADD R3,R4 ;(R3)+(R4)→R3 I4 MUL R4,R5 ;(R4)×(R5)→ R4
(3) I5 LAD R6,B ; M(B)→R6,M(B)是存储器单元 I6 MUL R6,R7 ;(R6)×(R7)→ R6
解:(1)写后读(RAW)相关;
(2)读后写(WAR)相关,但不会引起相关冲突; (3)写后读(RAW)相关、写后写(WAW)相关
17.参考教科书图5.42所示的超标量流水线结构模型,现有如下6条指令序列:
I1 LAD R1, B; M(B) → R1,M(B)是存储器单元 I2 SUB R2, R1; (R2)-(R1) → R2 I3 MUL R3, R4; (R3)×(R4) → R3 I4 ADD R4, R5; (R4)+(R5) → R4
I5 LAD R6, A; M(A) → R6,M(A)是存储器单元 I6 ADD R6, R7; (R6)+(R7) →R6
请画出:(1) 按序发射按序完成各段推进情况图。 (2) 按序发射按序完成的流水线时空图。 解:(1)
(2)
第六章
1.比较单总线、双总线、三总线结构的性能特点。
3. 用异步通信方式传送字符\和\,数据有7位,偶校验1 位。