阅读:1218回复:7
PCI地址与逻辑地址、线性地址关系??????
各位大侠:
: 1)逻辑地址或者线性地址是对程序员而言的,那么PCI地址是 否与其一致?是同一概念?PCI地址与物理地址的关系是怎样? : 2)假如一个设备在PCI总线上,该设备拥有一块存储器(比如FIFO), 当把该存储器映射到PCI地址上时,我们能否在程序中寻址使用这 块PCI地址?还是通过虚拟地址来寻址这块存储区? : 谢谢!!! |
|
最新喜欢:![]() |
沙发#
发布于:2003-01-08 09:13
逻辑地址是未经过转变的sel:offset格式的地址。线性地址是转变后的虚拟地址,他并不一定在内存中,而是程序用的假地址。物理地址是真实的内存地质。
PCI设备的地址是物理地址,你要先转变成线性地址在使用。 |
|
板凳#
发布于:2003-01-08 12:58
非常感谢yyhahc大侠的热情帮助!!!
|
|
地板#
发布于:2003-01-09 09:22
看楼下
[编辑 - 1/9/03 by siteddy] |
|
|
地下室#
发布于:2003-01-09 09:23
你先别忙着感谢他。你要把地址问题搞清楚就最好不要使用‘逻辑地址’这个概念。x86体系结构使用‘虚拟地址’、‘线性地址’和‘物理地址’三个概念。
虚拟地址:就是应用程序使用的空间。由段地址:偏移量组成。 线性地址:虚拟地址经过段机制转化成线性地址:plat结构。 物理地址:未启用分页机制时与线性地址相同,启用分页机制后则为映射后的地址。plat结构。 所谓的‘总线地址’即是‘物理地址’。 所谓的‘逻辑地址’其实是ddk提出的说法,它把‘物理地址’中你的设备能访问的那段空间映射为‘逻辑空间’。这是hal干的事。对你是透明的。所以从我们的角度来说:‘总线地址’‘逻辑地址’和‘物理地址’是一回事。希望俩位篼清楚,就不会再把有偏差的理解散播出去了 :) |
|
|
5楼#
发布于:2003-01-09 14:37
还是谢谢siteddy大侠!!!
|
|
6楼#
发布于:2003-01-09 22:13
你先别忙着感谢他。你要把地址问题搞清楚就最好不要使用‘逻辑地址’这个概念。x86体系结构使用‘虚拟地址’、‘线性地址’和‘物理地址’三个概念。 这个稍微有点问题,物理地址和总线地址应该这样子解释。 总线地址就是 总线区分不同设备或设备上不同单元的办法,通常 通过地址线来选择。如果,两个设备在不同的总线上,那么,他们可以在自己的中线上拥有相同的地址,互相访问的时候,则通过 总线 桥来解码地址,也就是说,对于同一个设备,不同总线上的设备访问 的时候,可能需要不同的地址。 而物理地址就是CPU所在的总线上的总线地址。 |
|
7楼#
发布于:2003-01-10 13:06
谢谢楼上的纠正。看样子你应该是正确的。
|
|
|