ch8_4中断系统

news2024/9/21 18:36:29

为什么需要中断?
输入,输出。
计算机程序调试;发生异常事件;
都需要由中断系统进行处理.

引发中断的各种因素包括:人为设置中断,程序性事故, 硬件故障,I/O设备,外部事件等等。

1.1

1.2

1.3

2. 中断判优逻辑

中断系统任意瞬间只能响应一个中断源的请求。

2.1

2.2

2.3

3.  中断服务程序的入口地址

3.1

3.2

3.3

4.  中断响应

4.1

4.2

4.3 中断隐指令

所谓中断隐指令,指的是计算机指令集中并没有设计该指令,实际的实现过程是由硬件实现的,
在执行某些指令时,这些隐指令由硬件自动实现。

如果需要响应某个中断请求, CPU如何响应中断请求?

  • 响应中断,要去执行中断服务程序;
  • 为将来的中断返回做准备
    (1)保护程序断点
    (2)保护程序运行的软硬件状态;

单重中断:执行中断, 服务程序时不允许再发生中断.

多重中断:保护程序,软硬件状态的过程中,不允许发生中断;

  1. 保护程序断点
    断点存于 特定地址( 0 号地址) 内, 断点 进栈;

  2. 寻找服务程序入口地址

向量地址 —> PC (硬件向量法)

中断识别程序, 入口地址 M—> PC (软件查询法)

  1. 硬件 关中断
    在这里插入图片描述

INT 中断标记;
EINT 允许中断;
R – S 触发器;

5. 保护现场和恢复现场

5.1 保护现场

断点: 中断隐指令 完成;

寄存器 内容: 中断服务程序 完成;

5.2 恢复现场

中断服务程序 完成;
在这里插入图片描述

6. 多重中断

6.1 多重中断的概念

如果在执行中断服务程序的过程中,出现了更重要
的,需要及时处理的新事件,怎么办呢?

在这里插入图片描述

程序断点 k+1 , l+1 , m+1;

6.2 实现多重中断的条件

要允许CPU在执行某个中断服务程序时,响应新的中断请求

是不是任何一个新的中断请求,均能中断正在进行的中断服务?

在这里插入图片描述

  1. 提前 设置 开中断 指令;

  2. 优先级别高的中断源, 有权中断优先级别低 的中断源;

6.3 屏蔽技术

6.3.1 屏蔽触发器的作用

在这里插入图片描述

MASK = 0(未屏蔽), MASKi = 1 (屏蔽)

INTR 能被置 “1”, INTPi = 0 (不能被排队选中)

6.3.2 屏蔽字

16个中断源 1, 2, 3 , … 16 按 降序 排列

在这里插入图片描述

6.3.3 屏蔽技术可改变处理优先等级

响应优先级 不可改变

处理优先级 可改变(通过重新设置屏蔽字)

在这里插入图片描述

响应优先级 A→B→C→D 降序排列

处理优先级 A→D→C→B 降序排列
在这里插入图片描述

在这里插入图片描述

6.3.4 屏蔽技术的其他作用

可以 人为地屏蔽 某个中断源的请求;

6.3.5 新屏蔽字的设置

在这里插入图片描述

6.4 多重中断的断点保护

6.4.1 断点进栈

6.4.2 断点存入“ 0 ” 地址

6.4.3 断点保护

程序断点存入 “ 0 ” 地址的断点保护

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/673994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

英伟达驱动安装

https://zhuanlan.zhihu.com/p/60307377 https://www.nvidia.cn/Download/index.aspx?langcn

路由器的工作原理详解

什么叫路由? 路由器的英文是 Router,也就是「找路的工具」。找什么路?寻找各个网络节点之间的路。 换句话说,路由器就像是快递中转站,包裹会经过一个个的中转站,从遥远的地方寄到你家附近,数据…

驱动开发:内核远程线程实现DLL注入

在笔者上一篇文章《驱动开发:内核RIP劫持实现DLL注入》介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过NtCreateThreadEx这个内核函数实现注入DLL的目的,需要注意的是该函数在微软系统中…

Java多线程阻塞队列(BlockingDeque)的简析

目录 一.什么是阻塞队列(BlockingDeque) 二.阻塞队列有什么用? 三.运用阻塞队列来实现一个最简单的生产者消费者 四.模拟实现阻塞队列 一.什么是阻塞队列(BlockingDeque) 既然叫做阻塞队列,那么他就满足两个特性 1.队列:先进先出 2.阻塞:空了不让出,满了不让进 &#…

kali常用ping命令探测

ping 判断目标主机网络是否畅通 ping $ip -c 1其中,-c 1 表示发送一个数据包 traceroute 跟踪路由 traceroute $domain ARPING 探测局域网IP ARP(地址解析协议),将IP地址转换成MAC地址arping $ip -c 1 #!/bin/ bash######…

云原生监控平台 Prometheus 从部署到监控

1.监控系统架构设计 角色 节点 IP地址 监控端 Prometheus ,Grafana,node_exporter ,Nginx 47.120.35.251 被监控端1 node_exporter 47.113.177.189 被监控端2 mysqld_exporter,node_exporter,Nginx&#xff…

Centos7下载安装mysql

