第五章:输入输出基本技术 主讲教师:范新民.

Slides:



Advertisements
Similar presentations
第1章第1章 PC/AT 系統 1 Chapter 1 Chapter 1 PC/AT 系統 001.
Advertisements

微型计算机原理及应用.
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
微型计算机技术 教 学 指 导(七) 太原广播电视大学 郭建勇.
第10章 DOS功能调用与BIOS中断调用.
第十二章 DMA控制器 12.1 概述 A DMA控制器 A的应用.
半导体存储器 第四章 半导体存储器.
第5章 输入输出与接口技术.
第五章 总线 及其形成 本节课之前,大家学习了:
第七章 单片机存储器的扩展.
第五章 微处理器总线操作与时序 三、总线时序 一、 8086/8088引脚 二、最小模式和最大模式.
汇编语言与接口技术 教师:范新民.
输入/输出及接口 输入/输出的传送方式 中断技术 80x86/Pentium中断系统 8259A可编程中断控制器 中断程序设计
第 6 章 I/O 接口和总线 中国科学技术大学 何克东.
第7章 常用数字接口电路.
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第7章 中断与异常.
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
第三章 寻址方式与指令系统 3.1 寻址方式 一条指令通常由两大部分构成: 操作码 操作数
微机原理与接口技术 第3章 8086指令系统 朱华贵 2015年09月25日.
第6章 DMA传输 6.1 DMA传输原理 6.2 DMA控制器8237A A的编程使用 欢迎辞.
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日.
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
第2章 16位和32位微处理器 位微处理器8086/ 位微处理器80386
第5章 输入输出与接口技术.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
第二部分 PC 微机异步通信适配器的分析和使用 一、PC中的UART 1.INS PC16450/PC16550
第七章 MCS-51并行口的扩展 MCS51单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(74LS3734和74LS245)和可编程的并行口芯片(8255)。 7.1 不可编程并行口芯片的扩展 7.2 可编程并行口芯片的扩展.
微机原理及应用 主讲:郑海春.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
第8章 PCH中的常规接口.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
第7章 微型机接口技术 可编程定时/计数器 可编程并行接口 串行接口与串行通信(概念) DMA控制器接口(不做要求) 模拟量输入/输出接口.
微型机系统与接口技术自学部分 只作扩展知识用 本电子课件包含2011版第3, 6, 7, 8章自学部分 东南大学计算机科学与工程学院.
第二章 8086/8088系统结构 主要内容 8086/8088微处理器的内部结构 8086/8088 CPU 的引脚与功能
微型计算机原理及应用.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
1.3 微型计算机的结构和工作原理.
第 13 章 中断系统.
第 12 章 8237A DMA控制器及其应用 中国科学技术大学 何克东.
第5章 循环与分支程序设计 学习目标: 了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。掌握起泡排序算法这种多重循环程序设计中的常用方法。交换标志位的设置在此算法中更能提高效率。学会在数组排序算法中采用折半查找法来提高查找效率。学会使用跳跃表法实现CASE结构。
第6章作业 3、 需要128块芯片 片内译码地址线:10条 片选择地址线:至少4条
4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 DOS系统功能调用和BIOS中断调用
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
第九章 微处理器外部结构和总线操作时序.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
习题3 1、 分别说明下列指令的原操作数和目的操作数各采用什么寻址方式。 设定如下: ①立即寻址 ② ① ②寄存器寻址
可编程定时计数器.
《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月17日.
微型计算机技术 教 学 指 导(五) 太原广播电视大学 郭建勇.
第八章 中断系统.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月06日.
第12章 中断 罗文坚 中国科大 计算机学院
第十章 直接存储器存取(DMA)控制.
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
第二章 8086系统结构 /8086的存储器组织 的系统配置及引脚功能 CPU时序
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
第8章 并行接口芯片 并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI) 目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似.
微型计算机系统.
Presentation transcript:

第五章:输入输出基本技术 主讲教师:范新民

