Dim*_*try 3 architecture cpu operating-system interrupt
通过维基百科,
中断是由硬件或软件向处理器发出的信号,指示需要立即注意的事件。中断会向处理器发出高优先级情况的警报,需要中断处理器正在执行的当前代码。处理器通过暂停其当前活动、保存其状态并执行称为中断处理程序(或中断服务例程,ISR)的函数来处理事件来做出响应。
上面写的是cpu是由硬件控制器通知的。我无法弄清楚通知的过程。
cpu在哪里看到中断的存在呢?程序计数器指针是否被覆盖?cpu如何决定停止当前任务的执行?cpu正在处理当前任务时,中断信号存储在哪里?
硬件中断通常在当前执行的 CPU 指令结束时发生,并通过实际硬件信号向 CPU 发出信号 - CPU 上的中断请求引脚/线被拉高/拉低。执行中断确认硬件周期而不是执行下一条指令,其内部结构是特定于体系结构的,以便确定开始执行中断处理程序的代码地址。中断的代码PC必须保存在某处,并且可能会触发内存保护环更改。它本质上是全硬件操作,但由软件预先配置。您应该查阅 CPU 和中断控制器用户手册以了解中断机制的完整详细信息,并查阅操作系统的初始化/配置。