物理地址与总线地址
1) 物理地址是与CPU相关的。在CPU的地址信号线上产生的就是物理地址。在程序指令中的虚拟地址经过段映射和页面映射后,就生成了物理地址,这个物理地址被放到CPU的地址线上。 (从CPU端看)2) 总线地址,顾名思义,是与总线相关的,就是总线的地址线或在地址周期上产生的信号。 外设使用的是总线地址。(从设备端看)
3) 物理地址与总线地址之间的关系由系统的设计决定的。在x86平台上,物理地址与PCI总线地址是相同的。 在其他平台上,也许会有某种转换,通常是线性的转换。
比如:CPU需要访问物理地址是0xfa000的单元,那么在x86平台上,会产生一个PCI总线上对0xfa000地址的访问。这个单元或者是内存中,或者是某个卡上的存储单元,甚至可能这个地址上没有对应的存储器。而在另外一个平台上,或许在PCI总线上产生的访问是针对地址为0x1fa000的单元。
PCI设备总线地址与CPU物理地址的区别
=========================完=================================== 我的理解就是,物理地址一般与CPU有关系,是给CPU指令使用的。而总线地址主要是给设备使用的,是设备中的一些内存资源。如果要CPU的物理地址连接上设备上的总线地址就需要使用mmapi映射,这样就能将物理地址与总线地址链接在一起。 |