参考文档:https://xie.infoq.cn/article/5da9bfdfbdaabf7b0b982ab6e https://blog.csdn.net/Lance_welcome/article/details/107314575 一、下载mysql 5.7 # 下载mysql5.7.42版本 wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.42-linux-glibc2.12-…

Mysql 表的七种连接方式【附带练习sql】

连接 七种JOIN介绍 图形连接方式说明SQL内连接共有部分SELECT <select_list> FROM TableA A INNER JOIN TableB B ON A.Key B.Key;左连接A表独有共有部分SELECT <select_list> FROM TableA A LEFT JOIN TableB B ON A.Key B.Key;右连接B表独有共有部分SELECT &…

字符设备驱动内部实现原理解析以及分步注册流程和代码示例

1、字符设备驱动内部实现原理解析 原理&#xff1a;用户层调用 open() 函数打开设备文件&#xff0c;用ls-i查看inode号并找到与之对应的struct inode 结构体。在struct inode 结构体中&#xff0c;可以找到与文件关联的 struct cdev 设备驱动结构体。设备驱动结构体中包含了文…

Spring6 数据校验 Validation

1、Spring Validation概述 在开发中&#xff0c;经常遇到参数校验的需求&#xff0c;比如用户注册的时候&#xff0c;要校验用户名不能为空、用户名长度不超过20个字符、手机号是合法的手机号格式等等。如果使用普通方式&#xff0c;会把校验的代码和真正的业务处理逻辑耦合在一…

FL Studio 21中文永久版网盘下载(含Key.reg注册表补丁)

FL Studio 21全称Fruity Loops Studio&#xff0c;就是大家熟悉的水果编曲软件&#xff0c;一个全能的音乐制作软件&#xff0c;包括编曲、录音、剪辑和混音等诸多功能&#xff0c;让你的电脑编程一个全能的录音室。FL Studio 21版本发布了&#xff0c;为我们带来了多种新功能&…

在Centos Stream 9上Docker的实操教程(八) - Docker可视化管理工具

&#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Micro麦可乐的博客 &#x1f425;《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程&#xff0c;入门到实战 &#x1f33a;《RabbitMQ》…

构建二叉树的两种情况【根据前序遍历和中序遍历 构造树】【根据后序遍历和中序遍历 构造树】

【根据前序遍历和中序遍历 构造树】【根据后序遍历和中序遍历 构造树】 6. 重建二叉树根据前序遍历和中序遍历 得到树 树的遍历 6. 重建二叉树 原题链接 根据前序遍历和中序遍历 得到树 过程如下&#xff1a; 首先根据前序遍历找到 根节点找到中序遍历中&#xff0c;该根节点…

C# Http 请求接口 Get / Post

目录 一、概述 二、创建 Web API 三、HttpRequestHelper 三、测试 结束 一、概述 get 和 post 请求&#xff0c;最早被用来做浏览器与服务器之间交互HTML和表单的通讯协议&#xff0c;后来又被广泛的扩充到接口格式的定义上&#xff0c;到目前为止&#xff0c;get / pos…

计算机网络综合实训——网络程序设计

计算机网络综合实训 网络程序设计 作者姓名 学号 所在院系 计算机与信息工程学院 学科专业名称 计算机科学与技术 导师及职称 柯宗武 教授 提交时间 2023/05/28 仿qq聊天的设计与实现 &#xff08;指导教师&#xff0c;柯宗武 教授&#xff09; &#xff08;湖北师范大学计…

【特征检测器】检测器

检测器 1. Shi-Tomasi 检测器1.1 算法特点&#xff1a;1.2算法步骤1.3 8-邻域非最大抑制算法 1. Shi-Tomasi 检测器 1.1 算法特点&#xff1a; Shi-Tomasi 检测器使用了 Harris 算法的改良版&#xff0c;在处理图像边缘时具有更好的性能表现&#xff0c;能够检测出更多的稳定…

【kali学习笔记】信息收集之搜索引擎的使用技巧

一、Google 搜索引擎的使用技巧 1、Google 常用语法说明 site 指定域名 inurl URL 中存在的关键字页面 intext 网页内容里面的关键字 Filetype 指定文件类型 intitle 网页标题中的关键字 link 返回你所有的指定域名链接 info 查找指定站点信息 cache 搜索 Google 里的内容缓存…

【账号篇】华硕电脑-华硕账号注销教程

【账号篇】华硕电脑-华硕账号注销教程 手机号和邮箱号注册的华硕账户无法合并&#xff0c;无法互相关联&#xff0c;需要数据同步的可以选择先注销删除其中一个账号再关联—【蘇小沐】 文章目录 【账号篇】华硕电脑-华硕账号注销教程1.实验环境 &#xff08;一&#xff09;华硕…

(二叉树) 116. 填充每个节点的下一个右侧节点指针 ——【Leetcode每日一题】

❓ 116. 填充每个节点的下一个右侧节点指针 难度&#xff1a;中等 给定一个 完美二叉树 &#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树定义如下&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; }填充它的每个 …

MySQL 高级语句二

目录 表连接查询内连接 inner join左连接 left join右连接 right join 表的自我连接 &#xff08;算排名&#xff09;view 的视图的运用union 联级union&#xff08;合并后去重&#xff09;union all &#xff08;合并后不去重&#xff09; 多种方式求表与表的交集值取两个SQL语…