输入输出基本技术 1 2 3 4 5 5.1 输入输出概述 5.2 输入输出的控制方式 5.4 I/O接口中的中断控制电路 5.1 输入输出概述 1 5.2 输入输出的控制方式 2 5.3 8086的中断系统 3 5.4 I/O接口中的中断控制电路 4 5.5 I/O接口芯片概述 5

把外围设备同计算机连接起来实现数据传送的控制电路称为外设接口电路。 输入输出基本技术 5.1 输入/输出概述 把外围设备同计算机连接起来实现数据传送的控制电路称为外设接口电路。 5.1.1 外设接口的功能及组成 1、外设接口的功能 (1)转换信息的格式 (2)提供联络信号 (3)协调定时差异 (4)进行译码选址 (5)实现电平转换 (6)具备时序控制 (7)最好可编程序

输入输出数据锁存器和缓冲器,用以解决CPU 与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用。 输入/输出概述 2、接口电路中应具有如下电路单元 输入输出数据锁存器和缓冲器,用以解决CPU 与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用。 控制命令和状态寄存器,以存放CPU对外设的控制命令和外设的状态信息。 地址译码器,用来选择接口电路中的不同端口。 读写控制逻辑。 中断控制逻辑。

5.1.2 接口与端口 数据信息可以有数字量、模拟量和开关量三种类型 输入/输出概述 数据信息、状态信息和控制信息通常都以数据形式通过CPU的数据总线同CPU进行传送的,这些信息分别存放在外设接口的不同类型的寄存器中。CPU同外设之间的信息传送实质上是对这些寄存器进行“读”或“写”操作。 数据信息可以有数字量、模拟量和开关量三种类型

输入/输出概述 外设接口 (Interface): CPU与外设之间传递信息的控制电路,是CPU与外设之间传送信息的一个“界面”、一个连接部件。 外设接口通过CPU的三总线(或微机总线)同CPU连接,通过三种信息—数据信息、控制信息和状态信息同外设连接。

端口可分为“数据口”、“状态口”与“控制口”。 数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 输入/输出概述 端口(Port): 接口中可以由CPU进行读或写的寄存器。 端口可分为“数据口”、“状态口”与“控制口”。 数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 控制端口:用于存放CPU对外设或接口的控制信息,控 制外设或接口的工作方式。

输入/输出概述 一个基本的外设接口原理图

8086指令系统中有专门访问I/O接口的输入/输出指令 输入/输出概述 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寄存器中。

指令功能:用DX间接寻址,把DX表示端口地址的端口的 8位信息传送给AL。 DX为0000-FFFFH的值; 输入/输出概述 (2)指令格式2: IN AL,DX 指令功能:用DX间接寻址,把DX表示端口地址的端口的 8位信息传送给AL。 DX为0000-FFFFH的值; 例:MOV DX,200H IN AL,DX 实现将200H号端口的内容送入AL

指令功能:读入port、port+1两个I/O端口的内容, 分别送入AL和AH。 例:IN AX,20H ; 输入/输出概述 (3)指令格式3: IN AX,port 指令功能:读入port、port+1两个I/O端口的内容, 分别送入AL和AH。 例:IN AX,20H ; 一次读入20H、21H两个端口的内容,分别送入AL和AH中。

指令功能:用DX间接寻址,读取由DX和DX+1表示端口 地址的两个端口的内容,分别送入AL和AH 中。 输入/输出概述 (4)指令格式4:IN AX,DX 指令功能:用DX间接寻址,读取由DX和DX+1表示端口 地址的两个端口的内容,分别送入AL和AH 中。 例: MOV DX,200H IN AX,DX。 用这两条指令,输入200H和201H号端口的内容,分别送入AL和AH中。

指令功能:把AL的信息传送给地址为port的端口; 例: OUT 20H,AL。 该指令把AL寄存器的内容送到20H端口中; 输入/输出概述 2、输出指令 (1) 指令格式1:OUT port,AL 指令功能:把AL的信息传送给地址为port的端口; 例: OUT 20H,AL。 该指令把AL寄存器的内容送到20H端口中;

