计算机系统结构课后习题答案(老师划过重点得) 联系客服

发布时间 : 星期四 文章计算机系统结构课后习题答案(老师划过重点得)更新完毕开始阅读647988db7f1922791688e860

是越来越多。

缺点: (1) CISC结构的指令集中,各种指令的使用频率相差悬殊。(2)CISC结构指令的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。(3)CISC结构指令集的复杂性给VLSI设计增加了很大负担,不利于单片集成。(4)CISC结构的指令集中,许多复杂指令需要很复杂的操作,因而运行速度慢。 (5) 在CISC结构的指令集中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。

2.7 简述RISC指令集结构的设计原则。

答(1) 选取使用频率最高的指令,并补充一些最有用的指令;(2)每条指令的功能应尽可能简单,并在一个机器周期内完成;(3)所有指令长度均相同;(4)只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行; (5) 以简单有效的方式支持高级语言。

2.8 指令中表示操作数类型的方法有哪几种? 答:操作数类型有两种表示方法:(1)操作数的类型由操作码的编码指定,这是最常见的一种方法;(2)数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。

2.9 表示寻址方式的主要方法有哪些?简述这些方法的优缺点。 答:表示寻址方式有两种常用的方法:(1)将寻址方式编于操作码中,由操作码在描述指令的同时也描述了相应的寻址方式。这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了CPU对指令译码的难度。(2)为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。这种方式译码较慢,但操作码和寻址独立,易于指令扩展。

2.10 通常有哪几种指令格式,请简述其适用范围。

答: (1) 变长编码格式。如果系统结构设计者感兴趣的是程序的目标代码大小,而不是性能,就可以采用变长编码格式。(2)固定长度编码格式。如果感兴趣的是性能,而不是程序的目标代码大小,则可以选择固定长度编码格式。 (3) 混合型编码格式。需要兼顾降低目标代码长度和降低译码复杂度时,可以采用混合型编码格式。

2.11 根据CPU性能公式简述RISC指令集结构计算机和CISC指令集结构计算机的性能特点。

答:CPU性能公式:CPU时间=IC×CPI×T

其中,IC为目标程序被执行的指令条数,CPI为指令平均执行周期数,T是时钟周期的时间。

相同功能的CISC目标程序的指令条数ICCISC 少于RISC的ICRISC,但是CISC的CPICISC

和TCISC都大于RISC的CPIRISC和TRISC,因此,CISC目标程序的执行时间比RISC的更长。

第3章 流水线技术

3.2 指令的执行可采用顺序执行、重叠执行和流水线三种方式,它们的主要区别是什

么?各有何优缺点。

答:(1)指令的顺序执行是指指令与指令之间顺序串行。即上一条指令全部执行完后,才能开始执行下一条指令。

优点:控制简单,节省设备。缺点:执行指令的速度慢,功能部件的利用率低。

(2)指令的重叠指令是在相邻的指令之间,让第k条指令与取第k+l条指令同时进行。重叠执行不能加快单条指令的执行速度,但在硬件增加不多的情况下,可以加快相邻两条指令以及整段程序的执行速度。与顺序方式相比,功能部件的利用率提高了,控制变复杂了。 (3)指令的流水执行是把一个指令的执行过程分解为若干个子过程,每个子过程由专门的功能部件来实现。把多个处理过程在时间上错开,依次通过各功能段,每个子过程与其它的子过程并行进行。依靠提高吞吐率来提高系统性能。流水线中各段的时间应尽可能相等

3.3 简述先行控制的基本思想。

答:先行控制技术是把缓冲技术和预处理技术相结合。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。预处理技术是指预取指令、对指令进行加工以及预取操作数等。

采用先行控制方式的处理机内部设置多个缓冲站,用于平滑主存、指令分析部件、运算器三者之间的工作。这样不仅使它们都能独立地工作,充分忙碌而不用相互等待,而且使指令分析部件和运算器分别能快速地取得指令和操作数,大幅度地提高指令的执行速度和部件的效率。这些缓冲站都按先进先出的方式工作,而且都是由一组若干个能快速访问的存储单元和相关的控制逻辑组成。

采用先行控制技术可以实现多条指令的重叠解释执行。

3.4 设一条指令的执行过程分成取指令、分析指令和执行指令三个阶段,每个阶段所需的时间分别为△t、△t和2△t 。分别求出下列各种情况下,连续执行N条指令所需的时间。

