逻辑地址转换为物理地址(三种题型)
前言
这里是小飞侠Pan🥳,立志成为一名优秀的前端程序媛!!!
本篇博客收录于我的github笔记仓库中,持续更新中,欢迎star~
👉https://github.com/mengqiuleo/myNote
方法:
- 求出页号
- 对照页表
- 计算地址
原则:页号变块号,页内地址照抄
注意!!!
下面的三个例题对应了三种不同的出题方式。第一题是十进制,第二题是二进制,第三题中出现了缺页中断和越界中断的情况
例题一:
求页号:d = 4865 % 2048 = 2 … 769
所以对应的页号为2号,块内地址为769
对页表:页号2对应的块号是6
算地址:6*2048+769=13057
例题二:
存储器 32个页面,每页 1KB,内存为 64KB,页号和物理块号对应表如图所示,计算逻辑地址 0A5D(H)所对应的物理地址
页号 | 块号 |
---|---|
9 | 5 |
2 | 4 |
3 | 7 |
解释:
- 首先十六进制转二进制:0A5D(H) = 000 1010 0101 1101
- 因为每页1KB,1KB = 2的10次方B,所以页内地址为 10位,即 10 0101 1101,一会儿页内地址直接照抄
- 因为存储器32个页面,32 = 2的5次方,所以页号占5位,即00010,转换为十进制为2,即页号为2
- 根据对照表,页号为2,块号为4,转换为二进制为0100
- 因为内存为 64KB = 2的6次方KB = 2的16次方B,所以地址一共16位,在前面补0
- 最终物理地址为 000100 10 0101 1101
补充单位换算:
bit(位)、B(字节)
1TB=1024GB
1GB=1024MB
1MB=1024KB
1KB=1024B
1B=8bit
例题三:
存储器32个页面(每页1KB),主存为16KB,有一用户程序为10页长,将逻辑地址 0AC5(H),1AC5(H),3AC5(H) 转换为物理地址
逻辑页号 | 物理块号 |
---|---|
0 | 8 |
1 | 7 |
2 | 4 |
3 | 10 |
解释: