在做题之前,一定要把逻辑地址和物理块号之间的关系弄清楚,可以看这篇:
http://t.csdnimg.cn/92EmM
如果有时间,后续我也会进行整理!
例题1:
在一个分页储存管理系统中,进程的逻辑地址空间占32页,每页1024字节。系统的物理内存为1M字节。进程的页表以及所有的逻辑页面都已在内存中。系统有T L B,平均命中率为85%,一次T L B查找需要20ns,一次内存访问需要100ns。问:
1.进程的逻辑地址共几位?
所以逻辑地址一共占了15位。
2.进程的页表项共几项?
页表项=逻辑地址空间=32项
3.页表项中物理块号占几位?
系统的物理内存为1M,1M=1024K=1024*1024=
物理块号=物理内存/每页字节=/=
所以物理块号占10位。
4.进程访问一个逻辑页面的平均时间是多少?
平均时间=
t:一次访问
:一次查找
:命中率
所以平均时间
= 2*100+20-100*85%
=220-85
=135ns
例题2:
某计算机系统页面大小为4K,进程的页面变换表如下所示。若进程的逻辑地址为2D16H。该地址经过变换后,其物理地址应是()
第一步,先将系统页面大小按字节单位byte化成二进制,那么4*1024=4096
4096转化为16进制为:1000
4096/16=256,余数为0 记录一个0
256/16=16,余数为0 记录一个0
16/16=1,余数为0 记录一个0
1/16=1,余数为1 记录一个1
得到1000
再将16进制的数转化为2进制的数,得到:0001 0000 0000 0000
这里的4K转成二进制的12个0,就代表了逻辑地址的后12位,是页内偏移量。
第二步,把逻辑地址 2D16H 转成二进制为:0010 1100 0001 0110
将前4位取出来,前4位二进制(0010)化成十进制对应的页号为2,在看图,2对应的物理块号是4,化成2进制为0100
第三步,把上面物理块号二进制作为物理地址的开头二进制,把逻辑地址的后12位取出来,作为物理地址的后12位,组合如下:
0100 1101 0001 0110 化成16进制的物理地址是:4D16H
例题3:
某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时一用户页表中已调入内存的页面的页号和物理块号的对照表如下:
则逻辑地址 0A5C(H) 所对应的物理地址是什么?
页面大小1K即是1024的二进制表示为:0100 0000 0000 这里一共有10个0,取逻辑地址的后10位作为物理地址的实际地址。
逻辑地址(0A5C)的二进制为:0000 1010 0101 1100 后10位是: 10 0101 1100
逻辑地址的剩余位是:000010 前面多余的2位0可以省略,化成十进制为2,页号2对应物理块号 11,物理地址块号11直接化成二进制是:1011
将块号的二进制以及逻辑地址的后10位拼在一起是: 1011 10 0101 1100,不够16位,前面补零,那么,真正的逻辑地址二进制是: 0010 1110 0101 1100 化成十六进制是:2E5CH
总结一下做题的逻辑
1:页面大小K化成字节即是乘以1024,再化成二进制。看里面的0的个数,这里假设为n个
2:逻辑地址的后n位置取出来作为物理地址的后n位的真实地址,逻辑地址的剩余位化成 十进制,对应页号表
3:页号表对应的物理块号是 十进制 ,化成二进制作为物理地址的开头
4:将整个物理地址拼好,将二进制换算成十六进制
5:特别注意,如果剩余N位的十进制超出表给出的页号表,则为超出范围。要么是超出范围,要么就是算错了!
6:有的计算题给的页面单位为:M,这里的单位是 K ,请仔细注意换算后有多少个0
7:计算地址必须仔细看参数!最重要的参数是:每页面的大小单位K 而且必须要化成字节(byte)才能换算!即是要乘以1024
例题3:
分页式存储管理系统中,主存容量为1M,假定某采用分页式虚拟存储系统中,主存储容量为1M,被分为256份,某作业的地址空间占4页,页号为0,1,2,3 被分配要主存的第2,4,1,5块中,回答
(1)主存地址应该用是____位来表示
(2)作业每一页的长度为_____,逻辑地址中的页内地址(单元号)占用____位
分析:主容量为1M,而且被分成256份L,那么先把M化成K
1*1024=1024K 1024K被分成256份,那么每一份的大小为:1024除以256=4K
问题(2)中的每页长度为4K,然后4K换算成二进制即是次方,12个0,这里的页内地址是术语,意思即是对应物理地址的真实二进制地址,即是后面的12位。
问题(2)中的答案为占用了12位
1024K*1024=1048576Byte 这个时候再换算成二进制!即是次方,有20个0,问题(1)中的答案为 20
所以:
(1)主存地址应该用是_20_位来表示
(2)作业每一页的长度为_4K_,逻辑地址中的页内地址(单元号)占用_12_位