790 likes | 942 Views
第五章:输入输出基本技术. 主讲教师:范新民. 1. 2. 4. 5. 5.1 输入输出概述. 5.2 输入输出的控制方式. 5.4 I/O 接口中的中断控制电路. 5.5 I/O 接口芯片概述. 5.3 8086 的中断系统. 3. 输入输出基本技术. 1 、外设接口的功能 ( 1 )转换信息的格式 ( 2 )提供联络信号 ( 3 )协调定时差异 ( 4 )进行译码选址. 输入输出基本技术. 5.1 输入 / 输出概述.
E N D
第五章:输入输出基本技术 主讲教师:范新民
1 2 4 5 5.1 输入输出概述 5.2 输入输出的控制方式 5.4 I/O接口中的中断控制电路 5.5 I/O接口芯片概述 5.3 8086的中断系统 3 输入输出基本技术
1、外设接口的功能 (1)转换信息的格式 (2)提供联络信号 (3)协调定时差异 (4)进行译码选址 输入输出基本技术 5.1 输入/输出概述 把外围设备同计算机连接起来实现数据传送的控制电路称为外设接口电路。 5.1.1 外设接口的功能及组成 (5)实现电平转换 (6)具备时序控制 (7)最好可编程序
输入/输出概述 2、接口电路中应具有如下电路单元 • 输入输出数据锁存器和缓冲器,用以解决CPU 与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用。 • 控制命令和状态寄存器,以存放CPU对外设的控制命令和外设的状态信息。 • 地址译码器,用来选择接口电路中的不同端口。 • 读写控制逻辑。 • 中断控制逻辑。
5.1.2 接口与端口 数据信息、状态信息和控制信息通常都以数据形式通过CPU的数据总线同CPU进行传送的,这些信息分别存放在外设接口的不同类型的寄存器中。CPU同外设之间的信息传送实质上是对这些寄存器进行“读”或“写”操作。 数据信息可以有数字量、模拟量和开关量三种类型 输入/输出概述
外设接口(Interface): CPU与外设之间传递信息的控制电路,是CPU与外设之间传送信息的一个“界面”、一个连接部件。 外设接口通过CPU的三总线(或微机总线)同CPU连接,通过三种信息—数据信息、控制信息和状态信息同外设连接。 输入/输出概述
输入/输出概述 • 端口(Port): • 接口中可以由CPU进行读或写的寄存器。 • 端口可分为“数据口”、“状态口”与“控制口”。 • 数据端口:用于存放CPU与外设间传送的数据信息 • 状态端口:用于暂存外设的状态信息 • 控制端口:用于存放CPU对外设或接口的控制信息,控 • 制外设或接口的工作方式。
输入/输出概述 一个基本的外设接口原理图
输入/输出概述 5.1.3 IN/OUT 指令 8086指令系统中有专门访问I/O接口的输入/输出指令 1、 输入指令 IN (1)指令格式1:IN AL,port; 指令中目的操作数必须是累加器, port为端口号( 端口地址)必须 ≤ FFH 指令功能:把地址为port的端口的8位信息传送给AL 例:IN AL,20H 该指令把20H端口的内容送到AL寄存器中。
输入/输出概述 (2)指令格式2: IN AL,DX 指令功能:用DX间接寻址,把DX表示端口地址的端口的 8位信息传送给AL。 DX为0000-FFFFH的值; 例:MOV DX,200H IN AL,DX 实现将200H号端口的内容送入AL
输入/输出概述 (3)指令格式3: IN AX,port 指令功能:读入port、port+1两个I/O端口的内容, 分别送入AL和AH。 例:IN AX,20H ; 一次读入20H、21H两个端口的内容,分别送入AL和AH中。
输入/输出概述 (4)指令格式4:IN AX,DX 指令功能:用DX间接寻址,读取由DX和DX+1表示端口 地址的两个端口的内容,分别送入AL和AH 中。 例: MOV DX,200H IN AX,DX。 用这两条指令,输入200H和201H号端口的内容,分别送入AL和AH中。
输入/输出概述 2、输出指令 (1) 指令格式1:OUT port,AL 指令功能:把AL的信息传送给地址为port的端口; 例: OUT 20H,AL。 该指令把AL寄存器的内容送到20H端口中;
输入/输出概述 (2) 指令格式2:OUT DX, AL 指令功能:把AL中的信息传送给由DX表示端口地址的 一个端口 例: MOV DX,200H OUT DX,AL 把AL寄存器的内容,送入200H号端口。
输入/输出概述 (3)指令格式3: OUT port,AX 指令功能:该指令一次把AL和AH内容,分别送入地址 为port和port+1的两个I/O端口中。 例: OUT 20H,AX 把AL和AH的内容,分别送入20H、21H两个端口中。
输入/输出概述 (4)指令格式:OUT DX,AX 指令功能:该指令一次把AL和AH中的内容,分别送入 由DX和DX+1表示的两个端口。 例: MOV DX,200H OUT DX,AX 把AL和AH中的内容,分别送入200H和201H号两个端口。
输入/输出概述 5.1.4I/O端口的编址方式 I/O端口的编址方式有两种: 独立编址和存储器统一编址 1、独立编址(专用的I/O端口编址) 存储器和I/O端口在两个独立的地址空间中,I/O端口的读、写操作由硬件信号IO/M、WR和 RD来实现,访问I/O端口专用的IN指令和OUT指令。
独立编址方式的优点: • I/O端口的地址码较短 • 译码电路比较简单, • 存储器同I/O端口的操作指令不同,程序比较清晰; • 存储器和I/O端口的控制结构相互独立,可以分别设计。 独立编址方式的缺点: • I/O指令的功能一般不如存储器访问指令丰富; • 程序设计灵活性较差。 输入/输出概述
输入/输出概述 独立编址方式
2、存储器映象编址(统一编址) • 存储器和I/O端口共用统一的地址空间 • I/O端口的读写操作同样由硬件信号IO/M、WR和RD组合实现 、 信号。 • 访问I/O端口同样用MOV指令,所有访问存储器的指令(包括存储器的算术、逻辑运算指令)都可用于I/O端口,系统编程比较灵活。 • I/O占用了一部分内存空间 • 指令的机器码也长,执行时间较长。 输入/输出概述
输入/输出概述 统一编址方式
5.2.2、程序控制传送方式 程序控制的数据传送指以CPU为中心,数据传送的控制来自CPU,通过预先编制好的输入或输出程序(传送指令和I/O指令)实现数据的传送。 分为无条件传送、查询传送和中断传送。 数据传送的控制方式 5.2 数据传送的控制方式 在数据传送过程中,关键问题是数据传送的控制方式,控制方式主要有:
程序控制传送方式 1、无条件传送方式(同步传送) 外部控制过程各种动作时间是固定的,而且是已知的 实现方法: CPU不查询外设工作状态;CPU与外设速度的匹配通过在软件上延时完成;在程序中直接用I/O指令完成与外设的数据传送,接口只包含数据端口。 • 主要用于: • 外设随时准备好同CPU之间的数据传送; • 外设的定时是固定且是已知的场合,外设必须在微处理器限定的指令时间内准备就绪,并完成数据的接收或发送。
程序控制传送方式 无条件输入/输出传送方式的典型接口电路
无条件传送方式举例: • 无条件传送方式下对开关(输入设备)和发光二极管(输出设备)的接口电路。 • 三态缓冲器可选用74LS244或74LS245或8286,而输出数据寄存器可选用74LS273或74LS373或8282等8D 锁存器。 vcc
无条件传送方式举例: • 输入接口电路的地址为2F1H,输出接口电路的地址为2F0H。 CPU 执行下述语句就完成了输入数据的传送: MOV DX,2F1H IN AL,DX CPU 执行下述语句就完成了输出数据的传送: MOV AL ,LEDST ;如:LEDST=01010101 MOV DX ,2F0H OUT DX ,AL
程序控制传送方式 2.查询传送方式(异步传送方式) 用于外设的定时是不固定的或未知的场合。 CPU必须先对外设进行状态检测。 完成一次传送过程的步骤如下: (1)通过执行一条输入指令,读取所选外设的当前状态。 (2)根据该设备的状态决定程序去向,如果外设正处于“忙”或“未准备就绪”,则程序转回重复检测外设状态,如果外设处于“空”或“准备就绪”,则发出一条输入/输出指令,进行一次数据传送。
程序控制传送方式 查询传送的输入接口电路
输入设备条件传送方式的程序流程图。 相应的程序段为: AWAIT : IN AL,29H TEST AL,01H JZ AWAIT IN AL,28H MOV [BX],AL
0 程序控制传送方式 查询传送的输出接口电路
打印机在条件传送方式下的程序流程图: MOV AL,00H 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继续执行其主程序,外设完成数据传送的准备后,向CPU发出“中断请求”信号,在CPU可以响应中断的条件下,现行主程序被“中断”,转去执行“中断服务程序”,在“中断服务程序”中完成一次CPU与外设之间的数据传送,传送完成后仍返回被中断的主程序,从断点处继续执行。在一定程度上实现了主机和外设的并行工作。
程序控制传送方式 有关中断的几个基本摡念: 中断: 是指在CPU正常运行程序时,由于内、外部事件引起CPU暂时中止正在运行的程序,转而去执行请求CPU暂时中止的内、外部事件的服务程序,待该服务程序处理完毕后又返回到被中止的程序。 1、中断和中断源 中断源: 能够向CPU发出中断请求的中断来源。
程序控制传送方式 常见的中断源: • 一般的输入输出设备,如CRT终端、行式打印机等。 • 数据通道,如磁带、磁盘等。 • 实时时钟,如定时器芯片8253等的定时输出作为定时中断请求信号。 • 故障信号,如电源掉电等。 • 软件中断,如为调试程序而设置的中断源。
程序控制传送方式 2、中断系统的功能 ① 中断处理:包括发现中断请求、响应中断请求、中断处理与中断返回。 ② 中断控制:主要是实现中断优先级的排队和中断嵌套。 3、中断的主要用途 • 实现输入输出操作。 • 电源掉电或其他情况的报警。 • 控制台或人工干预。 • 多处理机系统中各处理机之间的协调。 • 控制操作系统。
程序控制传送方式 4、可屏蔽中断与不可屏蔽中断 可屏蔽中断: CPU内部能够屏蔽的中断。所谓屏蔽是指CPU能拒绝响应中断请求信号,不允许打断CPU所执行的主程序。这通常是由内部的中断触发器(或中断允许触发器)来控制的。如输入输出设备请求的中断。 不可屏蔽中断: CPU内部不能屏蔽的中断。如掉电、数据传送错误等。
程序控制传送方式 5、CPU 响应中断的条件 (1) 设置中断请求触发器 要求每一个中断源有一个中断请求触发器。 (2) 设置中断屏蔽触发器 在有多个中断源的情况下,为增加控制的灵活性,常要求在每一个外设的接口电路中,设置一个中断屏蔽触发器,只有当此触发器为1 时,外设的中断请求才能被送到CPU。
程序控制传送方式 (3)设置中断允许触发器的状态 在CPU 内部有一个中断允许触发器,即标志寄存器中的IF位。只有当其为1 时(即中断开时) ,CPU才能响应中断。(STI、CLI) (4) CPU 在现行指令结束后响应中断 在满足上面3 个条件的情况下,CPU 在执行现行指令的最后一个总线周期的最后一个时钟周期( T 状态)时,才采样中断输入线INT,若发现中断请求有效,则把内部的中断锁存器置1 ,下一总线周期进入中断响应周期。
程序控制传送方式 中断输入方式硬件接口电路
在CPU开中断的情况,在现行指令结束后,CPU响应该设备的中断请求,执行中断响应总线周期,发出中断响应信号 。 程序控制传送方式 工作过程: • 当输入设备准备好一个数据后,发出选通信号STB,将8位数据送入锁存器U1,同时将中断请求触发器U2置1。 若系统允许该设备发出中断请求,则中断允许触发器U3已置“1”,通过与门U7向CPU发出中断请求信号INTR。
程序控制传送方式 • 外设把一个字节的中断类型码(中断识别码)送上数据总线。 • CPU根据该中断识别码转而去执行中断服务程序,打开三态缓冲器U4读入数据,同时复位中断请求触发器U2,中断服务完成后,再返回被中断的主程序。
1、DMA操作的基本方法: (1)周期挪用(Cycle Stealing) 利用CPU不访问存储器和外设的那些周期来实现DMA操作。 数据传送的控制方式 5.2.3 DMA(直接存储器存取)传送方式 DMA(Direct Memory Access)是一种不需要CPU干预也不需要软件介入的高速数据传送方式,CPU只启动而不干预这一传送过程,整个传送过程由DMA控制器(DMAC)控制的硬件完成,而不需软件介入。
DMA(直接存储器存取)传送方式 (2)周期扩展 当要进行DMA操作时,时钟电路把CPU的时钟周期加宽,而提供给存储器和DMAC的时钟不变,加宽的周期可用来进行DMA操作。一次只能传送一个字节。 • (3)CPU的停机方式 最常用、简单的传送方式 。 • 传送过程: • 当DMAC要进行DMA传送时,DMAC向CPU发出DMA请求信号 DREQ;
CPU在现行的总线周期(机器周期)结束后,使其地址总线、数据总线和部分控制总线处于高阻状态,从而让出对总线的控制权,并给出DMA响应信号DACK;CPU在现行的总线周期(机器周期)结束后,使其地址总线、数据总线和部分控制总线处于高阻状态,从而让出对总线的控制权,并给出DMA响应信号DACK; • DMAC接到信号后,就可对总线进行控制,进行数据传送的控制工作,直到DMA操作完成; • CPU恢复对总线的控制权,继续执行被中断的程序。 DMA(直接存储器存取)传送方式
DMA(直接存储器存取)传送方式 • 2、DMA的传送方式 • (1)单字节传送方式 • 在DMA响应信号DACK有效前,DREQ必须保持有效; • DREQ在传送过程中一直保持有效,在两次传送之间也必须释放总线。 • (2)成组传送方式 • 若在DACK有效前DREQ一直保持有效时,一个DMA请求可传送一组信息, • 一旦DACK有效,不管DREQ是否有效,DMAC一直不放弃总线控制权,直到整个数组传送完。
DMA(直接存储器存取)传送方式 (3)请求传送方式(查询传送方式) 每传送一个字节后,DMAC就检测DREQ,若无效,则挂起;若有效,继续DMA传送,直到一组信息传送结束或外加信号强制DMAC中止操作。
3、DMA控制器的基本功能 (1)能接受外设的DMA请求信号DREQ,并能向外设发出DMA响应信号DACK; (2)能向CPU发出总线请求信号(HOLD和BUSRQ),当CPU发出总线响应信号(HLDA和BUSAK)后能接管对总线的控制权,进入DMA方式; (3)能发出地址信息,对存储器寻址并修改地址指针; (4)能发出读、写等控制信号,包括存储器和I/O访问信号; (5)能决定传送的字节数,并能判断DMA传送是否结束; (6)能发出DMA结束信号,释放总线,使CPU恢复正常工作。 DMA(直接存储器存取)传送方式
DMA(直接存储器存取)传送方式 4、DMA控制器的工作过程
DMA(直接存储器存取)传送方式 DMAC工作示意图: 数据总线 STB
DMA(直接存储器存取)传送方式 DMA工作过程波形图: