计组_中断响应的步骤

news2024/10/25 9:23:23

2024.10.13:计算机组成原理学习笔记

中断响应步骤

  • 中断响应 (中断响应的过程也称中断隐指令)
    • 第一步:关中断
    • 第二步:保存断点
    • 第三步:引出中断服务程序
      • 中断源识别判优方法1:软件查询方法
      • 中断源识别判优方法2:采用硬件判优方法(外部中断独有)


中断响应 (中断响应的过程也称中断隐指令)

中断隐指令是硬件直接实现的一系列自动操作

在这里插入图片描述


第一步:关中断

为了让一些关键操作不被打扰而引入的一种机制,注意关中断这种机制只可以挡住可屏蔽中断
在这里插入图片描述
在保护断点和现场的过程中,CPU不能响应更高级中断源的中断请求,否则的话,可能导致断点或者现场保存不完整,无法恢复现行的程序

因此,在这些操作之前,我们会先把中断关闭

如何关闭?CPU内部会有一个PSW或者PSWR或者EFLAGS这样的一个寄存器,其内部就会有这样的一位,如果设置为1,CPU就不会再去检测INTR这些引脚了,CPU只会去检测NMI,因为NMI上面传输的是不可屏蔽中断。若那个位置设置为0,这两种引脚它都会去检测,它才能检测到有没有外部中断


第二步:保存断点

在这里插入图片描述
我们应该将原本正在执行的这个程序,它的断点保存在栈或者说特定的寄存器中,断点就是你PC和PSW的值

注意:异常的指令通常是没有执行成功的,异常处理后要重新执行,断点为当前指令地址

中断的断点是下一条指令的地址,此时我们应该将PC还有PSW里面的内容去存到内存的堆栈区


第三步:引出中断服务程序

识别中断源,引出其对应的中断服务程序。

  • 异常是通过软件识别的方式区寻找这个异常的处理程序
  • 在外部中断中我们要识别这个中断源,从而找到它对应的中断服务程序的地址,有两种方法

中断源识别判优方法1:软件查询方法

检测到中断请求时,通过中断响应,自动转到一个特定的中断查询程序,在中断查询程序中,按中断优先顺序依次查询哪个设备(外设)有中断请求,转到第一个查询到有请求的中断服务程序去执行
在这里插入图片描述
软件进行中断识别的方式,硬件结构很简单,且可软件更改查询顺序,改变中断响应的优先级。但因软件查询的速度慢,中断请求可能无法得到实时响应


中断源识别判优方法2:采用硬件判优方法(外部中断独有)

没有依赖任何软件,而是可以直接知道中断源对应的一个类型号

外部中断最常用的一种方法去寻找他的服务程序的入口地址的方法,简而言之,其实就是每一个中断请求或者说中断源,它会有一个类型号,这个类型号就可以被当做去识别它对应的服务程序的一个依据。CPU就可以根据这个类型号去确定这个中断服务程序的首地址PC和初始PSW

?:因为当你知道了中断服务程序的这两个东西,将其放在CPU的这两个硬件中去,CPU就可以根据这个首地址以及现在的状态去执行中断服务程序

在这里插入图片描述

中断向量:中断服务程序首地址、初始PSW
系统中所有的中断向量都会集中放到主存的某个位置,这个区域就叫做中断向量表
在这里插入图片描述


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

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

相关文章

Redis两种持久化方式

目录 一、Redis持久化 RDB 四种执行场景 底层执行原理 优缺点 AOP 三种fsync策略 AOF重写机制 工作基本流程 优缺点 RDB和AOF的对比 混合持久化 Redis 持久化的主要目的是为了确保数据的持久性和可靠性,避免因意外崩溃或重启导致的数据丢失。以下是一些进…

基于STM32的图形识别智能跟踪小车设计

引言 本项目设计了一个基于STM32的图形识别智能跟踪小车,能够通过摄像头识别特定图形或标志,并自动跟随这些图形进行移动。系统结合了摄像头模块和图像处理算法,实现了对前方物体的识别与跟踪。同时,小车具备避障功能&#xff0c…

顺序表|消失的数字|轮转数组|移除元素|合并有序数组|删除有序数组中重复项(C)

面试题 17.04. 消失的数字 思路一 排序遍历 如果下一个不等于上一个数1,这个下一个数就是消失的数字 时间复杂度 O ( N ⋅ log ⁡ 2 N ) O(N\cdot \log_{2}N) O(N⋅log2​N) 思路二 0N等差数列公式计算结果 - 数组中的值,结果就是消失的数字 int mis…

基于海市蜃楼算法(Fata Morgana Algorithm ,FATA)的多无人机协同三维路径规划(提供MATLAB代码)

一、海市蜃楼算法 海市蜃楼算法(Fata Morgana Algorithm ,FATA)是2024年提出一种新型的群体智能优化算法,它的设计灵感来源于自然现象中的海市蜃楼形成过程。FATA算法通过模仿光线在不均匀介质中的传播方式,提出了两种…

日语学习者福音:4大翻译软件集锦,总有一款适合你!

现在全球化了,学个外语,尤其是日语这种很有魅力的语言,成了很多人的愿望。不管是为了方便旅行,还是喜欢日本文化,或者想在工作中更有竞争力,学日语都挺重要的。学语言不容易,特别是遇到难懂的句…

C#实现Punycode编码/解码

