计算机系统结构
姓名: 学号:
一、填空题(20分,每空2分)
1.在处理机中,若指令序列完成的顺序总是与它们开始执行的顺序保持一致,则只可能出现( )相关,否则就有可能出现( )、( )和( )相关。
2.设计I/O系统的三个标准是( )、( )和( )。 3.单机和多机并行性发展的技术途径有( )、( )和( )。
二、简答题(20分,每题10分)
1.在进行计算机系统设计时,一个设计者应该考虑哪些因素对设计的影响? 2.请简述I/O系统设计的步骤。
三、(共60分)现有如下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. 现假设在程序运行过程中,只要有可能就将i的值和数组变量的地址一直保存在寄存器中,请写出该C语言源程序的MIPS实现代码。MIPS代码的大小是多少?
2. 假设上述MIPS代码在MIPS流水线上(有正常的定向路径、分支指令在译码段被解析出来,所有存储器访问全部Cache命中)执行,请以最快执行方式调度该MIPS指令序列。注意:可以改变操作数,但不能改变操作码和指令条数。计算调度后的MIPS代码序列执行所需的时钟周期数,以及对于上述标准MIPS流水线执行的加速比。
3. 请写出该MIPS代码的存储器数据访问地址流(十进制表示)。
4. 在前面“3”中的实现中,均是假设存储器访问全部Cache命中,且Cache命中访问时间为1个时钟周期。现假设MIPS流水线没有Cache,所有存储器访问均需50个时钟周期(失效损失),请问“3”中调度后的MIPS指令序列在该MIPS(没有Cache)上执行需要多少个时钟周期数。
5. 现假设为MIPS流水线设置一个大小为400 B的一级Cache,Cache块的大小为200 B,采用全相联映射策略和写回策略,Cache的命中时间为1个时钟周期,失效损失为50个时钟周期,失效时每次预取一个块,预取一个块的时间为50个时钟周期,请计算该Cache的
失效率,以及现在“3”中调度后的MIPS指令序列在MIPS上执行需要多少个时钟周期数。