指令功能:把AL中的信息传送给由DX表示端口地址的 一个端口 例: MOV DX,200H OUT DX,AL 输入/输出概述 (2) 指令格式2:OUT DX, AL 指令功能:把AL中的信息传送给由DX表示端口地址的 一个端口 例: MOV DX,200H OUT DX,AL 把AL寄存器的内容,送入200H号端口。

指令功能:该指令一次把AL和AH内容,分别送入地址 为port和port+1的两个I/O端口中。 例: OUT 20H,AX 输入/输出概述 (3)指令格式3: OUT port,AX 指令功能:该指令一次把AL和AH内容,分别送入地址 为port和port+1的两个I/O端口中。 例: OUT 20H,AX 把AL和AH的内容,分别送入20H、21H两个端口中。

指令功能:该指令一次把AL和AH中的内容,分别送入 由DX和DX+1表示的两个端口。 例: MOV DX,200H OUT DX,AX 输入/输出概述 (4)指令格式:OUT DX,AX 指令功能:该指令一次把AL和AH中的内容,分别送入 由DX和DX+1表示的两个端口。 例: MOV DX,200H OUT DX,AX 把AL和AH中的内容,分别送入200H和201H号两个端口。

5.1.4 I/O端口的编址方式 I/O端口的编址方式有两种: 独立编址和存储器统一编址 1、独立编址(专用的I/O端口编址) 输入/输出概述 5.1.4 I/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端口的操作指令不同,程序比较清晰; 存储器和I/O端口的控制结构相互独立,可以分别设计。 独立编址方式的缺点: I/O指令的功能一般不如存储器访问指令丰富; 程序设计灵活性较差。

输入/输出概述 独立编址方式

I/O端口的读写操作同样由硬件信号IO/M、WR和RD组合实现 、 信号。 输入/输出概述 2、存储器映象编址(统一编址) 存储器和I/O端口共用统一的地址空间 I/O端口的读写操作同样由硬件信号IO/M、WR和RD组合实现 、 信号。 访问I/O端口同样用MOV指令,所有访问存储器的指令(包括存储器的算术、逻辑运算指令)都可用于I/O端口,系统编程比较灵活。 I/O占用了一部分内存空间 指令的机器码也长,执行时间较长。

输入/输出概述 统一编址方式

在数据传送过程中,关键问题是数据传送的控制方式,控制方式主要有: 5.2 数据传送的控制方式 在数据传送过程中,关键问题是数据传送的控制方式,控制方式主要有: 5.2.2、程序控制传送方式 程序控制的数据传送指以CPU为中心,数据传送的控制来自CPU,通过预先编制好的输入或输出程序(传送指令和I/O指令)实现数据的传送。 分为无条件传送、查询传送和中断传送。

外部控制过程各种动作时间是固定的,而且是已知的 程序控制传送方式 1、无条件传送方式(同步传送) 外部控制过程各种动作时间是固定的,而且是已知的 实现方法: CPU不查询外设工作状态;CPU与外设速度的匹配通过在软件上延时完成;在程序中直接用I/O指令完成与外设的数据传送,接口只包含数据端口。 主要用于: 外设随时准备好同CPU之间的数据传送; 外设的定时是固定且是已知的场合,外设必须在微处理器限定的指令时间内准备就绪,并完成数据的接收或发送。

程序控制传送方式 无条件输入/输出传送方式的典型接口电路

无条件传送方式下对开关(输入设备)和发光二极管(输出设备)的接口电路。 无条件传送方式举例: 无条件传送方式下对开关(输入设备)和发光二极管(输出设备)的接口电路。 三态缓冲器可选用74LS244或74LS245或8286,而输出数据寄存器可选用74LS273或74LS373或8282等8D 锁存器。 vcc

