coverlove
驱动牛犊
驱动牛犊
  • 注册日期2003-05-04
  • 最后登录2008-05-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:906回复:1

这几个问题一直没有搞明白,请大侠指点一二

楼主#
更多 发布于:2003-05-07 11:18
我是一个初学者,我想问各位大侠一个问题:
  一个设备的IO地址范围是由硬件的结构和接口来唯一确定的吗?
  一般一个设备的IO地址是一个范围,在这个范围内不同的IO地址,是不是对应于的硬件上不同的寄存器?
  比如:并口打印机:378表示数据寄存器,37A表示控制寄存器,37B表示地址寄存器,这样我在程序中用out(37B,addr)此时PC是不是就只对地址寄存器进行操作,而与其它寄存器无关呢?
   还有怎么知道一个寄存器的位数呢?(多少个字节),按理说,37B地址寄存器的位数应该是4位的,因为32位机器的地址是4个字节表示的,但是我看到实际它的大小是一个字节的,那它怎么能存放一个地址呢?
   还有像PCI总线,它既有IO地址范围,也有内存范围(这是不是DMA的结果),那么这个内存范围是谁给分配的呢,还是与硬件的结构有关系呢?进行读写操作的时候,应该读写内存还是读写IO地址呢?请给位大侠不吝赐教.
domore
驱动中牛
驱动中牛
  • 注册日期2002-04-06
  • 最后登录2008-04-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-07 17:50
我在邮件中回了,请查收。
游客

返回顶部