第92期 | 硬件敲门时,先听清是谁在敲

操作系统 · · 九羲科技

一、硬件敲门,CPU得先停下手里的活

没有中断控制器时,CPU只能轮询——挨个问每个设备“你有事吗”,问一圈,活还没干。

有了控制器,顺序反过来:设备有事自己敲门,CPU只在被敲时停下手里的活。最早的敲门人是 Intel 8259:IBM PC 只用一片,8 条线;PC/AT 把两片级联,主片的 IRQ2 被从片占去传话,16 条线只剩 15 条给设备用¹,IRQ0 给时钟,IRQ1 给键盘,这张表后来成了几代人的肌肉记忆。

门敲响之后是固定流程:CPU 保存现场,查中断向量表,跳进处理程序。Linux 把这段活劈成两半:驱动用 request_irq 注册处理函数,上半部只认领、清中断源,快去快回;真正费时的事交给下半部——软中断、任务队列、后来还有线程化的中断处理²。劈开的原因是一条硬约束:上半部拖得越久,同级中断被屏蔽得越久,数据就越可能在门口丢掉。中断处理的第一美德不是快,是快去快回。

还有一种门关不上:不可屏蔽中断 NMI,留给最严重的事,连“等一等”都不许说。

二、没有中断的AI,只能一直轮询着等

一个没有事件机制的智能体,只能隔几秒问一句“好了吗”,烧算力,误事还不自知。

原生 AI 的操作系统该把中断做成一等公民:工具回包、传感器事件、用户插话、显存告警,都带优先级进队;正在生成的 token 流要能暂停、保存现场、处理完恢复——像 CPU 保存寄存器一样保存 KV 缓存,再续上。最新进展印证了这个方向:2026 年 9 月 25 日,Andrew Jones 向内核邮件列表投递 RISC-V IOMMU v6 系列补丁,给 IMSIC 加上 MSI 重映射,让设备的中断消息地址和 DMA 地址一样经过 IOMMU 翻译³。这是 RISC-V 设备直通进虚拟机还缺的那段管道,但要说清楚成色:这是 v6 投稿,不是已合入主线,别当成已发布的功能。

照见的一层是:中断投递正在从“几根共享线喊话”变成“可编排、可隔离的数据面”。AI OS 的事件总线也该这样想:谁有权打断谁、打断后现场保存在哪、恢复时谁说了算,是架构问题,不是性能调优。这正是维纳说的反馈回路⁴——感知、比较、执行,操作系统从头到尾就是这条回路在转。而范式之眼提醒一句:线性指令流时代,中断是“停下 CPU”;向量阵列时代,停下整个阵列的代价大得多,中断的粒度该从“停 CPU”变成“停一路数据流”。

三、今晚就数一数,你的机器被敲了几次:先看总账:

cat /proc/interrupts

每一行是一个中断源,每一列是一个 CPU,数字就是这台机器被敲过的次数。再盯着看变化:

watch -n 1 'cat /proc/interrupts | grep -E "eth|nvme"'

插拔一次 U 盘、跑一会儿网络流量,看哪个中断号在跳,负载就落在哪。顺手再看下半部的账:

cat /proc/softirqs

跳得最快的往往是网卡与时钟——时钟中断是系统的心跳,一刻不停地敲,系统才知道时间在走。

同一张表有四种读法:一台跑本地模型的机器上,显卡走 MSI 中断,跑推理时看显卡中断的分布,能分出是计算在等数据,还是数据在等计算;边缘盒上,传感器走 GPIO 中断,边沿触发还是电平触发,决定了事件会不会被重复敲;视频 AI 平台里,摄像头事件就是一次中断,从“轮询拉流”改成“有事才唤醒”,省的是整条链路的空转;企业私有智能中心里,告警与工单也该像中断一样带优先级进队,而不是让人一遍遍轮询刷。数一遍中断,就是把“系统在忙什么”从感觉变成数字。

设备敲门,经中断控制器到 CPU 查表,上半部只认领、下半部慢慢干。程序绘制概念示意图。

觉 然 小 注

敲门不是打扰,是世界在提醒:有事发生了。先听清是谁,再决定先放下什么。放得下,才接得住;被打断时先别恼,问一句:这一下,是在提醒我什么?

引 用 与 出 处

  1. [1] 8259 PIC. OSDev Wiki. https://wiki.osdev.org/index.php?title=8259_PIC&oldid=11203&printable=yes
  2. [2] IRQs. Linux 内核文档. https://www.kernel.org/doc/html/latest/core-api/irq/index.html
  3. [3] RISC-V IOMMU v6: IMSIC MSI Remapping Turns On IOMMU_DMA and VFIO Device Assignment. open-riscv.com, 2026-09-25. https://www.open-riscv.com/blog/riscv-iommu-v6-msi-remapping-vfio.html
  4. [4] Wiener, N. Cybernetics: Or Control and Communication in the Animal and the Machine, 1948. (思想化用)

· · ·

← 返回资讯中心