第5章 局部习题参考答案5.1 解释以下术语n 一次重叠-执行第K条指令与分析第K+1条指令在时间上重叠这是最简单的重叠方式n 单功能流水线-只能完成一种运行或处理功能的流水线n 多功能流水线-在同一时间或在不同时间能够完成两个或两个以上功能的流水线可分为静态和动态流水线n 静态流水线-在同一时间内流水线只能以一种方式工作可以是单功能,也可以是多功能n 动态流水线-在同一时间内流水线可以连接成不同的功能子集,以完成不同的运算或处理功能n 非线性流水线-在流水线的各功能部件之间存在着反应〔或前馈〕回路的流水线n 全局性相关-进入流水线的转移指令〔特别是条件转移指令〕与后续指令之间引起的相关这种相关引起的范围是全局性的n 局部性相关-只发生在相邻或相近的几条指令之间的相关,其影响范围是局部性的它包括主存资源相关和存放器数据相关n 先行控制-包括缓冲技术和预处理技术通过对指令流和数据流的预处理和缓冲,尽量使指令的分析部件和执行部件独立工作,提高其利用率n 先写后读相关-假设顺序指令i〔写〕先于指令j(读)对同一存放器访问,由于异步流动可能使得指令j先于i之前执行n 先读后写相关-假设顺序指令i〔读〕先于指令j(写)对同一存放器访问,由于异步流动可能使得指令j先于i之前执行。
n 写与写相关-假设顺序指令i〔写〕先于指令j(写)对同一存放器访问,由于异步流动可能使得指令j先于i之前执行n 向量流水技术-向量数据表示与流水技术的结合n 超标量处理机-在处理机内重复设置多套功能部件组成多条流水线,以保证在一个时钟周期内同时发送两条或两条以上指令n 超长指令字处理机-利用编译技术将多条可并行执行的打住组成一条超长指令,实现多个微操作的并行执行n 超流水线处理机-将流水线的各功能段细分成更多〔一般大于或等于8〕的子功能段,利用程序的并发性,使指令解释过程中的每个微操作在更短的时间内完成以保证一个时钟周期可分时发送多条指令5.4 〔题目略〕【解】〔1〕K与K+1之间存在存放器R1先写后读相关〔RAW〕K+1与K+2之间存在存放器R0写与写相关〔WAW〕K与K+1之间存在存放器R0先读后写相关〔WAR〕〔2〕前2种相关会引起流水线的停顿〔3〕流水线完成这3条指令的时空图如以下图所示,共用了9个时钟周期IFIDM1M2IFIDU1U2U3U4IFIDA1A2A312345678910KK+1K+25.5 〔题目略〕【解】依题意,流水线的工作时空图如以下图所示012345678910111213141516171819202122232425262728T(△t)4321由上图可知完成一个周期的工作共需要15△t,流水线吞吐率TP=10/15△t=2/3△t。
5.6 〔题目略〕【解】由图(a)所示流水线实现要求计算的时空图如以下图所示,实际吞吐率TP=3/13△t,效率E=(3×3△t)/(3×13△t)=5/13≈38.46%012345678910111213阶加尾乘规格T(△t)输入ABCDA×BC×D由图(b)所示流水线实现要求计算的时空图如以下图所示,实际吞吐率TP=3/11△t,效率E=(3×3△t)/(3×11△t)=5/11≈27.27%01234567891011阶加尾乘规格T(△t)输入ABCDA×BC×D尾乘尾乘5.8 〔题目略〕【解】〔1〕流水线时空图如下:123456m610141826T(△t)a1+b1a2+b2a3+b3(a1+b1) (a2+b1)吞吐率TP=5/26△t,效率E=(3*6+2*8)△t/6*26△t≈21.8%〔2〕加速比为Sp=(3*6+2*8)△t/26△t≈1.31.5.11 〔题目略〕【解】禁止表F={1,3,4,8},冲突向量C=〔10001101〕,状态转移图如下:10001101101011111000111125, 765, 7 65, 7 根据状态图,可写出调度方案如下表调度方案平均延迟时间(2, 5)3.5(2, 7)4.5(5)5(6, 5)5.5(6)6(6, 7)6.5(7)7(5, 2)3.5由上表可知,平均延迟最小的调度方案为〔5, 2〕和〔2, 5〕,平均延迟为3.5拍。
但方案〔5, 2〕在流入偶数个任务时,实际吞吐率小于方案〔2, 5〕按最正确调度方案,最大吞吐率为1/3.5△t按最正确调度方案,连续输入8个任务时,实际吞吐率为5.16 〔题目略〕【解】参照CRAY-1型向量处理机的工作方式,3条指令执行如以下图所示.........123456.........1234675内存...12345611111111V0V1V2V2V3V4浮点加访存浮点乘V3〔1〕3条指令顺序〔串行〕执行时,总的时间为T1=[1+6+1+(N-1)]+[ 1+6+1+(N-1)]+[ 1+7+1+(N-1)]=3N+22〔拍〕〔2〕前2条指令并行执行完后,再执行第3条指令,完成时间为T2=[1+6+1+(N-1)]+[ 1+7+1+(N-1)]=2N+15〔拍〕〔3〕前2条并行,再与第3条链接,执行过程如以下图所示,完成时间这T3=(1+6+1)+(1+7+1)+N-1=N+16〔拍〕.........123456...1234675内存...12345611111111V0V1V2V4浮点加访存浮点乘V35.18 〔题目略〕【解】〔1〕在标量流水线处理机上执行12条指令的时空图如以下图所示,完成时间为14△t。
取指分析执行m61214T(△t)〔2〕在m=4的超标量流水线处理机上执行12条指令的时空图如下012345取指分析执行mT(△t)完成时间为5△t,加速比为:Sp=14△t/5△t=2.8〔3〕在m=4的超长指令字处理机上执行12条指令的时空图如下012345取指分析执行mT(△t)完成时间为5△t,加速比为:Sp=14△t/5△t=2.8〔4〕在m=4的超流水线处理机上执行12条指令的时空图如下012345取指分析执行mT(△t)5.75完成时间为5.75△t,加速比为:Sp=14△t/5.75△t≈2.43。