测试代码 string word "我爱你"; string idn "我爱你.中国"; string wordCode PunyCode.Encode(word); string punycode PunyCode.IDN2Punycode(idn);Console.WriteLine(word); Console.WriteLine(wordCode); Console.WriteLine(PunyCode.Decode(word…

【工欲善其事】巧用 PowerShell 自动清除复制 PDF 文本时夹杂的换行符号

文章目录 巧用 PowerShell 自动清除复制 PDF 文本时夹杂的换行符号1 问题描述2 解决方案3 具体步骤4 效果测试5 小结与复盘 巧用 PowerShell 自动清除复制 PDF 文本时夹杂的换行符号 1 问题描述 不知各位是否也为复制过来的文本中夹杂的回车换行符抓狂过?就是在复…

Spring Boot知识管理:提升信息检索效率

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

ubuntu下route命令详解

buntu下route命令详解 1、显示路由表 route -n2、临时路由设置,重启网卡失效#添加一条路由(发往192.168.62这个网段的全部要经过网关192.168.1.1)route add -net 192.168.62.0 netmask 255.255.255.0 gw 192.168.1.1#删除一条路由 删除的时候不用写网关route del …

extern “C“ 的作用、C++ 和 C 编译的不同、C++ 编译过程的五个主要阶段

在 C 中,如果需要从 C 语言导入函数或与 C 代码交互,需要使用 extern "C" 关键字。这是因为 C 和 C 在编译过程中的 符号命名机制(即 "名称修饰" 或 "name mangling")不同。 1. extern "C&qu…

怎么把一段音频的人声和背景音乐分开?

在数字音频处理中,将一段音频中的人声和背景音乐分开是一个复杂但又常见的需求。这种技术广泛应用于音乐制作、影视后期、广告制作等多个领域。本文将为你详细解析如何通过不同的方法实现这一目标,帮助你更好地掌握音频分离技术。 一、音频分离的基本概念…

无人直播自动化回复客户咨询

我们插件是根据页面元素变动进行自动化操作的,想要实现网页版自动化,必须了解html以及dom结构,还有xpath定位方法。 各大直播后台页面结构不一样,所以要进行兼容处理,我们一个插件支持以下直播或客服平台 唯一客服浏…

数据结构与算法:栈与队列的高级应用

目录 3.1 栈的高级用法 3.2 队列的深度应用 3.3 栈与队列的综合应用 总结 数据结构与算法:栈与队列的高级应用 栈和队列是两种重要的线性数据结构,它们在计算机科学和工程的许多领域都有广泛的应用。从函数调用到表达式求值,再到任务调度…

c#的opcua客户端源码,支持用户名密码

在工作中遇到需要采集西门子机床的opcua和kepServer的opcua,找了一些网上的demo都不能都连接成功,好不容易找到一个两个都支持的c#opcua客户端源码,分享给大家。 软件界面如下 连接kepserver成功的界面 连接西门子opcua的界面 c#源码链接如下…

开关电源调制模式和工作模式

开关电源调制模式和工作模式 ‌‌开关电源定义开关电源分类‌单管DC/DC和、双管DC/DC和四管DC/DC的主要区别正激和反激 DCDCBUCK原理BOOST原理BUCK-BOOST原理异步整流和异步整流同步整流异步整流同步和异步整流区别同步和异步整流优缺点 DCDC调制模式PWM(Pulse Widt…

C++ | Leetcode C++题解之第475题供暖器

题目&#xff1a; 题解&#xff1a; class Solution { public:int findRadius(vector<int>& houses, vector<int>& heaters) {sort(houses.begin(), houses.end());sort(heaters.begin(), heaters.end());int ans 0;for (int i 0, j 0; i < houses.…

轻松掌握TCP与UDP核心机制

White graces&#xff1a;个人主页 &#x1f649;专栏推荐:Java入门知识&#x1f649; &#x1f649; 内容推荐:网络编程TCP&#x1f649; &#x1f439;今日诗词:Best wishes&#x1f439; ⛳️点赞 ☀️收藏⭐️关注&#x1f4ac;卑微小博主&#x1f64f; ⛳️点赞 ☀️收…

相机曝光的两种模式

相机的曝光模式 相机帧率和曝光时间的关系 相机的图像采集包括曝光(Exposure)和读出(Readout)两部分 曝光又分为非重叠(non-overlapped)曝光和重叠(overlapped)曝光两种 在非重叠(“non-overlapped”)模式中&#xff0c;每个图像采集的周期中&#xff0c;相机在下一个图像采集…

萝卜快跑:迈向全球,挑战与机遇并存

萝卜快跑&#xff1a;迈向全球&#xff0c;挑战与机遇并存 引言 萝卜快跑的崛起 萝卜快跑的优势 萝卜快跑面临的挑战 未来展望 引言 在当今科技飞速发展的时代&#xff0c;自动驾驶技术成为了全球瞩目的焦点。众多科技巨头纷纷投入大量资源&#xff0c;试图在这个新兴领域…

文件完整性监控:如何提高企业的数据安全性

企业网络庞大而复杂&#xff0c;需要处理大量关键业务数据&#xff0c;这些敏感文件在企业网络中不断传输&#xff0c;并由多个用户和实体存储、共享和访问。FIM 工具或具有 FIM 功能的 SIEM 解决方案使企业能够跟踪未经授权的文件更改、对敏感信息的恶意访问、数据篡改尝试和内…