6.2 IO 控制方式 (2)(课件)-《计算机原理》(电工版第五版) 同步精品课堂
|
31页
|
40人阅读
|
0人下载
精品
内容正文:
计算机原理
-第26课时-
电工版第五版
I/O 控制方式(2)
教学目标
掌握 8088 系统中断向量表的特点和使用方法
理解中断源、非屏蔽中断、可屏蔽中断、中断向量的概念和作用
熟悉可编程序中断控制器 8259A 的引脚功能、内部逻辑结构和应用
教学重难点
中断源的分类和中断向量的确定
8259A 的引脚功能、内部逻辑结构和应用
解中断优先级和中断嵌套的实现机制
让我们一起开启单片机的学习之旅。
导入新课
同学们,在前面的学习中我们了解了程序控制方式和中断控制方式。但在实际的计算机系统中,还存在一些对数据传输速度要求极高的场景。
如何实现主存储器与 I/O 设备间的高速批量数据交换呢?
让我们一起开启中断系统中的中断源、中断向量等知识的学习之旅。
新知讲授
中断——通俗理解
你在写作业,你妈叫你去倒垃圾(中断写作业),你倒完垃圾回来又继续写作业(返回原来的程序)。整个事件
中断及中断源 - 定义
是指由于某种事件的发生计算机暂停执行当前的程序
中断源——通俗理解
指引发作业暂停执行的事件来源——妈妈喊倒垃圾
新知讲授
中断——通俗理解
你在写作业,你妈叫你去倒垃圾(中断写作业),你倒完垃圾回来又继续写作业(返回原来的程序)。整个事件
中断及中断源 - 定义
是指由于某种事件的发生计算机暂停执行当前的程序
中断源——通俗理解
指引发作业暂停执行的事件来源——妈妈喊倒垃圾
新知讲授
非屏蔽中断与可屏蔽中断 - 定义
在 CPU 内部有一个 “中断允许标志位” IF,相应地将中断源分为两类。
一类不受 IF 控制,称为非屏蔽中断,只要有非屏蔽中断产生,CPU 可立即响应,与 IF 状态无关;
另一类受 IF 控制,称为可屏蔽中断。
非屏蔽中断(妈妈超凶,不能拒绝,必须去)
屏蔽中断(把倒垃圾这件事屏蔽掉)
新知讲授
8088 CPU 允许有 256 个直接中断源,它们可来自 CPU 的内部或外部,分别称为内部中断(源)和外部中断(源),还有一类特殊的软中断,属于内部中断的一种。
中断源 - 分类
新知讲授
① 外部中断
▷可屏蔽中断(INTR引脚,一般是指interrupt的缩写,也就是中断)
✔外设
✔受IF控制,N=8~255 (IF标志位)
▷不可屏蔽中断(NMI引脚)
✔电源,内存错误等
✔不受IF控制,N=2
② 内部中断
▷CPU内部
▷软件中断(指令错误)
▷异常(指令执行时发生错误)
中断源 - 分类
新知讲授
非屏蔽中断与可屏蔽中断 - 状态控制
可屏蔽中断----INTR引脚上输入的中断(高电平有效)。
IF=1表示开中断,CPU响应INTR中断
IF=0表示关中断,CPU不响应INTR中断
非屏蔽中断----NMI中断(上升沿有效)
只要有NMI请求,CPU就一定会响应中断
新知讲授
中断向量:中断服务程序的入口地址
每个中断类型对应一个中断向量(4字节)
前两个字节单元存放中断服务程序入口地址的偏移量(IP),低字节在前,高字节在后
后两个字节单元存放中断服务程序入口地址的段基值(CS),低字节在前,高字节在后
中断向量 - 定义与目的
引入中断向量的目的是确定使CPU 响应中断请求后及时、准确地转入并执行中断服务程序的方法。
新知讲授
由于中断源数量多且种类杂,中断服务程序在内存中的位置不同,采用事先将所有中断服务程序的入口地址(中断向量)存于表内的方法。
中断向量 - 存储方式
新知讲授
若中断请求被响应,由中断源提供表内偏移地址(中断类型码或中断号),从该地址中将所存内容分别送入 CS:IP,CPU 进入中断处理过程。
中断向量 - 地址表示与查表方法
新知讲授
当若干个中断源同时发出中断请求时,CPU 不会同时处理,需要确定处理的先后顺序,即中断的优先级。
中断控制器判优:根据中断向量码(中断类型码)确定中断源
中断优先级和中断嵌套 - 优先级确定
新知讲授
当 CPU 正在执行优先级较低的中断服务程序时,允许响应比它优先级高的中断请求,将正在处理的中断暂时挂起,这就是中断的嵌套。
CPU 优先为级别高的中断服务,待高优先级中断服务结束后,再返回处理较低级别的中断。
中断优先级和中断嵌套 - 中断嵌套概念
新知讲授
8259A 是一种可编程序中断控制器,能控制 8 级向量中断,通过级联方式最多可构成 64 级的向量中断系统。它能判断中断请求信号的有效性、是否被屏蔽,并进行优先级判别,还能在中断响应周期内将被响应的中断的中断类型码传送给 CPU。
可编程序中断控制器 8259A - 概述
新知讲授
CS 片选信号:有效时 CPU 可对该 8259A 进行读写操作。
WR 写信号:CS 有效且 WR 有效时,允许接收 CPU 送来的命令字。
RD 读信号:CS 有效且 RD 有效时,允许将状态信息放入数据总线供 CPU 检测。
D₀-D₇: 双向数据总线,传送控制、状态和中断类型号。
IR₀-IR₇: 外部中断请求信号。
INT中断请求信号:IR₀ - IR₇ 中任一个引脚有中断请求时,INT 有效。
INTA中断响应信号:CPU 发出中断响应脉冲。
Ao 地址输入信号:与 CS、WR 和 RD 一起选择 8259A 的内部寄存器。
CAS₂-CAS₀级联信号:双向引脚,控制多片 8259A 的级联使用。
SP/EN 从片/允许缓冲器信号:双功能引脚,不同方式下有不同作用。
8259A 的引脚功能 - 引脚介绍
新知讲授
8259A 的内部逻辑结构包括数据总线缓冲器、读 / 写控制电路、级联缓冲器 / 比较器、中断请求寄存器(IRR)、中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、优先权判别器(PR)和控制电路。
8259A 的内部逻辑结构 - 整体介绍
新知讲授
数据总线缓冲器:双向 8 位 3 态缓冲器,构成 8259A 与 CPU 之间的数据接口,是数据交换的必经之路。
读 / 写控制电路:接收来自 CPU 的读 / 写控制命令和片选控制信号,用末位地址码 Ao 选择端口,高位地址译码输出作为片选信号 CS 输入。
级联缓冲器 / 比较器:用于多片 8259A 的级联使用,一片做主片,1 - 8 片做从片,主片和从片的 CAS₂ - CAS₀ 并接。
8259A 的内部逻辑结构 - 各部分功能(一)
新知讲授
中断请求寄存器(IRR):8 位寄存器,7 - 0 位分别对应于 IR₇ - IR₀,有中断信号传来时,将相应位置成 “1”。
中断服务寄存器(ISR):8 位寄存器,记录当前正在处理的中断请求,CPU 处理某中断请求时,将第 i 位置 “1”,可能有多位为 1。
断屏蔽寄存器(IMR):8 位寄存器,对 IRR 起屏蔽作用,i 位为 1 时,禁止 IR; 传来的中断请求进入系统。
8259A 的内部逻辑结构 - 各部分功能(二)
新知讲授
8259A 的内部逻辑结构 - 各部分功能(三)
优先权判别器(PR):当多个中断请求信号同时从 IR₇ - IR₀ 输入时,判别当前优先级最高的中断请求,让系统首先响应。
控制电路:控制整个芯片内部各部件之间协调一致地工作。
新知讲授
8259A可管理 8 路中断请求 IR₇- IR₀,CPU 在初始化程序中通过数据线送入8位屏蔽字与中断类型码,送来的是中断类型码的高 5 位 T₇- T₃,为8路请求共用,8259A将被批准的请求号自动填入低3位T₂ - T₀,拼成 8 位类型码。
8259A 的应用 - 单芯片管理
新知讲授
当中断源超过 8 个时,可将多片 8259A 级联使用,最多可扩展为 64 级中断。CAS₂ - CAS₀和 SP 信号用于级联控制,如一个主片带两个从片的 22 路中断控制器,两个从片的 INT 输出送往主片的IR₀和IR₇上。
8259A 的应用 - 级联使用
新知讲授
8259A 的应用 - 初始化要求
01
建立中断向量表
将相应的中断服务程序装入内存,确保中断发生时能够正确跳转执行。
02
初始化8259A芯片
对所有8259A中断控制器进行初始化配置,设置工作模式及优先级规则。
03
验证中断系统
检查中断向量表与8259A配置是否匹配,确保中断响应流程正常运作。
随堂检测1
简述 DMA 方式的硬件结构。
【答案】DMA 方式实现的前提是 CPU 暂停与外部设备间的工作,交出总线控制权,以便 DMA 控制器使用总线完成存储器与 I/O 设备间的数据传送。DMA 控制器是必需的,它的作用是提供存储器地址、读 / 写控制信号等,也为外部设备提供必要的控制信号。
将二进制数 (10011.101)₂ 转换为十进制数
答案:(10011.101)₂ = 1×2⁴ + 0×2³ + 0×2² + 1×2¹ + 1×2⁰ + 1×2⁻¹ + 0×2⁻² + 1×2⁻³ = (19.625)₁₀
练一练
随堂检测2
所有中断源都受 CPU 内部 “中断允许标志位” IF 控制。( )
【答案】×
【解析】在 CPU 内部有 “中断允许标志位” IF,将中断源分为两类,一类不受 IF 控制,称为非屏蔽中断;另一类受 IF 控制,称为可屏蔽中断,所以并非所有中断源都受 IF 控制,该说法错误。
8259A 只能单独使用,不能级联使用。( )
【答案】×
【解析】一片 8259A 只能接收分别从 IR₇~IR₀输入的 8 级中断,当需要引入的中断超过 8 级时,可用多片 8259A 级联使用,所以该说法错误。
练一练
随堂检测3
8088 系统的中断向量表位置固定在( )
A. 00000H 至 001FFH
B. 00000H 至 003FFH
C. 00100H 至 003FFH
D. 00100H 至 005FFH
【答案】B
【解析】对于 8088 系统,中断向量表的位置固定在 00000H 至 003FFH 的地址中,共计 1024 个存储单元,所以选 B。
练一练
随堂检测4
8259A 的中断服务寄存器(ISR)的作用是( )
A. 记录当前正在处理的中断请求
B. 对中断请求起屏蔽作用
C. 判别当前优先级最高的中断请求
D. 当某一个或几个 IRi 输入端有中断信号传来时,将相应的位置成 “1”
【答案】A
【解析】中断服务寄存器(ISR)是 8 位寄存器,用来记录当前正在处理的中断请求,当 CPU 当前正在处理从 IRi 传来的中断请求时,ISR 就将第 i 位置 “1”,所以选 A。
练一练
师生互动
1
请同学们分组讨论,在一个实时性要求极高且数据传输量很大的工业控制系统中,应该选择中断方式还是 DMA 方式进行数据传输?并说明理由。
课题小结
1. 中断相关概念
I/O 控制方式(2)
2. 可编程序中断控制器 8259A
8259A 的引脚功能
8259A 的内部逻辑结构
8259A 的应用
中断源
非屏蔽中断与可屏蔽中断
中断向量
中断优先级和中断嵌套
DMA 方式的基本概念
硬件结构
简单的工作流程
3. 直接存储器存取方式
谢谢观看
THANKS
$