逻辑地址,虚拟地址,物理地址,总线地址

        很多人可能写程序这么多年,都分不清以下几个地址的概念,亦或是当进入程序员行列时由于平台的关系有些概念已经渐渐弱化,没有赶上那个必须与硬件亲密接触才能够写好程序的年代,所以平时也不会接触到这些概念,但了解这些概念无疑是对编程生涯是有好处的,下面就简述一下这几个概念的意思。

        逻辑地址,虚拟地址,物理地址,总线地址:

        逻辑地址:由段地址和段内偏移组成,类似于 CS:offset

        虚拟地址:由逻辑地址计算得来

        物理地址:由 CPU 内部的MMU 单元通过页表,计算出物理地址,物理地址是出现在地址

                总线上的值。

        总线地址:CPU 是个独立的模块,它可以应用到不同的地方,例如主板上,测试板上,面

        包机上,路由器上。它只是提供了一些针脚与外部连接。以 x86 经典架构为例,CPU 的

输出针脚包括地址总线,数据总线,控制总线等,它们组成 FSB,然后与北桥芯片组相连,与北桥芯片组相连的还有外围设备总线,如果 ram 的 ddr 控制器也连接到北桥的话,ram 也算是这些设备其中之一,当 cpu 产生了一个物理地址,这个信号被北桥芯片接收,北桥芯片会转译成总线地址(所有的外设,包括ram 都会配置在这个空间中,这个过程叫做 IOMMU,与具体架构有关),然后再去判断,配置在这个地址区域的设备,其实是设备的控制器接收到信号去响应了而已。Dma 操作时使用的就是总线地址,如果   在总线上挂载了 ram ,就可以直接操作了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值