第六章 输入输出和中断技术2

合集下载

六章输入输出和中断技术2-资料.ppt

六章输入输出和中断技术2-资料.ppt
– 4.中断优先权判别电路
• 确定是否向CPU发出中断请求,中断响应时确定ISR 的哪位应置位及把相应中断的类型码放到数据总线 上
2020/12/29
8259A的内部结构
– 5. 读/写控制电路
• 用于控制对8259A的读、写操作。
– 6. 数据总线缓冲器
• 双向8位3态缓冲器,由它构成8259A与CPU之间的数据接口。
6.5 8259A可编程中断控制器
– 8259A的功能 – 8259A的内部结构和引脚 – 8259A的工作过程(含时序) – 8259A的工作方式 – 8259A的编程(命令字) – 8259A的应用
2020/12/29
8259A的功能
中断申请
8088 CPU
IF
INTR
中断申请 管理接口
INT
一中断正被处理时,只有更高优先级的事件可以打 断当前的中断处理过程而被服务。
• 特殊全嵌套方式
一中断正被处理时,允许同级或更高优先级的事件 可以打断当前的中断处理过程而被服务。
注: 特殊全嵌套仅用于多个8259A级连时的8259A,而 不能用于从属8259A或单8259A系统。
2020/12/29
一般全嵌套方式与特殊全嵌套方式的区别
默认优先级
优先级可编程改变
IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0
IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0
76543210
优先级 3 2 1 0 7 6 5 4
最低级
2020/12/29
最高级
最高级 最低级
– 固定优先级下的中断嵌套 在中断处理过程中允许被更高优先级的事件所中 断称为中断嵌套。8259A有两种中断嵌套方式: • 普通全嵌套方式(默认方式)

第6章 输入输出和中断技术

第6章 输入输出和中断技术
13
4. I/O地址的译码
目的:
确定端口的地址
参加译码的信号:
#IOR,#IOW,高位地址信号
产生条件
IO/#M=1
#RD=0
#IOR=0
#WR=0
#IOW=0
OUT指令将使总线的IOW信号有效
IN指令将使总线的IOR信号有效 14
I/O译码的地址信号
当接口只有一个端口时:
速度匹配
数据的缓冲与暂存
信号的驱动能力
信号驱动
信号形式和电平的匹配
信号类型转换
信息格式
信号格式转换
时序匹配(定时关系)
总线输入 输出数据
AB
译码 电路
DB
CB
控制
逻辑
数据输入寄存器 (or 三态门)
数据输出寄存器 (锁存器)
状态寄存器 (or 三态门)
9
I/O端口的编址方式
8086/8088寻址端口的能力:
64K个端口
端口的编址方式:
与内存统一编址 独立编址
10
端口与内存的统一编址
特点:
指令及控制信号统一; 内存地址资源减少
00000H
F0000H FFFFFH
内存 地址 960KB
I/O地址 64KB
11
端口的独立编址
50
1. 中断的基本概念
HOLD信号进行响应; DMA控制器收到HLDA信号后,就开始控制总线,并向
外设发出DMA响应信号DACK。
45
DMA工作方式
周期窃取:
每个DMA周期只传送一个字节或一个字就立即释放总线。
数据块传送:
要求接口要 有较大缓存

输入输出及中断技术

