计算机体系课后答案.docx
- 文档编号:8931677
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:11
- 大小:21.43KB
计算机体系课后答案.docx
《计算机体系课后答案.docx》由会员分享,可在线阅读,更多相关《计算机体系课后答案.docx(11页珍藏版)》请在冰豆网上搜索。
计算机体系课后答案
第二章
7.
(1)浮点数系统使用的阶基rp=2,阶值位数p=2,尾数基值rm=10,以rm为基的尾数位数m''=1,按照使用的倍数来说,等价于m=4,试计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。
(2)对于rp=2,p=2,rm=4,m'=2,重复以上计算。
解:
依题意列下表:
p=2,rm=10,m'=1
p=2,rm=4,m'=2
最小尾数值
10^-1=
4^-1=
最大尾数值
1-10^-1=
1-4^-2=15/16
最大阶值
2p^-1=3
3
可表示的最小值
可表示的最大值
10^3*=900
4^3*15/16=60
可表示数的个数
36
48
题中“按照使用的倍数来说,等价于m=4,”这个m=4,因为2^3<10<2^4,等价为实际要4个二进制位,表示RM=10为基的一位
12.经统计,某机器14条指令的使用频度分别为:
,,,,,,,,,,,,。
分别求出用等长码、Huffman码、只有两种码长的扩展操作码3种编码方式的操作码平均码长。
解:
等长操作码的平均码长=4位;Huffman编码的平均码长=位;只有两种码长的扩展操作码的平均码长=位。
14.若某机要求:
三地址指令4条,单地址指令255条,零地址指令16条。
设指令字长为12位.每个地址码长为3位。
问能否以扩展操作码为其编码如果其中单地址指令为254条呢说明其理由。
答:
①不能用扩展码为其编码。
∵指令字长12位,每个地址码占3位;
∴三地址指令最多是2^(12-3-3-3)=8条,现三地址指令需4条,
∴可有4条编码作为扩展码,
∴单地址指令最多为4×2^3×2^3=2^8=256条,
现要求单地址指令255条,∴可有一条编码作扩展码
∴零地址指令最多为1×2^3=8条
不满足题目要求
∴不可能以扩展码为其编码。
②若单地址指令254条,可以用扩展码为其编码。
∵依据①中推导,单地址指令中可用2条编码作为扩展码
∴零地址指令为2×2^3=16条,满足题目要求
note:
三地址指令格式:
操作码地址码地址码地址码
3位3位3位3位
单地址指令格式:
操作码地址码
9位3位
所以前面9位由于三地址指令用了最前面3位,还有中间6位可作为编码(也就是总共可以有9位作为单地址指令的指令操作码的编码)。
减去3地址指令的4条,有4*2^6=256条,但由于韪目要求要有255条,所以剩下一个编码,已经用了9位的全部编码,最后零地址指令(全部12位都可作为操作码的编码)还有1*2^3=8(这是12位编码中最后三位的)若只要求254种,则可以有(256-254)*2^3=16条
15.某机指令字长16位。
设有单地址指令和双地址指令两类。
若每个地址字段为6位.且双地址指令有X条。
问单地址指令最多可以有多少条
答:
单地址指令最多为(16-X)×2^6
.双地址指令最多是2^(16-6-6)=2^4=16条,现双地址指令有X条,
∴可有(16-X)条编码作为扩展码,
∴单地址指令最多为(16-X)×2^6=256条
第三章
4.设中断级屏蔽位“1”对应于开放,“0”对应于屏蔽,各级中断处理程序的中断级屏蔽位设置如下:
中断处理程序级别
中断级屏蔽位
1级
2级
3级
4级
第1级
0
0
0
0
第2级
1
0
1
0
第3级
1
0
0
0
第4级
1
0
1
0
(1)当中断响应优先次序为1→2→3→4时,其中断处理次序是什么
(2)如果所有的中断处理都各需3个单位时间,中断响应和中断返回时间相对中断处理时间少得多。
当机器正在运行用户程序时,同时发生第2,3级中断请求,过两个单位时间,又同时发生第1,4级中断请求,试画出程序运行过程示意图。
答:
(1)当中断响应优先次序为1→2→3→4时,其中断处理次序为1→3→4→2。
(2)
5.若机器共有5级中断,中断响应优先次序为1→2→3→4→5,现要求其实际的中断处理次求序1→4→5→2→3。
(1)设计各级中断处理程序的中断级屏蔽位(令“1”对应于开放,“0”对应于屏蔽);
(2)若在运行用户程序时,同时出现第4,2级中断请求,而在处理第2级中断未完成时,又同时出现第1,3,5级中断请求,请画出此程序运行过程示意图。
答:
(1)中断级屏蔽位设置如下图:
中断处理程序级别
中断级屏蔽位
1级
2级
3级
4级
5级
第1级
1
1
1
1
1
第2级
0
1
1
0
0
第3级
0
0
1
0
0
第4级
0
1
1
1
1
第5级
0
1
1
0
1
(2)中断过程示意图:
如图
2、4中断同时出现,进行排队器。
首先响应第2级中断请求,屏蔽字为01100,表明其对第4级中断请求开放,所以转去响应第4级中断请求并进行处理。
响应4,中断4运行结束,回2。
1、3、5进入排队器。
第2级中断请求的处理请求被中断,转去响应第1级中断请求并进行处理。
响应第5级中断请求并进行处理。
继续响应并处理第2级中断处理请求,结束后返回用户程序。
最后处理第3级中断请求。
10.通道型I/O系统由一个字节多路通道A(其中包括两个子通道Al和A2),两个数组多路通道B1和B2及一个选择通道C构成,各通道所接设备和设备的数据传送速率如表所示。
(1)分别求出各通道应具有多大设计流量才不会丢失信息;
(2)设I/O系统流量占主存流量的1/2时才算流量平衡,则主存流量应达到多少
通道号
所接设备的数据传送速率(KB/s)
字节多路通道
子通道A1
5035202050352020
子通道A2
5035202050352020
数组多路通道B1
500400350250
数组多路通道B2
500400350250
选择通道C
500400350250
解:
(1)要不丢失信息,各通道需要达到的流量:
字节多路通道子通道A1:
S;字节多路通道子通道A2:
S;数组多路通道B1:
500KB/s;数组多路通道B2:
500KB/s;选择通道C:
500KB/s。
(2)主存流量应达到4MB/S。
剖析:
(1)设备要求字节多路通道或其子通道的实际最大流量,是该通道所接各设备的字节传送速率之和;
设备要求数组多路通道或选择通道的实际最大流量,是该通道所接各设备的字节传送速率中的最大者。
(2)I/O系统中,各种通道和子通道可以并行工作,因此,I/O系统的最大流量应等于各通道最大流量之和。
第4章
4.某虚拟存储器共8个页面,每页1024个字,实际主存为4096个字,采用页表法进行地址映象。
映象表的内容如下表所示。
虚页号
0
1
2
3
4
5
6
7
实页号
3
1
2
3
2
1
0
0
装入位
1
1
0
0
1
0
1
0
注:
我把虚页号加上了。
(1)列出会发生页面失效的全部虚页号;
(2)按以下虚地址计算主存实地址:
0,3728,1023,1024,2055,7800,4096,6800。
解:
(1)会发生页面失效的全部虚页号为:
2,3,5,7。
(2)
虚地址
虚页号
页内位移
装入位
实页号
页内位移
实地址
0
0
0
1
3
0
3072
3278
3
656
0
页面失效
页面失效
无
1023
0
1023
1
3
1023
4095
1024
1
0
1
1
0
1024
2055
2
7
0
页面失效
页面失效
无
7800
7
632
0
页面失效
页面失效
无
4096
4
0
1
2
0
2048
6800
6
656
1
0
656
656
剖析:
(1)根据页表法列出表2,当装入位为0时,即为页面失效,再找出相对应的虚页号即可。
(2)虚页号=虚地址/页面大小
页内位移量=虚地址-虚页号*页面大小
实地址=实页号*页面大小+页内位移量
由于可以用替换算法解决页面失效的问题,所以,发生页面失效的虚页2,3,5,7仍然可以有相应的实地址,但这样要在页表中建立新的虚实地址对应关系,新的虚实地址对应关系和原来的对应关系相同的可能性就很小了。
6.设某程序包含5个虚页,其页地址为4,5,3,2,5,1,3,2,2,5,1,3。
当使用LRU算法替换时,为获得最高命中率,至少应分配给该程序几个实页其可能的最高命中率为多少
12.有一个Cache存储器。
主存共分8个块(0~7),Cache为4个块(0~3),采用组相联映象,组内块数为2块,替换算法为近期最少使用算法(LRU)。
(1)画出主存、Cache地址的各字段对应关系(标出位数)图;
(2)画出主存、Cache空间块的映象对应关系示意图;
(3)对于如下主存块地址流:
1,2,4,1,3,7,0,1,2,5,4,6,4,7,2,如主存中内容一开始未装入Cache中,请列出Cache中各块随时间的使用状况;
(4)对于(3),指出块失效又发生块争用的时刻;
(5)对于(3),求出此期间Cache的命中率。
解答:
(1)主存地址、Cache地址的各字段的位数及其对应关系如下图所示
(2)主存块、Cache块的映象对应关系如下图所示
(3)Cache中各块随时间的使用状况如下图所示。
图中标*号的是候选替换块的块号,H:
命中;R:
替换;L:
失效。
(4)发生块失效又发生块争用的时刻有6、7、9、10、11、12、14、15。
(5)Cache的块命中率Hc=3/15=。
剖析:
由于主存块、Cache块之间存在上述的映象对应关系,主存的第0、1、4、5块只能映象装入或替换物理Cache的第0、1块;主存的第2、3、6、7块只能映象装入或替换物理Cache的第2、3块。
第5章
3.假设指令的解释分取指、分析与执行3步,每步的时间相应为t取指、t分析、t执行,
(1)分别计算下列几种情况下,执行完100条指令所需时间的一般关系式:
a.顺序方式;
b.仅“执行k”与“取指k+1”重叠;
c.仅“执行k”、“分析k+1”、“取指k+2”重叠;
(2)分别在t取指=t分析=2、t执行=1及t取指=t执行=5、t分析=2两种情况下,计算出上述各结果。
解:
(1)执行完100条指令所需时间:
*(t取指+t分析+t执行);
取指+100*t分析+99*max(t取指+t执行)+t执行;
取指+max(t取指+t分析)+98*max(t取指+t分析+t执行)+max(t分析+t执行)+t执行。
(2)在t取指=t分析=2、t执行=1的情况下,执行完100条指令所需时间:
在t取指=t执行=5、t分析=2的情况下,执行完100条指令所需时间:
5.流水线有4个功能部件组成,每个功能部件的延迟时间为△t,当输入10个数据后间歇5△t又输入10个数据,如此周期性地工作,求此时流水线的吞吐率,并画出时空图。
解:
TP=10/14△t=5/7△t
时空图:
6.有一个浮点乘流水线如图(a)所示,其乘积可直接返回输入端或暂存于相应缓冲寄存器中,画出实现A*B*C*D的时空图以及输入端的变化,并求出该流水线的吞吐率和效率;当流水线改为图(b)形式实现同一计算时,求该流水线的效率及吞吐率。
图(a)
图(b)
解:
按图(a)组织的流水线时,TP=3/13△t;η=3/11。
实现A*B*C*D的时空图如图0504所示:
图0504
按图(a)组织的流水线时,TP=3/13△t;η=3/11。
实现A*B*C*D的时空图如图0504所示:
图0505
剖析:
为了减少运算过程中的操作数相关,A*B*C*D应改为((A*B)*(C*D))进行运算。
8.一个4段的双输入端规格化浮点加法流水线,每段经过时间10ns,输出可直接返回输入或将结果暂存于相应缓冲器中,问最少需经多少时间能求(10)∑(i=1)Ai,并画出时空图。
答:
时空图如下:
求(10)∑(i=1)Ai需要的最知时间是170ns。
剖析:
为了避免先写后读相关,使流水线性能尽可能高,需将(10)∑(i=1)Ai调整成((((A1+A2)+(A3+A4))+(A9+A10))+((A5+A6)+(A7+A8)))。
14.在一个5段的流水线处理机上需经9拍才能完成一个任务,其预约表为:
t0
t1
t2
t3
t4
t5
t6
t7
t8
s1
∨
∨
s2
∨
∨
s3
∨
∨
∨
s4
∨
∨
s5
∨
∨
分别写出延迟禁止表F、冲突向量C;画出流水线状态转移图;求出最小平均延迟及流水线的最大吞吐率及其高度方案。
按此流水高度方案输入6个任务,求实际吞吐率。
解:
根据预约表,延迟禁止表F={1,3,4,8}
冲突向量为C:
状态转移图如图0514所示
图0514
各种方案的平均延迟表:
调度方案
(2,5)
(2,7)
5
(5,6)
(6)
(6,7)
(7)
平均延迟
5
6
7
最小延迟为拍,其调度方案为(2,5)。
按调度方案(2,5)输入6个任务时的时空图如图0515所示:
图0515
实际吞吐率TP=6/25(任务/拍)。
剖析:
求延迟禁止表F={1,3,4,8},第一行间隔8,第二行间隔1,第三行间隔1,3,4,然后间隔都为1,合并。
求冲突向量,写一个8位两进制数,根据禁止表倒着写。
由于初始冲突向量的c2,c5,c6,c7为0,所以第二个任务可以距第一个任务2,5,6或7拍流入流水线。
17.设向量长度为64,以CRAY-1机上所用浮点功能部件的执行时间分别为:
相加6拍,相乘7拍,求倒数近似值14拍;从存储器读数6拍,打入寄存器及启动功能部件各1拍。
问下列各指令组内的哪些指令可以链接哪些指令不能链接不能链接的原因是什么分别计算出各指令组全部完成所需的拍数。
(1)
(2)
(3)
(4)
V0←存储器
V1←V2+V3
V4←V5*V6
V2←V0*V1
V3←存储器
V4←V2+V3
V0←存储器
V2←V0*V1
V3←V2+V0
V5←V3+V4
V0←存储器
V1←1/V0
V3←V1*V2
V5←V3+V4
解:
(1)3条向量指令之间既没有发生源Vi冲突,也没有Vi的先写后读相关,又不存在功能部件的使用冲突,所以这3条向量指令可以同时并行流水。
max{(1+6(访存)+1+64-1),(1+6(浮加)+1+64-1),(1+(7浮乘)+1+64-1)}=72拍。
所以向量指令组全部完成需要72(拍)。
(2)3条向量指令之间没有功能部件的使用冲突,但是在第1、2两条向量指令与第3条向量指令之间有V2及V3的先写后读相关。
只要让第1条向量指令较第2条向量指令提前1拍启动,则第1,2两条向量指令的第1个结果元素就可以被同时链接到第3条向量指令中。
max{(1+(7浮乘)+1+64-1),(1+6(访存)+1+64-1)}+(1+6(浮加)+1+64-1)=80(拍)。
(3)第1条向量指令与第2条向量指令之间有V0的先写后读相关,两者可以链接。
第3条向量指令与第2条向量指令之间有源向量寄存器V0的冲突,它们之间只能串行。
第3条向量指令与第4条向量指令之间有加法功能部件的使用冲突,它们之间也只能串行。
(1+6(访存)+1+1+(7浮乘)+1+64-1)+(1+6(访存)+1+64-1)(1+6(浮加)+1+64-1)=222(拍)。
(4)4条向量指令均依次有Vi的先写后读相关,但无源Vi冲突,也无功能部件的使用冲突,所以,这4条向量指令可以全部链接在一直,进行流水。
(1+6(访存)+1)+(1+14(求倒数)+1)+(1+(7浮乘)+1)+(1+6(浮加)+1)+64-1=104拍。
第6章
3.编号为0、1、...、15的16个处理器,用单级互连网互连。
当互连函数分别为
(1)Cube3
(2)PM2+3
(3)PM2-0
(4)Shuffle
(5)Shuffle(Shuffle)
时,第13号处理器各连至哪一个处理器
解答:
(1)5号处理器
(2)5号处理器
(3)12号处理器
(4)11号处理器
(5)7号处理器
剖析:
由题意知,有16个处理器,即N=16,n=log2(N)=log2(16)=4。
Cube3(13)=Cube3(1101)=0101=5
PM2+3(13)=(13+2^3)mod16=5
PM2-0(13)=(13-2^0)mod16=12
Shuffle(13)=Shuffle(1101)=1011=11
Shuffle(Shuffle)=Shuffle(11)=Shuffle(1011)=0111=7
8.画出0~7号共8个处理器的三级混洗交换网络,在该图上实现将6号处理器数据播送给0~4号,同时将3号处理器数据播送给其余3个处理器时的各有关交换开关的控制状态。
解答:
8个处理器的三级混洗交换网络及其交换开关控制状态设置如下图所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 体系 课后 答案