输入接口电路的地址为2F1H,输出接口电路的地址为2F0H。 无条件传送方式举例: 输入接口电路的地址为2F1H,输出接口电路的地址为2F0H。 CPU 执行下述语句就完成了输入数据的传送: MOV DX,2F1H IN AL,DX   CPU 执行下述语句就完成了输出数据的传送: MOV AL ,LEDST ;如:LEDST=01010101 MOV DX ,2F0H OUT DX ,AL

用于外设的定时是不固定的或未知的场合。 CPU必须先对外设进行状态检测。 完成一次传送过程的步骤如下: 程序控制传送方式 2.查询传送方式(异步传送方式) 用于外设的定时是不固定的或未知的场合。 CPU必须先对外设进行状态检测。 完成一次传送过程的步骤如下: (1)通过执行一条输入指令,读取所选外设的当前状态。 (2)根据该设备的状态决定程序去向,如果外设正处于“忙”或“未准备就绪”,则程序转回重复检测外设状态,如果外设处于“空”或“准备就绪”,则发出一条输入/输出指令,进行一次数据传送。

程序控制传送方式 查询传送的输入接口电路

相应的程序段为: AWAIT : IN AL,29H TEST AL,01H JZ AWAIT IN AL,28H MOV [BX],AL 输入设备条件传送方式的程序流程图。 相应的程序段为: AWAIT : IN AL,29H TEST AL,01H JZ AWAIT IN AL,28H MOV [BX],AL  

程序控制传送方式 查询传送的输出接口电路

打印机在条件传送方式下的程序流程图: 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 MOV AL,AH CMP AL,0AH JNZ AWAIT

程序控制传送方式 3、中断传送方式 通常是在程序中安排好在某一时刻启动某一台外设,然后CPU继续执行其主程序,外设完成数据传送的准备后,向CPU发出“中断请求”信号,在CPU可以响应中断的条件下,现行主程序被“中断”,转去执行“中断服务程序”,在“中断服务程序”中完成一次CPU与外设之间的数据传送,传送完成后仍返回被中断的主程序,从断点处继续执行。在一定程度上实现了主机和外设的并行工作。

程序控制传送方式 有关中断的几个基本摡念: 1、中断和中断源 中断: 是指在CPU正常运行程序时,由于内、外部事件引起CPU暂时中止正在运行的程序,转而去执行请求CPU暂时中止的内、外部事件的服务程序,待该服务程序处理完毕后又返回到被中止的程序。 中断源: 能够向CPU发出中断请求的中断来源。

一般的输入输出设备,如CRT终端、行式打印机等。 数据通道,如磁带、磁盘等。 程序控制传送方式 常见的中断源: 一般的输入输出设备,如CRT终端、行式打印机等。 数据通道,如磁带、磁盘等。 实时时钟,如定时器芯片8253等的定时输出作为定时中断请求信号。 故障信号,如电源掉电等。 软件中断,如为调试程序而设置的中断源。

① 中断处理:包括发现中断请求、响应中断请求、中断处理与中断返回。 ② 中断控制:主要是实现中断优先级的排队和中断嵌套。 程序控制传送方式 2、中断系统的功能 ① 中断处理:包括发现中断请求、响应中断请求、中断处理与中断返回。 ② 中断控制:主要是实现中断优先级的排队和中断嵌套。 3、中断的主要用途 实现输入输出操作。 电源掉电或其他情况的报警。 控制台或人工干预。 多处理机系统中各处理机之间的协调。 控制操作系统。

CPU内部不能屏蔽的中断。如掉电、数据传送错误等。 程序控制传送方式 4、可屏蔽中断与不可屏蔽中断 可屏蔽中断: CPU内部能够屏蔽的中断。所谓屏蔽是指CPU能拒绝响应中断请求信号,不允许打断CPU所执行的主程序。这通常是由内部的中断触发器(或中断允许触发器)来控制的。如输入输出设备请求的中断。 不可屏蔽中断: CPU内部不能屏蔽的中断。如掉电、数据传送错误等。