输入输出及中断技术
46
查询工作方式例
➢ 外设状态端口地址为03FBH,第5位(bit5)为状态 标志(=1忙,=0准备好)
➢ 外设数据端口地址为03F8H,写入数据会使状态 标志置1 ;外设把数据读走后又把它置0。
➢ 试画出其电路图,并将DATA下100B数据输出。
47
D7-D0
IOW
A9 | A3 A15 | A10
6
1、I/O 接口电路的基本功能
1. 对输入/输出数据进行缓冲、隔离和锁存
2. 对信号的形式和数据格式进行交换与匹配
3. 提供信息相互交换的应答联络信号
计算机执行指令时所完成的各种操作都是在规定的时钟信号下完 成的,并有一定的时序。而外部设备也有自己的定时与逻辑控制, 但通常与CPU 的时序是不相同的。外设接口就需将外设的工作状 态(如“忙”、“就绪”、“中断请求”)等信号及时通知CPU, CPU根据外设的工作状态经接口发出各种控制信号、命令及传递 数据,接口不仅控制CPU 送给外设的信息,也能缓存外设送给 CPU 的信息,以实现CPU 与外设间信息符合时序的要求,协调工 作。
30
图6.5 74LS374作为输出接口
31
图6.6 74LS374用作输入接口
32
I/O接口综合应用例
根据开关状态在7段数码管上显示数字或符号 设输出接口的地址为F0H 设输入接口地址为F1H 当开关的状态分别为0000~1111时,在7段数
码管上对应显示’0’~’F’
7段数码管图见教材p255
A2 A1 A0
IOR
74LS138
&G
Y0
≥1
G2A
G2B
C
Y3
B
A
D5
≥1 3F8H

微机原理与应用课件 第6章输入输出和中断技术1-2-09

微机原理与应用课件 第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(控制信号确定)

第6章输入输出与中断

第6章输入输出与中断

2.中断系统及其功能
★ 实现中断响应及返回 ★ 实现优先权排队 ★ 高级中断源能中断低级的中断处理


行 主





继 续 执 行 主 程 序
断点:主程序中被
暂停执行的指令的

地址称为断点。







中断过程示意图
1)实现中断响应及返回
当某个中断源发出中断请求时,CPU能根据条件决 定是否响应该中断请求。
若允许响应,则CPU必须在执行完现行指令后: 保护断点和现场(即把断点处的断点地址和各寄存 器的内容与标志位的状态推入堆栈); 转到需要处理的中断服务程序的入口; 清除中断请求触发器。
当处理完中断服务程序后,再恢复现场和断点地址, 使CPU返回断点,继续执行主程序。
2)实现优先权排队
MOV [BX], AL ; 存到内存BUFFER缓冲区
INC BX
; 修改地址指针
LOOP ABC ; 未送完,继续传送
1)输入指令IN
格式:IN OPD,OPS 功能:从端口(地址为n或在DX中)输入8位数据到
AL或输入16位数据到AX。 IN AL,40H;从40H端口读入一个字节送AL MOV DX , 8F00H ; 将 端 口 地 址 8F00H 送 DX
数据信息、状态信息和控制信息是属于不同性质的 信息,需要分别传送。
一个简单的I/O接口内部包含:数据端口、状态和 控制端口。
CPU通过数据端口从外设读入数据或向外设 输出数据 从状态端口读入设备的当前状态 通过控制端口向外设发出控制命令 一个I/O接口可能仅包含其中的一类或两类端口, 当然也可能包含全部三类端口。

微型计算机原理及应用:第6章 输入输出和中断技术

微型计算机原理及应用:第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与外设异步工作的情况。 在执行输入输出前,要先查询接口中状态寄存器的状态。 输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪 输出时,状态寄存器的状态指示输出设备是否空闲

第6章输入输出及中断技术

第6章输入输出及中断技术

地址增量,计数器减量
块结束? N
Y
DMAC释放总线
每次传送一个字节:
允许DMA
N
测试I/O的DREQ
DMA请求?
Y DMAC请求总线
CPU响应, DMAC获总线控制权
DMA传送一个数据
地址增量,计数器减量
Y
块结束?
N
释放总线至少一个总线周期
DMAC释放总线
按需传送:
允许DMA
DMA请求?
N
Y
DMAC请求总线
三态门接口 三态门的工作波形:
A0~A15 IOR
译码输出
D0~D7
地址有效 开关状态
74LS244
含8个三态门的集成电路芯片
在外设具有数据保持能力时用来输入接 口
74LS244应用例
教材p252
P251图
三态门接口应用例
利用三态门作为输入接口(接口地址380H)接 到地址范围为70000H~71FFFH的EEPROM芯 片的READY/BUSY端,当三态门输出高电平时, 可向98C64A写入一个字节数据,输出低电平时 则不能写入。画芯片与系统的连接图
一、接口的基本构成
译码
AB
电路
DB
控制
CB
逻辑
数据输入寄存器 (or 三态门)
数据输出寄存器 (锁存器)
状态寄存器 (or 三态门)
命令寄存器
数据线
状态线 控制线
接口的基本构成
数据输入/输出寄存器 —— 暂存输入/输 出的数据
命令寄存器 —— 存放控制命令,用来设 定接口功能、工作参数和工作方式
一、中断的基本概念
中断:
CPU执行程序时,由于发生了某种随机的事件 (外部或内部),引起CPU暂时中断正在运行的 程序,转去执行一段特殊的服务程序(称为中 断服务程序或中断处理程序),以处理该事件, 该事件处理完后又返回被中断的程序继续执行, 这一过程称为中断。

