计算机组成原理第五章(2)---中断

news/2025/1/21 10:22:07/

5.1概述

产生和应用

在IO设备和主机交换数据时,由于设备本身的机电特性的影响,其工作速度比较低,与CPU无法匹配,如果采用程序查询的方式需要CPU进行等待,但是如果在等待的过程中CPU可以执行其他的程序,可以提高计算机系统的效率。

中断技术提高计算机的处理速度,比如在程序断电时,立即启动备份电源防止数据丢失,在控制系统中,需要及时响应外部的信号并作出反应

5.2中断

中断是计算机在异常情况或者是发出特殊请求计算机停止当前运行程序的状态,中断不仅可以为外部设备服务,也可以为计算机服务(比如发出乘法的溢出,比如发生除数为0的情况),具体可以看这一篇博客:

HIT-CSAPP第八章 异常控制流上课笔记_旅僧的博客-CSDN博客

工作过程 

 中断服务程序->入口地址(PC)中断向量(后边会详细介绍)

举例

CPU向打印机发出打印的信号,然后打印机开始做准备工作,同时信号返回CPU继续执行主程序,当打印机准备完之后,CPU执行完当前的指令之后执行中断服务程序,此时CPU处在内核态。

形象举例:我放学回家,不知道什么时候饿了,然后发出饿的信号给妈妈,妈妈回应我说她知道了,这时候妈妈准备饭的时间很长,我不会等妈妈做完饭先去写作业,我做题做一半时候妈妈好饭之后发出信号给我让我吃饭,我得等这个题写完之后才能吃饭。

硬件构成

接口电路

中断实现需要硬件和软件共同来完成。

为了实现这些功能需要硬件软件相配合,下面是硬件的组成。

  • 中断请求触发器(INTR)和中断屏蔽触发器
  • 排队器
  • 中断向量形成地址
  • 程序中断接口电路

 每台设备都必须要有一个中断请求触发器INTR为1的时候代表向CPU发出中断请求,将要执行的程序形成一个个的地址用硬件来进行一个排队,如果需要执行这个程序的时候产生一个中断向量地址,向量的地址代表中断程序的入口地址。

 MASK决定优先级,如果优先级比较低那么mask的值就是1

 程序查询通过软件的方式进行排队。硬件的方式是硬件排队器,但是这种方式只能屏蔽掉优先级别更低的程序,可以增加硬件实现更高级别的信号的屏蔽。

中断向量地址形成部件

CPU一旦响应了IO中断 就要暂停线性的程序,转去执行中断服务程序,不同的设备有不同的中断服务程序,每个服务程序都有一个入口地址,CPU必须找到这个入口地址。

入口地址可以由硬件和软件形成,这里介绍硬件。所谓硬件向量法,就是通过向量地址来寻找设备的专断服务程序的入口地址,而且向量的地址是由硬件电路产生的。

 CS:IP相当于PC

 中断服务程序的流程

 允许中断服务程序的时候只需要讲EINT的值变为1就行。

可能需要我们对中断流程有很深入的理解。

程序查询和程序中断比较


http://www.ppmy.cn/news/56973.html

相关文章

arthas--watch函数执行数据观测

目录 背景 参数说明 参考 背景 watch能方便的观察到指定函数的调用情况。能观察到的范围为:返回值、抛出异常、入参,通过编写 OGNL 表达式进行对应变量的查看。ognl学习,可以参考:https://xiaopanjia.blog.csdn.net/article/d…

制造管理与生产管理,到底哪个更重要?

制造工业是各个国家经济的重要组成部分,也是整体经济运行的基础。生产管理则是制造工业的核心。随着科技和全球市场的飞速发展,制造和生产管理面临着新的挑战和机遇。优秀的制造和生产管理能力是一个企业取得成功的关键之一。 一、制造管理的概念及现状…

IS-IS协议基础知识

文章目录 前言介绍地址格式报文格式区域及路由器类型区域类型路由器类型Level-1 路由器Level-2 路由器Level-1-2路由器 IS-IS 网络类型DIS及伪节点伪节点DIS与OSPF的DR/BDR不同之处 IS-IS 邻接关系握手报文邻接关系的建立 IS-IS 链路状态数据库概述数据库同步报文泛洪机制数据库…

js 操作数组内容

js 操作数组内容 数组添加元素(更改原数组) push和unshift会返回添加了新元素的数组长度 push从数组最后加入,unshift从数组最前面加入 const arr ["a", "b", "c"]; arr.push("d"); //返回4…

从0搭建Vue3组件库(十一): 集成项目的编程规范工具链(ESlint+Prettier+Stylelint)

欲先善其事,必先利其器。一个好的项目是必须要有一个统一的规范,比如代码规范,样式规范以及代码提交规范等。统一的代码规范旨在增强团队开发协作、提高代码质量和打造开发基石,所以每个人必须严格遵守。 本篇文章将引入 ESLintPrettierStylelint 来对代码规范化。 ESlint ES…

深入浅出 Compose Compiler(1) Kotlin Compiler KCP

前言 Compose 的语法简洁、代码效率非常高,这主要得益于 Compose Compiler 的一系列编译期魔法,帮开发者生成了很多样板代码。但编译期插桩也阻碍了我们对于 Compose 运行原理的认知,想要真正读懂 Compose 就必须先了解它的 Compiler。本系列…

第14章 项目采购管理

文章目录 采购管理包括如下几个过程14.2 编制采购计划 462编制采购计划的输出1)采购管理计划2)采购工作说明书3)采购文件 14.2.3 工作说明书(SOW) 14.3 实施采购 47414.3.2 实施采购的方法和技术 476(1&…

安装KVM

安装KVM 1 检查系统是否支持虚拟化 看看CPU是否支持虚拟化。 # grep -E -o vmx|svm /proc/cpuinfo 注意:返回vmx代表支持因特尔(Intel)系列CPU的虚拟化,返回svm代表支持AMD系列CPU的虚拟化。 2 安装软件包。 使用yum安装KVM…