就中断的定义而言,术语“异步”和“同步”是什么意思?

Tim*_*Tim 8 operating-systems process computer-architecture cpu-architecture

引自http://en.wikipedia.org/wiki/Interrupt

中断是指示需要注意的异步信号或指示需要更改执行的软件中的同步事件。

我想知道“异步”和“同步”是什么意思?

Bre*_*ugh 11

维基百科的那篇文章提到异步中断时,他们使用的是经典的时钟与非时钟(a)同步定义,它适用于数字电路。

当逻辑的每个部分都连接到一个公共时钟(如在您的 CPU 中)时,数字电路被称为同步。在每个时钟周期的上升或下降时,更新电路的状态。另一方面,异步数字电路没有时钟,而是下一个状态取决于当前状态(并且会尽快切换)。从不共享相同公共时钟的其他电路读取逻辑也可以定义为异步,但相对于其他电路

如果触发了异步中断,则意味着处理器将(最有可能在下一个时钟周期)保存其当前执行环境,并为中断请求提供服务。这是硬件中断的示例(由与处理器的外部连接触发的中断)。正如文章中提到的,所有软件中断在技术上都是同步的,因为它们是由 CPU 本身发起的——这是一个同步电路。

由于没有任何外部设备与 CPU 共享相同的公共时钟,因此所有外部中断都可以说是异步的。尽管触发中断的设备可能是同步电路,但从 CPU 的角度来看,这些中断是异步触发的(因为它不与设备共享公共时钟信号)。


实际的外部中断信号本身是异步的,但所有 CPU 中断处理程序都是同步的,它们只会在下一个时钟滴答上检测到中断,因为这是同步系统的重点(只允许系统的状态一起改变)。如果您对处理器如何处理中断感到好奇,请参阅来自 Intel 的这个重要资源(特别是第 3 卷,第 1 部分)。