计组_中断响应的步骤

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.mzph.cn/pingmian/56009.shtml

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

相关文章

【面经】保融笔试

一共十二面,题目比较基础,20分主观题40分不定项选择20分SQL20分手写编程 主观题 问奖学金,别人对自己的评价和自己的看法,自己最大的优缺点,期望工作地点以及对出差的看法 不定项选择: 第一部分是计算机…

74.【C语言】文件操作(1)

目录 1.进行文件操作的原因 销毁的示例 2.文件的类型 1.操作文件的步骤 2.文件名 3.查看文件路径的方法 方法1 方法2 方法3 4.数据文件的介绍 举例 ① ASCII码的形式(即字符形式)存储 ②二进制形式存储 理解"不加转换"的含义 1.进行文件操作的原因 为…

maven加载依赖成功但是引入import不了包,注解报错

突然就复现不出来了,奇了怪了,简单说一下吧,就是模块里引入了SpringBoot Test那个依赖然后, 这个地方是显示引入成功的,但是 这个包下没有,导致我SpringBootTest一直出不来,就找不到这个包下的注…

Qt事件——鼠标事件

通过label来显示各种事件 鼠标按下事件 //按下显示坐标 void MyLabel::mousePressEvent(QMouseEvent * ev) {int i ev->x();int j ev->y();//判断按下的鼠标键位if (ev->button() Qt::LeftButton) {qDebug() << "LeftButton";}else if (ev->bu…

Elasticsearch学习笔记(六)使用集群令牌将新加点加入集群

随着业务的增长&#xff0c;陆续会有新的节点需要加入集群。当我们在集群中的某个节点上使用命令生成令牌时会出现报错信息。 # 生成令牌 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node出现报错信息&#xff1a; Unable to create enrollment…

计算机等级考试——二级MSOffice高级应用考试常用函数

二级MSOffice高级应用考试常用函数 使用说明&#xff1a;本文共介绍了在二级 MSOffice 高级应用考试过程中考到的 6 类共 51 个函数&#xff0c;在学习过程建议打开Excel 工作表【公式】-【函数库】&#xff0c;边操作边学习&#xff0c;更易于理解中每个函数参数意义。 一、 …

开源商城系统crmeb phpstudy安装配置

BOSS让我最快时间部署一套开源商场系统&#xff0c;今天就以crmeb为例。 快速部署在linux中我会首选docker&#xff0c;因为我要在windows中部署&#xff0c;本文就选用phpstudy集成环境做了。 什么是crmeb 我从官网摘点&#xff1a; CRMEB产品与服务 CRMEB通过将CRM&#x…

基于STOMP 协议的 WebSocket 实现传输长字符串方案

为了通过 STOMP 协议的 WebSocket 实现传输长字符串&#xff08;如超过 1MB 的消息&#xff09;&#xff0c;我们需要从前端到后端的多个方面进行配置和优化&#xff0c;包括心跳检测、消息分块、Tomcat 超时设置等。以下是一个完整的方案&#xff0c;涵盖前端和后端的配置&…

NFT Insider #151:The Sandbox 推出 Alpha 第4季;腾讯或将收购育碧

市场数据 加密艺术及收藏品新闻 Beeple 将于 11 月在南京德基美术馆举办个人首展 著名数字艺术家 Beeple 近日在X平台发布视频&#xff0c;宣布将于 2024 年 11 月 14 日在南京德基美术馆举办个人首次展览&#xff0c;名为《Beeple&#xff1a;来自合成未来的故事》。该展览将…

Django的请求与响应

Django的请求与响应 1、常见的请求2、常见的响应3、案例 1、常见的请求 函数的参数request是一个对象&#xff0c;封装了用户发送过来的所有请求相关数据。 get请求一般用来请求获取数据&#xff0c;get请求也可以传参到后台&#xff0c;但是传递的参数显示在地址栏。 post请求…

[自然语言处理]RNN

1 传统RNN模型与LSTM import torch import torch.nn as nntorch.manual_seed(6)# todo:基础RNN模型 def dem01():参数1&#xff1a;input_size 每个词的词向量维度&#xff08;输入层神经元的个数&#xff09;参数2&#xff1a;hidden_size 隐藏层神经元的个数参数3&#xff1a…

Linux基础-正则表达式

正则表达式概述 正则表达式是处理字符串的一种工具&#xff0c;可以用于查找、删除、替换特定的字符串&#xff0c;主要用于文件内容的处理。与之不同的是&#xff0c;通配符则用于文件名称的匹配。正则表达式通过使用特殊符号&#xff0c;帮助用户轻松实现对文本的操作。 一…

Python网络爬虫快速入门指南

Python网络爬虫快速入门指南 网络爬虫&#xff0c;也称为网络蜘蛛&#xff0c;是一种自动访问互联网并提取信息的程序。Python因其简洁明了的语法和丰富的库支持&#xff0c;成为开发网络爬虫的理想选择。在这篇博客中&#xff0c;我们将探讨如何快速入门Python网络爬虫技术&a…

windows7 32bit安装JDK以及EclipseEE

如果你的电脑是 Windows 7 32-bit 系统&#xff0c;那么需要下载并安装适用于 32-bit 系统的 JDK 和 Eclipse EE。以下是具体的步骤和下载链接&#xff1a; 1. 下载并安装适用于 Windows 32-bit 的 JDK 1.1 下载适用于 32-bit 的 JDK Oracle 不再提供最新版本的 32-bit JDK&…

物联网:一种有能力重塑世界的技术

物联网&#xff08;IoT&#xff09;近年来对我们的日常生活产生了如此积极的影响&#xff0c;以至于即使是不懂技术的人也开始相信它所带来的便利以及敏锐的洞察力。 物联网是一场数字技术革命&#xff0c;其意义甚至比工业革命更为重大。物联网是仍处于起步阶段的第四次工业革…

前端开发笔记--html 黑马程序员2

文章目录 前端常用标签一、标题标签二、段落标签和换行标签和水平线标签三、文本格式化标签![请添加图片描述](https://i-blog.csdnimg.cn/direct/87583fa23fe04229b016912051f3fc45.png)四、盒子标签五、图像标签六、连接标签七、注释和特殊字符 八、表格标签的基本使用九、列…

原生 App 上架 Mac App Store 过程总结

随着 macOS 系统的普及&#xff0c;越来越多的开发者希望将他们的原生应用程序发布到 Mac App Store&#xff0c;以便触达更广泛的用户群体。在这篇文章中&#xff0c;我们将详细总结原生 App 上架 Mac App Store 的整个过程&#xff0c;包括必要的准备工作、开发流程、测试、申…

自动化运维:提升效率、降低风险的利器

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

如何批量从sql语句中提取表名

简介 使用的卢易表 的提取表名功能&#xff0c;可以从sql语句中批量提取表名。采用纯文本sql语法分析&#xff0c;无需连接数据库&#xff0c;支持从含非sql语句的文件文件中提取&#xff0c;支持各类数据库sql语法。 特点 快&#xff1a;从成百个文件中提取上千个表名只需1…

离岗睡岗预警系统 值班室离岗识别系统Python 结合 OpenCV 库

在众多工作场景中&#xff0c;存在着一些特殊岗位&#xff0c;这些岗位对于人员的专注度和警觉性有着极高的要求。然而&#xff0c;离岗睡岗现象却时有发生&#xff0c;给工作的正常开展和安全保障带来了严重的威胁。本文将深入探讨特殊岗位离岗睡岗的危害&#xff0c;以及如何…