[电脑基础知识]第9章 中断
第9章-Cortex-M3异常和中断
第九章Cortex-M3异常和中断9.1Cortex-M3异常91C t M39.2NVIC与中断控制929.1.1 异常类型异常。
CM3支持为所有能打断正常执行流的事件都称为CM3支持为数众多的系统异常和外部中断。
异常是另一种形式的中断,它是由内部fault引起的,或者内核的SysTick、SVCall等。
而中断是由随机的外部事件引发的。
件引发的编号为1~15的对应系统异常;编号为16~255的对应外部中断。
除了个别异常的优先级被定死外,其它异常的优先级都是可编程的。
可编程的当前运行的异常编号,是由特殊寄存器IPSR或NVIC的中断控制状态寄存器来给出的。
断控制状态寄存器来给出的异常表异常号异常类型优先级描述0N/A N/A没有异常在运行1复位-3 (最高)复位2NMI-2 不可屏蔽中断(外部NMI 输入)3硬件fault-1各种fault情况4内存管理fault可编程内存管理fault;MPU 访问非法地址5总线fault可编程总线fault,比如预取终止6用法fault可编程由于程序fault或尝试访问协处理器导致的异常7-10保留N/A—11SVCall可编程系统服务调用12调试监视器可编程调试监视器(续)13保留N/A—14PendSV可编程可挂起系统设备申请15SysTick可编程系统时钟定时器16外部中断#0可编程外部中断17外部中断#1可编程外部中断…………255外部中断#239可编程外部中断当一个被使能的异常发生时,如果它不能够被立即执行,它将被挂起(pending)。
9.1.2 优先级定义在CM3中优先级对于异常来说很关键的它决定一个 在CM3中,优先级对于异常来说很关键的,它决定个异常是否能被屏蔽,以及在未被屏蔽的情况下何时可以响应。
应优先级的数值越小,则优先级越高。
CM3支持中断嵌套,使得高优先级异常会抢占(preempt)低优先级异常。
3个系统异常:复位、NMI以及硬fault有固定的优先级,并且它们的优先级号是负数,从而高于所有其它异常。
第9章 bios和dos功能调用
MOV AH, 01 ;调用第21h ;设置功能号:键盘输入 mov ah,4ch 号中断例程的 4ch号子程序 mov al,0 ;提供返回值作为参数 INT 21H ;DOS功能调用 int 21h MOV CHAR, AL ;返回参数: (AL)=字符ASCII码
;-----------------显示输出一个字符
Your site here
DOS键盘中断 0AH功能号
例: 输入字符串到缓冲区STRING
DATA SEGMENT MAXLEN DB 32
MAXLEN DB
MAXLEN DB
32 ,0, 32 DUP(?)
32 ,33 DUP(?)
ACTLEN
STRING CODE DATA ENDS
DB ?
MOV DL, ’A’ MOV AH, 02 INT 21H
;调用参数:
待输出字符的ASCII码
; DOS功能号: 显示输出 ; DOS调用
Your site here
与子程序调用的比较
主程序 ……
CALL SUBP 子程序
……
…… RET
实现机制不同
……
源程序 …… DOS/BIOS调用 INT n ……
1.设置显示方式
入口参数 AL = 显示方式值 00 40×25 黑白文本方式 01 40×25 彩色文本方式 02 80×25 黑白文本方式 03 80×25 彩色文本方式 04 320×320 彩色图形方式 AH = 00H 10H 无 将显示方式设置为指定的形式
功能号 类型号 出口参数 实现功能
Your site here
中断传送方式
中断:使cpu中止正在执行的程序而转去处理特殊事件的操作。 中断源: 引起中断的事件。 8086/8088CPU最多有 256个中断源
第九章:中断技术
第九章:中断技术一、选择题1、中断向量表存放在存储器的(B )中.A)FFC00H—FFFFFH B)00000H—0003FFHC)EEC00H—FFFFFH D)EEBFFH一FFFFFH 2、Intel 8086/8088中断向量表中的类型21H是(MS--DOS系统调用)。
”3、PC中确定硬件中断服务程序的入口地址是(中断控制器发出的类型码)。
4、如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的请求。
若要调整中断时间的响应次序,可以利用(中断屏蔽)。
5、下列一起CPU中断的4种情况中,由硬件提供中断类型的是( C )。
A、INTnB、NMIC、INTRD、INTO6、若计算机系统有五级中断,预先安排的优先级从高到低为1—>2—>3—>4—>5。
在操作过程中利用屏蔽技术,处理中断4时屏蔽3,5级中断,则在响应中断时从高到低的顺序是( B )。
A、1—>2—>3—>4—>5B、1—>2—>4—>3—>5C、1—>2—>3—>5—>4D、1—>4—>2—>3—>57、一般情况下PC中的硬中断服务程序执行的是(A )。
A、外部中断请求CPU完成的任务B、主程序中安排的中断指令C、主程序中安排的转移指令D、主程序中安排的调用指令8、为实现多重中断,保护段点和现场应使用(堆栈)。
9、下列(恢复现场前)操作前应该进行开中断。
10、执行返回指令,退回中断服务程序,这时返回地址来自(堆栈区).11、若DMAC每传送一个字节后,就检测DREQ,若无效,则挂起;若有效则继续传送,这是一种DMA方式中的(请求)传送方式。
12、在程序控制传送方式中,哪种传送可提高系统的工作效率( C )?A)无条件传送B)查询传送C)中断传送D)前三项均可13、用DMA方式传送数据时,是由(硬件控制器)控制的14、若微处理器可采用存储器映象编址,那么一条SUB(减法)指令可访问的地址空间为(整个地址空间)。
第9章 BIOS和DOS中断
第9章 BIOS和DOS中断1.教学目的:掌握BIOS和DOS中断程序设计的方法2.教学要求:①熟悉BIOS中断调用概念和调用方法②熟悉DOS中断调用概念和调用方法3.教学重点:①BIOS和DOS中断调用的概念和方法4.掌握难点:①BIOS和DOS中断程序设计方法5.教学进程安排:P315~P3486.教学方法:课堂讲授7.教学内容摘要9.1 BIOS和DOS概述9.1.1 基本输入输出系统(basic input / output system,BIOS)例行程序:位置:ROM(0FE000H~0FEFFF);功能:系统加电自检、引导装入、主要I/O设备的处理、接口控制方面的系统中断等;利用BIOS功能编写的程序特点:简洁,可读性好,易于移植。
9.1.2 磁盘操作系统(disk operating system,DOS)位置:软盘或硬盘;,:使BIOS用起来更方便;特点:比BIOS操作更简易,对硬件的依赖更少些。
9.1.3 DOS模块和ROM BIOS的关系图9.1 DOS模块和ROM BIOS的关系DOS 模块和ROM BIOS 的关系如图9.1所示:调用DOS 或BIOS 功能时,一般有以下几个基本步骤:①将调用参数装入指定的寄存器中;②如需功能号,把它装入AH ;③如需子功能号,把它装入AL ;④按中断号调用DOS 或BIOS 中断;⑤检查返回参数是否正确。
9.2 BIOS 中断调用9.2.1 BIOS 中断调用概述图9.2是用户程序和操作系统关系示意图,图9.2 用户程序和操作系统关系示意图9.2.2 BIOS 中断调用方法1、BIOS 调用的基本操作⑴设置分功能号 ⑵置入口参数⑶使用中断语句INT n ⑷分析出口参数2、BIOS 键盘输入功能调用扫描码:键盘上的每一个键都对应一个扫描码(01~83,或01H~53H),根据扫描码能唯一地确定哪一个键改变了状态。
字符码:①大部分键的字符码是一个标准的ASCII 码;②Alt 和功能键(F1~F10)等没有相应ASCII 码的键的字符码为0; ③能产生一个具体操作的一些非ASCII 码键。
思科第4学期第9章答案
1什么时候应该测量网络性能基线?在组织的正常工作时间在主网络设备重新启动后立即测量正常工作时间以外,以减少可能造成的中断当检测并拦截到对网络的拒绝服务攻击时答案 说明 最高分值correctness of response Option 12网络性能基线的目的是记录网络在正常运行期间的特征。
它可用作确定网络异常的标准。
在特定情况下执 行测量(例如主网络设备重新启动或运行数小时后)所得出的特征不能准确描述基线。
DoS 攻击可能引发异常网络性能,但是一旦拦截攻击,网络性能应返回到正常水平,因此无需立即测量性能来建立基线。
2在网络文档建立过程中,网络工程师在多台网络设备上执行了 show cdp neighbor 命令。
执行此命令的作用是什么?获取有关直连思科设备的信息检查由相邻路由器通告的网络检验连接到网络设备的网络地址检查连接到网络设备的 PC 的连接答案 说明 最高分值correctness of response Option 12show cdp neighbor 命令用于获取直接连接的思科设备的详细信息。
信息不包括连接到相邻思科设备的网络,也不包括连接的 PC 。
show ip route 命令用于查看从相邻路由器通告的网络。
3用户报告,本周的一段时间内,在进行身份验证和访问网络资源时出现较长延迟。
网络工程师应该检查哪类信息来确定这种情况是否属于正常的网络行为?系统日志记录和消息网络性能基线调试输出和数据包捕获网络配置文件答案 说明 最高分值correctness of response Option 22网络工程师应首先确定报告的网络性能确实异常。
这通过参考已记录的网络性能基线来完成。
一旦检验出网络性能异常,就可以应用特定的故障排除过程。
4在收集故障症状的哪个步骤中,网络工程师将确定问题出现在网络的核心层、 分布层还是接入层?记录故障症状。
确定故障症状。
收集信息。
确定所有权。
缩小范围。
微处理器9CortexM3异常(中断)处理
Cortex-M3的异常(中断)处理
优先级分组
为了对具有大量中断的系统加强优先级控制,NVIC
支持优先级分组机制。您可以使用应用中断和复位控制寄 存器中的PRIGROUP区来将每个PRI_N中的值分为占先优
先级区和次优先级区。我们将占先优先级称为组优先级。 如果有多个挂起异常共用相同的组优先级,则需使用次优 先级区来决定同组中的异常的优先级,这就是同组内的次 优先级。组优先级和次优先级的结合就是通常所说的优先 级。如果两个挂起异常具有相同的组优先级,则挂起异常 的编号越低优先级越高。这与优先级机制是一致的。
Cortex-M3的异常(中断)处理
优先级分组
中断优先级区(PRI_N[7:0])
占先区
次优先区
PRI_N 7 6 5 4 3 2 1 0
注意: 修改PRIGROUP区的值可改变占先区和 次优先区的位数。
1. 占先优先级又称 为组优先级
2. 如果两个挂起异 常具有相同的组 优先级,则挂起 异常的编号越低 优先级越高。
Cortex-M3的异常(中断)处理
优先级分组
PRIGROU P[2:0]
二进制点 的位置
中断优先级区,PRI_N[7:0]
占先区 次优先 占先优先级
级区
的数目
次优先级 的数目
b000
bxxxxxxx.y [7:1] [0]
128
2
b001
bxxxxxx.yy [7:2] [1:0] 64
4
b010
Cortex-M3的异常(中断)处理
返回
异常基于优先级的动作
在没有挂起异常或没有比被压栈的ISR优先级更高 的挂起异常时,处理器执行出栈操作,并返回到被压 栈的ISR或线程模式。
单片机第09章 键盘中断模块与AD转换模块
也可以用下述方法: 也可以用下述方法:
*
m4 列线 n1
9.2 汇编语言键盘中断模块编程实例
9.2.1 按键识别与键盘定义子程序
(1)键值计算方法 )
按上图的接法可以得出 键值表, 如下图. 键值表 , 如下图 . 键值 可以通过扫描法获得, 可以通过扫描法获得 , 由键值通过查表法编程 得到定义值. 得到定义值.
1 EE 4 ED 7 EB * E7 0 D7 8 DB # B7 键盘定义 5 DD 9 BB D 77 2 DE 6 DD C 7B 3 BE B 7D 键值 A 7E 定义符
9.1 键盘基本问题与GP32的键盘中断口
(3)键盘中断编程相关问题 )
要进行键盘中断方面的编程,需了解下列问题: 要进行键盘中断方面的编程,需了解下列问题: 1)键盘中断矢量地址:$FFE0—$FFE1. )键盘中断矢量地址: . 2)键盘中断初始化顺序:先设置键盘状态和控制寄存器 )键盘中断初始化顺序: ),后设置键盘中断允许寄存器 (INTKBSCR),后设置键盘中断允许寄存器(INTKBIER). ),后设置键盘中断允许寄存器( ). 3)为避免键盘误中断,在键盘初始化时,建议按下列顺序: )为避免键盘误中断,在键盘初始化时,建议按下列顺序:
(2)启动 )启动A/D转换 转换
LDA #%00000000 ;0通道,转换结束不产生中断,一次 通道, 通道 转换结束不产生中断,一次A/D转换 转换 STA ADSCR ;并启动 通道转换 并启动0通道转换 并启动
微机原理课后习题答案
第1章计算机基础知识三、简答题1.微型计算机的基本组成?答:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。
(微型计算机+软件系统,也可)2.简述冯.诺依曼型计算机基本思想?答:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。
其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。
(写出主要内容,即可)3.什么是微型计算机?答:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。
(只要答出五大组成部分即可)4.什么是溢出?答:溢出就是在运算中,使用已经确定的二进制位数,没有办法表示运算结果。
二、简答题1.在内部结构中,微处理器主要有哪些功能部件组成?答:1) 算术逻辑部件 2) 累加器和通用寄存器组3) 程序计数器 4) 时序和控制部件(意思相近即可)2. 微处理器一般应具有哪些功能?答:1)可以进行算术和逻辑运算 2)可保存少量数据3)能对指令进行译码并完成规定的操作 4)能和存储器、外部设备交换数据5)提供整个系统所需的定时和控制 6)可以响应其他部件发来的中断请求3. 什么是总线周期?答:CPU使用总线完成一次存储器或I/O接口的存取所用的时间,称为总线周期,一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。
(意思相近即可)?2.中断服务程序结束时,。
RET应该可以使中断服务程序返回主程序,但因为RETF是子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对源程序的继续执行造成不良影响。
(回答可以返回2分,出现的问题3分,意思相近即可)3.写出把首地址为 BLOCK1) MOV BX,OFFSET BLOCK+6 2) LEA BX,BLOCK 3) LEA BX,BLOCKMOV DX,[BX] MOV DX,[BX+12] MOV SI,12MOV DX,[BX+SI]4. 设BX=134AH,BP=1580H,DI=0528H,SI=0234H,DS=3200H,SS=5100H,求在各种寻址方式下源操作数的物理地址。
计算机组成原理 第9章
9.1 I/O接口的类型及其功能
• I/O接口(Interface)是计算机主机(CPU)与外围设备 的连接部件,它是CPU与外围设备进行信息交换时所必需 的电路,主要用于解决不同设备与CPU之间的速度差异、 数据变换与缓冲等问题。 • 9.1.1 I/O接口的类型 按照数据传送的方式分:并行接口和串行接口 按数据传送的控制方式分:程序控制方式接口(包括无条 件传送方式、程序查询方式、程序中断方式)、直接存 储器存取(DMA)接口、通道方式接口和I/O处理机等 按通用性分类:通用接口和专用接口。 按输入/输出的信号分类:I/O接口可分为数字接口和模拟 接口两种。
9.3 程序中断方式
9.3.1 中断的基本概念 中断指CPU在正常运行程序时,由于内部/外部事件 或由程序的预先安排使CPU中断正在运行的程序,而 转到为内部/外部事件或为预先安排的事件服务的程 序中去。服务完毕,再返回去继续执行被暂时中断的 程序。内部/外部事件或为预先安排的事件往往比 CPU当前正在运行的程序更加紧迫。这种暂时停止当 前运行的程序而去执行其它紧迫任务的过程叫做中断。
9.1.2 I/O接口的功能
1.寻址 I/O 接口为每一个外围设备都分配一个地址码。以便 CPU 访问某个外围设备时能够根据给定的设备地址找到此 设备。 2.数据缓冲 3.预处理 4.控制功能
9.2 CPU与I/O接口之间的信息传送方式
外围设备的定时方式:CPU 与外围设备的定时,有三种 情况: • 速度极慢或简单的外围设备,如机械开关、显示二极 管等,CPU总是能足够快地作出响应。 • 慢速或中速的外围设备:这类设备的速度和CPU的速 度并不在一个数量级,或者由于设备(如键盘)本身 是在不规则时间间隔下操作的,因此,CPU与这类设 备之间的数据交换通常采用异步方式。 • 高速的外部设备:这类设备以相等的时间间隔操作, 而CPU也是以等间隔的速率执行输入/输出指令,因此, 这种方式叫做同步定时方式。一旦CPU和外设发生同 步,它们之间的数据交换便靠时钟脉冲控制来进行。
第9章_输入输出方法及常用的接口电路
DB
CPU
CB
MEMR MEMW 控制逻辑
可以对端口进行算术运算,逻辑运算以及移位操作等。 可以对端口进行算术运算,逻辑运算以及移位操作等。 I/O端口空间不受限制 I/O端口空间不受限制 缺点:是I/O端口占用了内存空间,减少了内存容量 缺点: I/O端口占用了内存空间, 端口占用了内存空间
二、专门的I/O编址方式 专门的 编址方式
9.1.4 I/O端口的编址方式 端口的编址方式
端口是接口电路中能被CPU直接访问的寄存器的地 端口是接口电路中能被CPU直接访问的寄存器的地 CPU 由于有的寄存器寄存的二进制信息专门用来被CPU 址。由于有的寄存器寄存的二进制信息专门用来被CPU 读取,有的寄存器用于专门接收CPU发出来的数据, CPU发出来的数据 读取,有的寄存器用于专门接收CPU发出来的数据,因 CPU访问的寄存器的地址分为输入端口和输出端 此,被CPU访问的寄存器的地址分为输入端口和输出端 故称为I/O I/O端口 口,故称为I/O端口 CPU同外设之间的信息传送实质上是对这些寄存器 CPU同外设之间的信息传送实质上是对这些寄存器 进行“ 操作。 进行“读”或“写”操作。
汇编语言 第九章 BIOS和DOS中断
串口通讯中的错误检测功能 在接口设计中,常常要考虑对错误的检测问题。当前多数可编程接口,一般能检 测下列两类错误。 一类是传输错误。因为接口和设备之间的连线常常受噪声干扰,从而引起传线错误, 所以一般传输信息时,接口采用奇/偶校验位对传输错误进行检测。传输时,如果用奇 校验,那么使信息中1的数目(包括校验位)为奇数。也就是说,所传输的数据中如果 1的个数为奇数则使校验位为0,所传输的数据中如果1的个数为偶数则使校验位 为1,这样,在传输一个数据时,1的总数目总是为奇数。同样的道理,如果用偶校验. 那么,信息中1的数目(包括校验位)为偶数。接口在传输过程中,对信息校验之后, 如果发现有错误,则对状态寄存器中的相应位进行设置。而状态杏存器的内容可以通过 程序进行读取和检测。
第九章第一章 基础知识 彩色图形适配器及其编程
另一类是复盖错误。我们知道,当计算机输入数据时,实际上是从接口的输入缓冲寄存
器中取数。如果计算机还没有取走数据,输入缓冲寄存器由于某种原因又被装上了新的 数据,那么,就全产生一个复盖错误。在输出时,也会有类似的情况。
返回参数中通讯口状态字节各位置1的含义如下图所示:
在现实生活和工作中,常会有将两台计算机实现资源共享和数据交换的 要求。微机双机直接通讯的方法有很多种,根据两台微机的距离远近,可分 为近程通讯和远程通讯,如果两台通讯的微机在同一间屋内或相距在几十米 到一两百米内,称为近程通讯;如果两台微机相距在几百米到几千米甚至更 远,则把它们之间的通讯称为远程通讯。 由于计算机通讯的广泛应用,串行接口已成为个人计算机必备的部件, IBM PC机内装有通讯适配器板,这使得PC机可以和其它配有串行通讯接 口的计算机或设备进行通讯。串行接口每次由CPU得到8位的数据,然后串 行地通过一条线路,每次发送一位将该数据发送出去。
嵌入式部分复习题、练习题-含答案
第1章:ARM和嵌入式系统介绍嵌入式系统的概念ARM嵌入式处理器的版本Cortex系列处理器的组成和特点嵌入式操作系统第2章:ARM体系结构ARM、CM3处理器状态:Thumb状态和调试状态CM3处理器工作模式:Handler模式和Thread模式代码特权分级:特权级和非特权(用户)级CM3内部寄存器:r0-r12,r13,r14,r15,状态寄存器xPSR存储器映射机制:大端格式和小端格式数据对齐方式:字对齐、半字对齐、非字对齐、非半字对齐异常概念、CM3异常机制特点第3章:Cortex-M3控制器及外围硬件简介嵌入式最小系统组成第4章:指令系统和时钟ARM、Thumb、Thumb-2和CM3指令集的特点和关系STM32时钟系统结构原理和初始化编程启动代码第5章:GPIO实验、第6章:UART实验、第9章:中断实验第10章:RTC实验原理和编程第7章:模/数转换、第8章:定时器实验原理即可,不考程序1. 什么是嵌入式系统?嵌入式系统有哪些应用?2. 什么是嵌入式处理器?嵌入式处理器分为哪几类?3. 说明使用实时操作系统的必要性。
4. 简要说明ARM Cortex内核处理器分为哪几个系列?各有什么特点?5. ARM Cortex-M3处理器有哪些优势符合嵌入式操作系统的要求?6. 简述NVIC的初始化步骤。
7. 什么是嵌入式处理器?嵌入式处理器分为哪几类?二、填空1. STM32F103ZET6有个引脚, KB片内FLAM ROM, KB 片内SRAM。
2. Cortex-M3处理器支持两种特权分级:特权级和。
Cortex-M3处理器支持两种工作模式,:模式和模式。
3. PSR中,标志位C是,Z是 N是,V是。
4. CM3内部寄存器中,R13的作用是,R14的作用是,R15的作用是。
5. 经典ARM7处理器有和两种状态,CM3处理器只有状态。
6. Cortex-M3的流水线分3级,分别为、、。
7. STM32F10x的管理着包括Cortex-M3核异常等中断,其和ARM 处理器核的接口紧密相连,可以实现的中断处理,并有效地处理迟来中断。
U029计算机操作系统教程_第四版_(张尧学著)_清华大学出版社_第9章
9.1.2 设备管理的功能和任务
• 设备管理程序的功能:
– 提供和进程管理系统的接口。当进程要求设备资源时,该接口将进程 要求转达给设备管理程序; – 进行设备分配。按照设备类型和相应的分配算法把设备和其他有关的 硬件分配给请求该设备的进程,并把未分配到所请求设备或其他有关 硬件的进程放入等待队列; – 实现设备和设备、设备和CPU等之间的并行操作。除控制状态寄存器 、数据缓冲寄存器等的控制器之外,对应于不同的I/O控制方式,还要 DMA( Directed Memory Access)通道等硬件支持。在设备分配程序根 据进程要求分配设备、控制器和通道或DMA等之后,通道或DMA将 自动完成设备和内存之间的数据传送工作,从而完成并行操作。在无 通道或DMA时,由设备管理程序利用中断技术来完成操作; – 进行缓冲区管理。一般CPU的执行速度和访问内存速度都比较高,而 外设的数据流通速度则低得多(如键盘),为减少外设和内存与CPU之 间的数据速度不匹配的问题,系统中一般设有缓冲区(器)来暂放数据。 设备管理程序负责进行缓冲区分配、释放及有关的管理工作。
• 当用户进程需要数据时,它通过CPU发出启动设备准备数据的启动命 令“Start”,然后,用户进程进入测试等待状态。在等待时间内,CPU 不断地用一条测试指令检查描述外围设备的工作状态的控制状态寄存 器。而外围设备只有将数据传送的准备工作作好之后,才将该寄存器 置为完成状态。从而,当CPU检测到控制状态寄存器为完成状态,也 就是该寄存器发出“Done”信号之后,设备开始往内存或CPU传送数据 。反之,当用户进程需要向设备输出数据时,也必须同样发启动命令 启动设备和等待设备准备好之后才能输出数据。除了控制状态寄存器 之外,在I/O控制器中还有一类称为数据缓冲寄存器的寄存器。在CPU 与外围设备之间传送数据时,输入设备每进行一次操作,首先把所输 入的数据送入该寄存器,然后,CPU再把其中数据取走。反之,当 CPU输出数据时,也是先把数据输出到该寄存器之后,再由输出设备 将其取走。只有数据装入该寄存器之后,控制状态寄存器的值才会发 生变化。如图9.2所示。
第9章_微机原理与接口技术答案欧青立编
第9章微机中断技术习题9.1 简述一般中断系统的组成和功能。
【参考答案】处理器内部应有中断请求信号的检测电路,输出中断响应信号,保存断点的逻辑,转向中断处理程序的逻辑,中断返回逻辑。
系统中要有一中断控制器,管理多个中断源,提供处理机所需的中断处理信息。
系统中请求中断处理的I/O接口电路要有提供中断请求信号及接收中断响应信号的逻辑。
9.2 什么是中断?简述一个中断的全过程。
【参考答案】中断是指在CPU正常运行程序时,由于内部或外部某个非预期事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后返回被中断了的程序,继续执行被暂停的程序的过程。
当外设准备好向CPU传送数据或已准备就绪接收CPU的数据,或者有某些紧急情况需要CPU处理时,外设向CPU发出中断请求。
CPU接收到中断请求,在一定条件下,暂且停止执行当前的主程序,转到中断服务程序为外设服务;服务结束后返回并继续执行主程序。
微机的中断过程包括中断请求、中断响应、保护断点与现场、中断服务和中断返回等5个环节。
9.3 确定中断的优先级有哪两种方法?各有什么优缺点?IBM PC系列微机中断判优使用的是什么方法?【参考答案】确定中断的优先级有软件查询和硬件排队两种方法。
硬件排队方法中常用的是矢量中断方法。
软件查询方法所需电路比较简单:一是要把外设的中断请求触发器组合成一个端口供CPU查询,二是要将各外设的中断请求信号相或后作为CPU的中断请求信号送INTR引脚。
在外设数量较多时.这位查询转人中断服务所耗费的时间较长。
硬件优先权排队方法电路较复杂,要求外没不仅发出中断请求信号,而且还需提供设备的中断矢量(也称中断类型号),该矢量与中断服务程序地址有关,CPU接收该矢量后可以转入中断服务程序。
这种方法中断响应速度快。
IBM PC系列微机中采用硬件优先权排队电路,具体来说,IBM PC系列微机中断判优采用的矢量中断方法。
IBM PC系列微机中断判优用的是中断控制器8259A,其内部集成了可编程改变的请求优先级电路及编码比较电路,既可以处理中断的优先级、也可以处理中断嵌套的优先级。
第九章 中断控制器8259A(9.1)
中断类型码:
D7D6D5D4D3 D2D1D0 0 0 0 0 0 1 … 1 1 1
2. 优先级的管理方式
(1)完全嵌套方式
在对8259进行初始化后,没有设置其它优先级方式, 则自动按此方式工作.即这是8259A默认的优先权设置方 式,在全嵌套方式下,8259A所管理的8级中断优先权是 固定不变的,其中IR0的中断优先级最高,IR7的中断优 先级最低。 特点:在全嵌套方式中,中断请求按优先级IR0~IR7级 进行处理,IR0级中断的优先级最高。 当一个中断被响应时,中断类型码被放到数据总线上, ISR中的对应位ISn被置1,然后进入中断服务程序。一般情 况下(除了中断自动结束方式外),在CPU发出中断结束 命令(EOI)前,此对应位一直保持“1”。
4.
结束中断处理的方式(EOI)
(1)中断自动结束方式: 用于系统中只有一片8259A,多个中断不会嵌 套的情形。系统一进入中断处理,就将当前中断服 务寄存器ISR的对应位清除。对8259A来说,好像已 经结束了当前中断。 在命令字ICW4中将AEOI(D1)位置“1”。 (2)一般的中断结束方式: 用在全嵌套的情形。 CPU用OUT指令往8259A偶地址发一个EOI命令, 8259A将使ISR最高非零IS位清0。结束当前正在处理 的中断。
⑦优先权判别器PR:用以比较正在处理的中断和刚刚进 入的中断请求之间的优先级别,以决定是否产生多重中断 或中断嵌套。 ⑧ 控制逻辑电路:对整个芯片内部各部件的工作进行协 调和控制。
9.1.2、8259A芯片的工作方式
8259A有多种工作方式,这些工作方式, 可以通过编程设置或改变。 下面,我们进行分类介绍。
CPU响应中断后, 请求中断的中断源 中,优先级最高的 中断源,在中断服 务寄存器ISR中的相 应位置位,而且把 它的中断矢量送至 系统数据总线,在 此中断源的中断服 务完成之前,与它 同级或优先级低的 中断源的中断请求 被屏蔽只有优先级 比它高的中断源的 中断请求才是有效 的,从而出现中断 嵌套。
第九章中断控制器计时定时控制器及DMA控制器
(3) 优先级自动循环方式
采用这种方式,各中断源优先级是循环变化的,主要用在系统
中各中断源优先级相同的情况下。一个设备的中断服务完成后,其
优先级自动降为最低,而将最高优先级赋给原来比它低一级的中断 请求。
开始时,优先级队列还是IR0,IR1,IR2,IR3,IR4,IR5,IR6,
IR7(IR0最高,IR7最低);若此时出现了IR0请求,响应IR0并处理完
接高电平,从片的该引脚接低电平。
9.1.2 8259A的工作方式
1.中断优先级管理方式 (1)全嵌套模式
也称固定优先级方式。在这种方式下,由IR端 引入的中断请求具有固定的优先级,IR0最高, IR7最低。8259A的默认方式。
当一个中断请求被响应时,ISR中的对应位ISn 被置1,8259A把中断类型号放到数据总线上,然 后进入中断服务程序。一般情况下(除中断自动 结束方式外),在CPU发出中断结束命令前,此对 应位一直保持为1,以封锁同级或低级的中断请 求,但并不禁止比本级优先级高的中断请求。
CPU收到中断请求后,若IF=1,则CPU完成当前指 令后响应中断,即执行两个中断响应周期,在 INTA 引脚上发出两个负脉冲。 8259A收到第一个负脉冲后,使IRR锁存功能失效, 不接受IR0~IR7上的中断请求信号;直到第二个负脉 冲结束后,才又使IRR锁存功能有效,并清除IRR的相 应位,使ISR的对应位置1,以便为优先级判别器以后 的判别提供依据。 收到第二个负脉冲后,8259A把当前中断的中断 类型号送到D7~D0,CPU根据此类型号进入相应的中断 服务程序。在中断服务程序结束时向8259A发中断结 束命令,该命令将ISR寄存器的相应位清0,中断处理 结束。
正在处理的中断(即最后一次被响应和处理的中断),
第9章8259习题一、填空题1、在80868088PC机系统中使用的中断
第9章 8259 习题一、填空题1、在8086/8088PC机系统中使用的中断控制器是芯片,该中断控制器可接受级硬件外中断。
2、PC机系统中,中断优先做级别最高的为中断,而级别最低的为中断。
3、在中断响应期间,CPU要做的工作,即、、。
4、8088/8086 CPU提供的中断控制系统,它最多能处理个不同类型的中断。
5、在8088/8086系统中,中断向量地址由计算得到。
6、8088/8086 CPU允许接受三种类型的中断:、、。
7、8088/8086 CPU的外中断是指,而内中断是指中断。
8、8088/8086 CPU中用作中断屏蔽的标志为关中断时,该标志位是。
9、当中断控制器8259A的A0接向地址总线A1时,若其中一个口地址为62H,则另一个口地址为 H;若某外设的中断类型码为86H,则该中断应加到8259A的中断请求寄存器IRR的输入端。
10、周期挪用不会减慢微处理器操作,但是需要时序电路,而且数据传送过程是的。
11、8086最大方式下,两个中断响应周期INTA内,微处器发出信号,以通知其他不能再企图控制总线。
12、最大方式下,茬第二个INTA响应周期下,8259A把送到数据总线上。
13、8259A应用于8086微处理器8259A引脚A0与地址总线相连;8259A应用于8088微处理器时A0地址总线与相连。
14、8259A工作于缓冲方式时,SP/EN是方向; ;当工作于非缓冲方式时,SP/EN是方向。
15、若8259A是主片时引脚SP/EN电平,若8259A是从片时则引脚SP/EN 是电平。
二、判断题1. 内部中断的优先权总是高于外部中断。
()2. 两片8259A级连后可管理16级中断。
( )3. 8259A所管理的中断源中,优先级低的中断源不可能中断优先级高的中断服务子程序。
( ) ()4. 若8259A中断屏蔽字OCW1为00H,则8259A所管理的8级中断全被屏蔽. ( )5. 只要8259A所管理的中断源没有被屏蔽,则任何中断源的中断请求都能得到CPU的响应和服务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
idiv bl
;除数BL=0,产生除法错中断
mov ax,200h mov bl,1 div bl ;商=200H,不能用AL表达 ;产生除法错中断
⑵ 指令中断
在执行中断调用指令INT n时产生的一个 向量号为n(0 ~ 255)的内部中断,称为 指令中断 其中向量号为3的指令中断比较特别(生 成一个字节的指令代码:11001100),常 用于程序调试,被称为断点中断
2、 内部中断
内部中断是由于8088内部执行程序出现异 常引起的程序中断 利用内部中断,微处理器为用户提供了发 内部中断的中断向量号已定 现、调试并解决程序执行时异常情况的有 效途径 例如,ROM-BIOS和DOS系统利用内部中 断为程序员提供了各种功能调用
⑴ 除法错中断
在执行除法指令时,若除数为0或商超过 了寄存器所能表达的范围,则产生一个向 量号为0的内部中断,称为除法错中断 例如:mov bl,0
主程序 中断服务程序 中断请求
断点 IRET 中断请求可以来自处理器外部的中断源, 也可以由处理器执行指令引起: 例如执行INT n指令。
中断源
引起中断的原因或者发出中断请求的来源, 称为中断源。 根据中断源是来自CPU内部还是外部,将 中断源分为两类:外部中断源和内部中断 源,对应的中断称为外部中断和内部中断。
中断请求 中断响应 中断处理 中断返回
9.3 中断优先级管理器8259A
8259A芯片是由美国Intel公司研制生产的, 功能强大。它可以对中断源进行优先级判 别、可以向CPU提供中断矢量号n,还可以 根据中断源需要屏蔽中断请求。一片 8259A可以管理8级中断源,并且可通过 级联扩展,最多可用9片管理64级中断。 8259A可编程中断控制器,主要用于管理 外部中断请求。
⑷单步中断
若单步中断TF为1,则在每条指令执行结 束后产生一个向量号为1的内部中断,称 为单步中断
例如:DEBUG.EXE调试程序的单步命令T就利 用单步中断实现对程序的单步调试
3.中断优先级 系统将所有的中断划分为四级,以0级为 最高,依次降低,各级情况如下: 0级---除单步中断以外的所有内部中断 1级---不可屏蔽中断 2级---可屏蔽中断 3级---单步中断 不同级别的中断同时申请时,CPU根据级 别高低依次决定响
⑵蔽中断请求信号向微处理器提出的 中断,微处理器在允许可屏蔽中断的条件下,在 当前指令执行结束予以响应,同时输出可屏蔽中 断响应信号,这个中断就是可屏蔽中断 8088的可屏蔽中断请求和响应信号分别是INTR和 INTA*;由 IF控制可屏蔽中断的响应 标志控制可屏蔽中断是否允许响应; IF 向量号来自外部中断控制器 8088通常需要配合中断控制器8259A共同处理可 屏蔽中断 可屏蔽中断主要用于主机与外设交换数据
⑴ 非屏蔽中断
通过非屏蔽中断请求信号向微处理器提出的中断请 求,微处理器无法禁止,将在当前指令执行结束予 以响应,这个中断被称为非屏蔽中断 8088的非屏蔽中断的向量号为2,非屏蔽中断请求 信号为NMI 非屏蔽中断主要用于处理系统的意外或故障。例如:
电源调电前的数据保护 存储器读写错误的处理
9.1.3 中断类型
1.外部中断源和外部中断 外部中断源即硬件中断源。分为可屏蔽中断源 和不可屏蔽中断源。 2.内部中断源和内部中断 内部中断源是来自CPU内部的中断事件,是软 件中断。内部中断主要有以下几种情况: (1)除法错误 (2)指令中断 ①中断指令INT n。 ②断点中断INT 3。 ③溢出中断INTO。 (3)单步中断
9.1.5 中断矢量表
中断服务程序的地址叫做中断矢量,将全 部中断矢量集中在一张表中,这张表叫做 中断矢量表。PC机中断矢量表的位置固定 在内存的最低1K字节中,即00000H~ 003FFH处。每一个中断服务程序的入口地 址在表中占4字节:前2字节为偏移量,后 2字节为段基址。
9.2 中断处理过程
第九章 中断
9.1 中断概述 9.1.1 中断的概念 中断是指计算机的CPU在执行主程序时, 收到了外部的或内部的中断请求,因而暂 时中止主程序的执行,转去执行一段预先 编制好的中断服务程序来处理这一中断请 求,待处理完毕之后,又返回主程序接着 被中断处继续执行,这样的一个过程就称 为中断。
中断的过程
8086/8088CPU的中断结构体系
8086/8088 CPU NMI 中 断 逻 辑 INT 3 断点 INT n 指令 INTR 8259A 单步(TF=1) 除法出错 INT O 溢出 非屏蔽中断请求
可 屏 蔽 中 断 请 求
8086/8088的中断源
1、外部中断
外部中断是由于8088外部提出中断请求引 起的程序中断 利用外部中断,微机系统可以实时响应外 部设备的数据传送请求,能够及时处理外 部意外或紧急事件 外部中断的原因是处理器外部随机产生的, 所以是真正的中断(Interrupt) 内部中断的原因是处理器执行程序出现异 常,所以经常被称为异常(Exception)
例如:DEBUG.EXE调试程序的运行命令G设置 的断点,就是利用INT 3指令实现的
⑶ 溢出中断
在执行溢出中断指令INTO时,若溢出标 志OF为1,则产生一个向量号为4的内部中 断,被称为溢出中断 例如:
mov ax,2000h add ax, 7000h ;2000H+7000H=9000H,溢出:OF=1 into ;因为OF=1,所以产生溢出中断
9.1.4 中断类型号
系统中的每个中断源指定了一个唯一的编号,称 为中断类型号。8086获取中断类型号的方法为: 1.可屏蔽中断(硬件中断):由中断控制器 8259提供。 2.软件中断:在中断指令INT n 中,参数n即为 中断类型号。 3.除上面二种情况外,其余中断都是固定类型 号:除法错(类型0)、单步中断(类型1)、断 点中断INT 3(类型3)、溢出中断INTO(类型 4),不可屏蔽中断(类型2)。