6__输入输出和中断

6__输入输出和中断

图6-3为无条件输入方式应用实例,CPU可以随时 读入开关的状态,开关闭合时,对应的数据位为0,开关 打开时,对应的数据位为1。图6-4为无条件输出方式的 应用实例,当某输出数据位为1时,对应的发光二极管点 亮,反之,则熄灭。
图6-3 无条件输入方式
图6-4 无条件输出方式
6.2.2 查询传送方式
为了与I/O接口的信息交换,CPU就像为内存单元分 配地址那样为每个端口分配一个地址(称为端口地址)。 当一个I/O接口有多个端口时,为管理方便,通常是为其 分配一个连续的地址块,这个地址块中最小的那个地址称 为接口的基地址。
所有的端口都需要编址,常用的编址方式有两种:一 是I/O端口与内存单元统一编址;二是I/O端口独立编址。 (1) I/O端口与内存统一编址 该编址方式又称为存储器映射编址方式,即将每个 I/O端口都当作一个存储单元对待。CPU将地址空间的一 部分划给I/O接口,在此范围内,给每个端口分配一个具 体的地址,故每个端口地址将占用存储器的一个地址。 统一编址的优点是:不需要设置专门的访问I/O端口 的指令,可以用访问外部RAM的指令来访问I/O端口,为 访问外设带来了很大的灵活性;端口地址可以有较大的编 址空间,安排较灵活。 统一编址的缺点是:I/O接口占据了一部分地址空间, 减少了内存可用的地址范围;从指令形式上不易区分当前 指令是对RAM进行操作还是对端口进行操作。
图6-1 接口的基本构成
①数据输入/输出寄存器 —— 暂存输入/输出的数据 ②命令寄存器 —— 存放控制命令,用来设定接口功 能、工作参数和工作方式 ③状态寄存器 —— 保存外设当前状态,以供CPU读 取 ④译码电路——根据地址总线信息选中某一个寄存器。 ⑤控制逻辑——控制各部分协调工作。
(2)接口电路传送的信息 图6-2为CPU通过接口与外设的连接示意图。通过 接口传送的信息包括数据信息、状态信息和控制信息。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


特殊屏蔽方式:
提供了允许较低优先级的中断能够得到响应的 特殊手段。 原理:假定当前正在处理IR6,先进入特殊屏 蔽方式,然后设置IM6=1。这时,除IR6外的所 有中断请求均能得到响应。 特殊屏蔽方式中只能用SEOI命令结束中断。


特殊屏蔽例:
;IR4中断处理程序 CLI MOV OUT IN OR OUT STI CLI IN AND OUT MOV OUT STI MOV OUT IRET AL,68H 0C0H,AL AL,0C2H AL,10H 0C2H,AL ;OCW3:0 1 1 0 1 0 0 0 ;设置特殊屏蔽方式 ;屏蔽IR4
;IR7请求,响应,返回 AL,0C2H AL,0EFH 0C2H,AL AL,48H 0C0H,AL AL,20H 0C0,AL ;为设命令字 ;读出屏蔽字 ;清除IMR4 ;OCW3:0 1 0 0 1 0 0 0 ;取消特殊屏蔽 ;继续IR4中断服务 ;OCW2:0 0 1 0 0 0 0 0 (EOI)

