微机总线地址,物理地址和虚拟地址介绍

1.总线地址

        地址总线 (Address Bus;又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。

简单来说就是:cpu能访问内存的范围。

现象:装了32位的win7系统,明明内存条8G,可是系统只识别了3.8G ,装了64位,才能识别到8G

32位表示最大能访问2^{32} = 4,294,967,296 bit的空间

bit                4,294,967,296

kbit              4,194,304

mbit             4096

gbit              4

 树莓派也是32位系统,差不多1G内存

 2.物理地址

        硬件的 实际地址 或 绝对地址

3.虚拟地址

        逻辑(基于算法的地址(软件层面的地址,是一个假地址))地址称为虚拟地址

        例如linux用的就是虚拟地址

cat   /proc/cpuinfo 查看树莓派cpu型号是:BCM2835

 


由上图,对CPU来说最大能访问FFFF FFFF也就是 4,294,967,296 bit        4G内存

而对ARM物理地址来说最大只有4000000 也就是大概ARM的1G内存

对虚拟地址来说,也就是总线真正能看到的内存,也是4G

        而当程序运行起来超过1G时,真正的物理地址是不够用的,此时有个mmu的单元把虚拟地址映射成物理地址。

        我们写的所有的代码,都是操控的虚拟地址,都是假的地址。

内核的页表映射:

         页表是通过mmu来管理和来设计的,设计完页表后通过mmu来执行,把虚拟地址通过页表映射成物理地址,页表决定了这个1m在哪里被表示的4M,可以在0~4M来表示,也可以在10~14m来表示。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值