阅读:1902回复:7
为什么在windows中会有内存空间和IO空间之区别,既然都是做读写寄存器的操作何不统一成一种?
rt
|
|
沙发#
发布于:2005-05-12 19:33
楼上的两位大侠,
我有几点不明白 1. 为什么要出现两套系统? 2. 有些寄存作用两种操作都可以吧? 3. 这种映射关系在硬件上是如何实现的,讲个大概过程吧 我觉得奇怪为什么系统就知道该把它们映射到哪一个空间呢? |
|
板凳#
发布于:2005-05-13 09:58
To bmyyyud:
有些问题不解: 1. \"因为本身他们就不同,I/O对应外设寄存器,内存对应RAM\" 我看过一个外设PCI卡的驱动,它的寄存器被Mmeory mapped到内存空间,这不是和你说的矛盾么? 2.我说的两种操作是指: 对同一个外设可以同时把的寄存器映射的两种空间, 即可以用 Read/Write_Reigiser_XXX 或 用 Read/Write_Port_XXX 可能存在这种情况么? 3.看了你的解答,我感觉内存这个设备有一套访问方式[内存访问方式], 其它的设备有一套访问方式[端口访问方式]. 但是这里有一个矛盾,系统也可以把我的PCI卡映射到内存空间啊? 按你说的应该只能用端口方式访问这个PCI外设 4.关于资源的分配和映射过程,你能描述的再详细些么? 例如设备被映射到哪个空间? 是什么让系统决定为这个设备分配多大的地址空间. |
|