由于速度的不匹配,数据格式的不匹配,信息类型的不匹配,为了解决外设和主机之间的信息交换问题,需要引用一个信息交换的中间环节-接口。常用的计算机接口有并行接口,串行接口,磁盘接口。并行接口:并行接口的数据阐述方式是并行传输,一般是一个字节(8位)或者一个字(16位),并行接口包括了与主机总线直接相连的输入/输出数据缓冲器和一组数据线,包括了起联络作用的联络信号,数据传输效率高,但有效距离短,较典型代表是打印机。串行接口:传输方式串行,数据是一位位传输地。串行接口应用抗干扰能力强,适合长距离传输,PC主机上有两个串行接口COM1和COM2。磁盘接口包括IDE接口和EIDE接口。其中EIDE接口是目前最流行的接口,外设装备支持硬盘,CD-ROM驱动器,磁盘备份设备。SCSI(Small Computer System Interface)接口即小型计算机系统接口,被广泛地作为硬盘接口以及CD-ROM驱动器,扫描仪等设备,SCSI接口是智能化的,设备间可以彼此通信而不增加CPU的负担,而在IDE和EIDE设备之间传输数据时,CPU必须介入,但SCSI成本过高。USB接口在当前PC领域应用极多,USB接口提供机箱外的即插即用连接,USB总线才用“级联”方式,每个USB设备用一个USB插头连接到一个外设的USB插座上,而起本身有提供一个USB插头给下一个USB设备使用,通过这种级联的方式,一个USB控制器可以连接多达127个外设。
主机通过接口对外设的控制方式有:
1.查询方式:主机通过I/O指令循环访问当前外设的状态,若外设准备就绪,则进行数据的传输,否则主机会继续查询。优点:实现简单。缺点:由于主机速度较快而外设速度较慢,因此主机常常处于等待状态,效率大大降低。
2.中断方式:主机不再循环检查外设,而是进行其他工作。外设则会自己检查状态,一旦可以进行数据传输,则立即向主机发射一个信号提出进行数据传输请求。如果主机响应这个请求,则暂停当前工作并且进行与外设的数据传输,完成之后再继续执行原来的工作。采取中断可以明显提高主机的效率。缺点是每次数据传输都需要经过启动中断控制器,保存现场数据,恢复现场数据的过程,这样会消耗很大的主机资源。
3.DMA方式:DMA(Direct Memory Access)的意思是直接存储器访问,这种方式最为明显的一个特点是采用了一个特殊的硬件电路——DMA控制器来实现内存与外设之间的数据传输。在进行DMA传输前,DMA控制器会向主机申请数据总线的控制权,如果主机允许则将控制权交出。所以当DMA方式进行数据传输时,总线控制权是由DMA控制器掌握的,完成数据传输后,DMA控制器会将总线控制权交还给主机。
DMA控制器或接口一般包括四个寄存器:
状态控制寄存器、数据寄存器、地址寄存器和字节计数器。
这些寄存器在信息传送之前需要进行初始化设置。即在输入输出程序中用汇编语言指令对各个寄存器写入初始化控制字。