《计算机系统结构》往年考题答案.docx
- 文档编号:30119388
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:26
- 大小:108.84KB
《计算机系统结构》往年考题答案.docx
《《计算机系统结构》往年考题答案.docx》由会员分享,可在线阅读,更多相关《《计算机系统结构》往年考题答案.docx(26页珍藏版)》请在冰豆网上搜索。
《计算机系统结构》往年考题答案
《计算机系统结构》往年考题参考答案
仅供参考!
一、简答题
L指令流水计算机中,采用独立的指令缓存与数据缓存对系统性能有什么好处。
【答】①解决访存和収指的结构冲突,加速流水线:
②数据和指令的访问有所不冋,设置单独的Cache有利于提高命中率,减少平均访存时间。
2•什么是指令动态调度?
使用寄存器重命名能够解决哪些数据冲突?
【答】指令动态调度是指在程序执行过程中,依靠专门的硕件队代码进行调度。
使用寄存器重命名能够解决名相关(反相关、输出相关).
3・从数据和指令的角度,分别说明引起时间与空间局部性的原因。
【答】数据:
对于刚被访问过的数据,很有可能再次访问它或者它附近的数据。
指令:
顺序执行的可能性较大。
4.直接用虚拟地址索引缓存会存在什么问题?
【答】多个虚拟地址可能指向同一物理地址。
5・多处理机为什么耍维护缓存一致性?
【答】每个处理机都有一份自己的Cache,但是这些Cache都映射同一个物理主存,当一个处理机修改口己Cache的数据时,其他处理机中该部分的数据就不是最新的,造成不一致性。
2.填空题
1・16个处理器组成的网络,使用洸牌函数相联,那么与10号相联的是°
【答】10=(1010)2,循环左移一位得(0101)2=5。
+3*
2•有16个处理器,編号为0,1,…,15,先经过PM2+3,再经过混洗变换后,11号处理器连向—号处理器。
【答】H经过PM2*3得到(H+2^)modI6=3,3再经过混洗变换得6。
3•使用混洙交换单级网络将一个PE中的数据播送到所有16个PE中,需耍—次交换,需要—混洗。
假设每步只能进行混洗或交换中的一种变换。
【答】4次交换,3次混洗0
4・16个处理器组成的网络,采用PM2切PM2±2链接,网络直径为,结点度为°
【答】有结论:
2”个处理器组成的网络,采用PM2凶,PM2如2链接,实现各处理单元之间上下左右互联。
网络直径为3,结点度为4(?
)。
5•可以在向量与标量工作模式中切换的处理器,处理向量时效率是处理标量的9倍。
已知运行一段程序时有1/4的时间在运行向量指令,向量指令的比例为°
【答】设向量指令占比I则一-—=-.解得x=-.
x+9(i-x)44
拍。
6.向量处理器在串行模式执行以下指令需耍拍,使用链接技术需要.
v3<-A(load.6拍)
v2<-vO+vl(add.6拍)
v4<-v2*v3(muL7拍)
【答】串行模式下需要(1+6+1)+仆+6+1)+(1+7+1)=25拍:
使用链接技术需要1+6+1+1+7+1=17拍。
7・处理器Pl和P2执行A,B,C三种指令的周期如下
Pl
P2
A
I
2
B
2
3
C
4
4
一段程序中A占60%,B占30%,C占10%,分别求P1和P2运行该程序时的CPL
【答】Pl运行该程序的CPI为0.6x1+03x2+0,1x4=1,6.P?
运行该程序的CPI为0.6x2+03x3+0,1x4=2.5o
&己知一处理器指令缓存不命中率为2%,数据缓存不命中率为4%,不命中代价为100周期。
命中时,CPI为2,那么执行一段含有Load/Save指令各15%的程序时,其CPI为。
MHz。
【答】每条指令出现不命中的概率是0,02+03x0.04=0-032.故其CPI为0.032x100+2=5.2o9•五段流水线CPU,各段延迟时间分别为2・2ns25ns,2・2ns23ns23ns°连续执行10条指令,需要的时间为—,该CPU最高频率为
【答】各段不等长的流水线计算公式参见教材58页(时空图如如38),需要的时间为max{222・5222323}x(10-l)+(2・2+2・5+2・2+2・3+2・3)=34ns,最大周期为2・5ns,即频率为400MHz。
10•采用预留算法实现的非线性流水线优化调度,其启动循环为(1,3),则该流水线周期P为—调度后的禁止集F(niodP)为°
【答】周期尸=1+3=4,F(modP)={2}。
11•有一指令系统,共有7条指令。
有两种类型,一种为寄存器一寄存器型,一种为寄存器一存储器型。
指令字长为8位或16位,不同类型指令字长不同。
耍求变址范围一127到128。
则该指令系统最多可以编址—个通用寄存器,这时,最多可以编址—个变址寄存器。
【答】考虑寄存器一寄存器型指令字长为8位,有3条指令,除去2位操作码,剩下各3位编址8个通用寄存器。
寄存器一存储器型指令字长为16位,有4条指令,除去8位立即数,3位寄存器,4位操作码,剩下1位用來编址2个变址寄存器。
(所给答案可能不是最优的,但是掌握这种指令的各个部分的长度如何计算的方法即可)
12•在100次内存访问中,一级cache缺失10次,二级cache缺失5次。
则一级cache的全局命中率为,二级cache的全局命中率为O
【答】90%;95%。
13•分别在以下条件时计算块地址0110的索引(index),缓存有8块,主存有16块:
a)二路组相联:
b)直接映射0
【答】二路组相联共8/2=4纽索引为2位。
直接映射索引为3位。
答案分别是10、H0。
14•缓存共有4块,每块Ibytc,采用LRU策略。
访问字序列0,L4,1.0,4在下列情况下的命中率分别是:
a)直接映射:
b)二路组相联。
【答】直接映射
0
1
4
1
0
4
0
缺失(0)
缺失⑷
缺失(0)
缺失⑷
1
缺失⑴
命中
2
3
命中率为1/6。
二路组相联
0
1
4
1
0
4
0A
缺失(0)
命中
0B
缺失⑷
命中
1A
缺失⑴
命中
1B
命中率为1/2。
三、判断题:
以下对MIPS架构CPU的各改进方案,哪些修改了系统结构(Archi(cclurc),哪些只修改了实现(Implementation)?
填写A或者h
⑴将32位指令改为64位指令
⑵加入指令Cache
(3)増加流水线的段数
(4)减去某些定向(forwarding)相关逻辑的实现
(5)取消气泡
⑹増加16个额外的通用寄存器
(7)増加对某指令集的支持
【解】⑴A
⑵I
⑶I
⑷I
⑸I
⑹A
(7)A四、解答题。
1•设计了一种优化方案。
•优化后的时钟周期比未优化的快15%;
•未优化的取/存指令占总数的30%:
•优化后的取/存指令比未优化的少1/3,其它无变化:
•未优化的所有指令均用1个时钟周期:
优化的取/存指令用2个时钟周期,其它指令用1个时钟周期。
(I)求优化方案的平均CPI:
<2)通过计算加速比,判断哪个方案速度更快?
【解】⑴不妨设优化前共10条指令,取/存指令有3条。
优化后的取/存指令减少了1条,即还有2条取/存指令,其他7条不变,则总指令数变为9条。
77
优化方案的半均CPI为fx2+fxl=l・22。
(2)假设我们考虑这10条指令运行的总时间。
以未优化的1个时钟周期作为单位1,优化前的运行时间为10,优化后的总时间为(7+2x2)x0.85=935.说明优化后的更快。
但是如果考虑平均每条指令的运行时间,那么优化前的更快(因为优化后平均每条指令的运行时间大于1)。
2•在有32个处理机的并行机上运行一段程序,获得加速比26,己知该程序只有两种运行方式:
在所有32个处理机上同时运行,或者只能由一个处理机执行。
请问程序中只能由一个处理机执行的部分占多大比例?
【解】设程序中只能由一个处理机执行的部分占X,根据加速比定义有
=26nX=0.007
3•某指令系统,有三地址指令4条,单地址指令255条,零地址指令16条。
其指令字长12位,地址码3位。
请问扩展编码是否可行?
如果单地址指令是254条呢?
【解】(作业题>三地址指令共需耍9位地址码,所以剩下3位编码操作码,用4个码点编码三地址指令,剩余4个用于扩展。
单地址指令操作码有9位,可提供4><2"=256个码点,用其中255个编码单地址指令,剩下1个用于扩展。
这时零地址指令只有8个码点可用,所以扩展编码不可行。
如果单地址指令是254条,那么还剩下2个用丁•扩展零地址指令,零地址指令口身的最低3位各可以编码8条指令,共计16条。
因此可以实现扩展编码。
4•指令字长16位,有双地址指令、单地址指令、零地址指令。
地址都是6位。
双地址指令15条。
单地址与零地址条数相同。
(1)单地址与零地址指令最多能有多少条?
(2)给这三种指令分配操作码。
【解】
(1)双地址指令地址码占12位,故操作码有4位,共16个码点,剩下1个码点作扩展。
单地址指令的操作码最长10位,零地址指令最长16位。
对于单地址指令來说,最多有26-1=63条,零地址指令也必须是63条。
(2)双地址指令:
0000-1110:
单地址指令:
I1H000000-1H1II1110:
零地址指令:
I1H1IHI1000000-1IH11H1II111I0.
分别对按写分配和不按写分配两种策略,
命中、缺失、命中、命中,命中率为60%。
缺失,命中率为20%0
5・全相联Cache采用写直达策略。
初始Cache为空。
计算以下操作执行后的命中率。
WriteMem[I00]
WriteMem[I00]
ReadMein[200]
WriteMem[200]
WriteMein[I00]
【解】(PPT上的题)按写分配:
结果分别是缺失、不按写分配:
结果分别是缺失、缺失、缺失.命中.
6,Cache采用组相连映像及变换。
主存1MB,Cache32KB.块大小64B,Cache分为8组。
(I)写出主存地址和缓存地址的格式(写出各域及位数);
⑵若Cache的访问周期为20ns,命中率0.95,耍使加速比大于10,主存的访问周期应大于多少?
【解】(l)Cachc共有32KB/64B=5I2块,分为8路,共有512/8=64组。
主存地址:
标识8位,索引6位,块内地址6位。
缓存地址:
?
O⑵设主存访问周期知,则加速比2。
+("5产1皿皿。
7・Cache有4块,每块4字,采用直接映像法。
初始时Cache为空。
访问的字地址序列为:
0・7」2・9」6・8」7Q12・2。
求cache命中率。
【解】访问过程如下:
&一段程序有1000条指令,每条指令平均访问存储器1.5次,一级Cache访问需要1ns.二级Cache访问需要10ns,主存访问需要100nso这段程序运行完后共访问二级Cache90次,访问主存27次。
(1)求一级Cache和二级Cache命中率;
(2)求存储器等效访问时间:
(3)求每条指令因为访问存储器造成的半均延迟。
【解】
(1)程序一共访存1000x15=1500次,一级Cache缺失了90次,故
on
一级Cache(全局和局部)命中率为I-—=0,91:
1000
97
二级Cache的局部命中率为1-牯=0.7;
77二级Cache的全局命中率为1-—=0,973.
1000
⑵平均访存时间I+0.09x(10+03xI00)=46nso
⑶每条指令因为访问存储器造成的平均延迟为l・5x4・6=6・9ns。
9•某系统Cache为4路组相联,Cache大小为16K字节,块大小为64字节。
按写分配。
对于如下代码:
intM[4096]JJ;
for(i=OJ<10;i++){
for(j=0;j<4096;j++){
MLi]二i+j;
(1)当i=0时,发生的Cache缺失是属于什么类型的缺失?
发生了多少次?
(4分)
(2)运行完这段代码,求整体缺失率。
(4分)
【解】
(1)4096长度的整型数组为16K字节,每个块为64字节,对应16个整数。
当i=0时,
对M各元素均是首次访问,属于必然缺失。
发生警=256次。
16
(2)当i>0时,不再发生缺失。
总访存次数为40960次,故整体缺失率为2^=0・00625。
40960
10.—个缓存,采用m路组相联,顺序访问一个元素大小和缓存块大小相等的数组,求数组长度N
a)>m
b) 且缓存采用 a)LRU b)OPT 时的命中率。 【解】都是0,因为一个元素大小和缓存块大小相等,而每次访问一个元素时也只会载入一个块大小的数据到Cache,故每次访问都必然会缺失。 11.有以下指令(假设第一个操作数为写回的寄存器) N1: loadrOa N2: addrlrO N3: loadr2b N4: inu]r3r4 N5: andr4r5 N6: addr2r5 (1)请列出所有可能的数据冲突与结构冲突。 (2)假设该处理器一个周期仅能进行一次访存操作,画出其执行上述指令的时空图。 【解】 (1)数据冲突: N1与N2: r0RAW N4与N5: r4WAR N3与N6: r2WAW 结构冲突: 读取内存与取指冲突。 (2)假设数据冲突需耍插一个气泡。 I 2 3 4 5 6 7 8 9 10 1! 12 ! 3 1 IF ID EXE MEM WB 2 IF ID stall EXE MEM WB 3 IF ID EXE MEM WB 4 IF ID EXE MEM WB 5 stall IF ID EXE MEM WB 6 IF ID EXE MEM WB : 本答案中几乎所有给出的时空图与教材和课件上的形式不一样,建议考试中严格遵循 说明 教材和课件的标准(如教材图3・8)! (1)列出所有的数据相关。 (2)采用预测转移不成功的静态分支预测法,画出流水线的时空图,求吞吐率、加速比、译码段的效率。 (3)采用预测转移成功的静态分支预测法,画出流水线的时空图,求吞吐率、加速比.执行段的效率。 【解】 (1)K1与K2: RIRAW K29K3: R2RAW KI与K4: RIWAW K2与K4: RIWAR K3与K5: R0RAW (2)这里都假设只有分支预测出错才会造成流水线暂停。 1 2 3 4 5 6 … 16 17 18 19 20 KI IF ID EXE WB K2 IF ID EXE WB K3 IF ID EXE WB K4 IF ID EXE K2 stall IF ♦♦♦ K4 IF ID EXE WB K5 IF ID EXE WB 吞吐率护。 皿汽加速比斜E译码段的效率齐0.7。 ⑶ I 2 3 4 5 6 … 13 14 ! 5 16 17 18 KI IF ID EXE WB K2 IF ID EXE WB K3 IF ID EXE WB K4 IF ID EXE K2 IF ID ♦■♦ K4 IF ID EXE WB K5 Stall IF ID EXE WB 149114 吞吐率矿0.156n"加速比矿1.67,执行段的效率茂=0.78。 13.计算/=加法需耍2个时钟周期,乘法需要4个时钟周期。 /-0 (1)串行处理器,有1个加法单元,1个乘法单元,但不能同时工作,求总的时钟周期: (2)SIMD处理器,有8个PE,标号为0~7,连接为单向环,初始时和所在的处理机标号为j・mod8,每个PE向相邻的PE转移(数据传输)需耍1个周期,问最小要多少个周期完成计算0 (3)—个SISD流水线,S4的输出可以直接到输入。 一个乘法指令顺序执行S1S2S3S4 一个加法指令执行SlS4o每个1个周期。 (a)求最短运行时间? (b)画出流水线的时空图; (C)求S4的利用率。 【解】 (1)10x4+9x2=58: (2)似乎今年没有讲到这里? (3)这里假设流水线不能同时做加法和乘法,并11二者进行切换时必须排空流水线。 如果该流水线可以这样的话,结果应该更优一点. (a)10+(4-1)+9+(2-1)=23: (b) I 2 3 4 5 6 ... ! 3 14 15 16 … 22 23 ! x Si s: S3 S4 2x Si S2 S3 S4 3x Si Sz S3 S4 4x Si s: S3 5x Si S2 ■•■ ! 0x S4 ! + s, S4 2+ s, S4 ■•■ 9+ Si S4 (c)10次乘法和9次加法都用了S4,故利用率为19/23。 14.预约表如下: ! 2 3 4 5 Si 7 7 Sz V 7 S3 7 7 7 (1)求禁止集; (2)求初始冲突向量; (3)用预留算法实现优化调度,若流水线时钟周期I为30ns,求该流水线的最大吞吐率。 【解】⑴禁I上集为{1,2.4}: (2)由禁止集得到初始冲突向量1011; (3)最小半均启动距离为3,最小启动循环为(3),插入非计算延迟得到最优调度的预约表为 1 2 3 4 5 S, 7 7 Sz V S3 7 I 2 3 4 5 6 7 8 9 10 li Si ! 2 1 3 2 3 s. I 1 2 2 3 3 S3 I I I 2 2 2 3 3 3 S4 I D 1 15•—条有4个功能段的非线性流水线,每个功能段的延迟时间都相等,它的预约表如下 I 2 3 4 5 6 7 Si 1 7 7 S2 7 S3 7 V S4 V (1)求禁止集合和初始冲突向量: (2)画出状态图; (3)找出最小启动循环,求最小半均启动时间: (4)如果用上一问的启动循环连续完成10条指令,求实际的吞吐率: (5)用插入非计算延迟的方法可以得到最优调度,求最优调度的最大吞吐率。 【解】(前儿问是PPT上的例子) (1)禁止集合{2.4.6}.初始冲突向量101010。 (2)第一轮: 初始冲突向量右移1位: 010101vl0! 010=llll! l; 初始冲突向量右移3位: 000101vl01010=1011ll; 初始冲突向量右移5位: 0000017101010=1010! 1: 初始冲突向量右移大于等于7位: 000000vI0I0I0=I010l0o 第二轮: 对于中间冲突向量1IHI1,不做任何处理; 中间冲突向量10H11右移5位: 000001vl01010=1010! l: 中间冲突向量101011右移3位: 00010lvl01010=101111: 中间冲突向量10I01I右移5位: 000001vl01010=1010! u 画出状态图如下: ⑶最小的启动循环为(1.7)秋3,5),半均启动距离为4。 ⑷采用循环(1.7)时, I 2 3 4 5 6 7 8 9 10 11 12 •■ 39 40 S, 1 2 1 2 3 4 •-・ 9 10 Sz I 2 I 2 3 4 •-・ 10 S3 I 2 1 2 3 4 •♦• Sj I 2 3 ・•・ 必指令执行的总用时为4。 个周期,吞吐率为籍=吉 采用循环(3,5)时, I 2 3 4 5 6 7 8 9 10 II 12 18 42 s, I 2 I 3 2 4 4 10 Sz I 2 1 2 3 5 S3 I I 2 2 3 S4 I 2 3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统结构 计算机系统 结构 往年 考题 答案