005_微机原理-输入输出系统与中断技术_3
合集下载
单片机原理与接口技术第5章 输入/输出与中断

5.2 中断的概念
一、 中断的定义 所谓中断,是指CPU正在处理某些 事务的时候,外部又发生了某一事件, 请求CPU及时处理。于是,CPU暂时 中断当前的工作,转而处理所发生的事 件。处理完毕,再回到原来被中断的地 方,继续原来的工作。这样的过程,称 为中断。
二、中断系统
1、几个技术名词 中断源:产生中断请求的事件(外部中断0,外部中断1,定时 器T0中断、定时器T1中断、串行口中断) 中断请求(中断申请):中断源向CPU提出的处理请求 中断响应过程:CPU暂时中止自身事务,转去执行事件处理的 过程 中断服务(中断处理):对事件处理的整个过程
CPU与外设之间的数据传送方式通常有以下3种方式:无 条件传送方式、查询方式和中断方式。 1、无条件传送方式 当CPU与外设之间的数据传送采用无条件传送方式时,CPU 总是认为外设时刻处于“准备好”的状态。因此,采用这种数 据传送方式不需要交换状态信息。比如将显示代码送给LED数 码管的时候就可以采用这种方式。
中断返回:事件处理完毕再回到原程序被中止的地方,继续执 行程序
主程序:在中断之前正在运行的程序
中断服务程序:响应中断之后CPU执行的处理程序
2、中断系统的任务(主要解决的问题) (1)中断源以什么方式提出中断,CPU如何识别提出中断的 中断源 回答:通常CPU为每个中断源设置一个中断请求触发器,把 该触发器置“1”,就会向CPU发出中断请求且一直保持这一 状态,直到CPU响应该中断请求,并且清除这一信号,才会 结束请求。
补充内容:(地址的译码) 以上了解了单片机外围芯片的编址方式,但是还不了解外 围芯片地址的组成(地址的译码)。对外围芯片进行处理的时 候主要要完成两个选择:一是必须选择出要操作的芯片,(片 选);二是选出该芯片的存储字节单元。也就是真正的地址是 由两部分组成的,片选加字节单元。 常用方法:线选法和译码法
微机原理与接口技术——中断系统

08H 定时中断
09H 键盘中断
0AH 保留的硬件中断
0BH 异步串口2中断
0CH 异步串口1中断
0DH 并口2(硬磁盘)中断
0EH 软盘中断
INTR
类型码 0FH 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 1AH 1BH 1CH 1DH
中断源 并口1(打印机)中断 显示器驱动程序 设备检测 存储器检测 软盘驱动程序 通信驱动程序 盒式磁带机驱动程序 硬盘驱动程序 打印机驱动程序 BASIC程序 引导(BOOT)程序 年月日定时中断 用户键盘 用户定时器时标 CRT初始化参数
(4)溢出中断 类型号为04H
对带符号数来说,溢出就意味着出错(加、减运算 ),一旦产生应立即发现,而CPU并不知道当前处理的 数据是无符号数还是带符号数,只有程序员才明确这一 点。
因此通常在带符号数的加、减法运算后面总是跟着 INTO指令
(4)溢出中断 类型号为04H
当标志寄存器的OF=0时,则INTO指令不产生中断,CPU继 续运行原程序; 当OF=1时,进入溢出中断处理程序,打印出一个出错信息 ,在处理程序结束时,不返回原程序继续运行,而是把控制 交给操作系统。
内部中断的种类
(2)单步中断(陷阱中断) 类型号为01H
三、8086/8088指令系统中没有设置或清除TF 标志的指令,但指令系统中的PUSHF和POPF为 程序员提供了置位或复位TF的手段。置位和复位 TF的程序段如下所示:
内部中断的种类
(2)单步中断(陷阱中断) 类型号为01H
置位TF标志(D8=1) PUSHF POP AX OR AX, 0100H PUSH AX POPF
有更高级别的中断源发出请求,且新中断源满足 响应条件;
微机原理与应用课件 第6章输入输出和中断技术1-2-09

第6章 输入/输出和中断技术
5. 接口(interface)与端口(port)
传送I/O信息(数据、状态、控制)的接口电路中的寄存器 称为端口(数据端口、状态端口和控制端口)。 不同的寄存器有不同的端口地址,用地址来访问。 端口由一个或多个寄存器组成。接口由若干个端口加上相 应的控制逻辑组成。
注意:地址不是对接口而言。
第6章 输入/输出和中断技术
6.1 输入输出及接口 6.2 输入和输出的传送方式 6.3 中断技术 6.4 80X86/Pentium中断系统 6.5 8259A可编程中断控制器* 6.6 中断程序设计*
第6章 输入/输出和中断技术
地址总线 AB
CPU
存 I/O 输 储 接入 器 口设
备
输
I/O 接 口
6. I/0接口电路的结构
第6章 输入/输出和中断技术
实现对CPU数据总线速度 和驱动能力的匹配
DB 总线驱动
主 AB 地址译码
机 CB 控制逻辑
数据 缓冲器
状态 寄存器
控制 寄存器
数据信息
状态信息 外 设
控制信息
接CPU一侧 接外设一侧
接口
端口
实现各寄存器端口 寻址操作
实现接口电路中的各寄存器端口的 读/写操作和时序控制
出 设 备
数据总线 DB 控制总线 CB
微型计算机系统结构示意图
第6章 输入/输出和中断技术
6.1 输入输出及接口
键盘
计算机
接 口
外设
鼠标 CRT
打印机
绘图仪 为什么外设不能象存贮器一样直接挂在CPU上?
存贮器功能单一:
(1)传送方式单一 (传送一个字节)
(2)品种单一 RAM、ROM(控制信号确定)
微机原理与接口技术-输入和输出