5、CPU 响应中断的条件 (1) 设置中断请求触发器 要求每一个中断源有一个中断请求触发器。 (2) 设置中断屏蔽触发器 程序控制传送方式 5、CPU 响应中断的条件 (1) 设置中断请求触发器 要求每一个中断源有一个中断请求触发器。 (2) 设置中断屏蔽触发器 在有多个中断源的情况下,为增加控制的灵活性,常要求在每一个外设的接口电路中,设置一个中断屏蔽触发器,只有当此触发器为1 时,外设的中断请求才能被送到CPU。

在CPU 内部有一个中断允许触发器,即标志寄存器中的IF位。只有当其为1 时(即中断开时) ,CPU才能响应中断。(STI、CLI) 程序控制传送方式 (3)设置中断允许触发器的状态 在CPU 内部有一个中断允许触发器,即标志寄存器中的IF位。只有当其为1 时(即中断开时) ,CPU才能响应中断。(STI、CLI) (4) CPU 在现行指令结束后响应中断 在满足上面3 个条件的情况下,CPU 在执行现行指令的最后一个总线周期的最后一个时钟周期( T 状态)时,才采样中断输入线INT,若发现中断请求有效,则把内部的中断锁存器置1 ,下一总线周期进入中断响应周期。

程序控制传送方式 中断输入方式硬件接口电路

当输入设备准备好一个数据后,发出选通信号STB,将8位数据送入锁存器U1,同时将中断请求触发器U2置1。 程序控制传送方式 工作过程: 当输入设备准备好一个数据后,发出选通信号STB,将8位数据送入锁存器U1,同时将中断请求触发器U2置1。 若系统允许该设备发出中断请求,则中断允许触发器U3已置“1”,通过与门U7向CPU发出中断请求信号INTR。 在CPU开中断的情况,在现行指令结束后,CPU响应该设备的中断请求,执行中断响应总线周期,发出中断响应信号 。

外设把一个字节的中断类型码(中断识别码)送上数据总线。 程序控制传送方式 外设把一个字节的中断类型码(中断识别码)送上数据总线。 CPU根据该中断识别码转而去执行中断服务程序,打开三态缓冲器U4读入数据,同时复位中断请求触发器U2,中断服务完成后,再返回被中断的主程序。

1、DMA操作的基本方法: (1)周期挪用(Cycle Stealing) 利用CPU不访问存储器和外设的那些周期来实现DMA操作。 数据传送的控制方式 5.2.3 DMA(直接存储器存取)传送方式 DMA(Direct Memory Access)是一种不需要CPU干预也不需要软件介入的高速数据传送方式,CPU只启动而不干预这一传送过程,整个传送过程由DMA控制器(DMAC)控制的硬件完成,而不需软件介入。 1、DMA操作的基本方法: (1)周期挪用(Cycle Stealing) 利用CPU不访问存储器和外设的那些周期来实现DMA操作。

当DMAC要进行DMA传送时,DMAC向CPU发出DMA请求信号 DREQ; (2)周期扩展 当要进行DMA操作时,时钟电路把CPU的时钟周期加宽,而提供给存储器和DMAC的时钟不变,加宽的周期可用来进行DMA操作。一次只能传送一个字节。 (3)CPU的停机方式 最常用、简单的传送方式 。 传送过程: 当DMAC要进行DMA传送时,DMAC向CPU发出DMA请求信号 DREQ;

DMAC接到信号后,就可对总线进行控制,进行数据传送的控制工作,直到DMA操作完成; CPU在现行的总线周期(机器周期)结束后,使其地址总线、数据总线和部分控制总线处于高阻状态,从而让出对总线的控制权,并给出DMA响应信号DACK; DMAC接到信号后,就可对总线进行控制,进行数据传送的控制工作,直到DMA操作完成; CPU恢复对总线的控制权,继续执行被中断的程序。

