0
点赞
收藏
分享

微信扫一扫

逻辑地址和物理地址的相互转换

我是芄兰 2022-04-26 阅读 48
经验分享

文章目录

逻辑地址和物理地址的相互转换


🐳基础概念


逻辑地址和物理地址相互转换的本质是块号地址和页号地址的相互转换

🐳逻辑地址转换成物理地址

  • 逻辑地址转为物理地址一般性步骤
    • 如果题目给出段表
      • 通过逻辑地址确定段号(S)
      • 查询段表,通过段号(S)确定块号地址
      • 通过逻辑地址确定页内地址
      • 物理地址 = 块号地址+ 页内地址
    • 如果逻辑地址是16进制(或10进制)
      • 将逻辑地址的16进制转换成2进制
      • 确定页内地址。通过页面大小确定页内地址位数n,页内地址为2进制逻辑地址后n位
      • 确定块号地址。通过页面数确定页号地址位数m,块号地址为2进制逻辑地址前m位
      • 确定块号地址。通过页号确定块号,从而求得块号地址
      • 物理地址 = 块号地址+ 页内地址

image-20220421181721480

  • step1:通过段号2确定段首地址480K,块号地址 = 480*1024B
  • step2:通过题目可以知道页内地址为:154
  • step3:物理地址 = 块号地址 +页内地址 = 480*1024 + 154 = 491674B

image-20220421222525928

  • step1:将操作数地址(逻辑地址)16进制转成2进制,2100H = 10 00001 10100B
  • step2:通过页面大小确定页内地址位数。页面1024B = 2^10b,所以页内地址位数为10
  • step3:确定页内地址。页内地址 = 00001 10100(2) = 52(逻辑地址后10位)
  • step4:通过页面数确定页号地址位数。页面数为 4 = 2^2,所以页号地址位数为2
  • step5:确定块号。页号 = 10(2) = 2,对应第3个页面,所以块号为6
  • Step6:确定块号地址。块大小为1024字节,所以:块号地址 = 6*1024
  • step7:物理地址 = 块号地址 + 页内地址 = 6*1024+52 = 6196

备注:(以下方法必须是逻辑地址是十进制才行)

​ 页号也可以通过:逻辑地址 / 页面大小(单位字节)求得,即:2100 / 1024 = 2;

​ 页面地址也可以通过:逻辑地址 mod 页面大小(单位字节) 求得,即:2100 mod 1024 = 52

image-20220426181128618


🐳物理地址转换成逻辑地址

逆向过程🙉

举报

相关推荐

0 条评论