计算机组成原理第三章 习题23-28

答案仅供参考

23.某页式存储管理,页大小为2KB,逻辑地址空间包含16页,物理空间共有8页,逻辑地址应用多少位?主存物理空间有多大?
解:逻辑地址空间包含16页,页大小为2KB,所以逻辑地址空间为32KB,逻辑地址应用4+11=15位
物理空间共有8页,页大小为2KB,所以主存物理空间16KB


24.在一个分页虚存系统中,用户虚地址空间为32页,页长1KB,主存物理为16KB。已知用户程序有10页长,若虚页0、1、2、3已经被调入到主存8、7、4、10页中请问虚地址0AC5和1AC5(十六进制)对应的物理地址是多少?
解:页长1KB,所以页内地址为10位。
主存物理页面数:16页,共14位地址码(其中页面号4位,页内地址10位)
用户虚地址空间:32页,页面号为031;共15位地址码(其中页面号5位,页内地址10位)
0AC5H=00010,1011000101B,页面号为2,已被调入到主存页4,所以,物理地址中的页面号为4,页内地址与虚地址的页内地址相同,所以是:0100,1011000101=12C5H
1AC5H=00110,1011000101B,页面号为6,未被调入到主存页中,所以无物理地址,会发生缺页中断。

25.段式虚拟存储器对程序员是否透明?请说明原因。
解:虚拟管理是由软件(操作系统)和硬件共同完成,由于软件的介入,虚存对实现存储管理系统程序不透
明。而段是按照程序的自然分界划分的长度可以动态改变的区域。通常,程序员把子程序、操作数和常数等不同类型的数据划分到不同的段中,并且每个程序可以有多个相同类型的段。由于分段是由程序员完成的,所以段式虚拟存储器对程序员而言不是透明的,但虚存到实存的地址映射是由系统软件辅助完成的,故对应用程序而言,段式虚拟存储器是“半透明”的。

26.在一个进程的执行过程中,是否其所有页面都必须处在主存中?
解:在有虚拟存储管理系统中,程序不是一次整体装入内存才运行,所以不是所有页面都必须处在主存中,而是根据程序的局部性,有的页面在主存,有的页面在辅存。

27.为什么在页式虚拟存储器地址变换时可以用物理页号与页内偏移量直接拼接成物理地址,而在段式虚拟存储器地址变换时必须用段起址与段内偏移量相加才能得到物理地址?
解:由于物理页与虚拟页的页面大小相同,且为2的整数次幂,所以页式虚拟存储器地址变换时可以用物理页号与页内偏移量直接拼接成物理地址。而段式虚拟存储器的各段大小不同,且段起始地址任意,所以必须用段起址与段内偏移量相加才能得到物理地址。

28.在虚存实现过程中,有些页面会在内存与外存之间被频繁地换入换出,使系统效率急剧下降。这种现象称为颠簸。请解释产生颠簸的原因,并说明防止颠簸的办法。
解:
产生颠簸的原因主要有二:一是分配的页面数太少,二是替换策略不佳。
防止颠簸的办法:适当增加分配给用户程序的页面数,选取LRU或更好的替换策略。

文章目录
  1. 1. 答案仅供参考
|