当前位置:网站首页>详解中断系统
详解中断系统
2022-08-07 16:00:00 【华为云】
中断系统是计算机的重要指标之一。可以解决快速CPU与慢速外设之间的矛盾,使之能并行工作。可以及时处理随机参数及故障,提高可靠性。
中断请求-中断响应-保护断点-中断服务-中断返回。
2. 中断概念
(1)中断系统:实现中断功能的硬件系统和软件系统
(2)中断源:产生中断的请求源
(3)中断请求:中断源向CPU提出的处理请求。
(4)中断响应:CPU暂时中止自身的事情,转去处理事件的过程
(5)中断服务:对事件的整个处理过程。也称为中断处理
(6)中断返回:中断处理完毕,在返回到原来被中止的地方
3. 中断系统的一般功能
中断系统一般应具有如下功能:
实现中断及返回
当某中断源发出中断申请时,若允许响应,CPU必须在现行的指令执行完后,把断点处的PC值压入堆栈保存,称为保护断点。(硬件自动完成)
保护现场——响应中断后,将有关的寄存器内容和状态标志位压入堆栈保存。
恢复现场——执行中断服务程序后,恢复原保留的寄存器的内容和标志位的状态,并执行返回指令“RETI”(用户编程实现)

实现优先权排队
当同时有多个中断请求信号,先响应优先级别高的中断请求。
实现中断嵌套
中断申请的中断源的优先权级别与正在处理的中断源同级或更低时,CPU暂时不响应这个中断申请,直至正在处理的中断服务程序执行完以后才去处理新的中断申请。
实现中断的撤除
在响应中断后,返回主程序之前,中断请求应该撤除,否则,将影响对其它中断申请的响应。
MCS-51中断系统只能对一部分中断申请,在响应后自动撤除,使用中应注意。
4. 调用中断服务程序与调用子程序的区别
相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。
不同点:
事先安排和随机发生
软件调用和硬件自动完成
中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。
中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的中断请求标志位的功能。
边栏推荐
猜你喜欢

(路透社数据集)新闻分类:多分类问题实战

65:第五章:开发admin管理服务:18:开发【根据条件,分页查询用户列表,接口】;(使用了Converter转换器,把url中String格式的日期,转成Date格式的;)

LeetCode Daily 2 Questions 01: Rotating Arrays (both 1200 questions)

AdaptFormer学习笔记

BTC相关收入下降34% 数字支付巨头Block整体收入下滑

06 【Generic】

JVM

Discuz forum website construction tutorial, learn to build a website from 0

Based on the FPGA VGA display color bar, characters, pictures
![[Principle of Database System] Chapter 4 Advanced Database Model: E/R Model and Its Design Rules and Constraints](/img/67/c6ee5068487bb812c8092fce7ad81c.png)
[Principle of Database System] Chapter 4 Advanced Database Model: E/R Model and Its Design Rules and Constraints
随机推荐
「短视频」甘肃省出台“十四五”冷链物流高质量发展方案 打造1小时鲜活农产品物流圈
LeetCode Hot Questions HOT 100 (8. Sum of Three Numbers)
06 【Generic】
[Advanced Mathematics] Advanced Number Arrangement: Common Equivalent Infinitesimals, Derivatives and Differentials, Differential Equations
微信小程序——点击事件 bindtap和catchtap的区别
[HCIP] Small Experiment on BGP Routing Problem
03 "commonly used types (below)"
嵌入式设备参数存储技巧
实用代码使用浏览器添加书签方式来一键获取网页所需内容链接技巧分享
简记_Altium Designer 相同模块的布局布线复用
BTC相关收入下降34% 数字支付巨头Block整体收入下滑
研扬Jetson NX镜像备份和恢复
make编译源码时报error: ‘for’ loop initial declarations are only allowed in C99 mode的解决办法
LeetCode高频题:dfs排列组合问题,剪枝策略,参观展厅总时间120分钟,请你给出所有可能的参观方案的个数
简记_如何使用立创商城的原理图符号及封装
leetcode 485:最大连续 1 的个数
RTT学习笔记10- 设备IPC 完成量-ringbufffer-workwueue
【21天学习挑战赛】双向链表的数据操作
mysql5.7安装和配置教程(图文超详细版)
MySQL-进阶CRUD