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

    文章

    16151

    浏览量

    177225
  • Linux
    +关注

    关注

    87

    文章

    11216

    浏览量

    208795
  • 中断
    +关注

    关注

    5

    文章

    895

    浏览量

    41365
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    什么是中断以及中断

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

    中断程序设计

    实 验 五  中断程序设计 一、实验目的    通过对中断程序的编写和调试,掌握IBM-PC系列机的
    发表于 09-28 23:26 2701次阅读
    <b class='flag-5'>软</b><b class='flag-5'>中断</b>程序设计

    Linux 2.4.x内核中断机制

    情况下,中断和信号有些类似,同时,中断又是和中断相对应的,
    发表于 11-02 11:01 0次下载

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

    所谓中断源,即引起中断的事件或原因,或发出中断申请的来源。中断源可分为外部中断源和内部中断源两大
    发表于 11-17 14:49 1.7w次阅读
    什么是<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>配置步骤资料免费下载

    浅析中断中断的区别

    从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。
    的头像 发表于 10-30 14:34 5508次阅读
    浅析<b class='flag-5'>硬</b><b class='flag-5'>中断</b>和<b class='flag-5'>软</b><b class='flag-5'>中断</b>的区别

    探究中断中断的原理和区别

    从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。
    的头像 发表于 01-17 09:38 1.1w次阅读
    探究<b class='flag-5'>硬</b><b class='flag-5'>中断</b>和<b class='flag-5'>软</b><b class='flag-5'>中断</b>的原理和区别

    你了解中断中断的区别?

    从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。
    发表于 05-05 11:48 1.8w次阅读

    微机原理——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>返回

    中断中断是怎么回事?

    立即停止自己正在做的事, 跳到中断处理程序的入口点,进行中断处理。 中断 由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数
    发表于 02-10 12:02 0次下载
    <b class='flag-5'>硬</b><b class='flag-5'>中断</b>与<b class='flag-5'>软</b><b class='flag-5'>中断</b>是怎么回事?

    单重中断与多重中断介绍

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

    什么是LInux 操作系统中断

    进程来持有CPU进行需要的操作! 有了中断之后,提升了操作系统的性能!可以异步并行处理很多任务! 中断(80中断) 由CPU产生的;CPU检查到程序代码段发生异常会切换到内核态;
    的头像 发表于 11-10 11:29 592次阅读
    什么是LInux 操作系统<b class='flag-5'>中断</b>

    LInux 操作系统中断介绍

    进程来持有CPU进行需要的操作! 有了中断之后,提升了操作系统的性能!可以异步并行处理很多任务! 中断(80中断) 由CPU产生的;CPU检查到程序代码段发生异常会切换到内核态;
    的头像 发表于 11-13 11:36 853次阅读
    LInux 操作系统<b class='flag-5'>中断</b><b class='flag-5'>介绍</b>