普通高等学校计算机教育“十三五”
微机原理与接口技术
内容导航
CONTENTS
7.1 概述 7.2 CPU与外设数据传送的方式 7.3 中断系统 61..44 提微高型存计储算器机性的能结的构技术 6.5 微机主存空间分配
7.1 概述
7.1.1 输入\输出的寻址方式
第七章 输入和输出
CPU寻址外设可以有两种方式。 1.存储器对应输入输出方式
图7-4 并行通信与串行通信
7.1.5 可编程接口概念
第七章 输入和输出
在接口芯片中,各硬件单元不是固定接死的,可由 用户在使用中选择,即通过计算机的命令来选择不同的通 道和不同的电路功能,称为“编程控制”。接口电路的组 态(即电路工作状态)可由计算机指令来控制的接口芯片 称为“可编程接口芯片”。
图ห้องสมุดไป่ตู้-7 查询式输入时的数据和状态信息
第七章 输入和输出
查询部分的程序如下:
POLL:IN AL, STATUS_PORT TEST AL, 80H JE POLL IN AL, DATA_PORT
;从状态端口输入状态信息 ;检查READY是否为1 ;未READY,循环 ;READY,从数据端口输入数据
7.1.2 CPU与I/O设备之间的接口信息 第七章 输入和输出
1.数据(Data) (1)数字量 (2)模拟量 (3)开关量 2.状态信息(Status) 3.控制信息(Control)
图7-1 CPU与I/O之间传送的信息
第七章 输入和输出
图7-2 CPU与外设之间的接口
7.1.3 CPU的输入输出时序
第七章 输入和输出
图7-3 I/O读和写周期时序
7.1.4 CPU与接口电路间数据传送的形式第七章 输入和输出
微机原理与接口技术
内容导航
CONTENTS
7.1 概述 7.2 CPU与外设数据传送的方式 7.3 中断系统 61..44 提微高型存计储算器机性的能结的构技术 6.5 微机主存空间分配
7.1 概述
7.1.1 输入\输出的寻址方式
第七章 输入和输出
CPU寻址外设可以有两种方式。 1.存储器对应输入输出方式
图7-4 并行通信与串行通信
7.1.5 可编程接口概念
第七章 输入和输出
在接口芯片中,各硬件单元不是固定接死的,可由 用户在使用中选择,即通过计算机的命令来选择不同的通 道和不同的电路功能,称为“编程控制”。接口电路的组 态(即电路工作状态)可由计算机指令来控制的接口芯片 称为“可编程接口芯片”。
图ห้องสมุดไป่ตู้-7 查询式输入时的数据和状态信息
第七章 输入和输出
查询部分的程序如下:
POLL:IN AL, STATUS_PORT TEST AL, 80H JE POLL IN AL, DATA_PORT
;从状态端口输入状态信息 ;检查READY是否为1 ;未READY,循环 ;READY,从数据端口输入数据
7.1.2 CPU与I/O设备之间的接口信息 第七章 输入和输出
1.数据(Data) (1)数字量 (2)模拟量 (3)开关量 2.状态信息(Status) 3.控制信息(Control)
图7-1 CPU与I/O之间传送的信息
第七章 输入和输出
图7-2 CPU与外设之间的接口
7.1.3 CPU的输入输出时序
第七章 输入和输出
图7-3 I/O读和写周期时序
7.1.4 CPU与接口电路间数据传送的形式第七章 输入和输出
微型计算机原理及应用:第6章 输入输出和中断技术

——可寻址的端口号为0~65535(FFFFH)
•端口地址小于或等于FFH(255),可以用立即数表示端口地址 IN AL, 42H (8位) 或 IN AX,42H (16位) OUT 43H, AL (8位) 或 OUT 43,AX (16位)
6.1.4 简单的I/O接口
1. 三态缓冲.
用三态门组成,只有当CPU选通时,才允许相应的设备与CPU进 行信息传递.P225-P226
4.DMA传送:在DMAC的控制下,外设直接和存储器(也可外设与外设,存储
器与存储器之间)进行数据传送,而不必经过CPU ,传送速度基 本取决于外设与存储器的速度,从而传送效率大大提高。
6.3 中断技术
6.3.1中断及中断处理过程
中断最初是作为处理器与外部设备交换信息的一种控制方式提出的。由此,最 初的中断全部是对外部设备而言的,称为外部中断或硬件中断。
DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它 可以让外设接口直接与内存进行高速的数据传送,而不必经过 CPU。这种专门的硬件电路称为DMA控制器,简称DMAC
DMAC的功能
▪ (1)外设通过DMA控制器向CPU提出DMA申请。 ▪ (2)DMA控制器接受外设的DMA请求,取得总线控制权。 ▪ (3)总线载决逻辑对总线申请进行载决,把总线控制权交给
由于不查询外设状态,接口电路不需要状态寄存器
输入方式 IN AL, 0A0H
输出方式 OUT 0A1H, AL
A0 CE
A1
例:采用同步传送系统
(二)查询(条件)传送 适用于CPU与外设异步工作的情况。 在执行输入输出前,要先查询接口中状态寄存器的状态。 输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪 输出时,状态寄存器的状态指示输出设备是否空闲
•端口地址小于或等于FFH(255),可以用立即数表示端口地址 IN AL, 42H (8位) 或 IN AX,42H (16位) OUT 43H, AL (8位) 或 OUT 43,AX (16位)
6.1.4 简单的I/O接口
1. 三态缓冲.
用三态门组成,只有当CPU选通时,才允许相应的设备与CPU进 行信息传递.P225-P226
4.DMA传送:在DMAC的控制下,外设直接和存储器(也可外设与外设,存储
器与存储器之间)进行数据传送,而不必经过CPU ,传送速度基 本取决于外设与存储器的速度,从而传送效率大大提高。
6.3 中断技术
6.3.1中断及中断处理过程
中断最初是作为处理器与外部设备交换信息的一种控制方式提出的。由此,最 初的中断全部是对外部设备而言的,称为外部中断或硬件中断。
DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它 可以让外设接口直接与内存进行高速的数据传送,而不必经过 CPU。这种专门的硬件电路称为DMA控制器,简称DMAC
DMAC的功能
▪ (1)外设通过DMA控制器向CPU提出DMA申请。 ▪ (2)DMA控制器接受外设的DMA请求,取得总线控制权。 ▪ (3)总线载决逻辑对总线申请进行载决,把总线控制权交给
由于不查询外设状态,接口电路不需要状态寄存器
输入方式 IN AL, 0A0H
输出方式 OUT 0A1H, AL
A0 CE
A1
例:采用同步传送系统
(二)查询(条件)传送 适用于CPU与外设异步工作的情况。 在执行输入输出前,要先查询接口中状态寄存器的状态。 输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪 输出时,状态寄存器的状态指示输出设备是否空闲
微机原理与接口技术第06章 输入输出接口和中断技术(第2部分)

