微机原理 第七章 中断技术
微机原理和汇编语言 第7章 输入输出和中断.ppt
7.1 I/O接口概述
7.1.1 I/O接口的作用
1. I/O接口
微处理器与存储器构成了微型计算机系统的 主机部分,为了使微型计算机工作,还必须配上 各种外部设备,简称外设,将外设中主要用来实 现数据的输入/输出、实现人机联系的设备称为 输入/输出设备,即I/O设备。
当要把外设与微处理器相连时,往往需 要配上相应的电路。通常把介于主机和外设之间 的一种缓冲电路称为I/O接口电路,简称I/O接口。
(1) 数据信息:它是CPU与外设之间传送的 主要信息,可分为数字量、模拟量和开关量三种 形式。
(2) 状态信息:是外设通过接口送往CPU的 信息,作为外设与CPU之间交换数据的联络信号, 反映了当前外设所处的工作状态。
(3) 控制信息:是CPU通过接口传送给外设 的信息,用来设置外设(包括接口)的工作方式、 控制外设的工作等。
数据信息
DB
状态信息
CPU
I/O接口
外设
控制信息
图7.2 CPU与外设交换的信息
7.1.3 I/O接口的基本结构(接口与端口) 接口(Interface):介与主机和外设之间的 缓冲电路。 端口(Port):接口中可以进行寻址读写的 寄存器,简称口。 一个接口往往含有几个端口,CPU通过输入 输出指令向这些端口取或存信息。端口主要有三 类:一类为状态口,一类为命令口(或控制口), 一类是数据口。 CPU通过输入指令从状态口获取外设的状态 信息,通过输出指令从命令口发出控制命令,控 制外设的工作。通过输入输出指令可以从数据端 口与外设交换数据。因此说,计算机主机与外设 之间交换信息都是通过接口中的端口来实现的。
CPU
I/O 接口
外设
图7.1 主机与外设的连接
《微机原理与接口》知识点第7章中断控制器8259
五、引入中断请求的方式
1、边沿触发方式
特点:将中断请求输入端出现的上升沿作为中断请求信号。
2、电平触发方式 特点:将中断请求输入端出现的高电平作为中断请求信号。
3、中断查询方式 特点: 1.外设通过向8259A发中断请求信号要求CPU服务。
2.CPU内部的中断允许触发器复位。
3.CPU使用软件查询来确认中断源。
第7章 中断控制器
7.1 8259A概述
7.2 8259A的引脚信号、编程结构和工作原理 7.3 8259A的工作方式 7.4 8259A的初始化命令字和操作命令字
7.5 8259A使用举例
第7章 中断控制器8259A 重点: 1、8259A的编程结构和工作原理 2、8259A的初始化命令字、操作命令字 3、8259A的初始化流程和初始化编程 4、8259A的应用
;×××10×11B ;设置ICW1 ;00011000B~ 00011111B ;设置ICW2 ;00000001B ;设置ICW4
三、8259A的操作命令字
1、OCW1 :中断屏蔽操作命令字
D7 M7 D6 M6 D5 M5 D4 M4 D3 M3 D2 M2 D1 M1 D0 M0 A0 1
中断 触发 方式
A0
0
是否设 置ICW4 规定单片或 级连方式
1:设置ICW4 0:不设ICW4
1:单片方式 0:级连方式
2、ICW2 :设置中断类型码初始化命令字
ICW2高五位与中断类型码的高五位相同。 注:该命令字必须写入“奇地址”端口,即A0=1。
3、ICW3 :标志主/从片初始化命令字
D7 D6 D5 D4 D3 D2 D1 D0
特点:发结束命令时,指令内不指定清除ISR中的哪一位, 由8259A自动将最高优先级对应的ISR中非零位复位,结 束当前正在处理的中断。 用于全嵌套方式。
微机原理第7章 8086中断系统和中断控制器
3)高级中断源能中断低级的中断处理
中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时, 如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程 序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被 1 中止的中断服务程序,这一过程称为中断嵌套。 • 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。
外部中断 非屏蔽中断 可屏蔽中断
可屏蔽中断源
CPU 中断逻辑
INTR
8259A 中断 INTA 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
内部中断: 除法错中断 指令中断 溢出中断 单步中断
硬件(外部)中断 非屏蔽中断请求 INT 2 NMI(17号引脚) 中 断 逻 辑 可屏蔽中断请求 中断类型号32~255 INTR(18号引脚)
中断指令 INT n N=32~255
溢出中断 INTO INT 4
断点 中断 INT 3
单步中断 (TF=1) INT 1
除法 错误 INT 0
软件(内部)中断
8086/8088中断源
1.软件中断(内部中断) 8086/8088的软件中断主要有三类共五种。 (1) 处理运算过程中某些错误的中断 执行程序时,为及时处理运算中的某些错误 ,CPU以中断方式中止正在运行的程序,提醒程 序员改错。 ① 除法错中断(中断类型号为0)。在8086 /8088 CPU执行除法指令(DIV/IDIV)时,若发现 除数为0,或所得的商超过了CPU中有关寄存器所 能表示的最大值,则立即产生一个类型号为0的 内部中断,CPU转去执行除法错中断处理程序。
微机原理伍中断
中断结束的管理就是用不同的方式使ISR的相应位清“0”, 并确定下面的优先排队。 .完全嵌套情况 .自动循环情况 .特殊完全嵌套情况
8259A的内部结构
第七章 中断
7.2.3 8259A的编程
第七章 中断
8259A是一个可编程器件,在正常操作之前用程序规定 其优先权管理方式、中断结束方式、级联的引入等
RD,INTA,INT; • 用于8259A级联的管脚CAS0-CAS2,SP/ EN; • 端口地址选择信号CS,A0。
第七章 中断
7.2.2 8259A的中断管理方式
一、中断优先权管理(4种) 1.完全嵌套方式
固定优先权:IR0>IR1>…>IR7。 高优先级的中断可进入低优先级,但低优先级不能 进入高优称级或同等优先级。 2.自动循环方式 IR0-IR7轮流具有最高优先权。 当任何一级中断被处理完,它的优先级别就被改变 为最低,而最高优先级分配给该中断的下一级中断。
使用25H功能时要求:AL=中断类型号,DS∶DX=中断服
务程序首地址的段、偏移地址。
PUSH DS
;保存当前数据段
MOV DX,SEG INT60H
MOV DS,DX
MOV DX,OFFSET INT60H
MOV AL,60H
;设中断类型号为60H
MOV AH,25H
INT 21H
POP DS
第七章 中断
二、操作命令字
第七章 中断
1.OCW1的格式 实现屏蔽功能,OCW1的内容被置入中断屏蔽寄存器 IMR中,Di为“1”:禁止对应的IR端的中断请求.
Di为“0”:允许对应的IR端的中断请求. OCW1的格式如下:
微机原理第7章练习题及答案
第7章输入/输出与中断一、自测练习题㈠选择题1.一微机系统有10根地址线用于I/O端口寻址,因而具有I/O空间的范围是( )字节。
A) 1024 B) 10K C) 0.5M D) 1M2.8086CPU读/写一次存储器或I/O端口所需的时间称为一个( )。
A) 总线周期 B) 指令周期 C) 时钟周期 D) 基本指令执行时间3.微型计算机的输入/输出有三种不同的控制方法,其中以( )控制的输入/输出是微机进行I/O的一种最主要的控制方式。
A) 程序控制 B) 中断控制C) DMA控制D) 以上均可4.程序查询I/O方式的工作流程是按( )的次序完成一个字符的传输。
A) 写数据端口,读/写控制端口B) 读状态端口,读/写数据端口C) 写控制端口,读状态端口,写数据端口D) 随I/O接口的具体要求而定5.在CPU与外设的I/O传送控制方式中,效率高、实时性强的方式是( )。
A) 同步传送 B) 查询传送 C) 无条件传送 D) 中断传送6.在CPU与外设的I/O传送控制方式中,传送速度最快的方式是( )。
A) 无条件传送 B) 查询传送 C) 中断传送 D) DMA传递7.用具有两个状态(“0”和“1”态)的一组开关作简单输入设备时,应采用( )传送方式来输入信息。
A) 无条件B) 查询C) 中断D) DMA8.用一组发光二极管作为简单输出设备时,应采用( )传送方式来输出信息。
A) DMA B) 无条件C) 查询D) 中断9.在微机系统中引入中断技术,可以( )。
A) 提高外设速度B) 减轻主存负担C) 提高处理器的效率D) 增加信息交换的精度10.CPU响应中断请求的时刻是在( )。
A) 执行完成正在执行的程序以后 B) 执行完正在执行的指令以后C) 执行完本时钟周期以后D)执行完正在执行的机器周期以后11.8086/8088CPU向应两个硬中断INTR和NMI时,相同的必要条件是( )。
A) 允许中断B) 当前I/O操作执行结束C) 总线空闲D) 当前访问内存操作结束12.在微型计算机系统中,高速外设与内存储器进行批量数据传送时,应采用( )。
微机原理14162中断处理过程
8
§7.2 中断处理过程
二、CPU对中断的响应
3. 识别中断源
CPU要对中断进行处理,必须找到相应的中断服 务程序的入口地址,这就是中断源的识别。
4. 保护现场
为了不使中断服务程序的运行影响主程序的状态, 必须把断点处的相关寄存器及标志寄存器压栈保 护。
5. 执行中断服务程序
6. 恢复现场 7. 开中断及返回
2019/10/3
4
§7.2 中断处理过程
一、CPU响应中断的条件
中断允许触发器的状态可用指令CLI和 STI来改 变,下述三种情况可关闭中断:
1) 当CPU复位时,中断允许触发器处于关中 断状态;
2) 中断请求被响应后,CPU自动关中断; 3) CPU执行关中断指令CLI后,中断关闭。
2019/10/3
2019/10/3
7
§7.2 中断处理过程
二、CPU对中断的响应
CPU进入中断响应周期后,中断响应过程如下:
1. 关中断
CPU在响应中断后,发出中断响应信号INTA,同 时内部自动关中断,以禁止接受其它的中断请求。
2. 保护断点 把断点处的IP及CS值入栈保存,以备中断处理完 后能正确返回断点。
2019/10/3
四、中断优先级
17
§7.2 中断处理过程
实现方法:
将8个外 设的中断 请求触发 器组合为 一个端口, 并给这个 端口赋以 设备号 (口地址),
2019/10/3
四、中断优先级
18
§7.2 中断处理过程
四、中断优先级
然后,把各外设的中断请求信号相或后作为INTR信 号。任何外设有中断请求时,都可向CPU发出INTR 信号。CPU响应中断后,把中断寄存器的状态作为 一个输入端口读进CPU,然后逐位检测其状态,若 有中断请求就转入相应的中断服务程序,这样优先 级的级别取决于软件查询的顺序,先测试的中断源 具有较高的优先级。
《微机原理与应用教学资料》第七章中断(课件)
软件中断
由软件执行特定指令产生的中断,如系统调 用。
中断优先级
根据中断的重要性和紧急程度,对中断进行 优先级划分。
微机中的中断处理程序
01
中断处理程序的定义
中断处理程序是用于处理中断的程序,它负责执行与该中断相关的操作。
02
中断处理程序的实现
中断处理程序通常由汇编语言或C语言编写,并嵌入在操作系统的内核
实时通信
在实时通信中,中断被用来处理各种通信事 件,如数据包的接收和发送、通信状态的改 变等。中断使得系统能够及时响应通信事件, 保证通信过程的可靠性和实时性。
中断在多任务系统中的应用
任务调度
在多任务系统中,中断被用来实现任务的动 态调度。当某个任务需要被执行时,相应的 中断被触发,系统根据中断的类型和优先级 进行任务调度,保证任务的及时执行。
中断识别机制
CPU通过中断识别逻辑电路识别中断 源和中断类型,并根据中断类型执行 相应的中断处理程序。
向量地址的获取
CPU在识别到中断后,会获取该中断 的中断向量地址,即该中断处理程序 的入口地址。
中断响应
中断响应过程
CPU在收到中断请求后,会暂停当前正在执行的程序,保存现场,然后转到相应的中断处理程序开始 执行。
现场的保护
为了在中断处理完毕后能继续执行原来的程序,CPU需要将原来的程序现场保存下来,以便之后能正 确恢复执行。
中断处理
中断处理程序
中断处理程序是专门用于处理特定中断 的程序,它负责完成该中断所要求的任 务,如数据传输、设备控制等。
VS
中断返回
当中断处理程序执行完毕后,CPU会恢复 原来的程序现场,并继续执行原来的程序 。
微机原理与接口技术课件 7.中断向量表(已看)
8259A的工作过程
8259A对中断请求的处理过程如下:
当某IRi有效时,IRR相应位置1 若有效的IRi未被屏蔽,则向CPU发出中断请求INT 检测到第1个INTA信号后,置ISRi=1,IRRi=0 检测到第2个INTA信号后,把ISRi=1中最高优先级 的中断类型码 n 放到DB上
19
可编程中断控制器8259A
PIC,Programmable Interrupt
可对8个中断源实现优先级控制 (单个管8个) 可扩展至对64个中断源实现优 先级控制(9个管64个) 可编程设置不同工作方式(多套 管理方案) 根据中断源向x86提供不同中断 类型码n(来访者1人1号) 引脚分配及功能见右图
的中断;
内部中断:由处理器电路或中断指令产生的中断,
如除0中断,int指令等。
4
8086的中断向量表
存放各类中断的中断服务程序的入口地址CS:IP(段 CS和偏移IP)——中断向量 表的地址位于内存的00000H~003FFH,大小为 1KB,共256个中断向量(中断向量表) 每个中断向量占用4 Bytes,低字为段内偏移IP,高 字为段基址CS 根据中断类型号n获得中断服务程序入口的方法: 中 断向量在IVT中的存放地址=4×n (中断向量地址)
中断指令 INT n
(n=0~255)
软件 硬件
外部/硬件中断请求
2
NMI
非屏蔽中断请求
可 屏 蔽
中 断 请 求
11
DB
3 中断逻辑
n 中断控 制器 8259A PIC
0
1
单步中断
内部排队 中断开关
微机原理(中断概念)
必要性及应用 中断功能便于实现 1.分时操作
CPU和外设同时工作;CPU可以通过 分时操作启动多个外设同时工作,统一 管理。大大提高了CPU的利用率,也提 高了输入、输出的速度。
2.实时处理
3.故障处理
4.主机与外设之间的速度匹配
计算机在运行过程中,往往会出现事 先预料不到的情况,或出现一些故障: 如电源突跳,存储出错,运算溢出等等。 计算机就可以利用中断系统自行处理, 而不必停机或报告工作人员。
3. 8086从0030H开始读取4字节中断处理程 序的入口地址,前两字节装入IP,后两 字节装入CS,8086执行中断处理程序。
中断向量的装入
• 中断向量的装入方法:用MOV指令 • 假设中断类型号为60H,中断服务程序的偏移地
址是1234H,段地址5678H
• MOV AX,00H • MOV ES,AX; 0段 • MOV BX,60H*4; (=180H)中断向量指针 • MOV AX,1234; 中断服务程序偏移地址 • MOV ES:[BX],AX;装入偏移地址 • MOV AX,5678H; 中断服务程序段地址 • MOV ES:[BX+2],AX;装入段地址
8086中断时序
➢ 8086对外部硬件中断请求INTR的响应:
当INTR有一高电平,即有可屏蔽中断请求。 若此时IF=1且当前指令执行完,进入中断响 应周期,处理过程如下:
1. INTA*在两个总线周期中分别发出有效信号, 在第二个周期中8086读到中断类型码,然后 乘以4,得到中断向量。
2. 下一条指令地址CS和IP入栈,标志寄存器入 栈,清除IF和TF标志位。
中断嵌套
CPU正在执行 主程序
CPU正在执行 低级中断服务
微机原理课件第七章微型计算机中断系统
CPU根据中断优先级和状态等信 息,判断哪个中断请求应先被响 应。
中断响应
CPU响应中断请求,将当前程序 的计数器PC和状态寄存器PSW保 存到堆栈中,并跳转到相应的中 断处理程序入口地址。
执行中断服务程序
CPU执行相应的中断处理程序, 完成对突发事件的响应和处理。
中断请求
当某个事件发生时,相应的中断 源向CPU发出中断请求。
中断的历史与发展
中断的概念最早出现在1950年代的真空管计算机中,当时主要用于实现人机交互。
随着集成电路和计算机技术的发展,中断系统逐渐完善,并广泛应用于各种计算机 系统中。
现代计算机的中断系统已经实现了向量中断、可编程中断控制器等技术,能够更好 地满足各种应用需求。
02
中断的基本概念
中断的定义与特点
VS
实时处理广泛应用于工业控制、航空 航天、医疗设备等领域,对于这些领 域来说,系统的实时性至关重要,中 断系统的快速响应和高效处理能力能 够保证系统的稳定性和可靠性。
多任务处理
多任务处理是指计算机系统同时处理多个任务的能力。在多任务处理中,中断系统同样扮演着重要的角色。当多个任务同时 请求计算机系统进行处理时,中断系统能够根据任务的优先级和紧急程度进行调度和管理,确保系统能够高效地完成多个任 务。
中断向量包括中断处理程序的地址和中断类型号,通过中 断向量表可以快速找到对应的中断处理程序地址,从而实 现快速响应和处理中断。
04
中断处理过程
中断请求与优先级
中断请求
当某个外部事件需要CPU立即处 理时,相应的设备会向CPU发出 中断请求信号。
中断优先级
多个中断同时发生时,CPU会根 据中断优先级的高低来决定先处 理哪个中断。
微机原理 第七章中断控制器
CAS2
3
2 . 8259A的编程结构和工作原理
4
编程结构 (1)上半部分:处理部件 中断请求寄存器IRR 中断优先级裁决器PR 当前中断服务寄存器ISR (2)下半部分:7个寄存器 ICW1~ICW4 OCW1~OCW3
5
中断请求寄存器IRR
保存8条外界中断请求信号IR0-IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求
1. 中断优先权管理方式: 可见,8259A (1) 全嵌套方式 (2)特殊全嵌套方式 有多中工作方式, (3)自动循环方式 (4)特殊循环方式 使用起来很灵活, 2. 屏蔽中断源的方式 不易掌握,所以介 (1)普通屏蔽方式 (2)特殊屏蔽方式 绍编程之前,先对 3. 中断结束方式 其工作方式分类进 (1) 自动结束(AEOI)方式 行简要的介绍。 (2) 非自动结束(EOI)方式: ① 普通EOI方式;② 特殊EOI方式 4. 系统总线的连接方式(8259A级连方式) (1) 缓冲方式 (2)非缓冲方式 5. 中断请求的引入方式 (1) 边沿触发 (2)电平触发 (3)中断查询
• 优先级特殊循环方式:初始优先级队列是由编程确定的。 也可由操作命令字OCW2来设定。
10
2、屏蔽中断源的方式
• 普通屏蔽方式:8259A的每个中断请求输入端都可以通过 对应屏蔽位的设置被屏蔽,通过设置操作命令字OCW1使 屏蔽器中任一位或几位置1(对中断的屏蔽总是暂时的, eg:计算机网络通信)
5.
6.
16
五、中断响应过程(CPU与8259A的操作过程)
1、申请中断 外设 对应IR0 ~ IR7为“1”, 为“1” CPU的INTR输入“1”,申请中断。 2、响应中断的条件 CLI 使 IF = 0,禁止中断。 STI 使 IF = 1,允许中断。 判优后使INT
微机原理及应用(第7章)讲解
7.3 可编程中断控制器Intel 8259A
在PC/XT微机系统中使用了一片8259A,在 PC/AT微机系统中使用了两片8259A。目前的PC
系列微机,其外围接口芯片(如80C286)都集
成有与两片8259A相当的中断控制电路。
7.3.1 8259A的功能
⑴ 具有8级优先权控制,通过级联可扩展至64级 ⑵ 每一级均可通过编程实现屏蔽或开放。
器。
7.2
80x86中断系统
80x86的中断系统可处理256种个中断 源。这些中断源可分为两大类: 外部中断(硬件中断) 内部中断(软件中断)
7.2.1 外部中断(硬件中断)
1、可屏蔽中断INTR 受CPU中断允许标志位IF的控制,即IF=1时,CPU 才能响应INTR引脚上的中断请求。
2. 需要说明的引脚:
A0:地址线,输入,在使用中8259A占用相邻两个端口地址,A0与 配合,A0=1 CS 选中奇地址端口,A0=0选中偶地址端口。在80X86的PC系列机中,主片 8259A的 端口地址为20H和21H。 CAS2~CAS0:级联信号线,对主片8259A,它为输出;对从片8259A,它为输入。 主、从片8259A 的CAS2~CAS0对应相连,主片8259A在第一个响应周期内通过 CAS2~CAS0送出识别码,而和此识别码相符的从片8259A在接收到第二个信号后 ,将中断类型码发送到数据总线上。
中断向量设置(DOS功能调用 INT 21H) 功能号:AH=25H 入口参数:AL=中断类型号,
DS:DX=中断向量(段地址:偏移地址)
获取中断向量(DOS功能调用 INT 21H)
微机原理课件第七章 中断系统
第七章中断系统一、中断的概念设20H存放按键次数,每按键一次,20H加1。
也就是每次有中断,就要执行一条指令:INCB 20H程序的执行过程:若无按键按下,程序一直处于显示过程,显示20H中的按键次数,一旦按键按下,产生中断,程序中断显示过程,执行一条指令(INCB 20H),然后再回到显示过程,显示20H中的新内容。
MAIN:LCALL INITLOOP1:LCALL DISPLA YLJMP LOOP1问题:INCB 20H放在什么位置?解决方案:将INCB 20H放在单独的位置,将此指令的地址存入某固定地址(中断向量表:每种中断都有不同的地址),当中断产生时,将当前程序运行的PC指针的内容存入堆栈,然后CPU在某个固定地址中去寻找INCB 20H这条指令的存放地址,并将当前程序运行的PC指针的内容改成INCB 20H这条指令的存放地址,执行这条指令,指令执行完,通过RET指令,从堆栈中取出原来保存的程序中断前运行的地址,并根据此内容改变PC指针,使程序从中断处,继续运行。
程序清单:ORG 200EHDCW ANINTORG 2080HMAIN:LCALL INITLOOP1:LCALL DISPLA YLJMP LOOP1INIT:∞∞∞RETDISPLA Y:∞∞∞RETANINT:INCB 20HRET二、中断向量在CPU的地址空间中特殊规定的存储空间,里面存放特定中断服务程序的首地址,不同种类的中断有独立的中断向量。
一个中断向量占2个字节。
由不同种类的中断向量组成的集合叫中断向量表。
三 8098的中断系统1、中断源:共9种。
软件中断、外中断、串行口中断、软件定时器中断、HSI.0中断、高速输出中断、高速输入数据有效中断、A/D 转换完毕中断、定时器溢出中断。
2、中断优先级:当CPU 同时有几个中断申请,CPU 可根据不同种类的中断优先级,来判断先响应哪个中断。
见书P71-表3.13、8098中断结构图:见书P70-图3.1A 、 信号跳变检测器:8098所有中断源可分为两类,外部中断和内部中断。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
四、CPU与 I/O 端口之间传送信息的方式(续)
传 送 C P U 外 设 查 询 等 待 I / O 工 作 传 送 查 询 等 待 I / O 工 作 传 送
t
图 7 . 5查 询 传 送 方 式 下 C P U 与 外 设 工 作 过 程 示 意 图
北京邮电大学计算机科学与技术学院 周 锋
7
三、I/O 端口的编址方式
● I/O 端口: 把I/O接口电路中能被CPU直接访问的寄 存器或某些特定器件称之为端口(Port)。I/O接口中 常设有数据口、命令口和状态口。 ● I/O端口的编址方式
• 与存储器统一编址(或存储器映射方式) 优点:指令多且齐全;端口空间大。 缺点:指令长且慢;占用内存空间。 • I/O 独立编址 优点:指令短(设有单独的I/O指令)执行快;不占内存 空间;程序易读。 缺点:端口空间小;需要单独的I/O读、写信号。
第七章 中断技术
北京邮电大学计算机科学与技术学院 周 锋
1
本章的主要内容
本章主要介绍:
• I/O的基本知识(接口的功能与作用,端口编址方式,信
息传送方式,端口地址分配与地址译码等) • 中断的基本原理(中断请求、判优、响应、处理、返回)
• 8086中断系统(中断源,中断向量表,中断类型号,中断
响应过程等) 程)
wait1: mov dx,stport in al,dx test al,80h ;当ready=1,数据已准备好。 jz wait1 ;当ready=0,数据未准备好。 mov dx,dtport ; 准备好,读端口数据 in al,dx
北京邮电大学计算机科学与技术学院 周 锋
10
四、CPU与 I/O 端口之间传送信息的方式(续)
总线 主设备 (CPU)
I/O 接口
总 线
数据 状态 命令/ 控制 外 设
图 7.1
I/O接 口 在 系 统 中 的 位 置
4
北京邮电大学计算机科学与技术学院 周 锋
一、I/O接口的重要作用(续)
◎ I/O接口:连接外设与总线之间的逻辑电路的总
称。即总线主设备与外设之间的桥梁。 ♦ 通过I/O接口,总线与外设可以交换数据,主设备可以控
制该I/O口的工作(向I/O口写入命令);监测与管理I/O口的 工作状态;必要时,I/O口还可产生中断请求。
♦ 主设备与外设交换数据还存在以下问题需要解决:
• 速度不匹配 • 信号电平不匹配(TTL, CMOS, RS-232等) • 信号格式不匹配(并行、串行、模拟、数字等) • 时序不匹配(外设有自己的定时与控制逻辑)
13
四、CPU与 I/O 端口之间传送信息的方式(续)
◎DMA传送方式
DMA (Direct Memory Access)传送方式又称直接存储器
9
图7.3 无条件传送的输入方式
北京邮电大学计算机科学与技术学院 周 锋
四、CPU与 I/O 端口之间传送信息的方式(续)
◎程序查询传送方式 读I/O端口状态信息,若准备就绪,就输入或输出, 否则,就继续查询等待。显然,该方式CPU的大部分时 间都用在了查询和等待了,所以传送效率不高。 下图是一个查询输入的接口电路。其查询程序如下:
北京邮电大学计算机科学与技术学院 周 锋
5
微机系统中的各种I/O接口
内存 CPU 内存接口 电源
系统总线
输入接口
输出接口
通信接口
过程控制接口
外存接口
智能仪器接口
键盘 光笔 数字化仪 声音输入 图形输入
打印机 显示器 绘图仪 记录仪
终端 MODEM 电传机 通信 仪表
ADC DAC 开关量 输入 /输 出
11
四、CPU与 I/O 端口之间传送信息的方式(续)
◎中断传送方式
该方式可大大提高CPU的工作效率。 该方式是:当外设要求CPU交换数据时,可向CPU 发出中断请求,CPU在执行完当前指令后,即可中 断 当前任务的执行,根据中断源提供的中断类型号, 转入相应的中断处理程序,以实现对外设的数据传 送和管理。 该方式可实现CPU和外设并行工作。
• 中断控制器8259A(内部结构,工作原理,工作方式及编 • PC XT/AT机中的外部中断逻辑
北京邮电大学计算机科学与技术学院 周 锋
2
第一节
I/O 接口
北京邮电大学计算机科学与技术学院 周 锋
3
一、I/O 接口的重要作用
• 输入和输出设备是计算机系统的重要组成部分。外设与计算 机主机连接是通过各种I/O接口实现的。所以,I/O接口在系 统中起着重要的桥梁作用。如图:
IOR(读数据) AEN 到数据总线
读状态信息
输 入 设 备
锁存器 (8)
三态 缓冲器 (8)
状态 信息
地 址 译 码 器
N
A0~A9
READY=1? Y 输入数据
RQ D +5V
缓冲器 Ready (1) AEN (读状态) IOR
图7.4 查询输入的接口电路与输入程序流程图
北京邮电大学计算机科学与技术学院 周 锋
磁带机 磁盘机 光 存 储 器
各种 数字 化仪器
图 7.2
微 机 系 统 各 种 I/O接 口 示 意 图
6
北京邮电大学计算机科学与技术学院 周 锋ຫໍສະໝຸດ 二、I/O 接口的主要功能
● 数据缓冲功能(解决速度差异) ● 设备选择(端口地址,译码) ● 信号转换功能(电平,并、串,数、模等转换) ● 对外设的控制与监测功能(发命令,监测状态等) ● 中断请求与管理 ● 可编程功能
北京邮电大学计算机科学与技术学院 周 锋
8
四、CPU与 I/O 端口之间传送信息的方式
◎无条件传送
电路简单,CPU访问时总认为I/O已准备好。下面是一个无条 件传送的输入方式电路:
数据总线 来自外设 数据 三态 缓冲器 地址总线 A0~A9 Y AEN IOR
地址 译码器
图中,AEN是地址 允许信号。 当AEN=0由CPU控制 总线; 当AEN=1时,由DMA 控制总线。 CPU读三态缓冲器时 总认为数据已准备就绪
中 断 处 理 C P U 外 设 中 断 处 理 中 断 处 理
C P U 做 其 他 工 作 I / O 工 作
C P U 做 其 他 工 作 I / O 工 作
t
图 7 . 6 中 断 传 送 方 式 下 C P U 与 外 设 工 作 过 程 示 意 图
北京邮电大学计算机科学与技术学院 周 锋