复旦大学计算机科学技术学院
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复旦大学计算机科学技术学院
《计算机体系结构》期末考试试卷
B卷共 4页
课程代码:3.72.073.1考试形式:□开卷□√闭卷2010 年7月(本试卷答卷时间为120分钟,答案必须写在试卷上,做在草稿纸上无效)
专业学号姓名成绩
一、选择题(30%)
请在空格内填上最合适的字母序号(如A、B、C、D等)
1.RISC机器采用的“延迟分支”技术,指的是通过由编译器选择合适的指令放入“延迟槽”内,从而对程序中的指令次序进行调度.下列的哪一种调度方法从性能改善角度来讲是最有效的:C.
供选择的答案:A)从失败处调度(自转移不发生处移入)
B)从成功处调度(自转移发生处移入)
C)从前调度(把条转之前的指令调入)
D)从目标处调度(复制目标指令)
2.指令的动态调度算法可用来解决指令间的数据相关,Tomasulo算法的寄存器重命名技术主要用于解决______ C_ D_______类的数据相关。
(可填入一个或多个答案)
供选择的答案:A)RAW B)RAR C)W AW D)W AR
3.Cache的失效大体上可分成为强制性失效、容量失效和冲突失效三种,以下的三个方案:____ _B_______ 、_____ C______ 和_____ A______ 可分别用于减少这三种失效。
供选择的答案:A)提高相联度B)块预取C)增加Cache容量D)采用更高速的Cache
4.一个具有100个处理器的多处理机系统如果要达到80的加速比,则计算程序中串行部分所占比例需大概为_____ D ______。
.
供选择的答案:A)20% B)80% C)1% D)0.25% E) 0.75%
5.在多处理机系统中,为实现同步机制而设置的基本硬件原语通常为:_____ C_______。
供选择的答案:A)读出存储单元B)修改存储单元
C)读出并修改存储单元D)读出或修改存储单元
6.直接映象Cache 的替换算法一般采用以下哪一种选择______ D _______。
供选择的答案:A)随机法B)FIFO C)LRU D)无选择
7.发生写失效时,在是否调入相应块时,写直达Cache一般采用_____B_______;写回法
Cache一般采用:_____ A_______。
供选择的答案:A)按写分配
B)不按写分配
C)两者皆可
D)其它方法
8. 在采用虚拟存储器的计算机系统中,对于___ A____ 和____ E ___都存在使用虚地址还是
物理地址的问题。
供选择的答案:A)Cache B)主存C)外存D)I/O设备E)DMA
9. RAID3采用位交叉奇偶校验盘阵列,RAID4采用块交叉方式专用奇偶校验独立存取盘阵
列。
假定有四个数据盘和一个冗余盘,RAID3读一个数据需____F____次磁盘读操作;
RAID4读一个数据需____C____次磁盘读操作;RAID3写一个数据需___D或C____次磁盘读操作和____ C____次磁盘写操作;RAID4写一个数据需___C_____次磁盘读操作和____ C____次磁盘写操作。
供选择的答案:A) 0 ; B) 1; C) 2; D) 3; E) 4; F) 5。
10.某一台机器的虚地址为56 位,物理地址为40位,页面大小为64KB,每个页面的各类有效位和保护位等共8位.采用一个全相联的快表(TLB)共有128个表项.那么,该快表(TLB)中的每一项的长度是B Byte(字节).
供选择的答案:A)8 B)9 C)10 D)12
11.集群计算机属于(1)_____ D_____,它的通信机制为(2)____ C______。
(1)答案:A)SISD B)SIMD C)MISD D)MIMD
(2)答案:A)SMP B)NUMA C)网络通信
二、计算(40%)
1.设有一个直接映象Cache,其Cache索引的访问时间是2ns,标识比较的时间是1ns,处理机访问Cache中数据的时间是4ns,主存的读写时间为50ns,写缓冲器写入时间为4ns。
如写缓冲器未满,试问
1)对写策略为写回法的Cache,读、写数据的命中访问时间各至少多少?
2)对写策略为写直达法的Cache,读、写数据的命中访问时间各至少多少?
解:
1)读max(2ns+1ns, 4ns) = 4ns
写2ns+1ns+4ns = 7ns
2)读max(2ns+1ns, 4ns) = 4ns
写max(2ns+1ns+4ns,4ns) = 7ns
2.试分析下列程序段中的WAR和W AW相关,需要增加多少个寄存器才能通过寄存器重命名技术消除这些相关?
LD R1,0(R2)
DADD R3,R4,R1
DSUB R4,R5,R6
DMUL R7,R4,R8
DSLT R8,R9,R10
DSUB R11,R8,R12
DDIV R12,R13,R14
SD 0(R15),R12
解:3个W AR:
DADD R3,R4,R1 -> DSUB R4,R5,R6
DSUB R4,R5,R6 -> DSLT R8,R9,R10
DSUB R11,R8,R12 -> D DIV R12,R13,R14
无W AW
要增加3个寄存器.
3.有一个长流水线,仅对条件转移指令使用分支目标缓冲。
假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期。
根据下面的假设,计算分支目标缓冲的性能:(1)对于BTB中的指令,预测准确率80%
(2)缓冲区命中率90%
(3)不在BTB中分支转移成功的比例为60%
(4)分支频率为15%
(5)没有分支的基本CPI为1。
解:
在BTB中,预测成功,实际成功,此时延迟为0。
在BTB中,预测成功,实际不成功,此时延迟为
BTB命中率×预测错误率×4 =90% ×20%×4 =0.72
不在BTB中,实际成功,此时延迟为
(1-BTB命中率)×不在BTB中分支转移成功率×3
=10%×60%×3 =0.18
不在BTB中,实际不成功,此时延迟为0。
所以总延迟0.72 + 0.18 = 0.9
CPI=1*85% + 1.9*15% = 1.135
4.在Cray-1机上,按链接方式执行下面4条向量指令(括号中给出相应功能部件时间),如果向量寄存器和功能部件之间的数据传输需要1拍,试求此链接流水线的流过时间为多少拍?如果向量长度为N,则需要多少拍能得到全部结果。
V0←存储器(存储器取数:7拍)
V2←V0+V1 (向量加:3拍)
V3←V2<A3 (按照A3左移:4拍)
V5←V3∧V4 (向量逻辑乘:2拍)
解:
流水线经过时间为(1+7+1) + (1+3+1) + (1+4+1) + (1+2+1) = 24。
如果向量长度为N,则需24 + (N-1) = N+23拍能得到全部结果。
5.某RISC机的数据Cache由L1级和L2级组成,其工作方式是判别失效后再访问下级存储器,假定:
(1)L1级的失效率为1%,命中时间为一个时钟周期;
(2)L2级的失效率为0.4%,命中时间为2个时钟周期,未命中访问主存的时间为10个时
钟周期。
试计算数据访问的平均时钟周期数。
解:
数据访问的平均时钟周期数=命中时间L1+失效率L1*失效开销L1+失效率L1*失效率L2(局部)*失效开销L2=1+0.01*2+0.004*10=1.06
三、综合(30%)
1.在第三章改进的MIPS流水线上运行如下代码序列:
LOOP:LW R3,0(R1)
DADD R4,R3,R2
SW 0(R1),R4
DSUBI R1,R1,#4
BNEZ R1,LOOP
其中,R1的初值为100。
假设:在整个代码序列执行过程中,所有的存储器访问都命中Cache,并且在一个时钟周期中对同一个寄存器的写操作和读操作可在一拍内完成。
(1)在没有任何定向硬件的支持下,请画出该代码序列执行的流水线时空图。
假设采用排空流水线的策略处理分支指令,那么执行上述循环需多少个时钟周期?
(2)如有正常的定向硬件的支持,请画出该代码序列执行的流水线时空图。
假设采用预测分支失败的策略处理分支指令,那么执行上述循环需多少个时钟周期?(注:设在分支成功时需延迟一拍)
解:
25次循环,(25-1)x14+15=351(周期)
25次循环,(25-1)x8+11=203(周期)
2.旋转锁是多处理机实现同步的一个重要手段。
它在存储器中保存锁变量(1加锁,0开锁),各处理器可以不断地通过一个原子操作请求加锁。
释放锁的时候,处理器可简单地将锁置为“0”。
将锁缓冲进入Cache ,并通过一致性机制使锁值保持一致,可减少对存储器的访问。
(1) 如果R1中保存锁的地址,试在支持Cache 一致性的处理机上使用 LL R2, 0(R1) 和 SC R2, 0(R1) 指令对来编写实现旋转锁的查询和加锁程序。
(2) 设总线上有4个处理器同时准备对同一变量加锁。
假设每个总线事务处理(读失效或写失效)
是100个时钟周期,忽略实际的Cache 块锁的读写时间以及加锁的时间,求4个处理器请求加锁所需的总线事务数目。
设时间为0时锁已释放并且所有处理器在旋转,求处理这4个请求时间为多长?(假设总线在新的请求到达之前已服务完挂起的所有请求,并且处理器速度相同) 解: 1) lockit: LL R2, 0(R1) BNEZ R2, lockit DADDUI R2, R0, #1 SC R2, 0(R1) BEQZ R2, lockit 2)
4
1100(21)2400i i =⨯+=∑ 或者,
4
1
100(31)2600i i =⨯+=∑。