440 likes | 644 Views
第 5 章 输入输出基本技术. 主要内容: 输入输出概述 输入输出的控制方式 8086 的中断系统 I/O 接口中的中断控制电路 I/O 接口芯片概述. 5.1 输入输出概述. 输入 / 输出:计算机通过外围设备(简称外设)同外界通信或交换数据。 常用的外围设备有:键盘、鼠标器、硬磁盘机、软磁盘机,光盘机、打印机、显示器、扫描仪、调制解调器、数模 / 模数转换器,以及一些专用设备。 外设接口:把外围设备同微机连接起来实现数据传送的控制电路。
E N D
第5章 输入输出基本技术 • 主要内容: • 输入输出概述 • 输入输出的控制方式 • 8086的中断系统 • I/O接口中的中断控制电路 • I/O接口芯片概述
5.1 输入输出概述 • 输入/输出:计算机通过外围设备(简称外设)同外界通信或交换数据。 • 常用的外围设备有:键盘、鼠标器、硬磁盘机、软磁盘机,光盘机、打印机、显示器、扫描仪、调制解调器、数模/模数转换器,以及一些专用设备。 • 外设接口:把外围设备同微机连接起来实现数据传送的控制电路。 • 存储器可看作一种外围设备,但它速度与CPU差不多,所以可直接与CPU相连,而大多外围设备复杂,I/O接口比存储器接口复杂。许多外设用标准设备,鼠标器用通讯口,扫描仪用系统扩展槽。
外设特点 • 品种繁多; • 处理的信息多样; • 电平高低各异,离散性大; • 传送信息的格式复杂; • 处理信息的速度相差悬殊; • CPU要和多个外设打交道,但同一时刻CPU只和一个外设交换信息。
必须考虑的问题 • 1、微处理器与外设的连接,数据、状态、控制信号的转换; • 2、寻址I/O设备。
5.1.1 外设接口的功能及组成 • 功能: • (1)转换信息格式——串/并转换、并/串转换、相容性转换、正负逻辑转换、配备校验位等; • (2)提供联络信号——协调数据传送的状态信息,如设备“就绪”、“忙”,数据缓冲器“满”、“空”等; • (3)协调定时差异——速度匹配,提供数据缓冲,地址锁存; • (4)进行译码选址——确定要进行传送的设备,有些还要对命令进行译码
(5)实现电平转换——提供电平转换和驱动功能; • (6)具备时序控制——具有自己的时钟发生器; • (7)中断管理——暂存中断请求,进行中断排队,提供中断号码等; • (8)最好可编程序——可用软件选用功能。 • 组成: • (1)输入输出数据锁存器和缓冲器 • (2)控制命令和状态寄存器 • (3)地址译码器 • (4)读写控制逻辑 • (5)中断控制逻辑
5.1.2 I/O接口与I/O端口 • 一、CPU与I/O之间的接口信号(信息) • 1、数据信息 • 数字量:通常是8位或16位的二进制信息; • 开关量:两个状态,只用一位二进制数表示; • 模拟量:由传感器把物理量转换成的连续变化的电信号,须先经A/D转换后输入到计算机,由D/A转换后输出。 • 数据传送格式:串行和并行。
2、状态信息: • 就绪信号READY:输入时,外设准备好; • 忙信号BUSY:输出时,外设正传送信息,不能接收信息; • 空信号EMPTY:输出时,外设已空,能接收信息。与BUSY是互补关系。 • 3、控制信息 • CPU发出 读/写信号 • 控制外设接口工作方式 • 控制外设的启动和停止 • 外设发来 中断信号
二、接口部件的I/O端口 • 状态信息和控制信息常以数据形式通过CPU的数据总线进行传送。这些信息分别存放在外设接口的不同类型的寄存器中。CPU同外设的信息传送实质上是CPU对寄存器进行读/写。 • 端口:CPU由程序选址进行读写的寄存器。 • 端口种类: 数据口 • 状态口 • 控制(命令)口 • 端口地址(设备号):端口配以地址码
接口部件的I/O端口 • 一个外设接口往往需要几个端口,如图5-1, 再配以相应的控制逻辑构成。 • CPU通过访问这些端口来了解外设的状态、控制外设的工作,以及同外设之间进行数据传输。 • 通常数据口8位,入出可用一个端口,而状态口、控制口所用位数少可合用一个口,也可合用一个端口地址,用读/写来区分输入/输出,所以一个接口可用两个端口地址。
5.1.3 I/O端口的编址方式 • 有两种: • 独立编址(专用的I/O端口编址) • 存储器映象编址(统一编址)
一、独立编址 • 硬件结构及地址空间如图5-2 • 特点: • 1、存储器和I/O端口的地址空间完全分开; • 8086中,用16位地址,允许64K个8位的端口,两相邻的8位端口可构成16位端口,一般只用16位地址线不用足。 • 2、读写(输入/输出)操作用RD、WR、M/IO合成的信号IOR/IOW来实现,而存储器操作用MEMR/MEMW; • 3、CPU访问I/O端口用专用的IN指令和OUT指令,输入/输出数据通道用公共的总线结构。
独立编址 • 优点:地址码短;译码简单;程序清晰;与存储器的控制电路分开设计。 • 缺点:不如存储器访问指令丰富,程序 • 设计灵活性较差。 • 80X86采用此结构。
二、存储器映象编址 • 硬件结构及地址空间如图5-3 • 特点: • 1、存储器和I/O端口共用统一的地址空间; • 2、读写(输入/输出)操作同存储器操作用MEMR/MEMW来实现; • 3、 访问I/O端口用MOV指令,任何对存储器的指令都可用于I/O端口。
存储器映象编址 • 优点:任何对存储器数据进行操作的指令都可用于I/O端口的数据操作;不需要专用的I/O指令,系统编程比较灵活;外设数目几乎不受限制。 • 缺点:内存容量减少;地址码长,指令机器码长,执行时间增加。 • Intel MCS-51系列单片微机、6502、6800系列等采用此结构。
5.2 输入输出的控制方式 • 5.2.1 主机对外设的管理方式 • 在CPU与外设的数据传送过程中,关键是控制交换过程,按照I/O控制组织的演变顺序以及外设与主机并行工作的程度,控制方式主要有: • 1、程序控制传送方式 • 无条件传送方式 • 查询传送方式 • 中断传送方式 • 2、直接存储器存取传送方式(DMA) • 3、通道方式 • 4、外围处理机方式
5.2.2 程序控制传送方式 • 特点: • 控制来自CPU,通过指令来实现传送,传送路径要经过CPU内的寄存器,速度较慢。 • 1.无条件(同步)传送方式 • 适用:外设的定时是固定的并且是已知的场合。 • 外设必须在微处理器限定的指令时间内准备就绪,以固定的定时将I/O指令插在程序中,在此指令时间内完成数据传送。
例:控制面板上的开关和发光二极管 • 如图5-4,三态缓冲器可用74LS244、245或8286,输出数据寄存器可用74LS273、373或8282等。 • LEDST表示8个灯亮或灭的状态字 • 输入用IN(IORC,地址码2F1有效) • 输出用OUT(IOWC,地址码2F0有效) • 程序如下: • 1)输入传送:MOV DX,2F1H • IN AL,DX
输出传送: • MOV AL,LEDST • MOV DX,2F0H • OUT DX,AL • 优点:最简便,所需硬软件最少,但时间控制不住,如外设没准备好时易出错。
2.查询(条件、异步)传送方式 • 外设受程序支配。传送前,微处理器必需先对外设进行状态检测,因此设有状态输入寄存器,通过置位表示某种状态。 • 完成一组数据传送过程的步骤流程如图5-6: 启动I/O设备 RDY=1? N Y 执行I/O指令 数据传送 结束? N Y
1)输入接口电路如图5-5. • 分析: 地址 位置 指令 • 数据口: 28H 8位 IN • 状态口:29H D0(用00000001B=01H)IN • 程序如下: • AWAIT: IN AL,29H • TEST AL,01H • JZ AWAIT • IN AL,28H ;同时清除RDY • MOV [BX],AL • ……
2)输出接口电路如图5-7. • CPU送数据给打印机,发STB=1,则OBF=1,输出数据寄存器把数据给打印机后,打印机发BUSY=1,接收数据后存入缓冲器,发ACK-=0,并撤消BUSY=0。 • 分析: 地址 位置 指令 • 数据口:31H 8位 OUT • 状态口:30H D1D0(03H) IN • 控制口: 32H D7(80H) OUT • 程序如下: MOV AL,00H;STB=0 • OUT 32H,AL • LEA SI,BUFFER
AWAIT: IN AL,30H • TEST AL,03H • JNZ AWAIT • MOV AL,[SI] • INC SI • OUT 31H,AL • MOV AH,AL • MOV AL,80H • OUT 32H,AL • MOV AL,00H • OUT 32H,AL
MOV AL,AH • CMP AL,0AH;是换行吗? • JNZ AWAIT
3.中断传送方式 • CPU可以极快速度作出反应,具有实时处理能力。 • 适用:并行系统工作过程中的信息交换; • 计算机网络的内部管理; • 实时、分时系统中的监控等(如掉电、除数为0的应急处理);
中断的基本概念 1)中断和中断源 中断:由于内、外事件引起CPU暂时中止正在运行的程序,转去执行请求CPU的服务程序,处理完回到被中止的程序。 • 中断源:能向CPU发出中断请求的中断来源。 • 常见中断源: • (1)一般的输入/输出设备,如CRT终端、行式打印机等; • (2)数据通道,如磁带、磁盘等; • (3)实时时钟,如定时器芯片8253等的定时输出作为定时中断请求信号;
(4)故障信号,如电源掉电等; • (5)软件中断,如为调试程序而设置的中断源。 • 2)中断系统的功能 • (1)中断处理 • 发现中断请求 • 响应中断请求 • 中断处理 • 中断返回 • (2)中断控制 • 中断优先级排队 • 中断嵌套
3)中断的主要用途 • (1)实现输入/输出操作; • (2)电源掉电或其他情况的报警; • (3)控制台或人工干预; • (4)多处理机系统中各处理机之间的协调; • (5)控制操作系统。 • 4)中断分类 • (1)内部中断:软件调用 • (2)外部中断:可屏蔽中断与不可屏蔽中断。
5)CPU响应中断的条件 • (1)设置中断请求触发器,一个中断源有一个中断请求触发器;保持到CPU响应后清除; • (2)设置中断屏蔽触发器,由输出指令控制状态,决定是否传入中断请求;如图5-9 • (3)设置中断允许触发器的状态,用允许中断指令和禁止中断指令来开中断和关中断;当开中断时,CPU才能响应中断。 • 当中断响应后,CPU自动关中断,为使返回主程序后能响应新的中断,故在中断服务程序结束时,要开中断。
(4)CPU在现行指令结束后响应中断 • 置内部的中断锁存器为“1”,进入中断周期。 • 6)中断处理过程 • 例:中断传送方式的输入接口电路,如图5-9 • CPU先启动某一设备,然后执行主程序,在每条指令执行后,检查是否有中断请求
1)中断请求:当外设完成数据传送准备就绪后,向CPU发出中断请求;1)中断请求:当外设完成数据传送准备就绪后,向CPU发出中断请求; • 2)中断判优:进行优先级排队 • 3)中断响应:在CPU可以响应中断的条件下,暂停执行主程序,响应最高级的中断请求; • 4)保护现场 • 5)中断处理:CPU转去执行为外设服务的中断服务子程序; • 6)恢复现场 • 7)中断返回:传送完,返回到被中断的主程序,从断点处继续执行。
特点: • 1)以硬件手段来影响和改变CPU操作顺序的方式,有点象调用子程序的由软件改变CPU操作顺序; • 2)主机和外设并行工作,允许CPU在没有中断服务请求时执行主程序,而不必象在查询方式中循环等待; • 3)外设在一定程度上也是并行工作,如果有几台外设发出中断请求,CPU可根据预先安排好的优先顺序处理几台外设的数据传送。
5.2.3直接存储器存取传送方式 • 适用:高速(传送1字节<5us)、大量地数据传送。 • 特点: • 1)在外设和存储器之间传送数据,整个传送过程由硬件DMA控制器(DMAC)控制; • 2)CPU软件不介入,数据也不经过CPU,CPU只启动、预处理和后处理,不需保存现场和恢复现场,数据传送速率高。 • 为有效传送,要解决CPU与DMAC同时访问内存问题,DMA操作采用三种基本方法
一、 DMA操作的基本方法 • 1、周期挪用 • 利用CPU不访问存储器的那些周期来实现DMA操作. • 关键是如何识别可挪用的周期,避免同CPU的操作发生重叠. • 实现方法: • 1)CPU产生表示存储器是否正被使用的信号(如M6800的VMA); • 2)CPU规定在特定状态下不访问存储器(如8080的T4、T5)
优点:不减慢CPU的操作,充分发挥CPU与I/O设备的利用率。优点:不减慢CPU的操作,充分发挥CPU与I/O设备的利用率。 • 缺点:需复杂的时序电路识别合适挪用的周期,数据传送过程不连续和不规则。 • 2、周期扩展 • I/O需DMA操作时,由DMAC发请求信号给专门的时钟电路,把给CPU的时钟周期加宽,在加宽的时钟周期内CPU不操作,而进行DMA操作。 • 缺点:但加宽有限制,使CPU处理速度减慢,一次只能传送一个字节。
3、CPU的停机方式 • 当I/O需DMA操作时,由DMAC发请求信号给CPU,CPU在现行的总线周期结束后,使系统总线高阻,让出对总线的控制权,发DMA响应信号,DMAC接管总线,控制数据传送,直到整个字组传送完,把对总线的控制权归还给CPU,CPU继续执行被中断的程序。 • 优点:只一次申请、接管和归还总线的控制权,最简单,常用,适用高速、成批数据。 • 缺点:降低CPU的利用率,影响CPU对中断的响应和动态RAM的刷新。(DMA采用请求-响应方式,优先级高于中断方式)
二、DMA的传送方式 • 有三种: • 1、单字节传送方式 • 每次DMA传送只传送一个字节,传送后释放总线,CPU控制总线至少一个完整的总线周期。 • 要求: • 1)在DMA响应信号DACK有效之前,DMA请求线DREQ必须保持有效; • 2)DREQ在传送过程中一直保持有效,在两次传送间必须释放总线.
2、成组(数据块)传送方式 • 一次DMA请求传送一组信息结束后,释放总线。 • 要求: • 只要在DACK有效之前DREQ保持有效。DACK有效后,无论DREQ是否有效,接管总线控制权,直到:1)整个数组传送结束;2)外加信号强制中止DMA操作(如8237A的EOP=0)时,释放总线。 • 3、请求(查询)传送方式 • 类似成组传送,每传送一个字节,DMAC就检测DREQ,若无效,暂停传送,直等到有效再继续,多用,避免数据传送完作不必要的传输; • 若有效,继续DMA传送。
三、DMA控制器的基本功能 • 1、能接受外设的DMA请求信号DREQ,并能向外设发出DMA响应信号DACK; • 2、能向CPU发HOLD=1,CPU完成现行总线周期后,让出总线,发出总线响应信号HLDA=1,DMAC接管对总线的控制权,进入DMA方式; • 3、能发出地址信息,对存储器寻址并修改地址指针; • 4、识别数据传送方向,发读/写控制信号; • 5、能决定传送的字节数,判断DMA传送是否结束;
6、能发DMA结束信号(HOLD=0),释放总线,使CPU恢复正常工作,将HLDA=06、能发DMA结束信号(HOLD=0),释放总线,使CPU恢复正常工作,将HLDA=0 • 3、4、5所需的信息,开始时由软件设置。 • 工作示意图如图5-11 • 输入的工作过程: • 1)输入设备准备好一个字节数据,发STB,一选通数据缓冲器U2,送到锁存器U3;二将DMA请求触发器U1置1,作READY,打开锁存器U3,数据送上数据总线;同时发DMA请求; • 2)DMAC向CPU发HOLD,CPU响应后,发HLDA; • 3)DMAC接管总线控制权,发DMA响应;
4)发地址信息,发存储器写命令,把外设输入数据写到内存;4)发地址信息,发存储器写命令,把外设输入数据写到内存; • 5)修改地址指针、计数器,检查传送是否结束;若未结束,循环传送; • 6)若计数器为0,DMAC撤消HOLD,CPU使HLDA无效,收回总线控制权。 • 波形图如图5-12所示。
5.2.4 I/O处理机方式 • I/O处理机几乎接管了原来由CPU承担的控制输入/输出操作及其他的全部功能,包括管理和其他操作(如格式变换、码制转换、装配、拆卸和校验等,向CPU报告外设状态,分析状态,并处理系统出现的各种情况); • I/O处理机有自己的指令系统和程序,与CPU分时使用内存,独立完成对外设工作的控制,同CPU并行工作。CPU只要在内存中建立一个信息块(如何操作等) • 例:8089两通道输入/输出处理机,每通道都具有CPU功能和DMA控制的功能。
特点:可控制慢速、快速设备,减少CPU等待时间,提高CPU效率,但设备和控制复杂。特点:可控制慢速、快速设备,减少CPU等待时间,提高CPU效率,但设备和控制复杂。 • 适用:大量快慢速外设的系统。