在DMA响应信号DACK有效前,DREQ必须保持有效; DREQ在传送过程中一直保持有效,在两次传送之间也必须释放总线。 (1)单字节传送方式 在DMA响应信号DACK有效前,DREQ必须保持有效; DREQ在传送过程中一直保持有效,在两次传送之间也必须释放总线。 (2)成组传送方式 若在DACK有效前DREQ一直保持有效时,一个DMA请求可传送一组信息, 一旦DACK有效,不管DREQ是否有效,DMAC一直不放弃总线控制权,直到整个数组传送完。

每传送一个字节后,DMAC就检测DREQ,若无效,则挂起;若有效,继续DMA传送,直到一组信息传送结束或外加信号强制DMAC中止操作。 (3)请求传送方式(查询传送方式) 每传送一个字节后,DMAC就检测DREQ,若无效,则挂起;若有效,继续DMA传送,直到一组信息传送结束或外加信号强制DMAC中止操作。

3、DMA控制器的基本功能 DMA(直接存储器存取)传送方式 (1)能接受外设的DMA请求信号DREQ,并能向外设发出DMA响应信号DACK; (2)能向CPU发出总线请求信号(HOLD和BUSRQ),当CPU发出总线响应信号(HLDA和BUSAK)后能接管对总线的控制权,进入DMA方式; (3)能发出地址信息,对存储器寻址并修改地址指针; (4)能发出读、写等控制信号,包括存储器和I/O访问信号; (5)能决定传送的字节数,并能判断DMA传送是否结束; (6)能发出DMA结束信号,释放总线,使CPU恢复正常工作。

DMA(直接存储器存取)传送方式 4、DMA控制器的工作过程

DMA(直接存储器存取)传送方式 DMAC工作示意图: 数据总线 STB

DMA(直接存储器存取)传送方式 DMA工作过程波形图:

分为可屏蔽中断和不可屏蔽中断,有两条中断信号线—INTR和NMI,可供外设向CPU发中断请求。 8086 的中断系统 5.3 8086的中断系统 8086的中断系统最多能处理256种不同的中断类型。每个中断都有一个中断类型码(Type Code),以供CPU进行识别。中断源分为两类,即外部中断和内部中断。 外部中断: 分为可屏蔽中断和不可屏蔽中断,有两条中断信号线—INTR和NMI,可供外设向CPU发中断请求。 内部中断: CPU内部引起的中断。

8086 的中断系统 8086/8088中断源

8086 的中断系统 1.可屏蔽中断INTR 如果IF=“H”表示INTR线上的中断开放,CPU在完成现在正在执行的指令后,识别该中断请求,并进行中断处理。 CPU对INTR中断请求的响应过程是执行两个INTA(中断响应)总线周期。

内部中断是通过软件调用的中断以及指令执行过程中产生的‘异常’。 8086 的中断系统 2.不可屏蔽中断NMI 不可屏蔽中断请求信号NMI用来通知CPU发生了“灾难性”的事件,如电源掉电、存储器读写出错、总线奇偶位出错等。在CPU响应NMI时,不必由中断源提供中断类型码(规定为2),因此NMI响应也不需要执行总线周期INTA。 5.3.2 内部中断 内部中断是通过软件调用的中断以及指令执行过程中产生的‘异常’。

溢出中断:OF置“1”,执行溢出中断指令(INTO),产生一个中断类型码为4的中断。 8086 的中断系统 溢出中断:OF置“1”,执行溢出中断指令(INTO),产生一个中断类型码为4的中断。 除法出错中断(中断类型码为0) INT n指令中断(中断类型码为n) 断点中断:断点中断即单字节INT3指令中断(中断类型码为3) 单步(陷阱)中断:当陷阱标志TF置“1”时,8086/8088处于单步工作方式。单步方式是一种有用的调试工具(中断类型码为1)

