白中英《计算机组成原理》(第5版)专业课复习题库(考研真题精选-综合应用题)【圣才出品】

二、综合应用题
1.某计算机系统中的磁盘有300个柱面,每个柱面有10个磁道,每个磁道有200个扇区,扇区大小为512B。文件系统的每个簇包含2个扇区。请回答下列问题:(1)磁盘的容量是多少?
(2)假设磁头在85号柱面上,此时有4个磁盘访问请求,簇号分别为:100260、60005、101660和110560。
采用最短寻道时间优先(SSTF)调度算法,则系统访问簇的先后次序是什么?
(3)第100530簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是由I/O系统的什么程序完成的?[2019年408统考]
答:
(1)磁盘容量=(300×10×200×512/1024)KB=3×105KB。
(2)依次访问的簇是100 260、101 660、110 560、60 005。
(3)第100 530簇在磁盘上的物理地址由其所在的柱面号、磁头号、扇区号构成。
其所在的柱面号为⌊100530/(10×200/2)⌋=100;
100530%(10×200/2)=530,磁头号为⌊530/(200/2)⌋=5;
扇区号为(530×2)%200=60。
犯罪中止
将簇号转换成磁盘物理地址的过程由磁盘驱动程序完成。
2.某计算机采用页式虚拟存储管理方式,按字节编址。CPU进行存储访问的过程如图1-1所示。
图1-1
根据图1-1回答下列问题。
(1)主存物理地址占多少位?
(2)TLB采用什么映射方式?TLB用SRAM还是DRAM实现?
(3)Cache采用什么映射方式?若Cache采用LRU替换算法和回写(Write Back)策略,则Cache每行中除数据(Data)、T ag和有效位外,还应有哪些附加位?Cache总容量是多少?Cache中有效位的作用是什么?
(4)若CPU给出的虚拟地址为0008 C040H,则对应的物理地址是多少?是否在Cache中命中?说明理由。若CPU给出的虚拟地址为0007 C260H,则该地址所在主存块映射到的Cache组号是多少?[2018年408统考]
答:
(1)物理地址位数是20+3+5=28(或16+12=28)。
(2)TLB中每项都有一个比较器,故TLB采用全相联映射方式TLB采用SRAM实现。
(3)Cache中每组有两行,故采用2路组相联映射方式。
因为是2路组相联并采用LRU替换算法,所以每行(或每组)需要1位LRU为;因为采用回写策略,所以每行有1位修改位(脏位)。
28位物理地址中Tag字段占20位,组索引字段占3位,块内偏移地址占5位,故Cache 共有23=8组,每组2行,每行有25=32B;Cache总容量为8×2×(20+1+1+1+32×8)=4464位=558字节。
(或者8×2×(20+1+1+32×8)+8=4456位=557字节)
有效位用来指出所在Cache行中的信息是否有效。
第一首完整的七言诗(4)虚拟地址0008 C040H对应的物理地址是004 0040H。
访问Cache不命中。
理由为:主存物理地址为004 0040H,其中高20位00400H为标志字段,低5位0000B 为块内偏移量,中间3位010B为组号2,因此将00400H与Cache中第2组两行中的标志字段同时比较,可以看出,虽然有一个Cache行中的标志字段与00400H相等,但对应的有效位为0,而另一Cache行的标志字段与00400H不相等,故访问Cache不命中。
因为物理地址的低12位于虚拟地址低12位相同,即为0010 0110 0000B,其中011B 是组号(组索引),因此,该地址所在的主存块映射到的Cache组号为3。
3.请根据题2图1-1给出的虚拟存储管理方式,回答下列题。
(1)某虚拟地址对应的页目录号为6,在相应的页表中对应的页号为6,页内偏移量
为8,该虚拟地址的十六进制表示是什么?
(2)寄存器PDBR用于保存当前进程的页目录起始地址,该地址是物理地址还是虚拟地址?进程切换时,PDBR的内容是否会变化?说明理由。同一进程的线程切换时,PDBR 的内容是否会变化?说明理由。
(3)为了支持改进型CLOCK置换算法,需要在页表项中设置哪些字段?[2018年408统考]
答:
(1)该虚拟地址为0180 6008H。
(2)该地址是物理地址。进程切换时,PDBR的内容会变化;同一进程的线程切换时,PDBR的内容不会变化。每个进程的地址空间、页目录和PDBR的内容存在一一对应的关系。进程切换时,地址空
中国质量万里行间发生了变化,对应的页目录及其起始地址页相应变化,因此需要用进程切换后当前进程的页目录起始地址刷新PDBR。同一进程中的线程共享该进程的地址空间,其线程发生切换时,地址空间不变,线程使用的页目录不变,因此PDBR的内容也不变。
(3)需要设置访问字段(引用位/使用位)和修改字段(脏位)。
4.已知
大学生录像后扶人
计算f(n)的C语言函数f1如下:
将f1中的int都改为float,可得到计算f(n)的另一个函数f2。假设unsigned和int 型数据都占32位,float采用IEEE754单精度标准。
请回答下列问题
(1)当n=0时,f1会出现死循环,为什么?若将f1中的变量i和n都定义为int型,则f1是否还会出现死循环?为什么?
(2)f1(23)和f2(23)的返回值是否相等?机器数各是什么(用十六进制表示)?
(3)f1(24)和f2(23)的返回值分别是33 554 431和33 554 432.0,为什么不相等?什么是辩证法
(4)f(31)=232-1,而f1(31)的返回值却为-1,为什么?若使(n)的返回值与f(n)相等,则最大的n是多少?
(5)f2(127)的机器数为7F80 0000H,对应的值是什么?若使f2(n)的结果不溢出,则最大的n是多少?若使f2(n)的结果精确(无舍入),则最大的n是多少?[2017年408统考]
答:
(1)由于i和n是unsigned型,故“i<=n-1”是无符号数比较,n=0时,n-1的机器数为全1,值是232-1,为unsigned型可表示的最大数,条件“i<=n-1”永真,因此出现死循环。
若i和n改为int类型,则不会出现死循环。
因为“i<=n-1”是带符号整数比较,n=0时,n-1的值是-1,当i=0时条件“i<=n-1”不成立,此时退出for循环。
(2)f1(23)与f2(23)的返回值相等。3721网络实名
f1(23)的机器数是OOFF FFFFH,
F2(23)的机器数是4B7F FFFFH。
(3)当n=24时,f(24)=1 1111 1111 1111 1111 1111 1111B,而float型数只有24位有效位,舍入后数值增大,所以f2(24)比f1(24)大1。
(4)显然f(31)已超出了int型数据的表示范围,用f1(31)实现得到的机器数为32个1,作为int型数解释
时其值为-1,即f1(31)的返回值为-1。
因为int型最大可表示数是0后面加31个1,故使f1(n)的返回值与f(n)相等的最大n 值是30。
(5)IEEE754标准用“阶码全1、尾数全0”表示无穷大。f2返回值为float型,机器数7F80 0000H对应的值是+∞。
当n=126时,f(126)=2217-1=1×2126,对应阶码为127+126=253,尾数部分舍入后阶码加1,最终阶码为254,是IEEE754单精度格式表示的最大阶码。故使f2结果不溢出的最大n值为126。
当n=23时,f(23)为24位1,float型数有24位有效位,所以不需舍入,结果精确。故使f2获得精确结果的最大n值为23。
5.在按字节编址的计算机M上,题4只f1的部分源程序与对应的机器级代码(包括指令的虚拟地址)如下:

本文发布于:2024-09-21 14:45:46,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/231439.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进程   采用   地址   物理地址   磁盘   对应   方式   变化
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议