当前位置:文档之家› 计算机体系结构复习资料

计算机体系结构复习资料

计算机体系结构复习资料
计算机体系结构复习资料

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

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类操作均改进后,整个程序的加速比是多少?

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

=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)

求得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流水技术适合于大量重复的时序过程,只有在输入端能连续地提供任务,流水线的效率才能充分发挥。

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

9. 在MIPS/DLX的指令流水线中,可能发生的冲突只有前后指令的写后读冲突。

10. 流水线处理机中常见的三种相关是结构相关、数据相关和控制相关。

11. 减少流水线处理分支暂停时钟周期数的途径包括尽早判断分支转移是否成功、尽早计算出分支成功转移的PC值。

12. 编译器通过重新组织代码顺序消除暂停的技术被称为指令调度。

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

14. 有一条流水线如下所示。

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

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

答:(1)

(2) 瓶颈在3、4段。

变成八级流水线(细分)

变成两级流水线(合并)

重复设置部件

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

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

(2) 此流水线的最大吞吐率为多少?如果每2△t输入一个任务,连续处理10个任务的实际吞吐率和效率是多少?

(3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务时,其吞吐率提高多少?

答:(1) 会发生流水线阻塞情况。

(2)

(3) 重复设置部件

吞吐率提高倍数==1.64

16. 假设我们考虑条件分支指令的两种不同设计方法如下:

(1) CPUA:通过比较指令设置条件码,然后测试条件码进行分支;

(2) CPUB:在分支指令中包括比较过程。

在两种CPU中,条件分支指令都占用2个时钟周期而所有其它指令占用1个时钟周期,对于CPUA,执行的指令中分支指令占30%;由于每个分支指令之前都需要有比较指令,因此比较指令也占30%。由于CPUA在分支时不需要比较,因此假设它的时钟周期时间比CPUB快1.4倍。哪一个CPU更快?如果CPUA的时钟周期时间仅仅是CPUB的1.15倍,哪一个CPU更快呢?

解:我们不考虑所有系统问题,所以可以用CPU性能公式。占用2个时钟周期的分支指令占总指令的30%,剩下的指令占用1个时钟周期。所以

CPIA = 0.3 ×2 + 0.70 × 1 = 1.3

则CPU性能为:

总CPU时间A = IC × 1.3 ×时钟周期A

根据假设,有:

时钟周期B = 1.4 ×时钟周期A

在CPUB中没有独立的比较指令,所以CPUB的程序量为CPUA的70%,分支指令的比例为:

30%/70% = 42.8%

这些分支指令占用2个时钟周期,而剩下的57.2%的指令占用1个时钟周期,因此:

CPIB = 0.428 ×2 + 0.572 × 1 = 1.428

因为CPUB不执行比较,故:

ICB = 0.7 ×ICA

因此CPUB性能为:

总CPU时间B = ICB ×CPIB ×时钟周期B

= 0.7 ×ICA ×1.428 ×(1.4×时钟周期A)

= 1.44 ×ICA ×时钟周期A

在这些假设之下,尽管CPUB执行指令条数较少,CPUA因为有着更短的时钟周期,所以比CPUB快。

如果CPUA的时钟周期时间仅仅是CPUB的1.15倍,则

时钟周期B = 1.15 ×时钟周期A

CPUB的性能为:

总CPU时间B = ICB ×CPIB ×时钟周期B

= 0.7 ×ICA ×1.428 ×(1.15 ×时钟周期A)

= 1.18 ×ICA ×时钟周期A

因此CPUB由于执行更少指令条数,比CPUA运行更快。

17. 动态多功能流水线由6个功能段组成,如下图:

其中,S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为△t,假设该流

水线的输出结果可以直接返回输入端,而且设置有足够地缓冲寄存器,若以最快的方式用该流水计算:

(1) 画出时空图;

(2) 计算实际的吞吐率、加速比和效率。

答:本题解题的关键是弄清楚机器一共要做10次乘法,4次加法,而且应进行适当的指令调度,以得到最大的吞吐率。

第五章存储层次

1. 全相联映像、组相联映像、直接映像的优缺点是什么?(例如:块冲突概率直接映像的最高,全相联映像的最低,组相联映像的居于二者之中,和全相联映像相比,组相联映像所用的目录表较小……)

2. 伪相联Cache中,确定另一块的一种简单的方法是将索引字段的最高位取反。

3. Victim Cache是一种能减少冲突失效次数而又不影响失效开销的方法。

4. 虚拟存储器常用的地址映像是全相联映像。

5. 大小为N的直接映像Cache的失效率约等于大小为N/2的两路组相联Cache的失效率。

6. 减小Cache失效开销的五种方法:○1.让读失效优先于写。○2.子块放置技术。○3.请求字处理技术。○4.非阻塞Cache 技术。○5.采用两级Cache。

7. 降低Cache失效率的方法:○1增加Cache块大小。增加块大小利用了程序的空间局部性。○2提高相联度,降低冲突失效。○3Victim Cache,降低冲突失效。○4伪相联Cache,降低冲突失效。○5硬件预取技术,指令和数据都可以在处理器提出访问请求前进行预取。○6由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令,在数据被用到之前发出预取请求。○7编译器优化,通过对软件的优化来降低失效率。

8. 给定以下的假设,试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU的性能。由计算结果能得出什么结论?

○1理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次;

○2两者Cache容量均为64KB,块大小都是32字节;

○3组相联Cache中的多路选择器使CPU的时钟周期增加了10%;

○4这两种Cache的失效开销都是80ns;

○5命中时间为1个时钟周期;

○664KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%。

平均访问时间=命中时间+失效率×失效开销

平均访问时间1-路=2.0+1.4% *80=3.12ns

平均访问时间2-路=2.0*(1+10%)+1.0% *80=3.0ns

两路组相联的平均访问时间比较低(3分)

CPUtime=(CPU执行+存储等待周期)*时钟周期

CPU time=IC(CPI执行+总失效次数/指令总数*失效开销)*时钟周期

=IC((CPI执行*时钟周期)+(每条指令的访存次数*失效率*失效开销*时钟周期))

CPU time 1-way=IC(2.0*2+1.2*0.014*80)=5.344IC

CPU time 2-way=IC(2.2*2+1.2*0.01*80)=5.36IC

相对性能比:

=

-

-

1way

time

2way

time

CPU

CPU

5.36/5.344=1.003(5分)

两路组相联cache的访问速度比直接映象cache要快1.04倍,而直接映象Cache的平均性能比两路组相联cache要高1.003倍。因此这里选择两路组相联。

9. V AX-11/780在cache命中时的指令平均执行时间是9.5时钟周期,cache不命中时间是5个时钟周期。假设不命中率是12%,每条指令平均访存2.5次。试计算考虑了cache不命中时的指令平均执行时间。它比cache命中时的指令平均执行时间延长了百分之几?

cache不命中时:5*12%*2.5=1.5

考虑了cache不命中时的指令平均执行时间:9.5+1.5=11(时钟周期)

(11-9.5)/ 9.5 = 15.79%

它比cache命中时的指令平均执行时间延长了15.79%。

10. 我们考虑一个机器。假设cache读不命中开销为25个时钟周期,写不命中开销为70个时钟周期,当不考虑存储器停顿时,所有指令的执行时间都是2.0个时钟周期,cache的读不命中率和写不命中率均为4%,平均每条指令读存储器0.8次,写存储器0.5次。试分析考虑cache的不命中后,cache对性能的影响。

平均每条指令存储器停顿时钟周期数=读的次数*读不命中率*读不命中开销+

写的次数*写不命中率*写不命中开销

CPU时间=IC*[CPI+(存储停顿周期数/指令数)]*时钟周期时间

CPU时间=IC *(2.0+2.2)* 时钟周期时间= IC *4.2* 时钟周期时间

考虑了cache不命中影响后,CPI从理想计算机的2.0增加到了4.2,是原来的2.1倍。

第六章输入输出系统

1. 通道分为数组多路通道、选择通道、字节多路通道三种类型。选择通道适合于连接高优先级的磁盘、磁带等高速设备。

2. 输入输出数据不经过CPU内部寄存器的输入输出方式是直接存储器访问方式。

3. 在有cache的计算机系统中,进行I/O操作时,产生数据不一致问题的情况:○1.存储器中可能不是CPU产生的最新数据,所以I/O系统从存储器中取出来的是陈旧数据。○2.I/O系统与存储器交换数据之后,在cache中,被CPU使用的可能是陈旧数据。解决方案:第一种情况利用写直达cache解决;第二种情况,操作系统可以保证I/O操作的数据不在cache中,如果不能保证,就作废cache中相应的数据。

4. 非专用总线控制方式中确定优先序可有菊花链、计数器和独立请求等三种方式。

5. 输入输出系统包括输入输出设备、设备控制器及与输入输出操作有关的软硬件。

6. 当计算机系统通过执行通道程序完成输入输出工作时,通道负责执行通道程序。

7. 评价I/O系统性能的参数主要有连接特性、I/O系统的容量、响应时间和吞吐率。

第七章多处理机

1. 多处理机是指有两台以上的处理机,共享I/O子系统,机间经共享主存或高速通信网络通信,在操作系统控制下,协同求解大而复杂问题的计算机系统。多处理机有紧耦合和松耦合两种不同的构形。

2. 在基于总线互连的多处理机中,采用总线监听协议来解决cache一致性问题。总线监听协议在本地Cache的数据块被修改时,通过总线把改写的数据块广播到有该数据块的所有远程Cache中,这是监听协议的写更新策略。

3. 目录协议中Cache块状态有共享、未缓冲、专有三种。

相关主题
文本预览
相关文档 最新文档