OUT 20H,0CH IN AL,20H
查询字格式:
I=0,无中断请求; I=1,有中断请求。 W2~W0,正在申请中断的若干中断源中优先 级最高的中断源的编码。
特定屏蔽管理:
ESMM SMM
0
*
1
0
1
1
功能 该操作对特殊屏蔽无效 取消特定屏蔽 设置特定屏蔽
设置方法: 用OCW1屏蔽部分IR, 用OCW3置SMM即可。
查询中断方式
查询中断 中断请求方式 2. 连接总线与级联方式 3.屏蔽中断源方式 4. 中断结束方式 5. 优先级排队方式 6. 嵌套方式
2.连接总线与级联方式:
1) 非缓冲方式:小系统中,8259A数据线直接连系统数据总 线,不需要总线缓冲器,此时SP/EN表示级联时主/从关系。 主片:SP/EN接高电平; 从片:SP/EN接低电平。
取消方法:
用OCW1取消被屏蔽的IR 用OCW3取消特定屏蔽
8259A命令关系表:
PIC1 PIC2 操作
内容
20H 0A0H 写 ICW1 OCW2 OCW3
21H 0A1H 写 ICW2~ICW4 OCW1
20H 0A0H 读 IRR,ISR 查询字
21H 0A1H 读 IMR
特征位 D4D3D2
1 1 1 0 0 L2 L1 L0
1 1 0 0 0 L2 L1 L0
功能 自动EOI、优先权固定命令 非自动EOI[不指定] 、优先权固定命令 非自动EOI[指定] 、优先权固定命令 自动EOI、优先权自动轮转命令
非自动EOI[不指定] 、优先权自动轮转 命令 非自动EOI[指定] 、优先权指定轮转命 令 自动EOI、优先权指定轮转命令
一
1. 8259A引脚
查询字格式:
I=0,无中断请求; I=1,有中断请求。 W2~W0,正在申请中断的若干中断源中优先 级最高的中断源的编码。
特定屏蔽管理:
ESMM SMM
0
*
1
0
1
1
功能 该操作对特殊屏蔽无效 取消特定屏蔽 设置特定屏蔽
设置方法: 用OCW1屏蔽部分IR, 用OCW3置SMM即可。
查询中断方式
查询中断 中断请求方式 2. 连接总线与级联方式 3.屏蔽中断源方式 4. 中断结束方式 5. 优先级排队方式 6. 嵌套方式
2.连接总线与级联方式:
1) 非缓冲方式:小系统中,8259A数据线直接连系统数据总 线,不需要总线缓冲器,此时SP/EN表示级联时主/从关系。 主片:SP/EN接高电平; 从片:SP/EN接低电平。
取消方法:
用OCW1取消被屏蔽的IR 用OCW3取消特定屏蔽
8259A命令关系表:
PIC1 PIC2 操作
内容
20H 0A0H 写 ICW1 OCW2 OCW3
21H 0A1H 写 ICW2~ICW4 OCW1
20H 0A0H 读 IRR,ISR 查询字
21H 0A1H 读 IMR
特征位 D4D3D2
1 1 1 0 0 L2 L1 L0
1 1 0 0 0 L2 L1 L0
功能 自动EOI、优先权固定命令 非自动EOI[不指定] 、优先权固定命令 非自动EOI[指定] 、优先权固定命令 自动EOI、优先权自动轮转命令
非自动EOI[不指定] 、优先权自动轮转 命令 非自动EOI[指定] 、优先权指定轮转命 令 自动EOI、优先权指定轮转命令
一
1. 8259A引脚
微机原理与接口技术-输入和输出
(1)可屏蔽中断
(2)非屏蔽中断
第七章 输入和输出
2.内部中断 8086可以有几种产生内部中断的情况:
在这种方式中,把一个外设端口作为存储器的一个单元
来对待,故每一个外设端口占有存储器的一个地址。从外 部设备输入一个数据,作为一次存储器读的操作;而向外 部设备输出一个数据,则作为一次存储器写的操作。
2.端口寻址的输入输出方式 在这种工作方式中:CPU有专门的I/O指令,用地址来
区分不同的外设。但要注意实际上是以端口(Port)作为 地址的单元,因为一个外设不仅有数据寄存器还有状态寄 存器和控制命令寄存器,它们各需要一个端口才能加以区 分,故一个外设往往需要数个端口地址。CPU用地址来选 择外设。
1.查询式输入
第七章 输入和输出
图7-6 查询式输入的接口电路
第七章 输入和输出 当输入设备的数据已准备好后,发出一个选通信号, 一边把数据送入锁存器,一边使D触发器为“1”,给出“准 备好”(Ready)的状态信号。而数据与状态必须由不同的 端口输入至CPU数据总线。当CPU要由外设输入信息时,先 输入状态信息,检查数据是否已准备好,当数据已经准备好 后,才输入数据。读入数据的指令,使状态信息清“0”。
第七章 输入和输出
(4)中断明确条件
CPU在现行指令结束后响应中断,即运行到指令的最 后一个机器周期的最后一个T状态时,CPU才采样INTR线 。若发现有中断请求,则把内部的中断锁存器置“1”, 然后下一个机器周期(总线周期)不进入取指周期,而进 入中断周期。其响应的流程如图7-20所示。
第七章 输入和输出
线,使CPU恢复正常工作。
第七章 输入和输出
2.DMA传送方式
(1)单字节方式 (2)字节(字符)组方式
(2)非屏蔽中断
第七章 输入和输出
2.内部中断 8086可以有几种产生内部中断的情况:
在这种方式中,把一个外设端口作为存储器的一个单元
来对待,故每一个外设端口占有存储器的一个地址。从外 部设备输入一个数据,作为一次存储器读的操作;而向外 部设备输出一个数据,则作为一次存储器写的操作。
2.端口寻址的输入输出方式 在这种工作方式中:CPU有专门的I/O指令,用地址来
区分不同的外设。但要注意实际上是以端口(Port)作为 地址的单元,因为一个外设不仅有数据寄存器还有状态寄 存器和控制命令寄存器,它们各需要一个端口才能加以区 分,故一个外设往往需要数个端口地址。CPU用地址来选 择外设。
1.查询式输入
第七章 输入和输出
图7-6 查询式输入的接口电路
第七章 输入和输出 当输入设备的数据已准备好后,发出一个选通信号, 一边把数据送入锁存器,一边使D触发器为“1”,给出“准 备好”(Ready)的状态信号。而数据与状态必须由不同的 端口输入至CPU数据总线。当CPU要由外设输入信息时,先 输入状态信息,检查数据是否已准备好,当数据已经准备好 后,才输入数据。读入数据的指令,使状态信息清“0”。
第七章 输入和输出
(4)中断明确条件
CPU在现行指令结束后响应中断,即运行到指令的最 后一个机器周期的最后一个T状态时,CPU才采样INTR线 。若发现有中断请求,则把内部的中断锁存器置“1”, 然后下一个机器周期(总线周期)不进入取指周期,而进 入中断周期。其响应的流程如图7-20所示。
第七章 输入和输出
线,使CPU恢复正常工作。
第七章 输入和输出
2.DMA传送方式
(1)单字节方式 (2)字节(字符)组方式
微机原理-第5章中断系统
第五章 中断系统 Chapter 5. Interrupt system
微机原理及应用 zhouli@
5.1 中断的基本概念
中断 处理器暂停执行现行的程序,转而处理随机事件, 处理完毕后再返回被中断的程序处继续执行,这一 全过程称为中断。 中断源 能够引发处理器中断的信息源称为中断源。
可屏蔽中断
中断请求信号通过CPU的INTR引脚进入; 中断响应信号从INTA引脚发出; IF=1时, CPU响应中断;IF=0, 中断请求被屏 蔽
•
•
•
•
通常可屏蔽中断源经过中断控制器8259A管理再 向CPU发INTR请求。
• • • • • •
中断标志IF的状态
指令 CLI 使 IF = 0 关中断,禁止中断, 中断屏蔽统复位,使IF= 0 任何一个中断被响应,使IF= 0 指令 STI 使IF= 1 开中断、允许中断、中断开放执行, IF= 1 执行指令 IRET 恢复原IF状态
处理器执行 INT 21 H 之后: FAGS、CS、IP的当前值被压栈保护。 CPU从4×21H~4×21H+3的单元中取得中断 向量并写入IP, CS之中。
•
•
•
CPU根据CS:IP值转向21H型中断服务程序。
中断程序执行完毕,执行 IRET 指令,退出中断 CPU从栈顶顺序弹出保护的断点给 IP 、 CS、 FLAGS;
中断响应过程
标志寄存器入栈 TEMP=TF,IF=TF=0
(1 ) (2 ) (3 ) (4 ) Y Y (5 )
8086 8086 各种中断源 各种中断源 的优先权,实际 的优先权,实际 上是指被识别出 上是指被识别出 来的先后; 来的先后; 多种中断同时请 多种中断同时请 求时,最先响应 求时,最先响应 的则可能是单步 的则可能是单步 中断或 中断或 NMI NMI 中 中 断。 断。
微机原理及应用 zhouli@
5.1 中断的基本概念
中断 处理器暂停执行现行的程序,转而处理随机事件, 处理完毕后再返回被中断的程序处继续执行,这一 全过程称为中断。 中断源 能够引发处理器中断的信息源称为中断源。
可屏蔽中断
中断请求信号通过CPU的INTR引脚进入; 中断响应信号从INTA引脚发出; IF=1时, CPU响应中断;IF=0, 中断请求被屏 蔽
•
•
•
•
通常可屏蔽中断源经过中断控制器8259A管理再 向CPU发INTR请求。
• • • • • •
中断标志IF的状态
指令 CLI 使 IF = 0 关中断,禁止中断, 中断屏蔽统复位,使IF= 0 任何一个中断被响应,使IF= 0 指令 STI 使IF= 1 开中断、允许中断、中断开放执行, IF= 1 执行指令 IRET 恢复原IF状态
处理器执行 INT 21 H 之后: FAGS、CS、IP的当前值被压栈保护。 CPU从4×21H~4×21H+3的单元中取得中断 向量并写入IP, CS之中。
•
•
•
CPU根据CS:IP值转向21H型中断服务程序。
中断程序执行完毕,执行 IRET 指令,退出中断 CPU从栈顶顺序弹出保护的断点给 IP 、 CS、 FLAGS;
中断响应过程
标志寄存器入栈 TEMP=TF,IF=TF=0
(1 ) (2 ) (3 ) (4 ) Y Y (5 )
8086 8086 各种中断源 各种中断源 的优先权,实际 的优先权,实际 上是指被识别出 上是指被识别出 来的先后; 来的先后; 多种中断同时请 多种中断同时请 求时,最先响应 求时,最先响应 的则可能是单步 的则可能是单步 中断或 中断或 NMI NMI 中 中 断。 断。
微机系统与接口:第六章 输入输出与中断
第六章 输入输出与中断
6.2 CPU与外设数据传送方式
❖ 程序
START: MOV DL,0F8H
;D4=1,启动
MOV AX,SEG DSTOR
MOV ES,AX
LEA DI,DSTOR
AGAIN: MOV AL,DL
AND AL,0EFH
状态端口 译码输出
第六章 输入输出与中断
6.2 CPU与外设数据传送方式
❖ 查询输入方式程序:
POOL:
IN AL,STATUS_PORT TEST AL,80H JE POOL
IN AL,DATA _PORT
;读状态口 ;设状态信息在D7位 ;READY=0,未准备好,
继续查询
;准备好,读数据
第六章 输入输出与中断
➢ (一)无条件传送(同步传送)
✓ 对象:简单的外设,如开关、继电器、7段显示器等。 ✓ 指令:IN ,OUT ✓ 数据量:少
至输出设备的数 据
锁存器 CE
AB
M/IO
端口地址 译码
&
WR
三态 缓冲器
CE
来自输入设备的数据
&
RD
第六章 输入输出与中断
6.2 CPU与外设数据传送方式
❖ 例:同步传送数据采集系统
6.2 CPU与外设数据传送方式
❖ 3、例:一个采用查询方式的数据采集系统
DB
CPU
8 bits
03 02
A/D
READY D4模拟信号8 bits04
D0,D1,D2
UA0
MUX
UA7
…..
采集要求: 1、初始化 2、停止A/D转换 3、启动转换,查READY状态 4、若READY=1,则从 03 口读数 5、设置下一通道和内存单元
【微机原理】中断系统
5.1 中断的基本概念
中断
处理器暂停执行现行的程序,转而处理随机事件,处理完毕后再返回被中断的程序处继续执行,这一全过程称为中断。
中断源
能够引发处理器中断的信息源称为中断源。
常见的中断源
•一般输入/输出设备,如图像管终端, 打印机等。
•数据通道,如磁盘、磁带等。
•实时时钟,如定时器芯片8253 产生的定时中断请求信号。
•故障信号,如电源掉电等。
•软件中断,如为调试程序而设置的中断。
中断系统
•系统为实现中断而采用的硬件和软件措施。
•计算机采用中断系统的目的
•维持系统的正常工作,提高系统效率。
•实时处理。
•为故障处理作准备。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SFNM
D3
BUF
D2
M/S
D1
AEOI
D0
uPM
BUF:0,非缓冲/1,缓冲方式 SFNM:0,一般全嵌套 / 1,特殊全嵌套; MS: 0,从片/1,主片,仅当BUF=1时有效 AEOI: 0,正常中断结束 / 1,自动中断结束; uPM:0,8080 8085/ 1,8086/8088
5.3.4 8259A寄存器编程
中断结束方式(EOI)
普通中断结束方式:全嵌套方式中,CPU中断服务结束前,向 普通中断结束方式 8259A发送‘常规中断结束’命令字,清除ISR中优先级别最高 的置位 自动中断结束方式:8259A在第二个INTA响应脉冲后,自动执 自动中断结束方式 行普通EOI操作,不需CPU发命令;要防止“中断重复嵌套” 要防止“ 要防止 中断重复嵌套” 特殊中断结束方式:特殊屏蔽方式中,CPU发特殊命令字,指 特殊中断结束方式 明复位ISR中的哪一位
;原0FH中断向量压入堆栈 原 中断向量压入堆栈
; DS中断服务程序段地址 中断服务程序段地址 ; DX为中断服务程序偏移量 为中断服务程序偏移量 ;AL=0FH中断类型码 中断类型码 ; AH=25H置中断向量 置中断向量 ; 设置中断向量
; 读中断屏蔽寄存器 ; D7=0、开放 、开放IRQ7中断 中断 ; OCW1写入 写入8259 写入
单脉冲发生器 IRQ7
5.3.5 8259A在PC机中的使用
STACK STA TOP STACK SEGMENT STACK DB 100 DUP(?) EQU LENGTH STA ENDS
DATA SEGMENT MSG DB ‘THIS IS AN IRQ7 INTERRUPT!’, 0AH,0DH, ‘$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX, STACK MOV SS, AX MOV SP, TOP
5.3.1 概述
可屏蔽中断的中断逻辑控制与中断优先级管理
软件查询方式:使用灵活,效率低 简单硬件方式:中断响应速度快,优先级固定 专用控制芯片:使用灵活,中断响应速度快,如Intel8259A
IRQ0 定时 IRQ1 键盘 IRQ2 保留 IRQ3 串口 串口1 IRQ4 串口 串口2 IRQ5 硬盘 IRQ6 软盘 IRQ7 打印机
微机原理与接口技术
第五章 输入输出接口与中断
本节内容
5.3.1 概述 5.3.2 8259A的内部结构、引脚功能与级联 5.3.3 8259A的工作方式 5.3.4 8259A寄存器编程 5.3.5 8259A 在PC机中的使用
5.3.1 概述
微机系统中的中断分为内部中断和外部中断 内部中断,如除法中断、溢出中断等,由CPU自身进行管理 自身进行管理(中 自身进行管理 断触发、中断类型码的提供等) 外部中断分为非屏蔽中断与可屏蔽中断,通常需要在CPU外部附 外部附 加中断逻辑控制,对中断进行管理,特别是对于可屏蔽中断 加中断逻辑控制
5.3.2 8259A的引脚功能
IR0~IR7:中断请求,输入; INT:中断请求,输出; INTA:中断响应,输入; D7~D0:数据线,双向; CS:片选允许,输入; WR:写信号;输入; RD:读信号;输入; CAS0~CAS2:级联信号, 主片:输出,从片:输入; SP/EN:双功能端 缓冲方式使能,输出; 级联时主、从,输入; A0:寄存器选择,输入;
5.3.5 8259A在PC机中的使用
STI MOV BH,00H LP: CMP BH,10H JNZ LP CLI IN AL,21H OR AL,10000000B ; 屏蔽 屏蔽IR7中断 中断 OUT 21H,AL ; OCW1写入 写入8259 写入 POP DX POP DS MOV AL, 0FH MOV AH, 25H INT 21H STI MOV AH,4CH INT 21H ;恢复原中断向量 恢复原中断向量 ; 开可屏蔽中断
一般全嵌套方式: 一般全嵌套方式 只允许高优先级中断 低优先级,禁止同级和较低级的中断请求 特殊全嵌套方式:类似完全嵌套方式,不 特殊全嵌套方式 同之处是允许同级的中断请求;
5.3.3 8259A的工作方式 – 中断优先级的管理方式
固定优先级: 固定优先级:各中断源的优先级是固定的,IR0最高,IR7最低,默 认的优先级管理方式 优先级自动循环方式:优先级是循环变化的,一个中断的服务完成 优先级自动循环方式 后,其优先级自动降为最低,将最高优先级赋给原来比它低一级的 中断源,其它中断源的优先级也相应作循环变化。相当于等优先权 相当于等优先权 方式 优先级特殊循环方式:类似自动循环方式,不同之处是自动循环方 优先级特殊循环方式 式中优先级初始队列固定不变:IR0 -> IR7,特殊循环方式下,优 先级初始队列可设置。 如设IR4为最低优先级,则优先级为: IR5, IR6, IR7, IR0, IR1, IR2, IR3, IR4
5.3.2 8259A的级联
主片INT连接至CPU的INTR引脚 引脚,从片INT连接至主片的IRi 引脚 主片与从片的/INTA通过公共线路 公共线路与CPU的/INTA引脚相连 公共线路 主片与从片的D0~D7连接至数据总线 主片CAS0~CAS2与CAS0~CAS2相连 主片/SP接+5V,从片/SP接地
两种触发方式下高电平的保持时间 高电平的保持时间:至少保持到收到第一个中 高电平的保持时间 断响应脉冲之前,之后对于边沿触发可一直保持,而对于电平 触发应及时撤销,以避免引发第二次中断。
5.3.3 8259A的工作方式 - 中断嵌套方式
中断嵌套: 中断嵌套: 在执行某个中断的中断服务 程序过程中,响应另一中断,转向执行另一 中断的服务程序
I
D6
×
D5
×
D4
×
D3
×
D2
W2
D1
W1
D0
W0
P=0时,RR/RIS=10,读IRR;RR/RIS=11,读IRR,紧接的读操作读出 时 相应寄存器的内容
5.3.4 8259A寄存器编程-寄存器的读写
5.3.5 8259A在PC机中的使用
IBM PC/XT微机中,使用单片8259A管理外部8个中断,其端口地址为:20H、 21H;启动时,ROM BIOS对8259A进行初始化,设置如下: 中断触发方式采用边沿触发; 中断屏蔽方式采用普通方式; 中断优先级采用全嵌套方式; 中断结束采用普通EOI方式 EOI ROM BIOS初始化程序:
5.3.3 8259A的工作方式 -中断屏蔽方式
中断屏蔽方式
普通屏蔽方式: 普通屏蔽方式 将IMR中相应的位置1,屏蔽相应的中断请求 特殊屏蔽方式: 特殊屏蔽方式 仅屏蔽本级中应位
5.3.3 8259A的工作方式 -中断结束方式
8259的初始化: 的初始化: 的初始化
ICW1使用偶数地址,ICW2~ICW4使 用奇数地址 初始化时,必须按顺序写入
例:若8259端口地址为20H,21H, 8259初始化方式如下:
; 设置 设置ICW1,边沿触发,单片,需设 ,边沿触发,单片,需设ICW4 MOV AL, 00010011H OUT 20H, AL ; 设置 设置ICW2,起始中断类型号为 ,起始中断类型号为08H MOV AL, 00001000H OUT 21H, AL ; 设置 设置ICW4, , ;全嵌套,非缓冲,正常EOI,8086CPU 全嵌套,非缓冲,正常 全嵌套 , MOV AL,00001001B OUT 21H, AL
5.3.4 8259A寄存器编程
OCW1:设置8259A的中断屏蔽寄存器(IMR),相应位置1屏蔽中断 置
A0
1
D7
M7
D6
M6
D5
M5
D4
M4
D3
M3
D2
M2
D1
M1
D0
M0
OCW2:设置8259A的中断结束,优先级循环方式
A0
0
D7
R
R
D6
SL
D5
EOI
D4
0
D3
0
D2
L2
D1
L1
D0
L0
L2,L1,L0
5.3.1 概述
Intel 8259A是可编程的中断控制芯片,用于微机系统的 中断管理,具有以下主要功能
单片可管理8级中断,通过级联可管理最多64级中断。 每一级中断都可以屏蔽或允许 在中断响应周期,向CPU提供中断的类型码 具有多种中断管理模式,可以通过编程进行选择
5.3.2 8259A的内部结构
5.3.3 8259A的工作方式
中断触发方式 中断嵌套方式 中断优先级的管理方式 中断屏蔽方式 中断结束方式
5.3.3 8259A的工作方式 - 中断触发方式
边沿触发方式:8259A将中断请求输入端出现的上升沿,作为 边沿触发方式 中断请求信号,在8259A收到第一个中断响应脉冲之前不应出 现第二个跳变沿。80X86采用这种触发方式 电平触发方式:8259A将中断请求输入端出现的高电平作为中 电平触发方式 断请求信号
D0
IC4
LTM: 0,边沿触发 / 1,电平触发 SNGL:0,级联 / 1,单片 IC4: 0,无ICW4 / 1,有ICW4
ICW2:设置8259A的中断类型码
A0
1
D7
T7
D6
T6
D5
T5
D4
T4
D3
T3
D2
X
D1
X
D0
X
5.3.4 8259A寄存器编程
ICW3:设置8259A的级联操作
主片:Si=0:接外设中断请求 / Si=1:接从片中断请求 A0
D3
BUF
D2
M/S
D1
AEOI
D0
uPM
BUF:0,非缓冲/1,缓冲方式 SFNM:0,一般全嵌套 / 1,特殊全嵌套; MS: 0,从片/1,主片,仅当BUF=1时有效 AEOI: 0,正常中断结束 / 1,自动中断结束; uPM:0,8080 8085/ 1,8086/8088
5.3.4 8259A寄存器编程
中断结束方式(EOI)
普通中断结束方式:全嵌套方式中,CPU中断服务结束前,向 普通中断结束方式 8259A发送‘常规中断结束’命令字,清除ISR中优先级别最高 的置位 自动中断结束方式:8259A在第二个INTA响应脉冲后,自动执 自动中断结束方式 行普通EOI操作,不需CPU发命令;要防止“中断重复嵌套” 要防止“ 要防止 中断重复嵌套” 特殊中断结束方式:特殊屏蔽方式中,CPU发特殊命令字,指 特殊中断结束方式 明复位ISR中的哪一位
;原0FH中断向量压入堆栈 原 中断向量压入堆栈
; DS中断服务程序段地址 中断服务程序段地址 ; DX为中断服务程序偏移量 为中断服务程序偏移量 ;AL=0FH中断类型码 中断类型码 ; AH=25H置中断向量 置中断向量 ; 设置中断向量
; 读中断屏蔽寄存器 ; D7=0、开放 、开放IRQ7中断 中断 ; OCW1写入 写入8259 写入
单脉冲发生器 IRQ7
5.3.5 8259A在PC机中的使用
STACK STA TOP STACK SEGMENT STACK DB 100 DUP(?) EQU LENGTH STA ENDS
DATA SEGMENT MSG DB ‘THIS IS AN IRQ7 INTERRUPT!’, 0AH,0DH, ‘$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX, STACK MOV SS, AX MOV SP, TOP
5.3.1 概述
可屏蔽中断的中断逻辑控制与中断优先级管理
软件查询方式:使用灵活,效率低 简单硬件方式:中断响应速度快,优先级固定 专用控制芯片:使用灵活,中断响应速度快,如Intel8259A
IRQ0 定时 IRQ1 键盘 IRQ2 保留 IRQ3 串口 串口1 IRQ4 串口 串口2 IRQ5 硬盘 IRQ6 软盘 IRQ7 打印机
微机原理与接口技术
第五章 输入输出接口与中断
本节内容
5.3.1 概述 5.3.2 8259A的内部结构、引脚功能与级联 5.3.3 8259A的工作方式 5.3.4 8259A寄存器编程 5.3.5 8259A 在PC机中的使用
5.3.1 概述
微机系统中的中断分为内部中断和外部中断 内部中断,如除法中断、溢出中断等,由CPU自身进行管理 自身进行管理(中 自身进行管理 断触发、中断类型码的提供等) 外部中断分为非屏蔽中断与可屏蔽中断,通常需要在CPU外部附 外部附 加中断逻辑控制,对中断进行管理,特别是对于可屏蔽中断 加中断逻辑控制
5.3.2 8259A的引脚功能
IR0~IR7:中断请求,输入; INT:中断请求,输出; INTA:中断响应,输入; D7~D0:数据线,双向; CS:片选允许,输入; WR:写信号;输入; RD:读信号;输入; CAS0~CAS2:级联信号, 主片:输出,从片:输入; SP/EN:双功能端 缓冲方式使能,输出; 级联时主、从,输入; A0:寄存器选择,输入;
5.3.5 8259A在PC机中的使用
STI MOV BH,00H LP: CMP BH,10H JNZ LP CLI IN AL,21H OR AL,10000000B ; 屏蔽 屏蔽IR7中断 中断 OUT 21H,AL ; OCW1写入 写入8259 写入 POP DX POP DS MOV AL, 0FH MOV AH, 25H INT 21H STI MOV AH,4CH INT 21H ;恢复原中断向量 恢复原中断向量 ; 开可屏蔽中断
一般全嵌套方式: 一般全嵌套方式 只允许高优先级中断 低优先级,禁止同级和较低级的中断请求 特殊全嵌套方式:类似完全嵌套方式,不 特殊全嵌套方式 同之处是允许同级的中断请求;
5.3.3 8259A的工作方式 – 中断优先级的管理方式
固定优先级: 固定优先级:各中断源的优先级是固定的,IR0最高,IR7最低,默 认的优先级管理方式 优先级自动循环方式:优先级是循环变化的,一个中断的服务完成 优先级自动循环方式 后,其优先级自动降为最低,将最高优先级赋给原来比它低一级的 中断源,其它中断源的优先级也相应作循环变化。相当于等优先权 相当于等优先权 方式 优先级特殊循环方式:类似自动循环方式,不同之处是自动循环方 优先级特殊循环方式 式中优先级初始队列固定不变:IR0 -> IR7,特殊循环方式下,优 先级初始队列可设置。 如设IR4为最低优先级,则优先级为: IR5, IR6, IR7, IR0, IR1, IR2, IR3, IR4
5.3.2 8259A的级联
主片INT连接至CPU的INTR引脚 引脚,从片INT连接至主片的IRi 引脚 主片与从片的/INTA通过公共线路 公共线路与CPU的/INTA引脚相连 公共线路 主片与从片的D0~D7连接至数据总线 主片CAS0~CAS2与CAS0~CAS2相连 主片/SP接+5V,从片/SP接地
两种触发方式下高电平的保持时间 高电平的保持时间:至少保持到收到第一个中 高电平的保持时间 断响应脉冲之前,之后对于边沿触发可一直保持,而对于电平 触发应及时撤销,以避免引发第二次中断。
5.3.3 8259A的工作方式 - 中断嵌套方式
中断嵌套: 中断嵌套: 在执行某个中断的中断服务 程序过程中,响应另一中断,转向执行另一 中断的服务程序
I
D6
×
D5
×
D4
×
D3
×
D2
W2
D1
W1
D0
W0
P=0时,RR/RIS=10,读IRR;RR/RIS=11,读IRR,紧接的读操作读出 时 相应寄存器的内容
5.3.4 8259A寄存器编程-寄存器的读写
5.3.5 8259A在PC机中的使用
IBM PC/XT微机中,使用单片8259A管理外部8个中断,其端口地址为:20H、 21H;启动时,ROM BIOS对8259A进行初始化,设置如下: 中断触发方式采用边沿触发; 中断屏蔽方式采用普通方式; 中断优先级采用全嵌套方式; 中断结束采用普通EOI方式 EOI ROM BIOS初始化程序:
5.3.3 8259A的工作方式 -中断屏蔽方式
中断屏蔽方式
普通屏蔽方式: 普通屏蔽方式 将IMR中相应的位置1,屏蔽相应的中断请求 特殊屏蔽方式: 特殊屏蔽方式 仅屏蔽本级中应位
5.3.3 8259A的工作方式 -中断结束方式
8259的初始化: 的初始化: 的初始化
ICW1使用偶数地址,ICW2~ICW4使 用奇数地址 初始化时,必须按顺序写入
例:若8259端口地址为20H,21H, 8259初始化方式如下:
; 设置 设置ICW1,边沿触发,单片,需设 ,边沿触发,单片,需设ICW4 MOV AL, 00010011H OUT 20H, AL ; 设置 设置ICW2,起始中断类型号为 ,起始中断类型号为08H MOV AL, 00001000H OUT 21H, AL ; 设置 设置ICW4, , ;全嵌套,非缓冲,正常EOI,8086CPU 全嵌套,非缓冲,正常 全嵌套 , MOV AL,00001001B OUT 21H, AL
5.3.4 8259A寄存器编程
OCW1:设置8259A的中断屏蔽寄存器(IMR),相应位置1屏蔽中断 置
A0
1
D7
M7
D6
M6
D5
M5
D4
M4
D3
M3
D2
M2
D1
M1
D0
M0
OCW2:设置8259A的中断结束,优先级循环方式
A0
0
D7
R
R
D6
SL
D5
EOI
D4
0
D3
0
D2
L2
D1
L1
D0
L0
L2,L1,L0
5.3.1 概述
Intel 8259A是可编程的中断控制芯片,用于微机系统的 中断管理,具有以下主要功能
单片可管理8级中断,通过级联可管理最多64级中断。 每一级中断都可以屏蔽或允许 在中断响应周期,向CPU提供中断的类型码 具有多种中断管理模式,可以通过编程进行选择
5.3.2 8259A的内部结构
5.3.3 8259A的工作方式
中断触发方式 中断嵌套方式 中断优先级的管理方式 中断屏蔽方式 中断结束方式
5.3.3 8259A的工作方式 - 中断触发方式
边沿触发方式:8259A将中断请求输入端出现的上升沿,作为 边沿触发方式 中断请求信号,在8259A收到第一个中断响应脉冲之前不应出 现第二个跳变沿。80X86采用这种触发方式 电平触发方式:8259A将中断请求输入端出现的高电平作为中 电平触发方式 断请求信号
D0
IC4
LTM: 0,边沿触发 / 1,电平触发 SNGL:0,级联 / 1,单片 IC4: 0,无ICW4 / 1,有ICW4
ICW2:设置8259A的中断类型码
A0
1
D7
T7
D6
T6
D5
T5
D4
T4
D3
T3
D2
X
D1
X
D0
X
5.3.4 8259A寄存器编程
ICW3:设置8259A的级联操作
主片:Si=0:接外设中断请求 / Si=1:接从片中断请求 A0