12 计算机组成原理第七章 输入/输出系统 中断系统

文章目录

      • 1 中断的基本概念
      • 2 中断请求的分类
      • 3 中断请求标记
      • 4 中断判优-实现
      • 5 中断处理过程
        • 5.1 中断处理过程-中断隐指令
        • 5.2 中断处理过程-硬件向量法
        • 5.3 中断处理过程-中断服务程序
      • 6 单重中断与多重中断
        • 6.1 单重中断与多重中断比较
      • 7 中断屏蔽技术
          • 中断屏蔽字例题
      • 8 中断系统小结

1 中断的基本概念

程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。

在这里插入图片描述

中断工作流程:

  1. 中断请求
    中断源向CPU发送中断请求信号。
  2. 中断响应
    响应中断的条件。
    中断判优:多个中断源同时提出请求时通过中断判优逻辑响应一个中断源。
  3. 中断处理
    中断隐指令。
    中断服务程序。

2 中断请求的分类

回忆操作系统:
在这里插入图片描述
在这里插入图片描述
CPU如何识别是哪一类中断呢?通过中断请求标记

3 中断请求标记

  • 每个中断源向CPU发出中断请求的时间是随机的。
  • 为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR,当其状态为“1”时,表示中断源有请求。
  • 这些触发器可组成中断请求标记寄存器,该寄存器可集中在CPU中,也可分散在各个中断源中。

在这里插入图片描述

对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,(特殊情况:对于执行时间很长的指令,可在执行过程中设置若干个“查询断点”)以获取l/O的中断请求,也就是说,CPU响应中断的时间是在每条指令执行阶段的结束时刻。

CPU响应中断必须满足以下3个条件:

①中断源有中断请求。
②CPU允许中断即开中断。
③一条指令执行完毕,且没有更紧迫的任务。

当有两个中断源发出中断请求时,CPU要响应哪一个中断请求? 中断判优

4 中断判优-实现

  • 中断判优既可以用硬件实现,也可用较件实现:
  • 硬件实现是通过硬件排队器实现的,它既可以设置在CPU中,也可以分散在各个中断源中;

在这里插入图片描述

  • 软件实现是通过查询程序实现的。

在这里插入图片描述

  • 中断优先级设置:
  1. 硬件故障中断属于最高级,其次是软件中断;
  2. 非屏蔽中断优于可屏蔽中断;
  3. DMA请求优于I/O设备传送的中断请求;
  4. 高速设备优于低速设备;
  5. 输入设备优于输出设备;
  6. 实时设备优于普通设备。

5 中断处理过程

在这里插入图片描述

5.1 中断处理过程-中断隐指令

中断隐指令的主要任务:

  1. 关中断

在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。

  1. 保存断点

为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器(PC)的内容)保存起来。
可以存入堆栈,也可以存入指定单元。

  1. 引出中断服务程序

引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器(PC)。
引出方式:软件查询法,硬件向量法

5.2 中断处理过程-硬件向量法

在这里插入图片描述

5.3 中断处理过程-中断服务程序

中断服务程序的主要任务:

  1. 保护现场

一是保存程序断点(PC),已由中断隐指令完成;二是保存通用寄存器和状态寄存器的内容,由中断服务程序完成。
可以使用堆栈,也可以使用特定存储单元。

  1. 中断服务(设备服务)

主体部分,如通过程序控制需打印的字符代码送入打印机的缓冲存储器中。

  1. 恢复现场

通过出栈指令或取数指令把之前保存的信息送回寄存器中。

  1. 中断返回

通过中断返回指令回到原程序断点处。

在这里插入图片描述

6 单重中断与多重中断

单重中断:执行中断服务程序时不响应新的中断请求。
多重中断:又称中断嵌套,执行中断服务程序时可响应新的中断请求。
在这里插入图片描述

6.1 单重中断与多重中断比较

在这里插入图片描述

7 中断屏蔽技术

中断屏蔽技术主要用于多重中断,CPU要具备多重中断的功能,须满足下列条件:

  1. 在中断服务程序中提前设置开中断指令。
  2. 优先级别高的中断源有权中断优先级别低的中断源。
    每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。
    在这里插入图片描述
    在这里插入图片描述

