CPU与中断技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断优先级和多重中断
3、中断的屏蔽
指程序提出中断请求后,CPU不予响应的 状态。常常用来在处理某一中断请求时防 止同级中断的干扰或在处理一段不可分割, 必须连续执行的程序时防止任何中断事件 的干扰。
如允许或禁止所有的I/O中断、一些外部中 断等
通过设程序状态字中的状态屏蔽位标志
47
中断优先级和多重中断
26
中断源分类(4)
两类中断事件
机器故障中断事件 程序性中断事件 输入输出中断事件 外部中断 事件
运行程序 中断装置 中断处理 程序 中断处理 程序 运行程序 访管指令 中断装置
强迫性中断事件
自愿性中断事件
27
中断源分类(5)
按照中断信号的来源,可把中断 分为外中断和内中断两类: • 外中断 ( 又称中断 ) :指来自处 理器和主存之外的中断;
42
2.2.6 中断优先级和多重中断
1、中断的优先级 2、如何确定中断的优先级? 3、中断的屏蔽
4、多重中断事件的处理 5、定义中断优先级
43
中断优先级和多重中断
1、中断的优先级 计算机执行的每一瞬间,可能有几 个中断事件同时发生,中断装置如何 来响应同时发生的中断呢? 按照预定顺序来响应,这个预定顺 序称中断的优先级
CH2 处理器管理
2.1 中央处理器 2.2 中断技术 2.3 进程的描述与控制
操作系统原理
南京理工大学经济管理学院
1
2.1 中央处理器
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 中央处理器的含义 单处理器系统和多处理器系统 处理器的组成 特权指令与非特权指令 处理器状态 程序状态字寄存器
中断优先级和多重中断
5、中断优先级 对优先级更高的中断源,允许 在运行中断处理程序时,可响应 这些中断,系统负责保护被中断 的中断处理程序的现场,再转向 处理新中断的中断处理程序
50
1)当前PSW 2)旧PSW 3)新PSW
34
中断装置通过“交换 PSW” 来帮助操 作系统完成中断响应过程
35
中断响应(2)
中断响应过程 1 )中断装置发现中断事件,将中断事件存 入程序状态字寄存器中当前PSW的中断码 位置上; 2)根据发生的事件找出对应的旧PSW的存放 位置,把当前的PSW保存到该位置; 3)找出对应的新PSW(中断处理程序),将 它送入程序状态字寄存器;
30
中断源分类(8)
按产生中断的设施来划分中断类型: 要通过硬件设施来产生中断请求,可 看作硬中断 不必由硬件发信号而能引发的中断称 软中断
31
中断源分类(9)
软中断是由内核或进程对某个进程发 出的中断信号,可看作内核与进程或 进程与进程之间用来模拟硬中断的一 种信号通信方式。
32
2.2.3 中断处理程序
18
中断的概念(4)
中断系统:中断的实现需要软件和硬 件综合完成,硬件部分叫做中断装置, 软件部分即中断处理程序。中断装置 和中断处理程序统称为中断系统
19
中断的概念(5)
中断装置:是发现中断源并产生中 断的硬件,由中断逻辑线路和中断 寄存器组成;其职能主要有两点:
检查是否有中断事件发生;
36
中断响应(3)
4)保护被中断程序的现场信息 把中断时的通用寄存器内容、控制寄存器内 容以及已被中断装置保护的旧 PSW 保存到被 中断程序的进程控制块中; 5)分析中断原因 通过分析 PSW 中的中断码,可知中断的具体 原因; 6)处理发生的中断事件(执行相应的中断事件 处理程序) 针对不同事件,进行不同的中断处理。
44
中断优先级和多重中断
2、如何确定中断的优先级?
计算机系统中,各中断源的优 先顺序是根据某个中断源或中断 级若得不到及时响应,造成计算 机出错的严重性程度来定。
45
中断优先级和多重中断
一般来讲,中断优先级由高 到低的顺序是: 硬件故障中断→自愿性中断 →程序性中断→外部中断→输 入输出中断
46
系统调用程序
根据用户 要求完成 处理
41
自愿中断事件的处理方法
系统调用机制通过特殊指令和中断系统 来实现。处理流程为: 用户程序执行n号系统调用; 通过中断系统进入访管中断处理; 保护现场; 通过系统调用入口表,按功能号跳转找 到相应功能入口地址; 执行相应例行程序,结束后正常情况返 回原程序的下一条指令继续执行;
• 标志寄存器:也称程序状态字寄存器,存 放反映运算结果的各种特征,如有无进位, 是否溢出等
6
处理器的组成(3)
重要 概念
处理器现场:计算机系统的寄存器个 数根据机型的不同而不同,比主存容 量 小 ,但访问速度快,称一级存储。 这组寄存器所存储的信息与程序的执 行有很大关系,构成了处理器现场
7
处理器的组成(4)
24
硬件故障中断事件:例如电源故障等; 程序性中断事件:溢出、地址越界等; 外部中断事件:时钟的定时中断、用户在 控制台输入了一条命令等;
输入输出中断事件:设备出错、传输结束等
25
中断源分类(3)
• 自愿性中断事件是正在运行的
程序所期待的事件 正在运行的程序对操作系统有 系统 某种需求,一旦机器执行到一条 调用 指令(称“访管指令”)时,便 自愿停止现行程序的执行而转入 访管中断处理程序处理。
中断事件能改变处理器内操作执 行的顺序,是现代操作系统实现并 发性的基础之一
为什么?
22
2.2.2 中断源分类(1)
按照中断源的自愿程度可以 将中断源分成两类: • 强迫性中断事件 • 自愿性中断事件
23
中断源分类(2)
强迫性中断事件 不是正在运行的程序所期待的,而是 由于某种事故或外部请求所引起的,它 们是否发生,何时发生事先无法预料, 因而运行程序可以在任意位置处被打断。 分为:
16
中断的概念(2)
• 请求系统服务
中断 原因
• 实现并行工作
• 处理突发事件
都需要打断处理器正常的工作, 为此,才提出了“中断”的概念
17
中断的概念(3)
中断源:引起中断的事件称为中断源; 中断请求:中断源向CPU提出处理的请求; 断点:发生中断时被打断程序的暂停点; 中断响应 :CPU 暂停现行程序而转为响应中 断请求的过程; 中断处理程序:处理中断源的程序; 中断处理:CPU执行有关的中断处理程序; 中断返回:返回断点的过程;
2
2.1.1 中央处理器
中央处理器是电子计算机内部完成 指令读出、解释和执行的重要部件, 简称CPU。由运算器和控制器组成,有 时还包含了高速缓冲存储器。它是现 代电子计算机的心脏。
3
2.1.2 单处理器和多处理器系统
单处理器系统:一个计算机系统只 包括一个中央处理器; 多处理器系统:一个计算机系统有 多个中央处理器
Trap指令操作码
系统调用编码
39
3)系统调用程序入口表
编号 0 1 2 3 4 5 … 参数个数 处理程序 系统调用 入口地址 名称 0 Indir 0 exit 0 2 2 2 …
40
4)系统调用实现过程
用户程序
… … Trap指令 … …
Trap处理子程序 … 查入口表 传递参数 启动系统调用程序 后续处理
中断处理程序主要工作: 保护CPU现场 处理发生的中断事件 恢复正常操作
不同中断源对应不同的中断处理 程序
33
2.2.4 中断响应(1)
处理器总是按程序状态字寄存器中的PSW字 的内容来控制程序的执行,所以,哪个程 序的PSW在程序状态字寄存器中,处理器就 一定执行哪个程序的指令。
为了说明中断响应过程,区分三种PSW:
4
2.1.3 处理器的组成(1)
1.运算器
CPU 中的运算器包括算术逻辑单元( ALU ), 寄存器组,标志寄存器,累加器,等 • 算术逻辑单元:是运算器的主要部件, 完成指令系统所规定的各种运算;
5
处理器的组成(2)
寄存器组:包括通用寄存器组和专用寄存 器组; 通用寄存器组:CPU内部的高速数据暂存器 专用寄存器组:包括程序计数器,堆栈指 示器,变址寄存器等 累加器ACC:参与运算、存放运算结果
28
中断源分类(6)
外中断包括:电源故障中断、时 钟中断、控制台中断、关机中断 和I/O中断等 不同的外中断具有不同的中断优先 级,处理高一级中断时,往往会屏 蔽低级中断
29
中断源分类(7)
• 内中断(又称异常 ):指来自处理 器和主存内部的中断;
内中断包括:通路校验错、主 存奇偶错、非法操作码、地址 越界、页面失效、调试指令、 访管中断、算术操作溢出等各 种程序性中断
中断码:保存程序执行时当前发生的 中断事件 中断屏蔽位:指明程序执行中发生中 断事件时,是否响应出现的中断事件
13
2.1.6 程序状态字寄存器(2)
PSW用来控制指令执行顺序、并保留和 指示与程序有关的系统状态,主要作 用是实现程序状态的保护和恢复 每个程序都有一个与其执行相关的PSW, 每个处理器都设置一个PSW寄存器。程 序占有处理器执行时,它的PSW将占有 PSW寄存器
37
2.2.5 自愿中断事件的处理方法
自愿中断事件的处理 用户程序执行访管指令而引起的 中断,它表示运行程序对操作系统 功能的调用,所以,也称“系统调 用”,可以看作是机器指令的一种 扩充。
38
2)trap指令
在UNIX系统中,规定用户程序用“trap指令”来 请求系统调用
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
如果用户程序在目态下执行特权指令,将 发生执行中断,这样可以防止用户程序有 意或无意地破坏系统 11
处理器的状态(3)
从管态到目态可以通过修改 PSW来实 现,这将伴随由操作系统程序到用 户程序的转换 从目态转换为管态的唯一途径是 中断
12
2.1.6 程序状态字寄存器(1)
记录算术运算和逻辑运算结果 PSW寄存器包括以下内容: 的一些特征,标志着系统内部 的工作状态。如:进位标志位、 程序基本状态: (1) 下一条指令的地 奇偶标志位、正负符号标志位、 溢出标志位等 址;(2)条件码; (3)处理器状态
2.控制器
CPU 中的控制器主要包括指令寄存 器,指令译码器和控制信号发生器, 主要完成指令的翻译,并产生各种 控制信号,执行相应的指令
8Leabharlann Baidu
2.1.4 特权指令与非特权指令
从资源管理和控制程序执行的角度出 发,必须把指令寄存器中的指令分作 两种:特权指令、非特权指令 特权指令:只允许操作系统使用,不 允许一般用户使用的指令。如启动 I/O设备、设置时钟、加载PSW等 非特权指令:除特权指令之外的指令 称为非特权指令
如果是自愿性中断:只要检查操作码 是否为访管指令; 如果是强迫性中断:则要检查中断寄 存器内容。若为0,则无中断;若非0, 则表示有中断事件发生。
20
中断的概念(6)
若有中断发生,启动操作系统的中 断处理程序,保护好被中断程序的 断点及现场信息,以便程序在适当 时候能恢复运行;
21
中断的概念(7)
通常,中断处理程序只屏蔽比自己级别 低的中断事件。 自愿性访管中断不能被屏蔽 电源断电中断不能被屏蔽
48
中断优先级和多重中断
4、多重中断 中断正在进行处理期间,这时 CPU 又响应了新的中断事件,于是 暂时停止正在运行的中断处理程序, 转去执行新的中断处理程序,这就 叫多重中断(又称中断嵌套)。
49
14
2.2 中断技术(1)
2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 中断的概念 中断源分类 中断处理程序 中断响应 中断事件的具体处理方法 中断的优先级和多重中断
15
2.2.1 中断的概念(1)
中断是指程序执行过程中,当发 生某个事件时,中止 CPU 上现行 程序的运行,引出处理该事件的 程序执行的过程
9
2.1.5 处理器的状态(1)
中央处理器怎么知道当前是操作系 统还是一般用户程序在运行呢? 处理器状态标志属于程序状态字PSW 的一位,可设置处理器成不同状态。 大多数计算机系统将CPU执行状态分为 管态和目态。
10
处理器的状态(2)
管态:又叫特权态,系统态或核心态。CPU 在管态下可以执行指令系统的全集,使用 全部资源。通常,操作系统程序在管态下 运行 目态:又叫常态或用户态。CPU处于目态时, 只能执行非特权指令。用户程序只能在目 态下运行