计算机体系结构复习资料 下载本文

第一章 计算机体系机构的基本概念

1.计算机系统结构包括数据表示、机器工作状态、信息保护,不包括主存速度。计算机系统结构应该考虑的内容包括主存容量和编址方式,而主存采用MOS还是TTL器件、主存是采用多体交叉还是单体、主存频宽的确定等都不是计算机系统结构应该考虑的内容。存储器采用单体单字,还是多体交叉并行存取,对系统结构设计是透明的。又如在系列机内推出新机器,不能更改的是原有指令的寻址方式和操作码,而存储芯片的集成度、系统总线的组成、数据通路宽度是可以更改的。系列机是指在一个厂家内生产的具有相同的体系结构,但具有不同的组成和实现的一系列不同型号的机器。

2. 计算机系统中提高并行性的技术途径有时间重叠、资源重复和资源共享三种。在高性能单处理机的发展中,它的实现基础是流水线。

3. 软件和硬件在逻辑功能上是等效的,软件的功能可用硬件或固件完成,但性能、实现的难易程度不同。 4. Amdahl 定律:加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。 5. 计算机组成是计算机系统结构的逻辑实现,计算机实现是计算机组成的物理实现。

6. 计算机系统多级层次结构由高到低,依次是应用语言机器级、高级语言机器级、汇编语言机器级、 操作系统机器级、传统机器语言级和微程序机器级。 7. 某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,试计算该程序中浮点操作所占的比例。

系统加速比=1 / (1-可改进比例+可改进比例/部件加速比)

5 = 1 / (1-可改进比例+可改进比例 / 20)

可得 可改进比例=84.2%

8. 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体数据、如下所示。

操作类型 操作1 操作2 操作3 操作4 程序中的数量/百万 条指令 10 30 35 15 改进前的执行时 间/周期 2 20 10 4 改进后的执行时 间/周期 1 15 3 1 (1)改进后,各类操作的加速比分别是多少?

(2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少?

操作类型 操作1 操作2 操作3 操作4

多部件改进后的系统加速比

1-9

所占比例 11.1% 33.3% 38.9% 16.7% 各类操作的加速比 2 1.33 3.33 4 单独改进获得的加速比 1.06 1.09 1.37 1.14 =1 / (1-(11.1%+33.3%+38.9%+16.7%)+

(11.1%/2+33.3%/1.33+38.9%/3.33+16.7%/4)) =2.16

9. 将计算机系统中某一功能的处理速度加快20倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少。

方法一:系统加速比=1 / (1-可改进比例+可改进比例/部件加速比) =1 / (1-.04+0.4/20) =1.613

方法二:系统加速比= 改进前的时间 / 改进后的时间 =T / ( 0.6*T+ 0.4*T/20) =1.613

10. 计算机系统有3个部件可以改进,这三个部件的加速比如下: 部件加速比S1=30,部件加速比S2=20,部件加速比S3=10,

(1)如果部件1和部件2的可改进比例为30%,那么当部件3的可改进比例为多少时,系统的加速比才可以达到10; (2)如果三个部件的可改进比例分别为30%、30%、20%,3个部件同时改进,那么系统中不可改进部分的执行时间在总执行时间中占的比例是多少。 (1)

0.3 1 0.3 2 x 3 0.4-x 改进后的时间T2 = 0.3*T/30+0.3*T/20+x*T/10+(0.4-x)*T 部件部件不可改进部分 部件 =T/10 求得 X=0.36

(2)假设改进前系统的执行时间为T,3个部件改进前的执行时间是(0.3+0.3+0.2)*T=0.8T,不可改进部分的执行时间是0.2T。

3个部件改进后的时间 T2 = 0.3T/30+0.3T/20+0.2T/10 = 0.045T 改进后整个系统的执行时间 T总= 0.045T+0.2T = 0.245T 0.2T / 0.245T = 0.82

即系统中不可改进部分的执行时间在总执行时间中占的比例是0.82。

第二章 计算机指令集结构设计

1. 数据表示指的是机器硬件能识别和引用的数据类型。

2. 操作码优化的目的是缩短指令字长、减少程序总位数、增加指令字表示的信息。 3. 机器的运算类指令和运算器结构主要是看机器中应当有什么样的数据表示来确定。 4. RISC结构的设计原则:(1)选取使用频率最高的指令,并补充一些最有用的指令;(2)每条指令的功能应尽可能简单,并在一个机器周期内完成;(3)所有指令长度均相同;(4)只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行;(5)以简单有效的方式支持高级语言。

第三章 流水线技术

1. 浮点加法指令让“求阶差”、“对阶”、“尾数加”和“规格化”流水,是属于部件级流水。

2. 在指令的流水解释过程中,MUL R1,R2和ADD R3,R1之间可能发生寄存器R1的写后读相关。 3. 流水线由若干个段或级组成,流水线有“通过时间”, “各段时间”应尽量相等,流水线的深度并不是越深越好。 4. 衡量流水线性能通常有三种主要指标,它们是吞吐率、加速比和效率。

5. DLX流水线寄存器的作用是把数据和控制信息从一个流水段传送到下一个流水段。 6. 指令的重叠执行,可以加快程序的解释,但不能加快指令的解释。 7. 流水线技术的特点:○1流水过程由多个相联系的子过程组成,每个过程称为流水线的“级”或“段” ;○2每个子过程由专用的功能段实现;○3各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造成流水线的“堵塞”和“断流”;○4流水线需要有“通过时间”(第一个任务流出结果所需的时间),在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果;○5流水技术适合于大量重复的时序过程,只有在输入端能连续地

2-9

提供任务,流水线的效率才能充分发挥。

8. 区分静态、动态流水线,单功能、多功能流水线。

9. 在MIPS/DLX的指令流水线中,可能发生的冲突只有前后指令的写后读冲突。 10. 流水线处理机中常见的三种相关是结构相关、数据相关和控制相关。

11. 减少流水线处理分支暂停时钟周期数的途径包括尽早判断分支转移是否成功、尽早计算出分支成功转移的PC值。 12. 编译器通过重新组织代码顺序消除暂停的技术被称为指令调度。

13. 标量流水机没有向量数据表示,只能依靠循环程序来处理向量和数组。 14. 有一条流水线如下所示。

(1) 求连续输入10条指令,该流水线的实际吞吐率和效率;

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

(2) 瓶颈在3、4段。

变成八级流水线(细分)

变成两级流水线(合并)

3-9

重复设置部件

15. 有一个流水线由四段组成,其中每当流经第三段时,总要在该段循环一次才能流到第四段。如果每段经过一次的时间都是△t,问:

(1) 当在流水线的输入端每△t时间输入任务时,该流水线会发生什么情况?

(2) 此流水线的最大吞吐率为多少?如果每2△t输入一个任务,连续处理10个任务的实际吞吐率和效率是多少? (3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务 时,其吞吐率提高多少? 答:(1) 会发生流水线阻塞情况。

4-9