第三节 中断方式及接口
5.3.1 中断基本概念
1.定义
CPU暂时中止现行程序的执行,转去执行为某
个随机事态服务的中断处理程序。处理完毕后自
动恢复原程序的执行。
2.实质与特点
( 1)实质
程序切换
方法,保存断点,保护现场;
恢复现场,返回断点。
时间,一条指令结束时切换。
保证程序的完整性。
( 2)特点
随机性
随机发生的事态
注意 中断 与 转子 的区别。
由硬件请求信号引发中断
(按键、故障)
有意调用,随机请求与处理的事态 (调用打印机)
随机插入的事态 (软中断指令插入程序任何位置)
3.中断分类
( 1)硬件中断 与 软中断 由软中断指令引发中断
( 2)内中断 与 外中断
中断源来自主机内部 中断源来自主机外部
( 3)可屏蔽中断 与 非屏蔽中断
可通过屏蔽字屏蔽该
类请求;关中断时不
响应该类请求。
该类请求与屏蔽字无
关;请求的响应与开 /
关中断无关。
由硬件提供服务程序入口地址
4.中断典型应用
( 4)向量中断 与 非向量中断
( 1)管理中、低速 I/O操作
某事件出现的实际时间内及时处理,不是批量处理。
( 2)处理故障
服务程序、中断向量表
由软件提供服务程序
入口地址
( 3)实时处理
( 4)人机对话
利用 时钟中断 定时采集参数,检测,调节。
( 5)多机通信
5.中断系统的组成
( 1)软件:
中断系统的硬、软界面
( 2)硬件 接口方面,请求、传递、判优逻辑
CPU方面,响应逻辑
1.中断请求的提出与传递
( 1)如何产生中断请求?
“完成, 标志为 1
1)使用单独请求线
外设工作完成:
5.3.2 中断全过程(外中断)
CPU允许请求:,屏蔽, 标志为 0
先, 屏蔽,,后请
求
先请求,后, 屏蔽,
完成
请求触发器
屏蔽 CP
有效请求
完成
请求触发器
屏蔽
CP
请求
有效请求
( 2)如何传送中断请求?
CPU
请求
请求
I/O
I/O
2)使用公共请求线
CPU
公共请求
I/OI/O
2.中断判优
( 1)优先顺序 故障,DMA、外中断
( 2) CPU现行程序与外设请求的判优
为现行程序赋予 优先级
1) CPU设置允许中断标志
(输入、输出)
=1,开中断
1)软件判优
由程序查询顺序确定优先级。
< 外设请求优先级,
例,中断控制器判优
响应
=0,关中断
2) CPU设置程序状态字的优先级字段
≥ 外设请求优先级,不响应
( 3)各外设请求的判优
可灵活修改优先级。
2)硬件判优
中断控制器 (如 8259)集中解决请求信号的接收、屏蔽、判
优、编码等问题。
(模型机采用)
中断请求 8259
8259
D7~ D0
中断屏蔽寄存器
中断号寄存器
中
断
请
求
寄
存
器
中
断
服
务
寄
存
器
优
先
级
裁
决
器
INT
INTA IRQ0
IRQ7
(未屏蔽的请求判优,生成相应中断号)
公共请求 INT CPU
( CPU响应后,取回中断号,转入相应服务程序。)
3.中断响应
( 1)响应条件
中断源的序号
IRR,00010100
7 0
IMR,00000100
ISR,00001000
不发 INT
00010100
7 0
00000000
00001000
发 INT
优先级高
优先级低
外设有请求,且未被屏蔽;
1)非向量中断
将服务程序入口组织在查询程序中; CPU响应时执行查询
程序,查询中断源,转入相应服务程序。
( 2)如何获取中断服务程序的入口地址
CPU开中断; 一条指令 (非停机
指令 )结束; 无故障,DMA等优先级更高的请求。
2)向量中断
将服务程序入口 (中断向量 )组织在 中断向量表 中; CPU
响应时由硬件直接产生相应 向量地址,按地址查表,取
得服务程序入口,转入相应服务程序。
中断向量,服务程序入口地址、服务程序状态字
中断向量表,存放中断向量的表 (一段存储区)
向量地址,访问向量表的地址 (指向中断向量的首址)
例 1.模型机向量表
M按字编址。一个入口地址 16位,占一个编址单元。
(从主存 2#单元开始安排)
向量地址
例 2.IBM PC向量表
M按字节编址。一个入口地址 32位,占 4个编址单元。
(从主存 0#单元开始安排)
2#
向量表
入口地址 0
入口地址 13#
0号中断源
1号中断源(单元地址 )
=中断号 +2
0#
向量表
入口偏移 0
入口基址 0
4#
0号中断源
1号中断源入口偏移 1
入口基址 1
向量地址 =中断号 × 4
向量中断方式:
( 3)响应过程
发响应信号 INTA,进入中断周期
关中断,保存断点
获得中断号,转换为向量地址,
查向量表
取中断向量,转中断服务程序
CPU执行中
断隐指令
(硬件完成)
4.中断处理
CPU执行中断服务程序。
( 1)单级中断,CPU响应后只处理一个中断源的请求,处
理完毕后才能响应新的请求。
( 2)多重中断,在某次中断服务过程中,允许响应处理
更高级别的中断请求。
单级中断流程:
保护现场
具体服务处理
恢复现场
开中断、返回
外中断:
数据传送
禁止同
级或更
低级别
的请求,
开放更
高级别
的请求
多重中断流程:
开中断、返回
保护现场
送新屏蔽字、开中断
具体服务处理
关中断
恢复现场及原屏蔽字
5.3.3 中断接口
1.组成(寄存器级)
D7~0
IRQ0
地址线 寄存器选择
命令字 R
状态字 R
数据缓冲器
控制逻辑
数据线
数据线
数据线
中断控制器
INT
INTA
命令
IRQ7
状态
数据
外
部
设
备
系
统
总
线
( 8259)
IRQi
M
CPU 主机板
( 1)寄存器选择
对接口寄存器寻址。
( 2)命令字寄存器
接收 CPU发向外设的命令
字,转换为相应操作命
令送外设。
命令字格式的拟定:
接口板
用代码表示
各种命令
代码位数
代码含义
( 3)状态字寄存器
反映设备和接口的运行
状态。
( 4)数据缓冲器
传送数据,实现缓冲。
( 5)控制逻辑
请求信号产生逻辑
状态字格式的拟定:
D7~0
IRQ0
地址线 寄存器选择
命令字 R
状态字 R
数据缓冲器
控制逻辑
数据线
数据线
数据线
中断控制器
INT
INTA
命令
IRQ7
状态
数据
外
部
设
备
系
统
总
线
( 8259)
IRQi
M
CPU 主机板
接口板
用代码表示各种状态。
( 6)公用中断控制器
接收外设请求,判优,
送出公共请求;
电平转换逻辑
针对设备特性的逻辑
串 -并转换逻辑 (串口 )
接收中断批准,送出中
断号(中断类型码)。
( 1) 初始化:设置工作
方式,送屏蔽字,送中
断号 (确定高位 )。
( 2) 发启动命令 (送命
令字 ),启动设备。
D7~0
IRQ0
地址线 寄存器选择
命令字 R
状态字 R
数据缓冲器
控制逻辑
数据线
数据线
数据线
INT
INTA
命令
IRQ7
状态
数据
外
部
设
备
系
统
总
线
中断控制器
( 8259)
IRQi
M
CPU 主机板
接口板
( 3) 设备完成工作,申
请中断。
2.工作过程(外中断)
( 4) 中断控制器汇集各
请求,经屏蔽、判优,形
成中断号,并向 CPU送 INT。
( 5) CPU响应,发批准 INTA。
( 6) 中断控制器送出中
断号。
( 7) CPU执行 中断隐指令
操作,进入服务程序。
涉及命令字、状态字格式的拟定,中断源的扩展。
例,模型机需扩展两个外中断源,共用一个中断号。
3.接口设计
主机发向外设的命令包括,启动, 停止, 数据选通 ;
外设的状态包括,忙, 完成, 出错 。
8259
IRQ0 系统时钟
IRQ1 实时时钟
IRQ2 通信
IRQ7 打印机
为两个扩展中断源设计中断接口。
模型机的外中断源安排:
通过 IRQ2进行扩展。
( 1)接口组成
两个扩展中断源共用一个接口。
启动 1 停止 1 选通 1 启动 2 停止 2 选通 2
5 4 3 2 1 0
命令字格式:
状态字格式,忙 1 完成 1 出错 1 忙 2 完成 2 出错 2
( 2)判断中断源
地址线 寄存器选择
命令 1 命令 2
状态 1 状态 2
控制逻辑
数据线
数据线
命令
状态
数据缓冲 1数据线 数据
外
设
1
系
统
总
线
D7~0
IRQ0中断控制器INTINTA
IRQ7( 8259)
IRQ2
数据缓冲 2数据线 数据
外
设
2
向量中断与非向量中
断相结合 (软件扩展 )
请求 1与请求 2在控制
逻辑中形成公共请求
IRQ2,送入 8259参加
判优; CPU响应后执行
IRQ2服务程序
CPU在 IRQ2服务程序中
查询各设备状态,判
中断源,转入相应设
备服务程序
(向量中
断过程 );
(非向量中
断过程 )。
5.3.1 中断基本概念
1.定义
CPU暂时中止现行程序的执行,转去执行为某
个随机事态服务的中断处理程序。处理完毕后自
动恢复原程序的执行。
2.实质与特点
( 1)实质
程序切换
方法,保存断点,保护现场;
恢复现场,返回断点。
时间,一条指令结束时切换。
保证程序的完整性。
( 2)特点
随机性
随机发生的事态
注意 中断 与 转子 的区别。
由硬件请求信号引发中断
(按键、故障)
有意调用,随机请求与处理的事态 (调用打印机)
随机插入的事态 (软中断指令插入程序任何位置)
3.中断分类
( 1)硬件中断 与 软中断 由软中断指令引发中断
( 2)内中断 与 外中断
中断源来自主机内部 中断源来自主机外部
( 3)可屏蔽中断 与 非屏蔽中断
可通过屏蔽字屏蔽该
类请求;关中断时不
响应该类请求。
该类请求与屏蔽字无
关;请求的响应与开 /
关中断无关。
由硬件提供服务程序入口地址
4.中断典型应用
( 4)向量中断 与 非向量中断
( 1)管理中、低速 I/O操作
某事件出现的实际时间内及时处理,不是批量处理。
( 2)处理故障
服务程序、中断向量表
由软件提供服务程序
入口地址
( 3)实时处理
( 4)人机对话
利用 时钟中断 定时采集参数,检测,调节。
( 5)多机通信
5.中断系统的组成
( 1)软件:
中断系统的硬、软界面
( 2)硬件 接口方面,请求、传递、判优逻辑
CPU方面,响应逻辑
1.中断请求的提出与传递
( 1)如何产生中断请求?
“完成, 标志为 1
1)使用单独请求线
外设工作完成:
5.3.2 中断全过程(外中断)
CPU允许请求:,屏蔽, 标志为 0
先, 屏蔽,,后请
求
先请求,后, 屏蔽,
完成
请求触发器
屏蔽 CP
有效请求
完成
请求触发器
屏蔽
CP
请求
有效请求
( 2)如何传送中断请求?
CPU
请求
请求
I/O
I/O
2)使用公共请求线
CPU
公共请求
I/OI/O
2.中断判优
( 1)优先顺序 故障,DMA、外中断
( 2) CPU现行程序与外设请求的判优
为现行程序赋予 优先级
1) CPU设置允许中断标志
(输入、输出)
=1,开中断
1)软件判优
由程序查询顺序确定优先级。
< 外设请求优先级,
例,中断控制器判优
响应
=0,关中断
2) CPU设置程序状态字的优先级字段
≥ 外设请求优先级,不响应
( 3)各外设请求的判优
可灵活修改优先级。
2)硬件判优
中断控制器 (如 8259)集中解决请求信号的接收、屏蔽、判
优、编码等问题。
(模型机采用)
中断请求 8259
8259
D7~ D0
中断屏蔽寄存器
中断号寄存器
中
断
请
求
寄
存
器
中
断
服
务
寄
存
器
优
先
级
裁
决
器
INT
INTA IRQ0
IRQ7
(未屏蔽的请求判优,生成相应中断号)
公共请求 INT CPU
( CPU响应后,取回中断号,转入相应服务程序。)
3.中断响应
( 1)响应条件
中断源的序号
IRR,00010100
7 0
IMR,00000100
ISR,00001000
不发 INT
00010100
7 0
00000000
00001000
发 INT
优先级高
优先级低
外设有请求,且未被屏蔽;
1)非向量中断
将服务程序入口组织在查询程序中; CPU响应时执行查询
程序,查询中断源,转入相应服务程序。
( 2)如何获取中断服务程序的入口地址
CPU开中断; 一条指令 (非停机
指令 )结束; 无故障,DMA等优先级更高的请求。
2)向量中断
将服务程序入口 (中断向量 )组织在 中断向量表 中; CPU
响应时由硬件直接产生相应 向量地址,按地址查表,取
得服务程序入口,转入相应服务程序。
中断向量,服务程序入口地址、服务程序状态字
中断向量表,存放中断向量的表 (一段存储区)
向量地址,访问向量表的地址 (指向中断向量的首址)
例 1.模型机向量表
M按字编址。一个入口地址 16位,占一个编址单元。
(从主存 2#单元开始安排)
向量地址
例 2.IBM PC向量表
M按字节编址。一个入口地址 32位,占 4个编址单元。
(从主存 0#单元开始安排)
2#
向量表
入口地址 0
入口地址 13#
0号中断源
1号中断源(单元地址 )
=中断号 +2
0#
向量表
入口偏移 0
入口基址 0
4#
0号中断源
1号中断源入口偏移 1
入口基址 1
向量地址 =中断号 × 4
向量中断方式:
( 3)响应过程
发响应信号 INTA,进入中断周期
关中断,保存断点
获得中断号,转换为向量地址,
查向量表
取中断向量,转中断服务程序
CPU执行中
断隐指令
(硬件完成)
4.中断处理
CPU执行中断服务程序。
( 1)单级中断,CPU响应后只处理一个中断源的请求,处
理完毕后才能响应新的请求。
( 2)多重中断,在某次中断服务过程中,允许响应处理
更高级别的中断请求。
单级中断流程:
保护现场
具体服务处理
恢复现场
开中断、返回
外中断:
数据传送
禁止同
级或更
低级别
的请求,
开放更
高级别
的请求
多重中断流程:
开中断、返回
保护现场
送新屏蔽字、开中断
具体服务处理
关中断
恢复现场及原屏蔽字
5.3.3 中断接口
1.组成(寄存器级)
D7~0
IRQ0
地址线 寄存器选择
命令字 R
状态字 R
数据缓冲器
控制逻辑
数据线
数据线
数据线
中断控制器
INT
INTA
命令
IRQ7
状态
数据
外
部
设
备
系
统
总
线
( 8259)
IRQi
M
CPU 主机板
( 1)寄存器选择
对接口寄存器寻址。
( 2)命令字寄存器
接收 CPU发向外设的命令
字,转换为相应操作命
令送外设。
命令字格式的拟定:
接口板
用代码表示
各种命令
代码位数
代码含义
( 3)状态字寄存器
反映设备和接口的运行
状态。
( 4)数据缓冲器
传送数据,实现缓冲。
( 5)控制逻辑
请求信号产生逻辑
状态字格式的拟定:
D7~0
IRQ0
地址线 寄存器选择
命令字 R
状态字 R
数据缓冲器
控制逻辑
数据线
数据线
数据线
中断控制器
INT
INTA
命令
IRQ7
状态
数据
外
部
设
备
系
统
总
线
( 8259)
IRQi
M
CPU 主机板
接口板
用代码表示各种状态。
( 6)公用中断控制器
接收外设请求,判优,
送出公共请求;
电平转换逻辑
针对设备特性的逻辑
串 -并转换逻辑 (串口 )
接收中断批准,送出中
断号(中断类型码)。
( 1) 初始化:设置工作
方式,送屏蔽字,送中
断号 (确定高位 )。
( 2) 发启动命令 (送命
令字 ),启动设备。
D7~0
IRQ0
地址线 寄存器选择
命令字 R
状态字 R
数据缓冲器
控制逻辑
数据线
数据线
数据线
INT
INTA
命令
IRQ7
状态
数据
外
部
设
备
系
统
总
线
中断控制器
( 8259)
IRQi
M
CPU 主机板
接口板
( 3) 设备完成工作,申
请中断。
2.工作过程(外中断)
( 4) 中断控制器汇集各
请求,经屏蔽、判优,形
成中断号,并向 CPU送 INT。
( 5) CPU响应,发批准 INTA。
( 6) 中断控制器送出中
断号。
( 7) CPU执行 中断隐指令
操作,进入服务程序。
涉及命令字、状态字格式的拟定,中断源的扩展。
例,模型机需扩展两个外中断源,共用一个中断号。
3.接口设计
主机发向外设的命令包括,启动, 停止, 数据选通 ;
外设的状态包括,忙, 完成, 出错 。
8259
IRQ0 系统时钟
IRQ1 实时时钟
IRQ2 通信
IRQ7 打印机
为两个扩展中断源设计中断接口。
模型机的外中断源安排:
通过 IRQ2进行扩展。
( 1)接口组成
两个扩展中断源共用一个接口。
启动 1 停止 1 选通 1 启动 2 停止 2 选通 2
5 4 3 2 1 0
命令字格式:
状态字格式,忙 1 完成 1 出错 1 忙 2 完成 2 出错 2
( 2)判断中断源
地址线 寄存器选择
命令 1 命令 2
状态 1 状态 2
控制逻辑
数据线
数据线
命令
状态
数据缓冲 1数据线 数据
外
设
1
系
统
总
线
D7~0
IRQ0中断控制器INTINTA
IRQ7( 8259)
IRQ2
数据缓冲 2数据线 数据
外
设
2
向量中断与非向量中
断相结合 (软件扩展 )
请求 1与请求 2在控制
逻辑中形成公共请求
IRQ2,送入 8259参加
判优; CPU响应后执行
IRQ2服务程序
CPU在 IRQ2服务程序中
查询各设备状态,判
中断源,转入相应设
备服务程序
(向量中
断过程 );
(非向量中
断过程 )。