980 likes | 1.18k Views
吉林大学工学部计算机硬件基础课程 微机原理与接口技术. 第 6 章 输入 / 输出与中断技术. 侯彦利. 第 6 章 输入 / 输出与中断技术. 侯彦利. 本章教学目的. 了解输入输出系统的基本知识 了解系统总线与输入输出设备的连接方式。 掌握简单设备接口的设计方法 了解中断的基本概念 了解中断的处理过程 熟悉 8088/8086 中断系统. 6.1 I/O 接口概述. 通常把处理器和主存储器之外的部分称为输入输出系统。 包括输入输出设备、输入输出接口和输入输出软件;. 6.1.1 I/O 接口的功能. ( 1 )信号电平转换
E N D
吉林大学工学部计算机硬件基础课程微机原理与接口技术吉林大学工学部计算机硬件基础课程微机原理与接口技术 第6章 输入/输出与中断技术 侯彦利
第6章 输入/输出与中断技术 侯彦利
本章教学目的 了解输入输出系统的基本知识 了解系统总线与输入输出设备的连接方式。 掌握简单设备接口的设计方法 了解中断的基本概念 了解中断的处理过程 熟悉8088/8086中断系统
6.1 I/O 接口概述 通常把处理器和主存储器之外的部分称为输入输出系统。包括输入输出设备、输入输出接口和输入输出软件;
6.1.1 I/O接口的功能 (1)信号电平转换 不同规格的电平转换为TTL或者MOS电路的电平 (2)数据格式转换 串并转换或数模转换 (3)速度匹配 通过缓冲或锁存保证CPU与外设传输数据时各部件都能正确接收数据。
(4)数据传送 建立数据传输的逻辑关系,即规定好数据传输的过程与时序。 (5)寻址能力 为外设的各个端口编址,使外设能被cpu访问到。 (6)错误检测功能 可进行数据校验,保证数据传输的正确性。
高速的微处理器与低速的外设能够协调的工作,需要有一个具有数据缓冲和锁存能力、数据格式转换能力、提供外设状态和定时控制能力的连接电路,我们把它叫做输入输出接口。高速的微处理器与低速的外设能够协调的工作,需要有一个具有数据缓冲和锁存能力、数据格式转换能力、提供外设状态和定时控制能力的连接电路,我们把它叫做输入输出接口。
6.1.2 I/O接口的分类 CPU与接口之间通过系统总线传输信息,属于并行传输,传输的信息有接口的地址信息、控制信息和数据信息。 接口与设备之间可以通过串行和并行两种方式交换信息,包括数据信息、控制信息和状态信息。
按接口与设备之间的数据传送方式,接口分为:按接口与设备之间的数据传送方式,接口分为: 并行接口:一次传送一个字节或字的所有位。 串行接口:一位一位地传送。
6.2 I/O端口及其编址方式 CPU与外设进行数据传输,接口电路需要设置若干专用寄存器,缓冲输入输出数据,设定控制方式,保存输入输出状态信息,这些寄存器常称为端口。 接口中可被CPU直接访问的专用寄存器称为端口。 端口可分为: 数据端口:CPU与外设交换数据信息; 状态端口:保存外设当前的状态信息; 控制端口:CPU向外设发出的控制信息;
CPU通过对端口分配地址识别它们,称为编址。 CPU给每个端口分配一个地址,称为端口地址或端口号。 一个接口中的多个端口分配连续地址。 思考:专用寄存器中保存的是什么数据?这些数据可能是从哪里来的?
根据传输方向,端口可分为输入端口和输出端口。根据传输方向,端口可分为输入端口和输出端口。 输入端口:具有“通断”控制能力 输出端口:具有锁存能力
+5V 74LS244 I0 K0 I1 DO0 ~ DO7 K1 D0~D7 I2 K2 I3 K3 IOR I4 A2 K4 A3 I5 A4 K5 & E1 E2 A5 A6 ≥1 I6 系统总线信号 A7 K6 A8 A9 I7 A15 K7 A10 A11 ≥1 A12 A13 A14 三态门作输入接口
+ 5V 74LS273 D0 D0 ~ Q0 ~ 1 D7 D7 Q1 A0 A1 + 5V A2 系 统 总 线 信 号 & A3 … A4 A5 A6 A7 CP Q6 IOW ≥1 1 Q7 A8 A9 A10 & A11 A12 74LS273 A13 A14 A15 74LS273 作输出端口
6.2.2 I/O端口的编址方式 I/O端口编址方式是计算机系统为I/O端口分配端口号的方式。 常见的I/O编址方式有两种: • 与内存单元统一编址方式 • 独立编址方式
与内存单元统一编址方式: • 将存储器的存储单元与外设的端口统一编址,即一个端口与一个存储器单元等同看待;通常为一个外设的各个端口分配连续的地址。 • 优点:数据传送指令、测试指令都可以访问I/O端口,不用设置专门的I/O指令;不需要专用的I/O端口控制信号。 • 缺点:划出的端口地址范围,不能再作为内存地址使用 ,所以减少了内存地址空间。
独立编址方式: 又称单独编址方式,给外部设备分配专用的端口地址,提供专用的控制信号,使它们成为一个独立的I/O地址空间,与内存编址无关。 优点:不占用内存空间;输入输出地址线根数少,I/O端口译码电路简单。 缺点:需要专用的I/O指令、专用控制线。
8088/8086CPU采用了I/O端口独立编址方式,它使用地址信号线A0~A15,最多能够管理64K个端口,地址范围0000H~FFFFH,有专用的控制信号IOR和IOW或IO/M、WR、RD;8088/8086CPU采用了I/O端口独立编址方式,它使用地址信号线A0~A15,最多能够管理64K个端口,地址范围0000H~FFFFH,有专用的控制信号IOR和IOW或IO/M、WR、RD; 8位的端口地址用于访问系统主板上的设备;16位的端口地址用于访问串行口或并行口以及视频和磁盘驱动系统。
+5V 10KΩ D0 K A0 A1 A2 A3 A4 ≥1 A5 A6 A7 A8 A9 A10 A11 ≥1 A12 & A13 A14 A15 IOR
0 0 0 内存地址 (共960KB) 内存地址 (共1MB) 端口地址 (共64KB) FFFFH EFFFFH F0000H 端口地址 (共64KB) FFFFFH FFFFFH a 统一编址地址空间 b 独立编址地址空间 图6-2 两种不同编址方式的地址空间 专用指令: • IN • OUT
I/O端口地址的译码 • I/O端口的地址译码与内存地址译码原理一样,可以用基本逻辑门电路搭建,也可以使用专用的译码器译码。
a b c d e f g DP +5V 74LS273 7406 D0 Q0 D0 1 Q1 1 ~ ~ Q2 D7 D7 1 D0 Q3 1 系 统 总 线 IOW Q4 1 CP ≥1 Q5 1 Q6 1 Q7 1 A15 510Ω×8 A14 74LS138 A13 A12 G2A A11 ≥1 A10 74LS244 A9 10KΩ A8 A7 A6 G1 Y0 & C K A5 A4 ≥1 A3 G2B Y1 A2 C A1 B A0 A IOR A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A0 0 0 0 0 0 0 0 0 1 1 1 1 0 X X X
6.3 CPU与外部设备之间的数据传送方式 主机与外设之间通过一定的控制方式进行信息交换,常用的控制的方式包括无条件传送方式、程序查询传送方式、中断传送方式、直接存储器存取(DMA)方式。
6.3.1 无条件传送方式 又称为同步方式,适合简单外设的数据输入输出。 常用外设:开关、继电器、步进电机、发光二极管等。 优点:控制程序简单,软、硬件开销都少。
6.3.2 程序查询传送方式 又称为条件传送方式。 I/O接口中有一个状态端口,CPU通过读取状态端口的信息了解设备目前的状态。 工作过程: • 检查外设的状态,判断外设是否“准备好”。 • 若没有准备好,则继续查询其状态。 • 外设已准备好,CPU与外设进行数据传送。 • 若还有数据待传输,则转①,否则终止传输。
程序查询传送方式流程图 • 缺点: • 效率低 • 实时性差
6.3.3 中断传送方式 当设备处于空闲状态或者外设数据准备好时,接口向CPU发出中断请求信号,CPU收到申请后及时响应接口的中断请求,暂停执行主程序,转入执行I/O操作程序(中断服务子程序),完成数据传输之后再返回到主程序继续执行,这种数据传送方式称为中断方式。
中断传送流程图 执行主程序 输入/输出指令 执行主程序 一条指令执行结束 有中断请求? 是 中断响应 否 中断处理,执行数据输入/输出 执行主程序 中断返回 • 优点: • 实时性好 • 处理迅速 • 缺点: • 不适用于大量数据的高速传输
程序控制下的输入输出方式 无条件传送方式、程序查询传送方式和中断传送方式在数据传送过程中,CPU从内存读出数据,再输出到外部设备,因此,这三种方式被统称为程序控制下的输入输出方式(Programmed input and output),简称PIO方式。
6.3.4 DMA方式 直接存储器存取(Direct Memory Access)方式简称为DMA方式。 是在内存储器和I/O设备之间建立数据通路,不经过CPU的干预,实现内存与外设之间的快速数据传送。 实现DMA方式需要专门的硬件装置DMA控制器(DMAC),它负责控制外设与内存之间的数据传输。(8237A-5、8237-2)
DMAC的功能 • DMAC接收外设请求信号,并向CPU发出总线请求信号。 • DMA过程中可实现: • 向地址总线发送地址信号,能够生成读写控制信号。 • 控制数据传送的字节数。 • DMA过程结束时,能向CPU发出DMA结束信号,并将总线的控制权交还给CPU。
DMAC的工作流程 ①外设向DMA控制器发出“DMA传送请求”信号(DRQ); ② DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD,表示希望占用总线; ③ CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,向DMA控制器发出“总线响应”信号(HLDA)。 ④ DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK; ⑤ DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送; ⑥规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。
6.4 简单接口电路的应用 接口电路结构包括: (1)和系统总线的连接部分; (2)和外设的连接部分; (3)信号转换电路; (4)上述三部分的控制逻辑。
74LS244: 8个三态门 两个控制端:1G和2G,低电平有效,各控制4个三态门 A端为数据输入端,Y端为数据输出端。 当控制端为低电平时,数据从A端输入,Y端输出;当控制端为高电平时,三态门呈高阻状态,A端与Y端断开。
端口地址分别为FFC0H与FFC1H。 读取开关的程序: MOV DX, 0FFC0H IN AL, DX
【例题6-1】 分析电路,说明输入端口的地址范围,编写程序判断8个开关的状态,如果8个开关都闭合执行GOON程序段,否则执行NEXT程序段。
MOV DX, 0FFC1H IN AL, DX TEST AL, 0FFH JZ GOON NEXT: … MOV AX, BX ADD AX, CX GOON: …
测试K3的状态,K3断开时转到Label处执行,程序段如下:测试K3的状态,K3断开时转到Label处执行,程序段如下: TEST AL, 4 JNZ Label …… Label: ……
6.4.2 简单的输出接口电路 74LS273、74LS374 8位D锁存器,输入端D0~D7, 输出端Q0~Q7 MR清除端,为低电平时,芯片复位,Q端输出全为0; CP触发端,上升沿触发,当CP从低电平到高电平跳变时,D0~D7的数据输出到Q0~Q7并锁存。
+ 5V 74LS273 D0 D0 ~ Q0 ~ 1 D7 D7 Q1 A0 A1 + 5V A2 系 统 总 线 信 号 & A3 … A4 A5 A6 A7 CP Q6 IOW ≥1 1 Q7 A8 A9 A10 & A11 A12 74LS273 A13 A14 A15 74LS273 作输出端口
八段LED 显示器 a a b c d e f g h a b c d e f g h f b g e c h d (a)段排列 (b)共阴极 (c)共阳极 图6-13 八段LED 显示器 com com
【例题6-2】 74LS273作为输出接口电路驱动一个共阴极8段LED显示器。请在LED显示器上循环显示数字0~F 。