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

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

3天内不再提示

硬核解析:ARM64处理器遭遇硬件中断后,到底在忙些什么?

jf_44130326 来源:Linux1024 作者:Linux1024 2025-11-26 07:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、先搞懂:什么是硬件中断?

你正在用手机刷视频,突然收到微信消息——这就是生活中的中断。对ARM64处理器(手机、服务器、嵌入式设备的核心)来说,硬件中断是外设(如键盘、网卡、传感器)向CPU发送的紧急请求:比如网卡收到数据要处理、定时器到点要触发任务、按键被按下要响应,这些都需要CPU暂停当前工作,优先处理紧急事务。

没有中断机制的话,CPU只能轮询外设(挨个问有没有事?),既浪费资源又反应迟钝。而中断就像快递敲门CPU不用一直等,收到信号再切换任务,效率直接拉满。

二、中断触发后,ARM64五步应急流程

当硬件外设发出中断信号(比如你按了手机电源键),ARM64处理器会立刻启动一套标准化处理流程,全程由硬件+固件+操作系统协同完成,快到微秒级:

wKgZO2kmN0qAS7tCAAE2IXA7Xuw737.png

1.硬件同步:冻结当前状态,锁定中断源

处理器首先检测中断信号的合法性(避免虚假中断),确认是来自有效外设的请求;

立刻保存当前执行上下文:把PC(程序计数器,记录下一条要执行的指令地址)、寄存器值、程序状态字(PSTATE,记录CPU当前工作模式)等关键信息,压入对应模式的栈(如IRQ栈);

自动关闭同级或低级中断(防止中断嵌套混乱),同时标记中断源(比如电源键中断”“网卡中断),让后续流程知道该处理什么。

2.模式切换:从用户态/内核态转入中断模式

ARM64有多种工作模式(EL0用户态、EL1内核态、EL2虚拟化态等),中断发生时,CPU会强制切换到IRQ异常级别(EL1——这是专门处理硬件中断的特权模式,只有内核才能访问。

举个例子:你正在用APPEL0用户态)聊天,此时网卡收到数据触发中断,CPU会暂停APP执行,切换到EL1内核态,准备处理数据。

3.中断分发:找到负责处理的内核程序

ARM64的中断控制器(如GICv3/GICv4)会把中断信号翻译成内核能识别的编号(中断号),然后通过以下步骤分发:

1.内核读取中断控制器的寄存器,获取中断号;

