计算机系统结构复习题解析
计算机系统结构复习题
参考书目:《计算机体系结构》,张晨曦等编著,高等教育出版社。
第一章:
基本概念:层次结构、计算机体系结构的概念、透明性、计算机组成和计算机实现技术、翻译和解释技术、系列机概念、兼容性、程序的局部性原理
1.1 对于一台400MHz计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如表所示。
指令类型指令执行数量平均时钟周期数整数450001数据传送750002浮点80004分支15002求该计算机的有效CPI、MIPS(即计算机每秒执行的百万条指令数)和程序执行时间。
1.2 假设在某程序的执行过程中,浮点操作时间占整个执行时间的10%,现希望对浮点操作加速,则
(1) 设对浮点操作的加速比为Sf。画出程序总加速比SP和Sf之间的关系曲线。
(2)程序的最大加速比可达多少?
1.3 计算机系统中有3个部件可以改进方法,这3个部件的部件加速比如下:
部件加速比1=30
部件加速比2=20
部件加速比3=10
如果部件1和部件2的可改进比例均为30%,那么当部件3 可改进比例为多少时,系统加速比才可以达到10?
如果3个部件的可改进比例分别为30%、30%和20%,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.在循环的两次迭代之间不将任何数保存在寄存器中.
请写出该C语言源程序的DLX实现代码.
该程序段共执行了多少条指令?
程序对存储器中的数据访问了多少次?
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所示
入 出
50ns50ns100ns200ns
图3.5
求连续输入10条指令,该流水线的实际吞吐率和效率.
该流水线的“瓶颈”在哪一段?请采取三种不同的措施消除此“瓶颈”.对于你所给出的3种新的流水线,仍计算连续输入10条指令时,其实际吞吐率和效率.
3.6 流水线有m段,各段的处理时间分别是ti(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.假设:在整个代码序列的运行过程中,所有的存储器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器文件“定向”.问:
在没有任何其他定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空图.假充采用排空流水线的策略处理分支指令,且所有的存储器访问都可以命中Cache,那么执行上述循