8259A的内部结构
INTA 控制逻辑 D7~D0 数据 总线 缓冲器 读/写 控制 逻辑 级联 缓冲器 比较器 INT 中 断 服 务 寄 存 器 优 先 权 判 别 电 路 中 断 请 求 寄 存 器
RD WR A0 CS CAS0 CSA1 CAS2 SP/EN
IR0
IR7
中断屏蔽寄存器
8259A的内部结构
优先级控制方式

两类优先级控制方式:固定优先级和循 环优先级

固定优先级方式(普通全嵌套方式和特殊全 嵌套方式)
• 所有中断请求IRi的中断优先级固定不变 • 优先级排列顺序可编程改变 • 加电后8259A的默认方式,默认优先级顺序从 高到低为IR0~IR7
默认优先级 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 7 6 5 4 3 2 1 0 优先级
片 选 20~3FH 译 码
+ 5V 18.2Hz 定时器 方波 键盘 保留 串 口2 串 口1 硬盘 软盘 打印机
用于多片 8259A 级连情况
CS
INTA INT
SP/EN CA0 CA1 CA2
GND
8259A的时序
第一个周期 T1 T2 T3 T4 CLK ALE LOCK CPU响应周期 第二个周期 T1 T2 T3 T4
ICW1 芯片控制 A0 1 × I3 I4 0 ICW2 中断类型号
IOR IOW INTA INTR
1
ICW3 主从片连接关系
0 0
0
0
SP/EN
OCW2 优先级设置、发EOI
INTA INT
ICW4 方式控制
CA0 CA1 CA2
VCC
1 1
0 1
OCW3特殊屏蔽,查询方式设置
控制部分
GND
8259A的编程结构
在IBM PC机由8259A可编程中断控制器(PIC)来完成。
8259A的功能
8259A可编程中断控制器可用于管理Intel 8080/8085、8086/8088、80286/80386的可 屏蔽中断 8259A的基本功能

一片8259A可以管理8级中断,可扩展至64级 每一级中断都可单独被屏蔽或允许 在中断响应周期,可提供相应的中断向量号 8259A设计有多种被服务 时,这些中断将 被封锁。
C. 一般嵌套方式:
从8259A
IR0
从片的INT被主片封 锁,故更高级别的 IR0-IR2中断也无法 得到响应
IR1
IR2 IR3
A.
假定IR3发生中 断,并获得服务
去CPU
IR3
INT IR4
IR5
INT IR4
IR5
IR6 IR7
IR6
IR7
E.
D. 特殊嵌套方式: IR4 的 中 断 被 服
处理部分
D0 ~ D7
A0
ISR 当前 中断 服务 寄存器
片 选 CS 译 码
RD WR
0 0 0 0 0 0 0 0
0 IRR 0 中断 0 申请 0 PR 寄存器 0 0 优先级 0 0 裁决器 A0 1 0 0 1 0 1 0 0 1
OCW1 中断屏蔽寄存器 IMR
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
D4 D 3 0 0 0 1 1 x x x x x 读写操作 写OCW2 写OCW3 写ICW1 写ICW2,ICW3,ICW4,OCW1(顺序写入) 读出IRR、ISR 读出IMR

CS# RD# WR# A0 0 0 0 1 0 0 1 0 0 1 0 1
8259A的初始化顺序

8259的初始化流 程如图
务时,只封锁 IR5-IR7。
特殊嵌套方式: 因主片不封锁从片的 INT,故级别高的IR0IR2中断可以得到响应。 ( 但 IR3-IR7 仍 被 本 从 片封锁)

循环优先级方式(自动循环方式和特殊循环方 式)
• 中断源轮流处于最高优先级,即自动中断优先级循 环 • 某中断请求IRi被处理后,其优先级别自动降为最 低,原来比它低一级的中断上升为最高级 • 初始优先级顺序可用编程改变(特殊循环方式)

