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

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

3天内不再提示

软中断与硬中断介绍

麦辣鸡腿堡 来源:TrustZone 作者:TrustZone 2023-11-07 17:02 次阅读

• 硬中断是由外部事件引起的因此具有随机性和突发性;硬中断是否可以嵌套的,是否有优先级(由硬件设计体系决定)。

• 软中断是执行中断指令产生的,无面外部施加中断请求信号,因此中断的发生不是随机的而是由程序安排好的。

由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包

的时候,就会发出一个中断。我们通常所说的中断指的是硬中断(hardirq)。

为了满足实时系统的要求,中断处理应该是越快越好。linux为了实现这个特点,当中断发生的时候,硬中断处理那些短时间

就可以完成的工作,而将那些处理事件比较长的工作,放到中断之后来完成,也就是软中断(sofTIrq)来完成。

这里解释了我们之前在GIC中断系列中对于中断的两个stage的文字。原来这个中断两个阶段是这个意思。

• 软中断是执行中断指令产生的,而硬中断是由外设引发的。

• 硬中断的中断号是由中断控制器提供的,软中断的中断号由指令直接指出,无需使用中断控制器。

• 硬中断是可屏蔽的,软中断不可屏蔽。

• 硬中断处理程序要确保它能快速地完成任务,这样程序执行时才不会等待较长时间,称为上半部。

• 软中断处理硬中断未完成的工作,是一种推后执行的机制,属于下半部。

中断嵌套、软中断指令

1、中断嵌套

Linux下硬中断是可以嵌套的,但是没有优先级的概念,也就是说任何一个新的中断都可以打断正在执行的中断,但同种中断除外。软中断不能嵌套,但相同类型的软中断可以在不同CPU上并行执行。

2、软中断指令、

int是软中断指令。

中断向量表是中断号和中断处理函数地址的对应表。

int n - 触发软中断n。相应的中断处理函数的地址为:中断向量表地址 + 4 * n。

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

    关注

    112

    文章

    15223

    浏览量

    171192
  • Linux
    +关注

    关注

    87

    文章

    10991

    浏览量

    206736
  • 中断
    +关注

    关注

    5

    文章

    884

    浏览量

    41023
收藏 人收藏

    评论

    相关推荐

    NXP的ARM7带ucos中中断中断响应详细分析

    NXP的ARM7带ucos中中断中断响应详细分析一.带UCOS系统的中断响应过程 11.
    发表于 12-02 17:32

    请问一下中断的问题如何解决

    我想让程序运行到某一行时产生一个中断,是不是用中断的方式及调用EXTI_GenerateSWInterrupt()这个函数,还有什么其他的方法没有。如果只用
    发表于 05-25 09:51

    STM32的中断函数

    中断相信很多人都知道是什么意思,不同的任务有不同的优先级,高任务优先级会比低优先级先执行。在嵌入式系统中,任务的调度和切换都是根据优先级来判断的。 中断可以分为中断
    发表于 08-13 09:24

    什么是中断以及中断

    同步中断,是指CPU内部出现的中断,即在CPU执行特定指令时出现的非法情况,因此只有在一条指令执行后才会发出中断,不可能在指令执行期间发生异常。
    发表于 01-10 07:26

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

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

    中断是什么?STM32中断系统介绍中断配置步骤资料免费下载

    本文档的主要内容详细介绍的是中断是什么?STM32中断系统介绍中断配置步骤资料免费下载。
    发表于 10-11 08:00 5次下载
    <b class='flag-5'>中断</b>是什么?STM32<b class='flag-5'>中断</b>系统<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>返回

    中断

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

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

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

    12 . 中断

    中断介绍中断就是当CPU 执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU 暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断
    发表于 12-04 19:21 1次下载
    12 . <b class='flag-5'>中断</b>

    STM32中断原理

    目录一、中断介绍1.1 什么是中断1.2 中断的作用1.3 中断的约束二、STM32CubeMX中断
    发表于 12-24 19:11 17次下载
    STM32<b class='flag-5'>中断</b>原理

    通过中断控制led灯 与 中断通信

    目录一、中断介绍1.1 单片机的中断1.2 STM32的中断1.2.1 中断地址1.2.2 中断
    发表于 01-14 15:32 2次下载
    通过<b class='flag-5'>中断</b>控制led灯 与 <b class='flag-5'>中断</b>通信

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

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

    单重中断与多重中断介绍

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

    什么是中断,中断介绍

    不同的外部设备、不同的体系结构、不同的OS其中断实现机制都有差别。 中断存在的意义是CPU控制外部设备的同时,外部设备也可以高效的“控制CPU”。这种设计思想扩展到了外部硬件控制CPU、软件控制
    的头像 发表于 11-07 16:43 564次阅读
    什么是<b class='flag-5'>中断</b>,<b class='flag-5'>中断</b>的<b class='flag-5'>介绍</b>