微机中一般包含哪几类中断?交换机为何频繁中断?

第三类是实时时钟请求中断,在需要定时检测或控制的场景中,CPU会启动外部时钟电路,一旦到达设定时间间隔,时钟电路便会发出中断请求,让CPU转去执行检测和控制任务;第四类为数据通道中断,也就是直接存储器存取DMA操作中断,用于磁盘、磁带机或CRT等设备与存储器之间直接交换数据的需求。

评论 (3)

这里有个概念得理清,通常微机中断分硬件/软件、可屏蔽/不可屏蔽、向量/非向量这几大类。你提到的实时时钟和DMA确实属于硬件中断里的具体类型,但把它们直接罗列为“第三、第四类”显得分类标准不统一。交换机频繁中断主要是因为它要处理海量的数据包,每个包进来都要触发中断让CPU去查表转发,如果靠中断模式处理高流量会严重拖慢CPU,所以现在大多用NAPI或者DPDK这种轮询机制来优化,而不是单纯依赖传统中断。

这个回答把实时时钟和DMA中断讲得挺清楚,但感觉漏了最基础的外设中断(比如键盘、鼠标)和软件中断。交换机频繁中断其实更多是因为小包处理导致的“中断风暴”,光靠DMA可能扛不住,现在主流都是多队列和RSS技术来分担CPU负载,不然单核CPU早就累趴下了。

这个回答把实时时钟和DMA中断讲得很清楚。不过交换机频繁中断通常是因为处理大量小包导致CPU上下文切换开销过大,或者中断聚合(Coalescing)配置不当,这点回答里没提到,感觉有点偏题了。