(1)中断类型码或包含在指令中,或是预先规定的; (2)不执行INTA总线周期; (3)除单步中断外,任何内部中断都无法禁止; 8086 的中断系统 内部中断的特点: (1)中断类型码或包含在指令中,或是预先规定的; (2)不执行INTA总线周期; (3)除单步中断外,任何内部中断都无法禁止; (4)除单步中断外,任何内部中断的优先级都比任何外部中断的优先级高。 中断优先级: 除法出错,INT n ,INTO       NMI     INTR     单步

8086 的中断系统 5.3.3 中断向量表 8086中断向量表 中断向量表是存放中断服务程序入口地址(即“中断向量”)的表格。存放在存储器的最低1K字节,每4个字节存放一个中断服务程序的入口地址。 给出中断类型码n,CPU将n×4得中断向量表的地址指针,找到该指针对应的4个内存单元,前2字节送IP,后二字节送CS,由此转入中断服务程序。

5.4 I/O 接口中的中断控制电路 应考虑以下几个问题: CPU与多个中断源的连接 中断源的识别 中断优先级 中断传送方式的接口电路

8086CPU外部中断有两根引脚:INTR、NMI 接口中的中断控制电路 5.4.1 CPU与多个中断源的连接 8086CPU外部中断有两根引脚:INTR、NMI INTR 外 部 设 备

查询程序依次读出每一个外设的中断状态位,通过测试该状态位来判断对应的外设是否发出过中断请求,若是,则转到相应的中断服务程序。 接口中的中断控制电路 5.4.2 中断源的识别:(两种方法) 1.查询中断 查询程序依次读出每一个外设的中断状态位,通过测试该状态位来判断对应的外设是否发出过中断请求,若是,则转到相应的中断服务程序。 2、向量中断(矢量中断) 每个外设都预先指定一个中断类型码(又称中断码) ,当CPU 识别出某个外设请求中断并予以响应时,控制逻辑就将该外设的中断类型码送入CPU ,以自动地提供相应的中断服务程序的入口地址,转入中断服务。

接口中的中断控制电路 用软件查询法寻找中断源:

使用中断优先排队的处理方法。这就是根据中断源要求的轻重缓急,排好中断处理的优先次序。先响应优先级最高的中断请求。 接口中的中断控制电路 5.4.3 中断优先级 使用中断优先排队的处理方法。这就是根据中断源要求的轻重缓急,排好中断处理的优先次序。先响应优先级最高的中断请求。 确定中断优先级的方法有以下几种: 软件查询确定中断优先级 硬件查询确定优先级 中断优先级编码电路

中断优先级的判断 1.软件查询确定中断优先级 当CPU响应中断后,读入中断寄存器的状态,逐位检测,若某位有中断请求,即转入相应的中断服务程序入口。在查询方式中询问的次序即为优先级的次序,不需要有判断和确定优先级的硬件排队电路。

中断优先级的判断 2.硬件查询确定优先级

中断优先级的判断 3.中断优先级编码电路

接口芯片概述 5.4.4 中断传送方式的接口电路

5.5.1 I/O接口电路的发展与分类 1、I/O接口电路(I/0接口芯片)的发展 接口芯片概述 5.5 I/O 接口芯片概述 5.5.1 I/O接口电路的发展与分类 1、I/O接口电路(I/0接口芯片)的发展 I/O接口电路与CPU 芯片同步发展,以微型计算机系统为例,每种系列的CPU芯片都有对应的I/O接口芯片与之配套,以构成高性能的微型计算机系统。例如,Intel 8080/8086微处理器的配套I/O接口芯片8251、8253、8255、8237和8259等。

接口芯片概述 2、I/O接口电路的分类 (1)按功能选择的灵活性来划分 不可编程接口芯片 这种接口芯片内部的接口电路比较简单,接口功能单一,工作方式基本固定,使用方便,例如数据缓冲器74LS244和74LS245、数据锁存器74LS373等。 可编程接口芯片 接口芯片内部的接口电路非常复杂,接口功能强,具有多种工作方式,可以在不改变硬件连接的情况下,通过软件编程来改变芯片的内部结构选择芯片的工作方式及接口功能。如:Intel 公司的8251、8253、8255、8237和8259等。

