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

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

3天内不再提示

中断的完整流程是什么样子

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

如何从软件与硬件的角度去看一个中断,一个中断的完整流程应该是什么样子?

•创建对应的中断服务函数(软件):在编写操作系统或应用程序时,需要为每个中断源创建一个对应的中断服务函数(Interrupt Service Routine, ISR)。这个函数是用于处理特定中断的程序,当发生中断时,处理器会跳转到这个函数执行相应的操作。

•将中断服务函数绑定到特定的中断号,也叫中断注册(软件):在操作系统或硬件系统中,需要将每个中断源与相应的中断号进行绑定。这个过程通常在初始化时完成,以确保当发生中断时能够正确地调用相应的中断服务函数。这个绑定可以通过编程实现,例如在Linux系统中可以使用register_interrupt函数将中断服务函数注册到特定的中断号。

•模块产生原始中断 (逻辑):当某个硬件设备需要中断处理器服务时,它会向中断控制器发送一个中断请求。这个请求可能由硬件信号线或特定协议(如PCI Express)发送。例如,当硬盘读写错误时,硬盘控制器会向中断控制器发送一个中断请求。

原始中断是指当某个设备或部件需要CPU的注意时,它会通过向CPU发送一个中断信号来请求CPU的注意。这个中断信号是由硬件电路产生的,是电信号,可以被CPU感知到。原始中断通常是由硬件设备或系统自发产生的,例如键盘按键、定时器、打印机等。

•经过int_mask判断后未被屏蔽从而中断状态拉高 (逻辑):中断控制器接收到中断请求后,会根据int_mask判断该中断是否被屏蔽。如果未被屏蔽,则将中断状态拉高,以便处理器能够感知到这个中断请求。这个过程中断控制器会根据int_mask中的位图判断当前的中断是否被屏蔽,如果未被屏蔽则将对应的中断状态位拉高。

中断的int_mask是中断掩码。它是一个只读寄存器,用于显示哪些位当前被屏蔽,哪些位未被屏蔽/启用。通过设置int_mask,可以屏蔽或开启某些中断。

•模块顶层信号 xxx_int拉高后,送给特定中断号对应处理器(CPU&MCU等)的对应bit (逻辑):当中断状态被拉高后,模块顶层信号 xxx_int 会被拉高,并将这个信号送给特定中断号对应处理器的对应bit。这个过程是由硬件逻辑实现的,通常与处理器的架构和中断控制器的设计有关。例如,在x86架构的计算机中,当某个中断状态被拉高后,对应的处理器会通过APIC总线将对应的中断信号发送给处理器。

•中断信号拉高后,进入对应bit的中断服务函数(逻辑):当处理器的对应bit接收到中断信号后,处理器会跳转到相应的中断服务函数去处理这个中断。这个过程是由硬件自动完成的,通常与处理器的架构和操作系统的设计有关。例如,在x86架构的计算机中,当处理器接收到一个中断信号后,它会通过CSIP和IVT寄存器跳转到对应的中断服务函数执行相应的操作。

硬件层面,中断系统需要硬件设备(如中断控制器)来捕捉中断信号,并将信号传递给CPU。在接收到中断信号后,CPU会根据中断号在中断向量表中查找对应的入口地址,然后跳转到这个地址执行对应的中断服务程序。这个过程是由硬件自动执行的,不需要软件的参与。

•执行中断服务函数的内容 (软件):在中断服务函数中,会根据设备的需求进行相应的操作,例如读取数据、发送响应等。这个过程是由软件实现的,通常与设备的驱动程序和操作系统的设计有关。例如,在Linux系统中,当执行完一个中断服务函数后,它通常会通过调用handle_irq_event函数来处理设备的事件。

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

    关注

    2

    文章

    4469

    浏览量

    70524
  • 中断
    +关注

    关注

    5

    文章

    895

    浏览量

    41384
  • 函数
    +关注

    关注

    3

    文章

    4303

    浏览量

    62411
收藏 人收藏

    评论

    相关推荐

    最早的电池是什么样子的?

    最早的电池是什么样子的?           电池
    发表于 03-10 08:49 1.8w次阅读

    在发生超范围情况时,ADC的输出数据是什么样子

    在发生超范围情况时,ADC的输出数据是什么样子
    发表于 12-21 06:20

    V0图形是什么样子的?

    V0的图形是什么样子的图形呢?求高手解答!!!!!!!!1
    发表于 03-10 00:25

    电机的接线顺序是什么样子的呀

    新入手HVMTRPFCKIT开发套件,选配的是永磁同步电机PMSM。电机的接线顺序是什么样子的呀?电机的红黑白三根线如何对应接口开发板的UVW?编码器的顺序是做好的吗?
    发表于 06-17 15:14

    金属箔电阻的内在是什么样子

    金属箔电阻的内在是什么样子
    发表于 03-11 08:09

    IC设计完整流程分哪几个部分

    IC设计完整流程及工具IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计。前端设计的主要
    发表于 07-28 07:51

    请问自制的RISC-V是什么样子的?

    自制的RISC-V是什么样子的?
    发表于 12-28 06:10

    请问自制的RISC-V是什么样子的?

    自制的RISC-V是什么样子的?
    发表于 03-29 19:14

    vga接口是什么样子

    vga接口是什么样子 VGA 是 Video Graphics Adapter(Array) 的缩写,信号类型为模拟类型,显示卡端的接口为 9 针
    发表于 11-27 12:42 9174次阅读

    1394接口是什么样子

    1394接口是什么样子:大概长的就和如下图片一样了。 下面有图片和接口定义 IEEE 1394-1995:Pin No. Signal Name Signal Inter ConnectionInter Connection with i-
    发表于 11-27 12:44 9003次阅读

    用VHDL/VerilogHD语言开发PLD/FPGA的完整流程

    用 VHDL /VerilogHD语言开发PLD/ FPGA 的完整流程为: 1.文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件,Verilog文件保存为.v文件 2.功能仿真
    发表于 05-21 12:58 1278次阅读

    发光的乐器在黑暗中会是什么样子

    电子发烧友网站提供《发光的乐器在黑暗中会是什么样子.zip》资料免费下载
    发表于 11-14 10:12 0次下载
    发光的乐器在黑暗中会是<b class='flag-5'>什么样子</b>

    PCB设计完整流程

    一站式PCBA智造厂家今天为大家讲讲PCB设计流程都有哪些?PCB设计完整流程。 PCB设计完整流程 1、前期准备 前期准备包括准备元件库和原理图。在进行PCB设计之前,首先要准备好原理图SCH
    的头像 发表于 03-24 09:03 7977次阅读

    下一代硅光子技术会是什么样子

    下一代硅光子技术会是什么样子
    的头像 发表于 07-05 14:48 625次阅读
    下一代硅光子技术会是<b class='flag-5'>什么样子</b>?

    浅谈芯片制造的完整流程

    在科技日新月异的今天,芯片作为信息技术的核心部件,其制作工艺的复杂性和精密性令人叹为观止。从一粒普通的沙子到一颗蕴含无数晶体管的高科技芯片,这一过程不仅凝聚了人类智慧的结晶,也展现了现代半导体工业的极致工艺。本文将讲述芯片制造的完整流程,揭开这一高科技产品的神秘面纱。
    的头像 发表于 10-28 14:30 307次阅读
    浅谈芯片制造的<b class='flag-5'>完整流程</b>