清华第2版《计算机系统结构》 部分答案.docx

上传人:b****7 文档编号:8792652 上传时间:2023-02-01 格式:DOCX 页数:26 大小:159.67KB
下载 相关 举报
清华第2版《计算机系统结构》 部分答案.docx_第1页
第1页 / 共26页
清华第2版《计算机系统结构》 部分答案.docx_第2页
第2页 / 共26页
清华第2版《计算机系统结构》 部分答案.docx_第3页
第3页 / 共26页
清华第2版《计算机系统结构》 部分答案.docx_第4页
第4页 / 共26页
清华第2版《计算机系统结构》 部分答案.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

清华第2版《计算机系统结构》 部分答案.docx

《清华第2版《计算机系统结构》 部分答案.docx》由会员分享,可在线阅读,更多相关《清华第2版《计算机系统结构》 部分答案.docx(26页珍藏版)》请在冰豆网上搜索。

清华第2版《计算机系统结构》 部分答案.docx

清华第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交叉,√,

浮点数据,×,P4

通道与I/O处理机,×,P4

总线宽度,√,

阵列运算部件,×,

结合型与独立型通道,√,

单总线,√,

访问保护,×,

中断,×,

指令控制方式,√,

堆栈指令,×,

最小编址单位,×,

Cache存储器,√,

1.8见下表,“√”为透明性概念,“P”表示相关课文页数。

指令地址寄存器,×,

指令缓冲器,√,

时标发生器,√,

条件码寄存器,×,

乘法器,√,

主存地址寄存器,√,

磁盘,×,

先行进位链,√,

移位器,√,

通用寄存器,×,

中断字寄存器,×,

1.9见下表,“√”表示都透明,“应”表示仅对应用程序员透明,“×”表示都不透明。

数据通路宽度,√,

虚拟存储器,应,

Cache存储器,√,

程序状态字,×,

“启动I/O”指令,应,

“执行”指令,×,

指令缓冲寄存器,√,

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%

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

(3)T256K

c256K>c128K>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(各条依次链接)

(3)V0←存储器并行

V3←V1+V2链接

V4←V0*V3

V6←V4+V5串行

访存

8931831

 

总拍数=87(第4条功能部件冲突)

已知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条错过时机,不能链接)

(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

(5)Shuffle(Shuffle(1101B))=Shuffle(1011B)=0111B=7

7.4用多级混洗―交换网络,n=4,拓扑结构同教材P410图7.21(e),控制信号=1010B,自左向右各级交换开关状态依次为交换―直连―交换―直连。

7.5输入结点编号j=9,f(j)=j⊕控制信号=1001B⊕1100B=0101B=5,答为5号处理机。

7.6直连状态时:

编号在第i位不同的结点之间不能通信;

交换状态时:

编号在第i位相同的结点之间不能通信。

7.7用单级混洗―交换网可实现,总共混洗3步。

证:

设矩阵A=(aij)8×8按行展开依次存放在64个单元中,则任意元素aij的地址为8i+j,而aji的地址为8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1