写ICW1
写ICW2
注意次序不可颠倒
N
级连?
Y 写ICW3
N
需ICW4?
Y 写ICW4
8259A的控制命令字
• 特殊全嵌套方式
一中断正被处理时,允许同级或更高优先级的事件 可以打断当前的中断处理过程而被服务。 注: 特殊全嵌套仅用于多个8259A级连时的8259A, 而不能用于从属8259A或单8259A系统。

一般全嵌套方式与特殊全嵌套方式的区别
B. 一 般 嵌 套 方 式 :
主8259A
IR0 IR1 IR2
INTA
D0~D7 SP/EN CAS0~CAS2 IR0~IR7 INT 第一个前保持为高电平
8259A工作波形
8259A的工作方式
普通全嵌套方式 优先权固定方式 特殊全嵌套方式 设置优先权方式 自动循环方式 优先权循环方式 特殊循环方式 自动中断结束方式 结束中断处理方式 普通中断结束方式 非自动中断结束方式 特殊中断结束方式 普通屏蔽方式 屏蔽中断源方式 特殊屏蔽方式 中断触发方式 边沿触发方式 电平触发方式
最高级
最高级
最低级
IR4的服务结束以后
结束中断处理方式
当某一IRi中断被服务时,ISR中的相应 位ISRi=1。当服务结束后,则必须清零 该ISRi位。使ISRi=0是通过向8259A 发出中断结束命令(EOI命令)实现的。 三种EOI命令

自动EOI(AEOI)——(自动EOI方式) 非指定EOI(NSEOI)——(普通EOI方 式) 指定EOI(SEOI)——(特殊EOI方式)
• 确定是否向CPU发出中断请求,中断响应时确定 ISR的哪位应置位及把相应中断的类型码放到数据 总线上
8259A的内部结构

5. 读/写控制电路
• 用于控制对8259A的读、写操作。

6. 数据总线缓冲器
• 双向8位3态缓冲器,由它构成8259A与CPU之间的数据接口。

7. 级联缓冲/比较器
• 多片8259A可级联使用,最多可以组成64级中断优先级控制, 此时一片8259A做主片,另外8片做从片,主从片的CAS0~ CAS2并接在一起,作为级联总线
• 用于非全嵌套方式

特殊全嵌套方式 下的EOI处理
只有当从PIC的
中断服务程序 ┇ 向从PIC发EOI命令 读从PIC的ISR 全0? Y 向主PIC发EOI命令 恢复现场 IRET N
中断全部处理完 后,才能向主PIC 发EOI命令
屏蔽中断源的方式

普通屏蔽方式:

IMR屏蔽字决定了允许或禁止某位IRi所对应的 中断:IMi=1 禁止, IMi=0 允许。
6.5 8259A可编程中断控制器

8259A的功能 8259A的内部结构和引脚 8259A的工作过程(含时序) 8259A的工作方式 8259A的编程(命令字)

8259A的应用
8259A的功能
中断申请 8088 CPU
接口1
接口2
网络
硬盘
软盘
打印机
中断申请 管理接口
接口3
接口4

1.中断请求寄存器IRR
• 保存从IR0~IR7来的中断请求信号,某位=1表示对 应的IRi有中断请求

2.中断服务寄存器ISR
• 保存所有正在服务的中断源,某位=1表示对应的IRi 中断正在被服务

3.中断屏蔽寄存器IMR • 存放中断屏蔽字,某位=1表示对应的IRi输入被屏蔽

4.中断优先权判别电路
优先级可编程改变 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 3 2 1 0 7 6 5 4
最低级
最高级
最高级
最低级

固定优先级下的中断嵌套 在中断处理过程中允许被更高优先级的事件所中 断称为中断嵌套。8259A有两种中断嵌套方式: • 普通全嵌套方式(默认方式)
一中断正被处理时,只有更高优先级的事件可以打 断当前的中断处理过程而被服务。
IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 ISRi 0 7 1 6 0 5 1 4 0 3 0 2 0 1 0 0 ISR内容
IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 0 2 1 1 0 0 0 7 0 6 0 5 0 4 0 3
最低级
IR4的服务结束以前
8259A内部有9个 可读写的寄存器
相关文档
最新文档