计算机系统结构复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机系统结构复习题
参考书目:《计算机体系结构》,张晨曦等编著,高等教育出版社。
第一章:
基本概念:层次结构、计算机体系结构的概念、透明性、计算机组成和计算机实现技术、翻译和解释技术、系列机概念、兼容性、程序的局部性原理。
1.1 对于一台400MHz计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如表所示。
指令类型指令执行数量平均时钟周期数
整数45000 1
数据传送75000 2
浮点8000 4
分支1500 2
求该计算机的有效CPI、MIPS(即计算机每秒执行的百万条指令数)和程序执行时间。
1.2 假设在某程序的执行过程中,浮点操作时间占整个执行时间的10%,现希望对浮点操作加速,则
(1) 设对浮点操作的加速比为S f。画出程序总加速比S P和S f之间的关系曲线。
(2)程序的最大加速比可达多少?
1.3 计算机系统中有3个部件可以改进方法,这3个部件的部件加速比如下:
部件加速比1=30
部件加速比2=20
部件加速比3=10
(1)如果部件1和部件2的可改进比例均为30%,那么当部件3 可改进比例为多少时,系统加
速比才可以达到10?
(2)如果3个部件的可改进比例分别为30%、30%和20%,3个部件同时改进,那么系统中不可
加速部分的执行时间在总执行时间中占的比例是多少?
(3)如果相对某个测试程序3个部件的可改进比例分别为20%、20%和70%,要达到最好改进
效果,仅对一个部件改进时,要选择哪个部件?如果允许改进两个部件,又如何选择?
第二章:
基本概念:CISC计算机指令集、RISC计算机指令集、 DLX指令集。
2.1 指令集结构设计所涉及的内容有哪些?
2.2简述 CISC指令集结构功能设计的主要目标。从当前的计算机技术观点来看,CISC指令集结构的计算机有什么缺点?
2.3简述RISC指令集结构设计的原则。
2.4现有如下C语言源代码:
for(i=0;i<=100;i++)
{A[i]=B[i]+C;}
其中,A和B是两个32位整数的数组,C和i均是32位整数.假设所有数据的值及其地址均保存在存储器中,A和B的起始地址分别是0和5000,C和i的地址分别是1500和2000.在循环的两次迭代之间不将任何数保存在寄存器中.
(1)请写出该C语言源程序的DLX实现代码.
(2)该程序段共执行了多少条指令?
(3)程序对存储器中的数据访问了多少次?
(4)DLX代码的大小是多少?
2.5 参考习题2.4,现假设i的值和数组变量的地址在程序运行过程中,只要有可能就一直保存在寄存器中.
(1)请写出该C语言源程序的DLX实现代码.
(2)该程序段共执行了多少条指令?
(3)程序对存储器中的数据访问了多少次?
(4)DLX代码的大小是多少?
第三章:
基本概念:流水线、时空图、单功能流水线与多功能流水线、静态流水线和动态流水线、部件级、处理机级和处理机间流水、标量流水处理机和向量流水、线性流水线和非线性流水线、结构相关、数据相关、控制相关、写后读相关、写后写相关、读后写相关、 DLX的基本流水线。
3.1简述流水线技术的特点.
3.2请画出DLX基本流水线,并简述其工作原理.
3.3解决流水线结构相关的方法有哪些?
3.4降低流水线分支损失的方法有哪些?
3.5有一指令流水线如图3.5所示
入出
1 2 3 4
50ns 50ns 100ns 200ns
图3.5
求连续输入10条指令,该流水线的实际吞吐率和效率.
(1)该流水线的“瓶颈”在哪一段?请采取三种不同的措施消除此“瓶颈”.对于你所给出的
3种新的流水线,仍计算连续输入10条指令时,其实际吞吐率和效率.
3.6 流水线有m段,各段的处理时间分别是t i(i=1,2,…,m),现有n 个任务需要完成 ,且每个任务均需流水线各段实现,请计算:
(1)流水线完成这n个任务所需要的时间.
(2)和非流水实现相比,这n个任务流水实现的加速比是多少?加速比的峰值是多少?
3.7 在改进的DLX流水线上运行如下代码序列:
LOOP: LW R1,0(R2)
ADDI R1,R1,#1
SW 0(R2),R1
ADDI R2,R2,#4
SUB R4,R3,R2
BNZ R4,LOOP
其中, R3的初值是R2+396.假设:在整个代码序列的运行过程中,所有的存储器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器文件“定向”.问:
(1)在没有任何其他定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空图.
假充采用排空流水线的策略处理分支指令,且所有的存储器访问都可以命中Cache,那么执行上述循环需要多少个时钟周期?
(2)假设该DLX流水线有正常的定向路径,请画出该指令序列执行的流水线时空图.假设采
用预测分支失败的策略正理分支指令,且所有的存储器访问都可以命中Cache,那么执行上述循环需要多少个时钟周期?
(3)假设该DLX流水线有正常的定向路径和一个单周期延迟分支,请对该循环中的指令进行
高度,你可以重新组织指令的顺序,也可以修改指令的操作数,但是注意不能增加指令的条数.请画出该指令序列执行的流水线时空图,并计算执行上述循环所需要的时钟周期数.
3.8 假设各种分支指令数占所有指令数的百分比如表3.1所示.
条件分支20%(其中的60%是分支成功的)
5%
跳转和调用
现有一深度为4的流水线(流水线有4段),无条件分支在第2个时钟周期结束时就被解析出来,而条件分支要到第3个时钟周期结束时才能够被解析出来.第一个流水段是完全独立于指令类型的,也即所有类型的指令都必须经过第一个流水段的处理.请问在没有任何控制相关的情况下,该流水线相对于存在上述控制相关情况下的加速比是多少?
第四章:
基本概念:存储层次、全相联映像、直接映像、组相联映像、替换算法、写直达法、写回法、按写分配法、不按写分配法、命中时间、失效率、强制性失效、容量失效、冲突失效、多体交叉存储器。
5.1 简述“Cache-主存”层次与“主存-辅存”层次的区别.
5.2地址映象方法有哪几种?它们各有什么优缺点?
5.3降低Cache失效率有哪几种方法?简述其基本思想.
5.4简述减小Cache失效开销的几种方法.
5.5 给定以下的假设,试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU 的性能.由计算结果能得出什么结论?
(1)理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次.
(2)两者Cache容量均为64KB,块大小都是32B.
(3)组相联Cache中的多路选择器使CPU的时钟周期增加了10%.
(4)这两种Cache的失效开销都是80ns
(5)命中时间为1个时钟周期
(6)64KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%.
5.6假设一台计算机具有以下特性:
(1)95%的访存在Cache中命中.
(2)块大小为两个字,且失效时整个块被调入
(3)CPU发出访存请求的速率为109Bps
(4)25%的访存为写访问
(5)存储器的最大流量为109Bps(包括读和写)
(6)主存每次只能读或写一个字
(7)在任何时候, Cache中有30%的块被修改过
(8)写失效时,Cache采用按写分配法.
现欲给该计算机增添一台外设,为此首先想知道主存的频带已用了多少.试对于以下两种情况计算主存频带的平均使用比例
(1)写直达Cache