外部寄存器映射到内存,如何实现的?

1646阅读 0评论2009-09-26 jhluroom
分类:LINUX

    我们经常看到很多文章中都说某某设备将自己的寄存器映射到系统的某某地址空间中,然后,对该处地址的操作就相当于对该设备的寄存器的操作了。
 
    对于任意一个给定的虚拟地址,操作系统是怎么分辨出他是一个普通的虚拟地址,还是一个某个设备的映射地址?另外,如果是一个设备的映射地址,它又是怎么知道这个映射地址是哪个设备的映射呢?   
    
    操作系统实现这种功能需要特定的硬件支持吗?如或许是PCI   Bridge等等?还是直接使用操作系统内部的数据结构就能够区分普通地址,设备的映射地址了呢?
上一篇:image specified cannot be run as a vxworks simulat
下一篇:linux源代码包(.tar.gz)制作