所有都在标题中。欢迎任何链接到良好文档。
答案 0 :(得分:8)
本地定时器中断是在APIC上实现的定时器,它只中断特定的CPU,而不是引发任何CPU可以处理的中断。它在Bovet& amp; Cesati的“了解Linux内核”。一个片段:
最近80x86微处理器中存在的本地APIC(参见 第4章中的“中断和例外”部分提供了另一个部分 时间测量设备:CPU本地定时器。
CPU本地定时器是一种类似于可编程间隔的设备 刚刚描述的定时器可以发出一次性或周期性中断。 但是,有一些不同之处:
- APIC的定时器计数器为32位长,而PIT的定时器计数器为16位长;因此,可以对本地定时器进行编程 以非常低的频率发出中断(计数器存储 在发出中断之前必须经过的滴答数。)
- 本地APIC定时器仅向其处理器发送中断,而PIT引发全局中断,可由任何中断处理 系统中的CPU。
- APIC的定时器基于总线时钟信号(或旧机器中的APIC总线信号)。它可以通过这种方式编程 每1,2,4,8,16,32,64或128总线减少定时器计数器 时钟信号。相反,PIT,它利用自己的时钟 信号,可以更灵活的方式编程。
答案 1 :(得分:7)
比Michael Burr的技术答案要少:
每一件事都需要做一些事情,无论在哪个CPU上都是如此
每个CPU上的每个jiffy都需要做其他事情。例如,检查我们是否需要切换到另一个流程。
第二种类型存在本地定时器中断 - 无论何时执行,我们都会检查它们并执行所需的操作。
答案 2 :(得分:0)
我觉得本地计时器用于处理与IPI相关的功能。在这个猜测中我可能错了,需要查看它们配置的代码以及处理程序包含的内容。 但我觉得系统计时器和jiffies链接到其中一个GP计时器,因此在SMP ARM中,来自此计时器的中断通过GIC关联注册与一个单核相关联。 将在本地计时器上获得更多机智。
答案 3 :(得分:0)
在SMP系统上,apic计时器用于调度程序/重新调度线程。
On UP系统坑计时器用于调度程序/重新调度线程。
在SMP系统中不再使用PIT。