屏蔽字设置的规律:

  1. 一般用‘1’表示屏蔽,0’表示正常申请。
  2. 每个中断源对应一个屏蔽字(在处理该中断源的中断服务程序时,屏蔽寄存器中的内容为该中断源对应的屏蔽字)。
  3. 屏蔽字中1’越多,优先级越高。每个屏蔽字中至少有一个1(至少要能屏蔽自身的中断)。
中断屏蔽字例题

设某机有4个中断源A、B、C、D,其硬件排队优先次序为A>B>C>D,现要求将中断处理次序改为D>A>C>B。
1)写出每个中断源对应的屏蔽字。
2)按下图所示的时间轴给出的4个中断源的请求时刻,画出CPU执行程序的轨迹。设每个中断源的中断服务程序时间均为20us。
在这里插入图片描述

(1)
在这里插入图片描述
1表示屏蔽,在哪一位置填1,则此列对应的中断源可屏蔽
某个中断源至少要屏蔽自己

(2)
在这里插入图片描述

8 中断系统小结

在这里插入图片描述

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

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

相关文章

神经形态计算的物理学

来源: 集智俱乐部作者:张晓雨编辑:邓一雪 摘要神经形态计算(neuromorphic computing)从脑科学汲取灵感来为信息处理创造节能硬件,并能适应高度复杂的任务。2020年发表在 Nature Reviews Physics 上的一篇文…

13 计算机组成原理第七章 输入/输出系统 I/O方式 I/O接口

文章目录1 I/O接口1.1 接口定义1.2 I/O接口的功能(以单总线为例)1.3 I/O接口的基本结构1.4 接口与端口1.5 I/O端口及其编址1.6 I/O接口的类型1.7 I/O接口小结2 I/O方式2.1 I/O方式1-程序查询方式2.1.1 程序查询方式流程图2.1.2 程序查询方式接口2.1.3 程…

参与全球人工智能创新链竞争

来源:社科院工业经济研究所作者:郭朝先,中国社会科学院工业经济研究所研究员、产业组织研究室主任、中国社会科学院大学教授、博士生导师、中国可持续发展研究会理事;方澳,中国社会科学院大学经济学院。本文首发《经济…

4 计算机组成原理第三章 存储系统 高速缓冲存储器 虚拟存储器

