0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

中断是什么意思

麦辣鸡腿堡 来源:TrustZone 作者:TrustZone 2023-10-30 16:40 次阅读

中断是什么?

中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的中断服务程序(Interrupt Service Routine,ISR)。这个事件可以是由硬件设备触发(如硬盘读写错误、打印机没有纸等),也可以是由软件触发(如用户按下Ctrl+C)。

当发生中断时,CPU会暂停当前正在执行的程序,并跳转到相应的中断处理程序(Interrupt Service Routine,ISR)去处理这个事件。中断处理程序通常会保存当前任务的上下文信息(如CPU寄存器的状态、内存中的数据等),然后执行相应的中断处理操作(如读取数据、发送响应等)。在中断处理完毕后,CPU会恢复之前保存的上下文信息,并回到被中断的任务继续执行。

中断是一种异步的事件处理机制,可以提高系统的并发处理能力。在现代计算机系统中,中断被广泛应用于处理各种硬件设备事件和软件异常情况。

我们知道中断的发生与处理是一个需要软硬件交互的操作。

图片

•关中断:进入不可响应中断请求的中断,由硬件自动完成

•保存断点:把当前的程序计数器PC中的内容保存起来,用于中断处理结束后能继续执行主程序

•识别中断源:有多个中断源同时请求时,只能响应最高优先级的,因此需进一步判断中断源

•保存现场和屏蔽字:进入中断服务程序后,要先保存现场

•设置新的屏蔽字:用于改变中断优先级和控制中断的产生

•开中断:执行中断程序时,打开中断可实现更高优先级的中断响应,实现中断嵌套

•执行中断服务程序:执行中断服务程序中的内容

•再次关中断:使得恢复现场和屏蔽字时不会被中断打断

•恢复现场和屏蔽字:使现场和屏蔽字恢复到中断之前的状态

•再次开中断:中断执行完,现场恢复完后,可以打开中断

•中断返回:返回原程序继续执行

处理过程,会经历两次的开/关中断,也可用下图描述

图片

在之前我们在做嵌入式的时候,大多是关注了软件层面,如何注册中断,如何设计中断的参数,如何编写中断服务函数,如何将中断服务绑定到中断号。做linux中断的话,这些都是定义好的,你可以去调用接口,当然也支持自定义添加新的中断。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10695

    浏览量

    209242
  • 计算机
    +关注

    关注

    19

    文章

    7160

    浏览量

    87122
  • 中断
    +关注

    关注

    5

    文章

    889

    浏览量

    41217
