返回顶部

[文摘] ISA总线知识

[复制链接]
七戒 显示全部楼层 发表于 2008-4-4 13:08:24 |阅读模式 打印 上一主题 下一主题
什么是ISA总线?看了许多网上的帖子和微机接口的书,大概得到如下影象:
        首先它是一种微机总线.微机总线一般有三种:内部总线(各芯片与CPU互连的总线),系统总线(板卡间互连,如ISA,PCI,AGP),外部总线(微机与外设相连的总线,如USB,RS232).依照ISA的定义,属于系统总线.
       现有的ISA总线有两种观点.(1)来自IBM在1984年推出的IBM/AT微机采用的总线标准.所用机型为80286,386,486以及Pentium 2/3. 也称为AT总线. (2)由于IBM没有公开规格,Intel,IEEE,EISA集团开发了类似的ISA总线.
       ISA有8位和16位两种规格.我主要学习了16位的ISA.它共有98个(62+36)引脚,16条数据线,24根地址线,可以直接寻址内存16M,ISA的I/O地址空间为0100H-03FFH.实际上这是对于IBM/AT机来说的,因为只使用了16位I/O中的10位,可寻址范围为000-3FFH,其中系统板使用了000-0FFH,剩余的归ISA设备使用。
      在资料中的地址线定义为PCA0-PCA19(能锁存),LA17-LA23(不锁存),其中LA17-19和PCA17-19重复定义,因此ISA的地址线为24根。ISA具有7个DMA和15个中断.我所理解的ISA总线就是CPU板卡和外围ISA板卡的接口部件,相当于适配器.其工作过程为:CPU通过ISA总线操作外设,利用10位的I/O对外设寻址,从而操作外设.定义中用户可以使用的I/O地址为:100-1F0,1F9-1FF,280-2F7,300-35F.在操作之前要配置好寄存器。
例如在C语言中读写I/O:
写 OUTPORTB(OX3FB,OX80)
读 A=INPORTB(OX3FD)


        现在还没有搞明白操作寄存器和操作I/O端口有什么不同?我的理解是:两者接近于等价,因为一个I/O口可能是一个或者几个寄存器。

       看到一种说法:寄存器对应系统的I/O端口的物理地址,或者是几个寄存器共用一个I/O. 我想这是在X86系统下,I/O采取和存储器分别编址的情况下.

       外围部件的工作过程大致为:CPU通过地址总线译码形成外设板卡的I/O片选信号,控制总线工作,启动数据传输,从而对外设进行读写操作。

      在Raj Kamal的<嵌入式系统:体系结构\编程与设计>的P106提到...ISA外设的保留地址是220-24F,278-27F,2F0-2F7,3C0-3CF,3E0-3F0  

      I/O占用的是寄存器。

[ 本帖最后由 七戒 于 2008-4-4 13:12 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

纳速健身网成立于2006年8月,是国内优秀健身运动网站,现拥浏览人数超30万。网站是集养生、武术、太极拳和健身气功等多种健身项目于一体的多功能交流平台。平台提供大量优质的教学视频、伴奏音乐(太极拳晨练音乐,广场舞音乐,健身气功音乐)、图文教程、运动科普和经验分享,为健身爱好者提供完善的运动指导平台。
  • 纳速QQ群乙:151815303
  • 纳速QQ群丙:79104490
  • 微信交流群:微信好友搜索【nasuwang】加小纳微信进群交流健身知识,备注【纳速】
  •                     或者扫描页面底部右侧二维码添加小纳微信>>>
  • 微信公众号

  • 微信群客服交流

  • Copyright © 2006-2021, 纳速健身网. | | 辽ICP备13002388号-1 辽公安网备21050202000005号公安网备号 纳速武术-乙 QQ