文章目录1 局部性原理性能分析2 Cache工作原理(简易版)3 地址映射4 替换算法4.1 替换算法(十进制)举例4.2 Cache工作原理(加强版)4.2.1写策略-命中4.2.2 写策略-未命中4.3 替换算法(二进制&…

CICC城市大脑专委会获批成立,欢迎参加专委会共同探索和研究

CICC 城市大脑专委会中国指挥与控制学会(CICC)是经国家民政部正式注册的我国指挥与控制科学技术领域的国家一级学会,是全国性科技社会组织;是中国科学技术协会的正式团体会员,接受中国科学技术协会的直接领导&#xff…

讲座文稿 | 人工智能与因果推理

来源:本文为中国人民大学明德讲坛第23期暨服务器艺术人工智能哲学第11期讲座文稿。主持人:朱锐 嘉宾:邱德钧、秦曾昌、Vincent Luizzi、袁园 主办:中国人民大学哲学与认知科学跨学科交叉平台、服务器艺术 协办:神经现…

顺序栈的介绍及实现

1 栈 从数据结构角度来讲,栈也是线性表,其操作是线性表操作的子集,属操作受限的线性表。 但从数据类型的角度看,它们是和线性表大不相同的重要抽象数据类型。 ◆ 栈是只准在一端进行插入和删除操作的线性表,该端称为栈…

内排序算法一览

文章目录1 插入排序2 希尔(shell)排序3 冒泡排序4 快速排序5 选择排序6 堆排序7 归并排序8 内排序代码一览运行结果常用排序算法时间复杂度和空间复杂度一览表排序:将一组杂乱无章的数据按一定的规律顺次排列起来,可以看作是线性表的一种操作…

Nature:神经元在大脑中的起点并不一定是它们的终点

来源:生物通虽然人体有30亿个DNA碱基和超过30万亿细胞,格里森和他的同事们发现只有几百DNA突变可能出现在头几个细胞分裂后的受精胚胎或在大脑的早期发展。通过在死者的大脑中跟踪这些突变,他们第一次能够重建人类大脑的发育。胎儿大脑的发育…

扎克伯格Meta元宇宙被质疑:年均烧百亿美元,货要等十年

来源:新智元公司内部业务混乱、公司外部观感酷似曾经的雅虎,这些与扎克伯格的元宇宙发力结合在一起,让Meta的新老员工都怨声载道。不少Meta的员工,现在都在抱怨老板的元宇宙项目顾头不顾腚、在公司内部徒增业务困扰但并无法带来收…

链栈的介绍与实现

文章目录1 链栈定义2 链栈基本操作3 链栈代码实现1 链栈定义 链栈:采用链式存储的栈称为链栈 在一个链栈中,栈底就是链表的最后一个结点,而栈顶总是链表的第一个结点。因此,新入栈的元素即为链表新的第一个结点,只要…

栈与递归

文章目录1 递归的概念2 递归算法3 递归数据结构4 递归实现5 递归与循环差别1 递归的概念 递归是指在定义自身的同时又出现了对自身的调用。如果一个函数在其定义体内直接调用自己,则称直接递归函数;如果一个函数经过一系列的中间调用语句,通过…

马斯克与推特达成收购协议 专家警告称这一步迈得过大

来源:网易智能4月26日消息,当地时间周一,在特斯拉首席执行官埃隆马斯克(Elon Musk)敲定将以440亿美元的价格收购个人社交媒体平台推特后,特斯拉股价盘中一度下跌超2%,最终收于每股998.02美元&am…

循环队列的介绍与实现

文章目录1 循环队列定义2 循环队列基本操作3 循环队列代码实现4 补充1 循环队列定义 循环队列:即顺序存储的队列,是为了避免“假溢出”而利用%运算符将队列首尾相接连成一个环状的队列,称为循环队列。 引入循环队列克服顺序队列中存在的“假…

5年内开炸第一颗小行星,改变其轨道!中国计划建立小行星预警监测系统

来源:大数据文摘不知道多少科幻片中,小行星成为了人类灭绝的罪魁祸首。在超高的速度加持下,直径只有十几公里的小行星撞击地球,都有可能造成人类毁灭。为了提前预警这样的事件发生,人类做出了不少努力。美国航天局NASA…

算术逻辑单元设计

文章目录1 基本逻辑符号1.1 ALU1.2 逻辑符号1.3 复合逻辑2 加法器设计2.1 一位加法器2.2 进位产生原理2.2 多位二进制位加法器1 基本逻辑符号 1.1 ALU ALU功能: 算术运算:加、减、乘、除等 逻辑运算:与、或、非、异或等 辅助功能&#xff1a…

数字孪生城市框架与全球实践洞察(2022)

来源 : 世界经济论坛编辑 :蒲蒲全球数字孪生市场蓬勃发展。据预测,到2030年,数字孪生技术的应用将为城市规划、建设、运营节省成本达到2800亿美元。市场规模方面,2020年全球数字孪生市场规模为31亿美元,预计…

2 计算机组成原理第二章 数据的表示和运算 定点数运算 浮点数运算

文章目录1 进制转换2 定点数表示及其运算2.1 定点数表示2.1.1 真值→补码2.1.2 补码→真值2.1.3 [XT]补 →[-XT]补2.1.4 真值、原码、反码、补码转换关系图形总结2.2.4 移码2.2 定点数运算2.2.1 移位运算2.2.2 定点数加减运算2.2.3 溢出判断判溢出方法一判溢出方法二判溢出方法…

Gartner:AI和自动化将是新一代SASE的关键能力

来源:安全内参近年来,安全访问服务边缘(SASE)技术快速发展,得到了较广泛的行业应用。SASE架构通常包括了SD-WAN、FWaaS、安全Web网关、云访问安全代理(CASB)和零信任网络访问(ZTNA&a…

MIPS指令与MIPS汇编语言

文章目录1 MIPS简介2 MIPS指令系统的特点3 MIPS寄存器4 MIPS指令格式4.1 R-Type型指令4.2 l-Type型指令4.3 J-Type型指令4.4 三类指令小结5 MIPS例题6 MIPS过程调用6.1 过程调用和栈6.2 MIPS中栈的实现6.3 栈帧的概念6.4 MIPS中的过程调用(假定P调用Q)6.…