收藏 人收藏

    评论

    相关推荐

    ARM中断体系和ZYNQ中断体系详解

    01、ARM中断体系 ① ARM体系中,在存储地址的低位,固化了一个32字节的硬件中断向量表。 ② 异常中断发生时,程序计数器PC所指的位置不同,异常中断就不同。
    的头像 发表于 11-27 11:01 5971次阅读
    ARM<b class='flag-5'>中断</b>体系和ZYNQ<b class='flag-5'>中断</b>体系详解

    什么是中断源?中断源的分类介绍

    所谓中断源,即引起中断的事件或原因,或发出中断申请的来源。中断源可分为外部中断源和内部中断源两大
    发表于 11-17 14:49 1.7w次阅读
    什么是<b class='flag-5'>中断</b>源?<b class='flag-5'>中断</b>源的分类介绍

    中断系统详解、外部中断

    51单片机各个引脚功能IO口引脚:中断系统的主要功能:处理随机突发事件中断系统结构:什么是中断系统:数据的输入/输出传送方式:中断传送方式特点:51系统允许的5个
    发表于 11-22 12:51 13次下载
    <b class='flag-5'>中断</b>系统详解、外部<b class='flag-5'>中断</b>

    STM32 中断原理及外部中断的实现

    NVIC 中断配置Nested Vectored Interrupt Controller,嵌套向量中断控制器。CM3支持256个中断,16个内核中断,240个外部
    发表于 11-23 18:06 1次下载
    STM32 <b class='flag-5'>中断</b>原理及外部<b class='flag-5'>中断</b>的实现

    微机原理——8086中断类型以及中断向量表、中断响应、中断返回

    这里写目录标题先验知识回顾控制寄存器回顾1、8086中断类型1、外部可屏蔽中断2、外部不可屏蔽中断3、除法错中断4、单步中断5、断点
    发表于 11-24 16:51 16次下载
    微机原理——8086<b class='flag-5'>中断</b>类型以及<b class='flag-5'>中断</b>向量表、<b class='flag-5'>中断</b>响应、<b class='flag-5'>中断</b>返回

    STM32公用中断源时的中断分配

    以STM32l0xx为例多外部中断共用中断源时,要通过判断中断请求状态来分配中断stm32l0xx的寄存器如下单个中断时处理如下多个
    发表于 11-24 16:51 4次下载
    STM32公用<b class='flag-5'>中断</b>源时的<b class='flag-5'>中断</b>分配

    中断

    一、基础知识中断源:引起中断的原因中断过程-中断请求-中断响应-中断服务程序-
    发表于 11-24 17:21 13次下载
    <b class='flag-5'>中断</b>

    STM32(六)-------中断(外部中断

    STM32中断应用中断知识介绍STM32 中断应用概览异常NVIC优先级定义中断知识介绍STM32 中断应用概览STM32
    发表于 12-04 17:21 9次下载
    STM32(六)-------<b class='flag-5'>中断</b>(外部<b class='flag-5'>中断</b>)

    STM32——中断、EXTI、按键中断实验

    STM32中断——总结及实操一、中断是什么?1.1 中断的含义1.2 中断的作用(了解即可)1.3 中断的流程二、
    发表于 01-14 15:48 4次下载
    STM32——<b class='flag-5'>中断</b>、EXTI、按键<b class='flag-5'>中断</b>实验

    中断是什么?PLC的三大类中断事件

    在200SMART系列PLC中共有三大类中断事件,分别是:I/O中断:I/O 中断包括上升/下降沿中断、高速计数器中断和脉冲串输出
    发表于 06-20 14:11 5929次阅读
    <b class='flag-5'>中断</b>是什么?PLC的三大类<b class='flag-5'>中断</b>事件

    中断是什么,PLC中断,单片机中断,那中断能干什么?

    中断程序连接到定时中断事件时,启用定时中断并且开始定时。连接期间,系统捕捉周期时间值,因此 SMB34 和 SMB35 的后续变化不会影响周期时间。要更改周期时间,必须修改周期时间值,然后将
    的头像 发表于 06-20 14:11 2259次阅读
    <b class='flag-5'>中断</b>是什么,PLC<b class='flag-5'>中断</b>,单片机<b class='flag-5'>中断</b>,那<b class='flag-5'>中断</b>能干什么?

    单重中断与多重中断介绍

    单重中断与多重中断 •单重中断在CPU执行中断服务程序的过程中不能被打断。当有新的更高优先级的中断发生时,正在执行的
    的头像 发表于 10-30 16:46 2694次阅读
    单重<b class='flag-5'>中断</b>与多重<b class='flag-5'>中断</b>介绍

    中断与硬中断介绍

    • 硬中断是由外部事件引起的因此具有随机性和突发性;硬中断是否可以嵌套的,是否有优先级(由硬件设计体系决定)。 • 软中断是执行中断指令产生的,无面外部施加
    的头像 发表于 11-07 17:02 735次阅读

    中断的基础概念

    (1)中断的分类、分组 1-中断触发方式 • ◾edge-triggered: 边沿触发,当中断源产生一个边沿,中断有效 • ◾level-sensitive:电平触发,当
    的头像 发表于 11-07 18:01 615次阅读
    <b class='flag-5'>中断</b>的基础概念

    CPU中断程序:从硬件看什么是中断

    CPU响应中断转去执行中断服务程序前,需要把被中断程序的现场信息保存起来,以便执行完中断服务程序后,接着从被中断程序的断点处继续往下执行。
    发表于 03-26 11:36 1812次阅读
    CPU<b class='flag-5'>中断</b>程序:从硬件看什么是<b class='flag-5'>中断</b>?