您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 04 接口及中断技术
北京理工大学生物医学工程系CPUI/O寻址外设可以有两种方式。1.存储器对应输入输出方式(统一编制方式);2.端口寻址的输入输出方式;在这种方式中,把一个外设端口作为存储器的一个单元来对待,故每一个外设端口占有存储器的一个地址。从外部设备输入一个数据,作为一次存储器读的操作;而向外部设备输出一个数据,则作为一次存储器写的操作(1)CPU对外设的操作可使用全部的存储器操作指令,故指令多,使用方便。如可以对外设中的数据(存于外设的寄存器中)进行算术和逻辑运算,进行循环或移位等。(2)内存和外设的地址分布图是同一个。(3)不需要专门的输入输出指令以及区分是存储器还是I/O操作的控制信号。缺点是:外设占用了内存单元,使内存容量减小。在这种工作方式中:CPU有专门的I/O指令,用地址来区分不同的外设。但要注意实际上是以端口(Port)作为地址的单元,因为一个外设不仅有数据寄存器还有状态寄存器和控制命令寄存器,它们各需要一个端口才能加以区分,故一个外设往往需要数个端口地址。CPU用地址来选择外设。要寻址的外设的端口地址,显然比内存单元的地址要少得多。所以,在用直接寻址方式寻址外设时,它的地址字节,通常总要比寻址内存单元的地址少一个字节,因而节省了指令的存储空间,缩短了指令的执行时间。1.数据(Data)在微型机中,数据通常为8位、16位或32位。它大致可以分为三种基本类型:(1)数字量(2)模拟量(3)开关量2.状态信息(Status)在输入时,有输入设备是否准备好(Ready)的状态信息;在输出时,有输出设备是否有空(Empty)的状态信息,若输出设备正在输出,则以忙(Busy)指示等等。3.控制信息(Control)控制输入输出设备启动或停止等等。状态信息和控制信息与数据是不同性质的信息,必须要分别传送。但在大部分微型机中(8086也如此),只有通用的IN和OUT指令,因此,外设的状态也必须作为一种数据输入;而CPU的控制命令也必须作为一种数据输出。所以,一个外设往往要几个端口地址,CPU寻址的是端口,而不是笼统的外设。通常I/O接口电路的工作速度较慢,往往要插入等待状态。CPU与外设的信息交换称为通信(Communication)。基本的通信方式有两种:并行通信——数据的各位同时传送;串行通信——数据一位一位顺序传送。查询传送方式中断传送方式DMA方式CPU与I/O设备的工作往往是异步的,很难保证当CPU执行输入操作时,外设已把要输入的信息准备好了;而当CPU执行输出时,外设的寄存器(用于存放CPU输出数据的寄存器)一定是空的。所以,通常程序控制的传送方式在传送之前,必须要查询一下外设的状态,当外设准备就绪了才传送;若未准备好,则CPU等待。在上述的查询传送方式中,CPU要不断地询问外设,当外设没有准备好时,CPU要等待,不能进行别的操作,这样就浪费了CPU的时间。而且许多外设的速度是较低的,如键盘、打印机等等,它们输入或输出一个数据的速度是很慢的,在这个过程中,CPU可以执行大量的指令。为了提高CPU的效率,可采用中断的传送方式:在输入时,若外设的输入数据已存入寄存器;在输出时,若外设已把上一个数据输出,输出寄存器已空,由外设向CPU发出中断请求,CPU就暂停原执行的程序(即实现中断),转去执行输入或输出操作(中断服务),待输入输出操作完成后即返回,CPU再继续执行原来的程序。这样就可以大大提高CPU的效率,而且允许CPU与外设(甚至多个外设)同时工作中断传送仍是由CPU通过程序来传送,每次要保护断点,保护现场需用多条指令,每条指令要有取指和执行时间。这对于一个高速I/O设备,以及成组交换数据的情况,例如磁盘与内存间的信息交换,就显得速度太慢了。所以希望用硬件在外设与内存间直接进行数据交换(DMA),而不通过CPU,这样数据传送的速度的上限就取决于存储器的工作速度。但是,通常系统的地址和数据总线以及一些控制信号线(例如IO/、、等)是由CPU管理的。在DMA方式时,就希望CPU把这些总线让出来(即CPU连到这些总线上的线处于第三态——高阻状态),而由DMA控制器接管,控制传送的字节数,判断DMA是否结束,以及发出DMA结束等信号。这些都是由硬件实现的。DMAC是控制存储器和外部设备之间直接高速地传送数据的硬件电路,它应能取代CPU,用硬件完成各项功能。具体地说应具有如下功能:(1)能接收外设的请求,向CPU发出DMA请求信号。(2)当CPU发出DMA响应信号之后,接管对总线的控制,进入DMA方式。(3)能寻址存储器,即能输出地址信息和修改地址。(4)能向存储器和外设发出相应的读/写控制信号。(5)能控制传送的字节数,判断DMA传送是否结束。(6)在DMA传送结束以后,能结束DMA请求信号,释放总线,使CPU恢复正常工作。各种DMAC一般都有两种基本的DMA传送方式:(1)单字节方式:每次DMA请求只传送一个字节数据,每传送完一个字节,都撤除DMA请求信号,释放总线。(2)字节(字符)组方式:每次DMA请求连续传送一个数据块,待规定长度的数据块传送完了以后,才撤除DMA请求,释放总线。
本文标题:04 接口及中断技术
链接地址:https://www.777doc.com/doc-4019363 .html