erica_lddm
驱动牛犊
驱动牛犊
  • 注册日期2003-06-20
  • 最后登录2003-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:892回复:2

IO空间?

楼主#
更多 发布于:2003-07-06 19:48
IO端口与IO空间的区别?为什么IO端口是16位的而IO空间是32位的?
我是一只菜菜菜菜鸟 想要飞啊飞 却怎么也飞不高......
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-07-08 09:26
IO端口空间需要用专门的访问指令如OUT,IN,而IO空间的区别,一般是只内存空间,可以用MOV 进行操作;前者速度慢,后者速度快,这是因为后者是在总线上直接操作啊,而IO端口空间是属于外设的

16位可以有2^16=64K这么多个端口,对于一个pc而言,真是太多了,用也用不完
IO空间是32位的,这样才能放很多程序啊!

不对之处请指教
琢磨悟真知
erica_lddm
驱动牛犊
驱动牛犊
  • 注册日期2003-06-20
  • 最后登录2003-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-09 19:47
内部设备寄存器少的,只要IO映射方式就可以了,IO空间与内存空间是独立的,用特殊的指令IN,OUT对IO物理地址访问来完成。
如果设备寄存器多了,就要采用内存映射,CUP用同样的指令来访问端口与内存。
而现在很多设备既有IO端口,又有IO内存,还要通过设备的IO端口去访问它的IO内存。这个我很难理解。既然映射了IO内存,就可以直接访问了,何必再映射IO端口呢?
我是一只菜菜菜菜鸟 想要飞啊飞 却怎么也飞不高......
游客

返回顶部