DJ9-2 中断方式

目录

一、中断的基本概念

1. 中断的含义

2. 中断的实质和特点

3. 中断的分类

4. 向量中断

二、外中断全过程

1. 中断请求的产生与传输

2. 中断请求的优先级判断

3. 中断响应

4. 中断处理

三、中断接口模型

1. 组成(寄存器级)

2. 工作过程(外中断)


一、中断的基本概念

1. 中断的含义

程序中断方式简称中断,是指:

在计算机运行过程中,如果发生某种随机事态,CPU 将暂停执行现行程序,转向去执行 中断处理程序,为该随机事态服务,并在服务完毕后自动恢复原程序的执行。 

断点:恢复原程序后的后继指令地址。

2. 中断的实质和特点

由中断的含义可知,中断的操作过程涵盖了 程序切换随机性 两大重要特征。

① 实质:程序切换

方法:保存断点,保护现场;恢复现场,返回断点。

时间:在一条指令执行结束时进行切换。—— 保证程序的完整性

② 特点:随机性

  • 随机发生的事态(按键、故障)
  • 有意调用但随机请求与处理的事态(调用打印机)
  • 随机插入的事态(软中断指令可插入程序任意位置,如:INT n)

注意中断与转子程序的区别:

子程序的执行由程序员事先安排,而中断服务程序的执行则是由随机中断事件触发。

子程序的执行受主程序或上层程序控制,而中断服务程序一般与被中断的现行程序无关。

③ 一般不存在同时调用多个子程序的情况,但可能发生多个外设同时向 CPU 发出中断服务请求的情况。

3. 中断的分类

中断源:引起中断的原因或事件。

① 硬中断和软中断

硬中断:由硬件请求信号引发的中断,向量地址由中断请求信号产生。

软中断:由软中断指令(INT)引发的中断,向量地址由软中断指令提供的中断号产生。

② 内中断和外中断

内中断:中断源来自主机内部。如:掉电中断、CPU 故障中断、软中断等。

外中断:中断源来自主机外部。如:键盘中断、显示器中断、打印机中断等。

软中断一定是内中断。

③ 可屏蔽中断和非屏蔽中断

可屏蔽中断:CPU 通过屏蔽字屏蔽请求;CPU 关中断,不再响应请求。

非屏蔽中断:与屏蔽字无关;对请求的响应与开/关中断无关。

; 中断允许标志位
IF = 1    ; 开中断
IF = 0    ; 关中断

(判断题)所有外中断都是可屏蔽中断。(×)

④ 向量中断和非向量中断(常考)

根据中断源获取中断服务程序的入口地址的方式有 向量中断方式非向量中断方式

向量中断:由硬件直接提供服务程序入口地址,即依靠硬件通过查询中断向量表来确定入口地址。

非向量中断:由软件查询提供服务程序入口地址,即通过执行 中断服务总程序 来确定入口地址。

4. 向量中断

基础概念

  • 中断类型码/中断号:每个中断源对应的编号。
  • 中断向量:中断服务程序的入口地址。
  • 中断向量表:存放各中断服务程序的入口地址的单元。
  • 向量地址:访问中断向量表的地址码,可通过中断类型码计算得到。

关系图

应用举例

考察选择题和填空题,其中填空题偏多。

① 模型机的中断向量表。

从主存 2# 单元开始安排,主存按字编址。一个入口地址 16 位,占 1 个编址单元。

向量地址 = 中断号 + 2

② IBM PC 的中断向量表。

从主存 0# 单元开始安排,主存按字节编址。一个入口地址 32 位,占 4 个编址单元。

向量地址 = 中断号 * 4

中断响应

在中断响应周期 IT 内:

  1. 关中断
  2. 保存断点及 PSW
  3. 读取服务程序入口地址及新的 PSW

读取服务程序入口地址:

  1. 获取中断类型码/中断号
  2. 访问中断向量表
  3. 得到中断服务程序的入口地址

二、外中断全过程

1. 中断请求的产生与传输

中断请求的产生:

① 外部设备有中断请求的需要:可将请求标志设置为 1 。

② CPU 允许请求,且没有屏蔽该中断源:可将屏蔽信号设置为 0 。

如图所示:IRQ 为中断请求信号,TD 为请求标志,TM 为屏蔽信号。

(a) 在中断请求触发器 IRQ 的 D 端进行屏蔽;(b) 在中断请求触发器 IRQ 的 Q 端进行屏蔽。

中断请求的传输:

2. 中断请求的优先级判断

(1)优先顺序:故障 > 内中断 > DMA > 外中断

这样安排是因为处理故障的紧迫性最高,DMA 请求是要求高速数据传输,高速操作一般应比低速操作优先。