接口芯片概述 (2)按接口的通用性来划分 通用接口芯片 可编程接口芯片具有接口功能强、通用性好的特点,适应各种不同外设的需要,是一种通用接口芯片,可作为不同的并行外设、串行外设的接口,以及用于定时和计数。 专用接口芯片 对一些复杂的外设Intel 等公司开发和生产了大量可编程的专用接口芯片,如8295、8279、8257 等,这些专用接口芯片的使用为计算机系统和计算机应用系统中CPU与外设的接口提供了极大的方便。

5.5.2 简单的I/O接口 在外设接口电路中,对传输过程中的信息进行放大、隔离以及锁存的就是缓冲器、数据收发器和锁存器。 1、锁存器74LS373 功能表 8D锁存器,由8个D门组成,具有三态驱动输出; 8个输入端1D~8D、8个输出端1Q~8Q; 2个控制端 — G和OE; 使能G 输出允许 输入D 输出Q H L 从H到L后 X Q0 Z

简单的I/O接口 锁存器74LS373:

74LS244缓冲后,输入信号被驱动,电流放大,输出信号的驱动能力加大了; 简单的I/O接口 2、缓冲器74LS244 三态输出的八缓冲器和线驱动器; 结构: 8个输入端,分为二路:1A1~1A4,2A1~2A4; 8个输出端,分为二路:1Y1~1Y4,2Y1~2Y4; 分别由2个门控信号 和 ; 功能: 当 和 为低电平时,芯片工作,此时Y = A; 74LS244缓冲后,输入信号被驱动,电流放大,输出信号的驱动能力加大了;

简单的I/O接口 74LS244缓冲器逻辑电路和引脚图

两个控制端—使能端G和方向控制端DIR; 简单的I/O接口 3、数据收发器74LS245 三态输出的8总线收发器,通常用于数据的双向传送、缓冲和驱动。 结构: 16个双向传送的数据端,A1~A8,B1~B8; 两个控制端—使能端G和方向控制端DIR; 74LS245功能表: 使能G 方向控制 传送方向 L B→A H A→B × 隔开 常用的数据收发器还有74LS243、Intel 8286、Intel 8287等

74LS245八总线收发器逻辑电路和引脚图

5.5.3 简单的I/O接口芯片应用举例 1、发光二级管接口 功能:控制8个LED间隔发光,每5秒变换 发光状态,工作10小时。 MOV CX,7200 MOV AL,55H LOP: OUT 80H,AL CALL DELAY5S XOR AL,0FFH DEC CX JNZ LOP MOV AH,4CH INT 21H D0 D1 D2 D3 D4 D5 D6 D7 8086 系统总线 A7~A0 WR M/IO 1D 2D 3D 4D 5D 6D 7D 8D 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q 译码器 Y0 ≥1 G OE G1 G2 +5V 8 74LS373 LED1 LED7 功能:控制8个LED间隔发光,每5秒变换 发光状态,工作10小时。

2、开关接口 简单的I/O接口芯片应用举例 功能:每隔5分钟读取S1~S8的状态,并保存在 MOV AX,2000H MOV DS,AX MOV BX,3000H MOV CX,120 LOP:IN AL,80H MOV [BX],AL INC BX CALL DELAY5M LOOP LOP MOV AH,4CH INT 21H D0 D1 D2 D3 D4 D5 D6 D7 8086 系统总线 A7~A0 RD M/IO 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4 译码器 Y0 ≥1 1G 2G G1 8 74LS244 G2 功能:每隔5分钟读取S1~S8的状态,并保存在 2000H:3000H开始的数据区中。10小时结束

3.利用锁存器74LS373和数据收发器74LS245 ,将8086的双 重总线分开 简单的I/O接口芯片应用举例 功能: 将8086 双重总线AD0~AD7 中的地址总线A0~A7和数据总线D0~D7分离出来。

Thank You ! www.1ppt.com