学习啦 > 学习电脑 > 电脑入门 > 逻辑地址转换物理地址公式

逻辑地址转换物理地址公式

时间: 春健736 分享

逻辑地址转换物理地址公式

  物理地址是明确的、最终用在总线上的编号。那么逻辑地址转物理地址怎么转?学习啦小编为大家介绍逻辑地址转物理地址的解决方法。希望大家喜欢。

  逻辑地址转换物理地址公式参考如下

  1. 物理地址和逻辑地址

  物理地址:加载到内存地址寄存器中的地址,内存单元的真正地址。在前端总线上传输的内存地址都是物理内存地址,编号从0开始一直到可用物理内存的最高端。这些数字被北桥(Nortbridge chip)映射到实际的内存条上。物理地址是明确的、最终用在总线上的编号,不必转换,不必分页,也没有特权级检查(no translation, no paging, no privilege checks)。

  逻辑地址:CPU所生成的地址。逻辑地址是内部和编程使用的、并不唯一。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址(偏移地址),不和绝对物理地址相干。

  (具体步骤 共三步)

  1.确定虚拟地址(物理地址)的有效位

  例如:假设页面大小1KB,共32页。(页面:逻辑地址 页框:物理地址)

  由32(KB)=32×1024(B) 即等于32×1024 字节

  二进制用多少位能有效表示这么多字节呢——答是:15位 因为32×1024=2^5×2^10=2^15

  2.再次确定逻辑地址页面位数 你应该知道:逻辑地址=页号+页面

  还是以上假设,那么页面大小为1KB=1024字节 同样的方法计算出表示位数:10位

  如果给你逻辑地址:0000 1111 1000 0000

  那么由:011+11100000000(相当于 页号+页面(10位))推得出页号011=3

  3.根据页号找出对应的页框号

  由 物理地址=页框号×页块大小(页块大小是等于页面大小的)+页内位移(即页面逻辑地址)

  根据上面 物理地址=页框号×1024B + 1110000000 ( 这里的相加是指位置上而言)

  例如:110+110=110110(即高地址+低地址)

  提问:在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096B,现有一逻辑地址为2F6AH,且第0、1、2页依次存放在物理块5、10、11中,问相应的物理地址为多少?

  答:4096B=2^12B

  16位寻址一共2^16B

  分页存储。共分的页:2^16/2^12=2^4=16 共分16页。

  第0页的地址范围 0 - FFFH

  第1页的地址范围 1000H - 1FFFH

  第2页得地址范围 2000H - 2FFFH

  .....

  第11页 B000H - BFFFH

  第15页 F000H - FFFFH

  2F6AH=10 1111 0110 1010 在2页的范围对应物理块11

  所以物理地址为:

  2F6AH - 2000H + B000H = F6AH + B000H= BF6AH

看过“ 逻辑地址转换物理地址公式 ”的人还看了:

1.逻辑地址线性地址物理地址三个地址有什么联系

2.物理地址和逻辑地址的区别

3.物理地址与虚拟地址怎么转换

4.虚拟地址到物理地址的转换

5.虚拟地址和物理地址转换

607222