(1)顺序执行方式;

(2)只有“取指令”与“执行指令”重叠; (3)“取指令”、“分析指令”与“执行指令”重叠。

解:(1)每条指令的执行时间为:△t+△t+2△t=4△t

连续执行N条指令所需的时间为:4N△t

(2)连续执行N条指令所需的时间为:4△t+3(N-1)△t=(3N+1)△t (3)连续执行N条指令所需的时间为:4△t+2(N-1)△t=(2N+2)△t

3.5 简述流水线技术的特点。 答:流水技术有以下特点:

(1) 流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。

(2) 流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。

(3) 流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。 (4) 流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。

(5) 流水线需要有通过时间和排空时间。在这两个时间段中,流水线都不是满负荷工作。

3.6 解决流水线瓶颈问题有哪两种常用方法?

答:细分瓶颈段与重复设置瓶颈段

3.7 减少流水线分支延迟的静态方法有哪些? 答:(1)预测分支失败:沿失败的分支继续处理指令,就好象什么都没发生似的。当确定分支是失败时,说明预测正确,流水线正常流动;当确定分支是成功时,流水线就把在分支指令之后取出的指令转化为空操作,并按分支目标地址重新取指令执行。

(2)预测分支成功:当流水线ID段检测到分支指令后,一旦计算出了分支目标地址,就开始从该目标地址取指令执行。

(3)延迟分支:主要思想是从逻辑上“延长”分支指令的执行时间。把延迟分支看成是由原来的分支指令和若干个延迟槽构成。不管分支是否成功,都要按顺序执行延迟槽中的指令。

3种方法的共同特点:它们对分支的处理方法在程序的执行过程中始终是不变的。它们要么总是预测分支成功,要么总是预测分支失败。

3.8 简述延迟分支方法中的三种调度策略的优缺点。 调度策略 从前调度 从目标处调度 对调度的要求 分支必须不依赖于被调度的指令 对流水线性能改善的影响 总是可以有效提高流水线性能 如果分支转移失败,必须保证被调度的指令对程分支转移成功时,可以提高流水线性能。序的执行没有影响,可能需要复制被调度指令 但由于复制指令,可能加大程序空间 如果分支转移成功,必须保证被调度的指令对程分支转移失败时,可以提高流水线性能 序的执行没有影响 从失败处调度

3.9列举出下面循环中的所有相关,包括输出相关、反相关、真相关。

for (i=2; i<100; i=i+1)

a[i]=b[i]+a[i] c[i+1]=a[i]+d[i]

;/* s1 */ ; /* s2 */

a[i-1]=2*b[i] b[i+1]=2*b[i]

解:展开循环两次:

a[i] = b[i] + a[i]

c[i+1] = a[i] + d[i] a[i-1] = 2 * b[i] b[i+1] = 2 * b[i]

a[i+1] = b[i+1] + a[i+1] c[i+2] = a[i+1] + d[i+1] a[i] = 2 * b[i+1] b[i+2] = 2 * b[i+1]

输出相关:无 反相关:无 真相关:S1&S2

; /* s3 */ ;/* s4 */ ; /* s1 */ ; /* s2 */ ; /* s3 */ ; /* s4 */ ; /* s1? */ ; /* s2 ?*/ ; /* s3 ?*/ ; /* s4 ?*/

由于循环引入的相关:S4&S4’(真相关)、S1’&S4(真相关)、S3’&S4(真相关)、

S1&S3’(输出相关、反相关)、S2&S3’(反相关)。

3.12 有一指令流水线如下所示

入 1 2 3 4 出 50ns 50ns 100ns 200ns

(1) 求连续输入10条指令,该流水线的实际吞吐率和效率; (2) 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少? 解:(1)

mTpipeline???ti?1i?(n?1)?tmax?(50?50?100?200)?9?200 ?2200(ns)TP?nTpipelinem?1220(ns?1)

??tE?TP?i?1im?TP?4004?511?45.45%

(2)瓶颈在3、4段。 ? 变成八级流水线(细分)

è?

m150ns250ns3_150ns3_250ns4_150ns4_450ns3?Tpipeline???ti?1i?(n?1)?tmax?50?8?9?50?850(ns)TP?nTpipelinem

?185(ns?1)

??tiE?TP?i?1m?TP?4008?1017?58.82%

? 重复设置部件