《计算机系统结构》习题解答清华2版.docx
- 文档编号:26034911
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:36
- 大小:346.93KB
《计算机系统结构》习题解答清华2版.docx
《《计算机系统结构》习题解答清华2版.docx》由会员分享,可在线阅读,更多相关《《计算机系统结构》习题解答清华2版.docx(36页珍藏版)》请在冰豆网上搜索。
《计算机系统结构》习题解答清华2版
《计算机系统结构》习题解答(清华2版)
华中科技大学计算机学院林安
目录
第一章(P33)
1.7-1.9(透明性概念),1.12-1.18(Amdahl定律),1.19、1.21、1.24(CPI/MIPS)
第二章(P124)
2.3、2.5、2.6(浮点数性能),2.13、2.15(指令编码)
第三章(P202)
3.3(存储层次性能),3.5(并行主存系统),3.15-3.15加1题(堆栈模拟),3.19中(3)(4)(6)(8)问(地址映象/替换算法--实存状况图)
第四章(P250)
4.5(中断屏蔽字表/中断过程示意图),4.8(通道流量计算/通道时间图)
第五章(P343)
5.9(流水线性能/时空图),5.15(2种调度算法)
第六章(P391)
6.6(向量流水时间计算),6.10(Amdahl定律/MFLOPS)
第七章(P446)
7.3、7.29(互连函数计算),7.6-7.14(互连网性质),7.4、7.5、7.26(多级网寻径算法),7.27(寻径/选播算法)
第八章(P498)
8.12(SISD/SIMD算法)
第九章(P562)
9.18(SISD/多功能部件/SIMD/MIMD算法)
(注:
每章可选1-2个主要知识点,每个知识点可只选1题。
有下划线者为推荐的主要知识点。
)
第一章(P33)
1.7
(1)从指定角度来看,不必要了解的知识称为透明性概念。
(2)见下表,“√”为透明性概念,“P”表示相关课文页数。
模m交叉,√,P5
浮点数据,×,P4
通道与I/O处理机,×,P4
总线宽度,√,P5
阵列运算部件,×,P455
结合型与独立型通道,√?
,李
单总线,√,P4
访问保护,×,P4
中断,×,P4
指令控制方式,√,P5
堆栈指令,×,P4
最小编址单位,×,P4
Cache存储器,√,P131
1.8见下表,“√”为透明性概念,“P”表示相关课文页数。
指令地址寄存器,×,P5
指令缓冲器,√,P5
时标发生器,√,P5
条件码寄存器,×,P4
乘法器,√,李
主存地址寄存器,√,P5
磁盘,×,P4
先行进位链,√,P5
移位器,√,李
通用寄存器,×,P4
中断字寄存器,×,P4
1.9见下表,“√”表示都透明,“应”表示仅对应用程序员透明,“×”表示都不透明。
数据通路宽度,√,P5
虚拟存储器,应,P131
Cache存储器,√,P131
程序状态字,×,P4
“启动I/O”指令,应,P236
“执行”指令,×,P246
指令缓冲寄存器,√,P5
Sn
20
1
01Fe
1.12已知Se=20,求作Fe-Sn关系曲线。
将Se代入Amdahl定律得
1.13上式中令Sn=2,解出Fe=10/19≈0.526
1.14上式中令Sn=10,解出Fe=18/19≈0.947
1.15已知两种方法可使性能得到相同的提高,问哪一种方法更好。
(1)用硬件组方法,已知Se=40,Fe=0.7,解出Sn=40/12.7≈3.1496(两种方法得到的相同性能)
(2)用软件组方法,已知Se=20,Sn=40/12.7,解出Fe=27.3/38≈0.7184(第二种方法的百分比)
(3)结论:
软件组方法更好。
因为硬件组需要将Se再提高100%(20→40),而软件组只需将Fe再提高1.84%(0.7→0.7184)。
1.17
1.18记f──时钟频率,T=1/f──时钟周期,B──带宽(Byte/s)。
方案一:
方案二:
1.19由各种指令条数可以得到总条数,以及各百分比,然后代公式计算。
(1)
(2)
(3)
1.21
(1)
(2)
1.24记Tc──新方案时钟周期,已知CPI=CPIi=1
原时间=CPI×IC×0.95Tc=0.95IC×Tc
新时间=(0.3×2/3+0.7)×IC×Tc=0.9IC×Tc
二者比较,新时间较短。
第二章(P124)
2.3(忽略P124倒1行~P125第8行文字,以简化题意)已知2种浮点数,求性能指标。
此题关键是分析阶码、尾数各自的最大值、最小值。
原图为数据在内存中的格式,阶码的小数点在其右端,尾数的小数点在其左端,遵守规格化要求。
由于尾数均为原码,原码的绝对值与符号位无关,所以最大正数与最小负数的绝对值相同,可用“±最大绝对值”回答;最小正数与最大负数的绝对值相同,可用“±最小绝对值”回答。
第1小问中,阶码全部位数为8,作无符号数看待真值为0~255,作移-127码看待真值为-127~+128;尾数(不计符号位)有23位小数,另加1位整数隐藏位,所以尾数绝对值为1.0~2.0–2-23,有效位数p=24;
第2小问中,阶码全部位数为11,作无符号数看待真值为0~2047,作移-1023码看待真值为-1023~+1024;尾数(不计符号位)有52位小数,另加1位整数隐藏位,所以尾数绝对值为1.0~2.0–2-52,有效位数p=53。
最大绝对值为最大阶码与最大尾数绝对值的组合,最小绝对值为最小阶码与最小尾数绝对值的组合。
代入相关公式后得最终结果如下表。
32位
64位
±最大绝对值
±(1-2-24)·2129
±(1-2-53)·21025
±最小绝对值
±2-127
±2-1023
表数精度δ
2-24
2-53
表数效率η
100%
100%
注:
如果修改题目,将1、2小问的尾数规定为纯小数(即1位隐藏位是小数点后第1位),则尾数真值降为原值的1/2,全部结果改为下表。
32位
64位
±最大绝对值
±(1-2-24)·2128
±(1-2-53)·21024
±最小绝对值
±2-128
±2-1024
表数精度δ
2-24
2-53
表数效率η
100%
100%
2.5
(1)rm=2,re=2,p=24(隐藏最高位),q=7。
(2)Nmax=1.7×1038,-|N|min=-1.47×10-39
δ≤5.96×10-8≈10-7.22,η=100%
2.6
1位
7位
6位
0
0111111
333333
(1)0.2=0.333333H×160
设阶码为移-63码(即-26+1,原题未指明)
0.2=0.110011001100110011001101B×2-2
1位
8位
23位
0
01111101
10011001100110011001101
(其中最高有效位需隐藏)
阶码为移-127码(即-27+1)
(2)符号位不变,(阶码–63)×4+127;尾数左规,除去最高位;
(3)符号位不变,(阶码–127)/4+63;尾数补最高位,按除法余数右移若干位,左补0。
2.13已知10条指令使用频度,求3种编码方法的平均码长与信息冗余量。
(1)此问中的“最优Huffman编码法”实际是指码长下限,即信源的平均信息量──熵,代公式得H=2.9566。
(2)Huffman编码性能如下表;
(3)2/8扩展编码是8/64/512法的变种,第一组2条指令,码长为2(1位扩展标志,1位编码),第二组8条指令,码长为4(1位扩展标志,与第一组区别,加3位编码),编码性能如下表;
(4)3/7扩展编码是15/15/15法的变种,第一组3条指令,码长为2(共有4种组合,其中3种组合分别代表3条指令,留1种组合作为扩展前缀标志),第二组7条指令,码长为5(2位固定的前缀扩展标志,与第一组区别,加3位编码,只用其中7种组合),编码性能如下表。
Huffman编码
2/8扩展编码
3/7扩展编码
平均码长L
2.99
3.1
3.2
信息冗余量R
1.10%
4.61%
7.59%
2.15
(1)15条/63条/64条
(2)14条/126条/128条
第三章(P202)
3.3直接代公式计算存储层次性能指标。
(1)74ns,38ns,23.6ns
(2)0.258,0.315,0.424(单位:
美元/K字节,换算成美元/字节还要除以1024)
(3)T64K>T128K>T256K
c64K (4)19.092,11.97,10.0064。 答: 256K方案最优。 3.5已知 ,其中g=0.1 依题意有 整理得0.9n≥0.2,解出 ,向下取整,得15; 按另一种题意理解是向上取整,得16,也对。 3.15欲知可能的最高命中率及所需的最少主存页数,较好的办法是通过“堆栈模拟法”,求得命中次数随主存页数变化的函数关系。 下图就是“堆栈模拟图”,其中“√”表示命中。 P= 4 5 3 2 5 1 3 2 3 5 1 3 命中次数 4 5 3 2 5 1 3 2 3 5 1 3 4 5 3 2 5 1 3 2 3 5 1 4 5 3 2 5 1 1 2 3 5 4 4 3 2 5 5 1 2 2 4 4 4 4 4 4 4 n=1 0 n=2 √ 1 n=3 √ √ √ 3 n=4 √ √ √ √ √ √ √ 7 n=5 √ √ √ √ √ √ √ 7 (1)Hmax=7/12≈58.3% (2)n=4 (3)当1次页面访问代表连续1024次该页内存储单元访问时,后1023次单元访问肯定是命中的,而第1次单元访问的命中情况与这1次页面访问的命中情况相同。 根据上图中最高命中情况,共有7次页命中(折算为7×1024次单元命中),5次页不命中(折算为5×1023次单元命中,也可写为5×1024-5),单元访问总次数为12×1024,故有: Hcell=(12×1024-5)/(12×1024)=12283/12288≈99.96% 3.15加1题一个二级存储层次,采用全相联映象和最久没有使用算法,实存共5页,为2道程序分享,页地址流分别如下 P1=12341321 P2=12342233 试作2个实存分配方案,分别使2道程序满足 (1)命中率相同; (2)命中次数之和最大。 P1= 1 2 3 4 1 3 2 1 命中次数N (1) 1 2 3 4 1 3 2 1 1 2 3 4 1 3 2 1 2 3 4 1 3 1 2 2 4 4 n1=1 0 n1=2 0 n1=3 √ √ 2 n1=4 √ √ √ √ 4 解: 分别为2道程序作“堆栈模拟图”,其中“√”表示命中。 P2= 1 2 3 4 2 2 3 3 命中次数N (2) 1 2 3 4 2 2 3 3 1 2 3 4 4 2 2 1 2 3 3 4 4 1 1 1 1 1 n2=1 √ √ 2 n2=2 √ √ 2 n2=3 √ √ √ √ 4 n2=4 √ √ √ √ 4 6 5N (1)+N (2) 4 3 2N (1)N (2) 1 1+42+33+24+1 将两图结果综合,得到4个分配方案的命中率情况表如下 n1 1 2 3 4 N (1) 0 0 2 4 n2 4 3 2 1 N (2) 4 4 2 2 N (1)+N (2) 4 4 4 6 结论如下 (1)命中率相同的方案是n1=3而n2=2; (2)命中次数之和最大的方案是n1=4而n2=1。 3.19中(3)(4)(6)(8)问 虚存实页0123 虚组000√√ 1实存1√√ 虚组12·0实组02√√ 3·1虚3√√ 虚组24·2实组1页4√√ 5·35√√ 虚组366√√ 77√√ (a)虚页集合与实页集合的对应关系(b)对应关系表(√为有关系) (3) (4)通过作“实存状况图”模拟各虚块的调度情况,可获得Cache的块地址流序列。 P= 6 2 4 1 4 6 3 0 4 5 7 3 C0 4 4* 4 4 4 4* 4 4* 4* 4* C1 1 1* 1* 1* 0 0* 5 5 5 C2 6 6* 6* 6* 6* 6 6* 6* 6* 6* 7 7* C3 2 2 2 2 2* 3 3 3 3 3* 3 入 入 入 入 中 中 替 替 中 替 替 中 C= 2 3 0 1 0 2 3 1 0 1 2 3 此问最容易出错的地方是忽略“组相联”地址约束,将虚页装错实组。 另外没有及时标注“*”号也容易导致淘汰对象错误。 (6)H=4/12≈33% (8)做法同3.15题(3)问,Hcell=(12×16-8)/(12×16)≈95.8% 第四章(P250) 时间中断请求主程序1级2级3级4级 D1,D2 D3,D4 4.5已知中断服务次序为3-2-4-1 (1)中断屏蔽字表如下图; D1 D2 D3 D4 D1 0 1 1 1 D2 0 0 1 0 D3 0 0 0 0 D4 0 1 1 0 (2)中断过程示意图如右图。 4.8 (1)f=2×105字节/秒,T=5us (2)Ts+Td=5us,通道时间图如下。 作图时注意: 至少要画到最慢设备的第二次请求出现,才能确定是否丢失数据(因为响应优先级低的设备较易丢失数据)。 设优 备先 号级 D11 D24 D32 D43 时间 (us)0102030405060708090100110120130140150160170 (3)5,160,20,40; (4)D2丢失第一次请求的数据; (5)参见P245。 第五章(P343) 5.9为了缩短运算时间,首先应考虑“最少切换算法”,即先执行完所有乘法(任务编号1-6)再执行加法(任务编号7-11),其次在加法中采用“最少相关算法”(即二叉树算法)。 记c1=A1×B1,……,c6=A6×B6,下图(a)是加法的计算顺序二叉树,注意任务10应该用前一级最早完成的任务7和8的结果,如果用任务9的结果则要推迟1拍启动,使总时间增加1拍。 F=c1+c2+c3+c4+c5+c661234567891011 5123456 7894123456 37891011 1027891011 11234567891011 1101234567891214151822 (a)(b) 根据时空图(b)得 TP=11/(22Δt)=1/(2Δt) S=(6×4Δt+5×4Δt)/(22Δt)=2 E=(6×4Δt+5×4Δt)/(6×22Δt)=1/3 5.15Δt=10ns=10-8秒 (1)F={1,2,5},C=(10011) (2)状态转移图如下图(a)所示。 (3)最小启动循环=(3),最小平均启动距离=3Δt。 (4)插入2个延迟,最小启动循环= (2),最小平均启动距离=2Δt。 (5)新预约表如下图(b)所示。 12345678初态4,6,≥8 S1×12× 初态3,4,≥6S2×1×1000101 S3×4,6,≥84,6,≥8 10011S41××25 D1×10101011000111 D2×25 (a)(b)(c) (6)F={1,3,7},C=(1000101),状态转移图如下图(c)所示。 (7)插入前TPmax=1/3Δt=1/30ns,插入后TPmax=1/2Δt=1/20ns。 (8)插入前TP=10/33Δt=1/33ns,插入后TP=10/26Δt=1/26ns,如下图所示。 S4112231010 S3123………10 S2112231010 S1121321010 3t (a)插入前9×36 D212311 D1123410 S4112233………1010 S3123410 S2121324351010 S112341521010 2t (b)插入后9×28 第六章(P391) 6.6(注意阅读P372倒数第9行-倒数第6行) (4)V0←存储器链接 V1←1/V0链接 V3←V1+V2链接 V5←V3*V4 访存 倒数 加 乘 8168931 总拍数=72(各条依次链接) 已知n=32,k加=6,k乘=7,k访存=6,k倒数=14,启动、输出延迟各1。 求各小题总拍数。 (1)V0←存储器 V1←V2+V3并行 V4←V5*V6 访存 加 乘 931 总拍数=40(并行执行,以最长指令为准) (2)V2←V0*V1并行 V3←存储器 V4←V2+V3串行(P372) 乘 访存 加 931831 总拍数=79(第3条错过时机,不能链接) (3)V0←存储器并行 V3←V1+V2链接 V4←V0*V3 V6←V4+V5串行 访存 加 乘 8931831 总拍数=87(第4条功能部件冲突) (5)V0←存储器 V1←V2+V3并行 V4←V5*V6 s0←s1+s2串行 访存 加 乘 9318 总拍数=48(标量看成1个分量的向量) (6)V3←存储器并行 V2←V0+V1串行 s0←s2+s3并行 V3←V1*V4 访存 加 乘 831931 总拍数=79(标量看成1个分量的向量) (7)V3←存储器并行 V2←V0+V1链接 V4←V2*V3 存储器←V4串行 访存 加 乘 8931831 总拍数=87(第4条功能部件冲突) (8)V0←存储器链接 V2←V0+V1 V3←V2*V1串行 V5←V3*V4串行 访存 加 乘 8831931931 总拍数=127(Vi冲突,功能部件冲突) 6.10已知向量速率Rv=10MFLOPS,标量速率Rs=1MFLOPS,并记α为可向量化百分比。 (1)推导法1: 使用Amdahl定律,在这里可将标量速率Rs作为原速率,局部加速后的速率为向量速率Rv,于是局部加速比Se=10,全局加速比为 再根据加速比的定义, ,所以有 。 (若将向量速率Rv作为原速率,局部减速后的速率为标量速率Rs,则局部加速比Se=0.1,推出的全局加速比Sn同上式。 ) 推导法2: 为了推导,定义T为总时间,N为总任务数。 于是有平均速率Ra=吞吐率TP=N/T。 记N=Nv+Ns,且 ,则 ,于是有Nv=α·N和Ns=(1-α)·N 显然: 总时间 所以: 或者: Ra(MFLOPS) 10 1 01α (2)已知Rv=10MFLOPS,Rs=1MFLOPS, Ra与α的关系图如右图所示。 (3)已知Ra=7.5MFLOPS,解出 (4)已知Ra=2MFLOPS,α=0.7,解出 第七章(P446) 7.3已知输入端编号13=1101B。 (1)Cube3(1101B)=0101B=5 (2)PM2+3(13)=(13+23)mod16=21mod16=5 (3)PM2+0(13)=(13-20)mod16=12 (4)Shuffle(1101B)=1011B=11
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统结构 计算机系统 结构 习题 解答 清华