2.查找中断向量表(内核中预设的中断处理清单),根据中断号找到对应的中断服务程序(ISR”——比如网卡中断对应网卡数据接收ISR”,键盘中断对应键盘输入处理ISR”

3.跳转到ISR的入口地址,开始执行具体处理逻辑。

4.执行中断服务程序(ISR):处理核心事务

ISR是内核中专门处理某类中断的小程序,逻辑简洁(避免占用CPU太久),核心工作包括:

硬件层面:告知外设我已经收到中断,你可以停止发送请求了(清除中断标志);

数据层面:处理外设传递的数据(如网卡ISR读取网卡缓冲区的数据,存入内存;键盘ISR读取按键编码,转换成字符);

任务调度:如果中断处理后需要唤醒用户态程序(如收到微信消息后唤醒聊天APP),ISR会通知内核调度器,后续恢复APP执行。

5.恢复上下文:回到中断前的工作状态

ISR执行完毕后,CPU会做最后一步:恢复中断发生前的上下文

从栈中取出之前保存的PC、寄存器值、PSTATE

切换回原来的工作模式(如EL0用户态);

跳回中断前的指令地址,继续执行原来的程序(比如继续聊天、刷视频)。

整个过程一气呵成,用户完全感知不到CPU切换操作”——这就是中断机制的神奇之处:既保证了紧急事务的优先处理,又不影响正常工作。

三、ARM64中断处理的关键优化:为什么这么快?

ARM64作为高性能架构,在中断处理上有两个核心优化,让响应速度远超传统架构:

1.向量表基址可配置:中断向量表可以放在高速缓存(Cache)中,内核查找ISR时无需访问内存,速度更快;

2.中断嵌套支持:通过GIC控制器和内核配置,支持高优先级中断打断低优先级中断”——比如正在处理键盘中断时,来了更紧急的定时器中断(如实时任务触发),CPU会暂停键盘ISR,先处理定时器中断;

3.虚拟化友好GICv4控制器支持中断直接投递到虚拟机(VM),无需经过物理机内核中转,提升虚拟化场景(如云服务器)的中断效率。

四、总结:中断是ARM64高效协作核心

硬件中断就像ARM64处理器的应急响应系统,核心价值是实现CPU与外设的异步协作——CPU不用盯着外设,外设有事直接” CPU,既提升了CPU利用率,又保证了设备的实时响应。

从手机的触控响应、电脑的网卡数据接收,到服务器的多任务并发,背后都离不开ARM64的中断处理机制。正是这套快速响应、精准分发、高效恢复的流程,让我们的设备能流畅处理各种复杂任务。


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

    关注

    5186

    文章

    20149

    浏览量

    328865
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217981
  • 硬件中断
    +关注

    关注

    0

    文章

    12

    浏览量

    7109
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ARM推出具节能效率64位Cortex-A50处理器系列

    ARM宣布推出新款ARMv8架构Cortex-A50处理器系列产品。全新Cortex-A50处理器系列率先推出Cortex-A53与Cortex-A57处理器、以及最新节能
    发表于 11-01 08:55 2266次阅读

    强强联合,新思协助ARM开发64处理器

    去年最热门的收购案莫过于ARM联合机构收购MIPS公司,弥补ARM64处理器的劣势。而另一家公司IP服务商新思科技(Synopsys)也
    发表于 05-15 09:01 1282次阅读

    新战局,解析64处理器以及未来发展趋势

    就目前而言,64处理器对于用户来说,并没有太大的意义。不过未来,或许手机真的需要8GBRAM甚至更高的RAM时,64处理器及系统应用才
    发表于 10-03 13:30 1906次阅读

    两种ARM 64处理器学习平台

    、Cortex-A8的s5pv210,Cortex-A9的exynos4412,每个CPU都是主流的芯片,samsung芯片一直是资源比较多的平台。用惯了32位处理器,而当下进入了64处理器的时代,随即想到
    发表于 10-26 15:47

    Intel 64处理器的基本运行环境

    Intel 64x86_64IA-32x86处理器基本执行环境 (1) - 32位执行环境概述
    发表于 05-22 15:11

    Arm Cortex-R82处理器技术参考手册

    ®-R82处理器有一到八个核心,每个核心实施一个ARM®V8-R AArch64兼容处理元素(PE)。 Cortex®-R82
    发表于 08-17 07:45

    基于ARM的PC/104处理器模块设计

    提出了一种低成本的PC/104处理器模块的设计。该模块硬件上以ARM处理器为核心实现了PC/104处理模块的基本结构、总线接口,软件上构建了
    发表于 08-25 10:36 20次下载

    ARM9处理器ARM7处理器比较

    摘要:ARM处理器是世界上最流行的嵌入式处理器,广泛应用于个人通信等嵌入式领域。ARM7处理器虽然功能强大,但是目前已经开始退出主流应用
    发表于 03-11 12:21 1693次阅读
    <b class='flag-5'>ARM</b>9<b class='flag-5'>处理器</b>与<b class='flag-5'>ARM</b>7<b class='flag-5'>处理器</b>比较

    AMD Mobile Atlon64处理器

    AMD Mobile Atlon64处理器  Mobile Atlon64处理器是AMD划时代的64位的
    发表于 01-22 10:53 1144次阅读

    AMD Turion 64处理器

    AMD Turion 64处理器 Turion 64作为业界首款移动64处理器,拥有多种全新的处理
    发表于 01-22 11:20 1157次阅读

    恩智浦获得ARM Cortex-M4处理器授权

    恩智浦获得ARM Cortex-M4处理器授权 恩智浦半导体(NXP Semiconductors)近日宣布成为首批获得最新ARM Cortex-M4处理器许可的
    发表于 03-03 09:27 1606次阅读

    Intel 64处理器,Intel 64处理器结构原理

    Intel 64处理器,Intel 64处理器结构原理 现在人们广泛使用的是由32位微处理器构成的计算系统,但是32位的计算和操作系统
    发表于 03-26 15:07 3488次阅读

    什么是AMD64处理器

    什么是AMD64处理器 Opteron和Athlon64处理器 AMD公司2000年公布了54位微
    发表于 03-26 15:15 1548次阅读

    意法半导体率先部署64ARM Cortex-A57处理器

    意法半导体(STMicroelectronics,简称ST)宣布其作为ARM公司ARM Cortex-A57处理器商用化项目的主要合作厂商之一。Cortex-A57处理器是基于ARMv
    发表于 11-06 15:17 2061次阅读
    意法半导体率先部署<b class='flag-5'>64</b>位<b class='flag-5'>ARM</b> Cortex-A57<b class='flag-5'>处理器</b>

    到底64处理器和32位处理器有什么区别呢?资料下载

    电子发烧友网为你提供到底64处理器和32位处理器有什么区别呢?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,
    发表于 04-25 08:47 8次下载
    <b class='flag-5'>到底</b><b class='flag-5'>64</b>位<b class='flag-5'>处理器</b>和32位<b class='flag-5'>处理器</b>有什么区别呢?资料下载