计算机系统结构习题文档格式.docx
- 文档编号:22342689
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:24
- 大小:841.76KB
计算机系统结构习题文档格式.docx
《计算机系统结构习题文档格式.docx》由会员分享,可在线阅读,更多相关《计算机系统结构习题文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
B.缩短指令长度,扩大寻址空间,提高编程灵活性
C.可以直接访问外存
D.提供扩展操作码的可能并降低译码难度
答案:
BAAADACCDCB
1.已知一个32位浮点数44C80000,给出它的6个参数:
尾数用小数,原码表示,rm=16,p=6阶码用整数,移码表示,re=2,q=6.问:
这个数转换成十进制是多少?
解:
01000100110001000000000000000000
数符mf=0是个正数
尾数数值部分=0.11000100=0.C8H
=12×
16-1+8×
16-2=25/32
阶码用移码表示
X+26=1000100X为阶码真值
X=1000100-1000000
X=+000100阶码为1
所以这个数是25/32×
164=25×
211
2.p=23,q=7,rm=re=2,尾数用原码、小数表示,阶码用移码、整数表示,求规格
化浮点数N的表数范围。
规格化浮点数N的表数范围是:
3.已知一个32位浮点数C1C00000,无法知道它表示的是什么数!
给出6个参数:
尾数用纯小数,原码表示rm=16,p=6;
阶码用整数,移码表示re=2,q=6。
问:
11000001110000000000000000000000
数符mf=1是个负数
尾数数值部分=0.1100=0.CH=12×
16-1=12/16
X+26=1000001X为阶码真值
X=1000001-1000000
X=+000001阶码为1
所以这个数是-12/16×
161=-12.0
4.已知频度序列为0.1,0.1,0.15,0.15,0.2,0.3,求Huffman编码、2-4等长扩展码、定长编码、三者的平均码长、信息冗余量(信息的熵为2.47)。
5.字长16位,存储器直接寻址空间为128字,变址的位移量为-64~+63,16个通用寄存器均可作为变址寄存器,设计一套指令格式,满足下列要求:
(1)直接寻址的二地址指令3条
(2)变址寻址的一地址指令7条
(3)寄存器寻址的二地址指令8条
(4)直接寻址的一地址指令12条
(5)零地址指令32条
字长16位,直接寻址空间128个字,需要7位表示,变址位移量-64~+63需要7位表示,16个通用寄存器需要4位表示。
(1)直接寻址的二地址指令3条;
(2,7,7)
00×
×
×
10×
(2)变址寻址的一地址指令6条;
(5,4,7)
11000×
11101×
(3)寄存器寻址的二地址指令8条;
(8,4,4)
11110000×
11110111×
(4)直接寻址的一地址指令12条;
(9,7)
111110000×
111111011×
(5)零地址指令32条(16)
1111111000000000
1111111000011111
[例题1]某机是由高速缓存与主存组成的两级存储系统,高速缓存访问时间Tc=50ns,主存访问时间Tm=400ns,访问Cache的命中率为0.96。
(1)系统的等效访问时间TA为多少?
(2)如果将高速缓存分为指令Cache与数据Cache,使等效访问时间减小了10%。
在所有的访存操作中有20%是访问指令Cache,而访问指令Cache的命中率仍为0.96(假设不考虑写操作一致性的问题),问数据Cache的访问命中率应是多少?
例2:
如果一个页式虚拟存储器的存储空间Nv=4GB,页面大小Np=1KB,页表存储字大小Nd=4B,以字节为单位,计算页表的级数?
答:
第一级页表:
1个页面,可以有256个存储字,只需要64个存储字(64*4B=256B<
1KB)
第二级页表:
64个页面,每个页面256个存储字(256*4B=1KB),共64*256=16K存储字
第三级页表:
16K个页面,每个页面256个存储字(256*4B=1KB),共16K*256=4M存储字,用于存放虚拟存储器的4M个页面(4M*1K=4GB)
例3:
设有一道程序,有1至5共5页,执行时的页地址流(即执行时依次使用到的程序页页号)为:
2,3,2,1,5,2,4,5,3,2,5,2
若分配给该道程序的主存有3页,如下图表示分别用FIFO,LRU,OPT3种替换算法对这3页的使用和替换过程。
例题设有一个cache的容量为2K字,每个块为16字,求
(1)该cache可容纳多少个块?
(2)如果主存的容量是256K字,则有多少个块?
(3)主存的字地址有多少位?
Cache字地址有多少位?
(4)在直接映象方式下,主存中的第130块映象到cache中哪一个块中?
(5)进行地址映象时,存储器的地址分成哪几段?
各段有多少位?
(1)cache中有2048/16=128个块。
(2)主存有256K/16=16384个块。
(3)主存:
字地址为18位,256K=218字。
cache:
字地址为11位,2K=211字。
(4)主存中的第130块映象到cache中130mod128=2个块中。
(5)存储器的字地址分成三段:
区号、块号、块内字地址。
区号为18-11=7位
块号为11-4=7位
块内地址为16=244位
练习题:
假设在某个计算机系统中,采用组相联映象方式,主存储器容量为
1MB,缓存容量为32KB,每块容量为64字,缓存共分128组。
请写出
(1)主存地址多少位?
如何分配?
(2)Cache地址多少位?
答案:
主存地址:
1MB=220B
地址20位
区号E:
20-15=5位
区内组号:
128=277位
组内块号:
2位
块内地址:
64=266位
Cache地址:
32KB=215B
地址15位
组号:
128=277位
【练习】在一个采用组相联映像的Cache存储器中,主存由0-7共8块组成,Cache分为2组,每组2块,每块大小为16个存储字。
若程序访存的主存块地址流为:
6,2,4,1,4,6,3,0,4,5,7,3
(1)写出主存地址和Cache地址的格式,并指出各字段的长度。
(2)指出主存块0-7与Cache块0-3之间的映像关系。
(3)分别采用FIFO和LRU替换算法,计算该程序的Cache命中率。
若已知主存访问周期Tm与物理Cache的访问周期Tc的比值Tm/Tc=10,分别计算Cache的加速比。
(4)采用全相联映像重做第(3)题。
(1)采用组相联映像时,主存地址格式和Cache地址格式为:
主存按Cache大小划分为区,主存容量为8块,Cache容量为4块,故主存分为2个区,区号E的长度为1位。
每区分为2组,故组号G和g的长度都是1位。
每组分为2块,故块号B和b的长度都是1位。
每块大小为16个存储字,故块内地址W和w的长度都是4位。
(2)组相联映像规定:
主存的组到Cache的组之间是直接映像,对应组的块之间是全相联映像。
主存的块0-7与Cache的块0-3之间的映像关系是:
主存的块0,1,4,5与Cache的块0,1之间全相联。
主存的块2,3,6,7与Cache的块2,3之间全相联。
(3)由第
(2)题的结果可知,该程序按给出的主存块地址流访存时,如果发生块失效,那么把主存块装入Cache的块位置时,必须遵守如下规定:
主存的块0、1、4、5只可装入到Cache的块0或块1的位置上。
主存的块2、3、6、7只可装入到Cache的块2或块3的位置上。
组相联映像及FIFO算法的Cache使用过程
组相联映像及LRU算法的Cache使用过程
Cache的加速比S为:
已知Tc/Tm=1/10,由H1=0.25,可计算出采用FIFO替换算法时,Cache的加速比为S1=1.29。
由H2=0.33,可计算出采用LRU替换算法时,Cache的加速比为S2=1.42。
全相联映像及FIFO算法的Cache使用过程
全相联映像及LRU算法的Cache使用过程
可得Cache命中率H4=3/12=0.25。
已知Tc/Tm=1/10,由H3=0.33,可计算出采用FIFO替换算法时,Cache的加速比为S3=1.42。
由H4=0.25,可计算出采用LRU替换算法时,Cache的加速比为S4=1.29。
例4.1:
一个处理机在一段时间内只能管理一台打印机。
处理机执行指令的速度为1GIPS,字长32位,打印机每秒钟打印100个字符。
处理机用一条指令就能向打印机传送4个字符。
因此,处理机的实际利用率只有即4千万分之一。
100/109×
4=0.25×
10-7
例:
某处理机共有4个中断源,中断优先级从高到低分别是:
1级、2级、3级和4级。
当处理机在执行主程序时,同时有3级和2级两个中断源向处理机发出中断服务请求。
当处理机为2级中断源服务时又有4级中断源发出中断服务请求。
当处理机为4级中断源服务时又有1级中断源发出中断服务请求。
处理机响应各中断源的中断请求和执行中断服务程序的过程如下:
有四个中断源D1、D2、D3和D4,它们的中断优先级从高到低分别是1级、2级、3级和4级。
这些中断源的正常中断屏蔽码和改变后的中断屏蔽码见下表。
每个中断源1位,共4位屏蔽码。
●如果4个中断源都使用正常的中断屏蔽码,处理机的中断服务顺序将严格按照中断源的中断优先级进行。
●如果改变中断屏蔽码,当D1、D2、D3和D4这4个中断源同时请求中断服务时,处理机实际为各个中断源服务的先后次序就会改变。
●处理机响应的顺序是D1、D2、D3、D4
●实际服务的顺序是D4、D3、D2、D1
一个字节多路通道连接D1、D2、D3、D4、D5共5台设备,这些设备分别每10μs、30μs、30μs、50μs和75μs发出一次数据传送请求。
(1)计算这个通道的实际流量和工作周期.
(2)如果这个字节多路通道的最大流量正好等于通道实际流量,并假设数据传输率高的设备,其优先级也高。
5台设备在0时刻同时向通道发出第一次传送数据的请求,并在以后的时间里按照各自的数据传输率连续工作。
画出通道分时为各台设备服务的时间图,并计算处理完各设备的第一次请求的时刻。
(3)从时间图中发现什么问题?
如何解决?
(1)通道的实际流量为:
fBYTE=(1/10+1/30+1/30+1/50+1/75)MB/S=0.2MB/S
通道的工作周期为:
t=1/fBYTE=5μs
●通道处理完各设备第一次请求的时间:
(2)处理完各设备第一次请求的时间:
D1:
5μs
D2:
10μs
D3:
20μs
D4:
30μs
D5的第一次请求没有响应,数据丢失。
(3)D5的第一次请求没有得到响应的原因分析
对所有设备的请求时间间隔取最小公倍数,在这一段时间内通道的流量是平衡的。
1.若计算机共有8级中断,中断响应的次序依次是1→2→3→4→5→6→7→8,若中断的服务次序是1→3→5→7→2→4→6→8
(1)试设计各级中断源中断屏蔽码
(2)若D5—D8同时发出请求,而在运行中断源D6中断服务程序的过程中,中断源D3请求中断服务,请画出此程序运行过程示意图。
2.若计算机共有5级中断,中断响应的次序依次是1→2→3→4→5,若中断的服务次序是1→4→5→2→3。
试设计各级中断源中断屏蔽码。
用一条4段浮点加法器流水线求8个浮点数的和:
Z=A+B+C+D+E+F+G+H,假设每段执行时间相等,都为△t。
Z=[(A+B)+(C+D)]+[(E+F)+(G+H)]
解:
一:
设机器字长16位,阶码7位,其中阶符1位;
尾数9位,其中数符1位(阶码以2为底),若阶码和尾数均用补码表示,说明在尾数规格化和不规格化两种情况下,它所能表示的最大正数、非零最小正数、绝对值最大负数、绝对值最小负数各是哪几个数?
写出机器数,并给出十进制值(不采用隐藏位)。
若阶码用移码,尾数仍用补码,上述各值有变化吗?
若有变化,请列出。
解答:
①阶码和尾数均为补码
机器数
十进制值
阶码
尾数
尾数规格化
最大正数
0111111
0.11111111
(1-2-8)·
263
非零最小正数
1000000
0.10000000
2-65
绝对值最大负数
1.00000000
-263
绝对值最小负数
1.01111111
(-2-1-2-8)·
2-64
尾数不规格化
0.00000001
2-72
1.11111111
-2-72
②阶码为移码,尾数为补码(所有的阶码都有变化)
1111111
0000000
四:
(类似)
某指令系统指令字长16位,每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。
若双操作数指令有K条,无操作数指令有L条,问单操作数指令最多可能有多少条?
三类指令的操作码长度分别为4位、10位和16位。
这样,双操作数指令的操作码每减少一个,就可以多构成26条单操作数指令的操作码;
单操作数指令的操作码每减少一个,就可以多构成26条无操作数指令的操作码。
假设单操作数指令最多可以有N条,那么
L≤((24-K)×
26-N)×
26
因此
N≤(16-K)×
64-L/64
六:
设某计算机的Cache采用4路组相联映像,已知Cache容量为16KB,主存容量为2MB,每个字块有8个字,每个字有32位。
请回答:
⑴主存地址多少位(按字节编址),各字段如何划分(各需要多少位)?
⑵设Cache起始为空,CPU从主存单元0、1、…、100依次读出101个字(主存一次读出一个字),并重复按此次序读数11次,问命中率是多少?
若Cache速度是主存的5倍,问采用Cache与无Cache相比较其速度提高多少倍?
⑴主存地址有21位,其中Cache块标记占9位,Cache组号占7位,块内地址占5位。
主存地址格式如下:
Cache块标记
Cache组号
块内地址
9位
7位
5位
⑵根据题意,这101个字共占据13个块(最后一个块未占满),且Cache的容量足够大,不存在块替换的问题。
因此,CPU只有在第一次循环读每个块的第一个字时访问Cache未命中,即未命中的次数是13次,而CPU总共需要访存101×
11=1111次,故Cache的命中率为(1111-13)/1111=98.83%。
假设Cache的存取周期为T,若不采用Cache,CPU访存所需要的时间为1111×
5T=5555T;
若采用Cache,CPU访存所需要的时间为(1111-13)T+13×
5T=1163T,因此采用Cache与不采用Cache相比较其速度提高了5555T/1163T-1=3.78倍。
十:
某机CPU芯片的主振频率为8MHz,其时钟周期是多少s?
若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为0.8MIPS。
试问:
⑴.平均指令周期是多少s?
⑵.平均每个指令周期含有多少个机器周期?
⑶.若改用时钟周期为0.4s的CPU芯片,则计算机的平均指令执行速度又是多少MIPS?
⑷.若要得到40万次/s的指令执行速度,则应采用主振频率为多少MHz的CPU芯片?
时钟周期为1/8MHz=0.125s。
⑴.平均指令周期为1/0.8MIPS=1.25s。
⑵.平均每个指令周期包含的机器周期数为1.25s/(0.125s×
4)=2.5个。
⑶.平均指令周期为0.4s×
4×
2.5=4s,平均指令执行速度为1/4s=0.25MIPS。
⑷.平均指令周期为1/0.4MIPS=2.5s,时钟周期为2.5s/(4×
2.5)=0.25s,CPU主频为1/0.25s=4MHz。
十一(类似):
一台有3个盘片的磁盘组,共有4个记录面,转速为7200转/min,盘面有效记录区域的外径为30cm,内径为20cm,记录位密度为250位/mm,磁道密度为8道/mm,盘面分16个扇区,每扇区1024字节,设磁头移动速度为2m/s。
⑴试计算盘组的非格式化容量和格式化容量。
⑵计算该磁盘的数据传输率、平均寻道时间和平均旋转等待时间。
⑶若一个文件超出1个磁道容量,余下的部分是存放在同一盘面上还是存放在同一柱面上?
请给出一个合理的磁盘地址方案。
⑴磁盘组的非格式化容量为(20cm×
)×
250位/mm×
(30cm-20cm)/2×
8道/mm×
4=29.96MB,格式化容量为16扇区×
1024B/扇区×
4=25MB。
⑵磁盘的数据传输率为16扇区×
7200转/min=1.875MB/s,平均寻道时间为(30cm-20cm)/(2×
2m/s×
2)=12.5ms,平均旋转等待时间为1/(2×
7200转/min)=4.17ms。
⑶应该把文件的剩余部分存放在同一个柱面上,这样当需要访问这部分内容时,只需改变读/写磁头即可,而不必沿盘片半径方向移动磁头,从而缩短了磁盘寻址时间,提高了磁盘访问速度。
根据前面的计算结果,该磁盘组有400个圆柱面,4个记录面,每条磁道被划分为16个扇区,因此可采用下面的地址格式:
圆柱面号
记录面号
扇区号
4位
十三:
①.指令总长为32位,其中操作码字段占7位,寻址方式字段占2位,其余的23位为地址码字段。
但对于变址寻址还需要5位寄存器编码,所以变址寻址的位移量只有18位。
上述4种不同寻址方式的单地址指令格式如下:
●直接寻址
31 25
24 23
22 0
OP
MOD
Addr
OP为操作码,MOD为寻址方式,Addr为操作数地址。
●间接寻址
OP为操作码,MOD为寻址方式,Addr为操作数间接地址。
●变址寻址
22 18
17 0
Rx
OP为操作码,MOD为寻址方式,Rx为变址寄存器编码,Addr为位移量。
●相对寻址
OP为操作码,MOD为寻址方式,Addr为位移量。
②.对于直接寻址,操作数地址为23位,寻址范围是223=8MB;
对于间接寻址,由于机器字长为32位,故寻址范围是232=4GB。
十五:
由于指令总长度固定,此处以机器字长16位作为指令长度。
①.直接寻址的二地址指令格式:
Addr1
Addr2
OP为操作码,Addr1和Addr2分别是两个操作数的地址。
这类指令共有3条,故将它们的操作码定义为002、012、102。
②.变址寻址的一地址指令格式:
OP为操作码,Rx为变址寄存器的编码,Addr为位移量。
这类指令共有6条,但操作码的前2位不能与①重复,故将它们的操作码定义为110002、110012、110102、110112、111002、111012。
③.寄存器寻址的二地址指令格式:
8位
Ry
OP为操作码,Rx和Ry为两个寄存器的编码。
这类指令共有8条,但操作码的前2位不能与①重复,前5位不能与②重复,故将它们的操作码定义为111100002~111101112。
④.直接寻址的一地址指令格式:
OP为操作码,Addr为操作数地址。
这类指令共有12条,但操作码的前2位不能与①重复,前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 习题