按中断请求要求的数据传输方向,一般原则是输入操作的优先级高于输出操作。这是因为如果不及时响应输入操作请求,则有可能丢失输入信息。输出信息一般可暂存于主存或者缓存之中,如果暂时延缓一些处理,也不致丢失信息。

故基本原则为:高速操作 > 低速操作;输入 > 输出。

(2)CPU 现行程序与外设请求的判优

① CPU 设置 PSW 的中断允许标志位 IF

; 中断允许标志位
IF = 1    ; 开中断
IF = 0    ; 关中断

② CPU 设置 PSW 的程序优先级字段

(3)各外设请求之间的判优

① 软件判优(软件查询式)

使用公共请求线:

响应中断请求后,先转入查询程序,按优先顺序依次询问各中断源是否提出请求。如果查询到中断源,则转入相应的服务处理程序;如果没有,则继续往下查询。

查询的顺序体现了优先级别的高低,先被询问则优先级更高,改变查询顺序也就改变了优先级。

② 硬件判优(硬件电路式)

a. 使用独立请求线的并行判优逻辑

b. 使用公共请求线的链式判优逻辑

CPU 响应中断请求后,通过硬件电路判断是哪个中断源提出了请求。我们假设是图中的 1 号中断源提出了请求,则分析过程如下:

c. 专用芯片硬件判优 —— 中断控制器(8259)

集中解决请求信号的接收、屏蔽、判优、编码等问题。

3. 中断响应

(1)中断的响应条件

针对可屏蔽的中断请求,满足下述几个条件,CPU 才能响应中断:

  • 有中断请求信号发生,并且该中断请求未被屏蔽
  • CPU 处于开中断状态
  • 中断源的优先级高于当前程序的优先级
  • 在一条指令(非停机)执行结束时响应

Q:在程序执行过程中,CPU 何时响应中断请求?何时响应 DMA 请求?请说明原因。

在一条指令结束时响应中断请求。因为中断过程是一种程序切换的过程,需要保证程序的完整性。

在一个总线周期结束时响应 DMA 请求。因为 DMA 传送不切换程序,可在一个数据传送完后响应。

(2)中断的响应过程

安排一个过渡周期,位于主程序与中断服务程序之间,为转到中断服务程序做准备。

中断周期 IT 是响应过程的一个专用的过渡周期,在这一周期中 依靠硬件 实现程序切换,即硬件按顺序发一个个微命令来完成。以向量中断方式且单级中断为例:

教材 P355 介绍:

① 关中断:为了保证本次中断响应过程不受外界干扰,CPU 在进入中断周期后,便立即关中断,即设置 PSW[4] = 0 。

② 保存断点。将程序计数器 PC 的内容保存起来,PC 内容为恢复程序后的后继指令地址,称为断点。

③ 获取中断服务程序入口。被批准的中断源接口通过总线向 CPU 送入向量地址。CPU 据此在中断周期中访问中断向量表,从中读取中断服务程序的入口地址。

④ 转向程序运行状态,以开始执行中断服务程序。如组合逻辑控制方式,在中断周期将要结束时形成 1→FT,再切换到取指周期。

4. 中断处理

主要任务:CPU 执行中断服务程序。

(1)单级中断

(2)多重中断

教材 P356

关于设置新的屏蔽字

  • IMR:中断屏蔽寄存器
  • IRR:中断请求寄存器
  • ISR:中断服务寄存器(指示当前正在执行的中断)

三、中断接口模型

1. 组成(寄存器级)

(1)寄存器选择电路:对接口寄存器寻址。

(2)命令字寄存器:接收 CPU 发向外设的命令字,转换为相应操作命令送外设。

命令字格式的拟定:用代码表示各种命令。

(3)状态字寄存器:反映设备和接口的运行状态。

(4)数据缓冲器:传送数据,实现缓冲。

(5)控制逻辑

  • 请求信号产生逻辑

  • 电平转换逻辑

  • 串-并转换逻辑(串口)

  • 扩展中断源

(6)公用中断控制器

  • 接收外设请求,判优,送出公共请求 INT 。

  • 接收中断批准 INTA,送出中断号,即中断类型码。

(选择题)中断类型码是经过数据总线传输的。

2. 工作过程(外中断)

(1)初始化:设置工作方式、屏蔽字、分配中断类型码等。

由操作系统为每个中断源分配中断码,然后写进中断控制器,该过程只在初始化期间完成。

(2)启动设备(送命令字)。

(3)设备请求中断。

(4)中断控制器汇集各请求,向 CPU 送 INT 。

(5)CPU 响应,发 INTA 。

(6)中断控制器送出中断号。

(7)CPU 执行中断隐指令操作,转中断服务程序。

中断响应即中断隐指令操作。在中断周期 IT 中计算向量地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值