Timer CPU里有定时器吗?

Timer CPU里有定时器吗?,timer,hardware,cpu,clock,Timer,Hardware,Cpu,Clock,我们在代码中使用计时器;我只是好奇它的真正实现。CPU逻辑电路中或CPU芯片外部是否有计时器?例如,外部时钟或类似的东西 如果没有,那么计时器在哪里?无需详细解释硬件计时器是如何制作的,只需在我们现有的硬件板上定位计时器。x86机器上有许多计时器。最著名的是TSC(时间戳计数器)。那个在中央处理器里面。主板上还有PITs(可编程间隔定时器)作为芯片,如Intel 8253和8254。但我不确定它们是否还在使用。另一个计时器是HPET(高精度事件计时器)。它不在CPU内部,是三个处理器中最新的一个

我们在代码中使用计时器;我只是好奇它的真正实现。CPU逻辑电路中或CPU芯片外部是否有计时器?例如,外部时钟或类似的东西


如果没有,那么计时器在哪里?无需详细解释硬件计时器是如何制作的,只需在我们现有的硬件板上定位计时器。

x86机器上有许多计时器。最著名的是TSC(时间戳计数器)。那个在中央处理器里面。主板上还有PITs(可编程间隔定时器)作为芯片,如Intel 8253和8254。但我不确定它们是否还在使用。另一个计时器是HPET(高精度事件计时器)。它不在CPU内部,是三个处理器中最新的一个

当然还有电池供电的实时时钟。不确定这是否算作计时器。可能不会


使用哪个计时器由操作系统决定。在某些系统上使用TSC,在其他系统上使用HPET。TSC通常是首选的,因为它位于CPU内部,因此访问速度非常快。如果没有与硬件直接对话的汇编指令,您无法直接从C代码访问特定的计时器。

计算机硬件中有许多不同类型的时钟和计时器。所有的基本计算机都将有一个水晶般的数字手表,用于同步CPU,并以Hz为单位形成“时钟速度”

大多数CPU都内置了许多计时器,它们使用时钟速度来计算两点之间的相对时间。这允许系统程序员设置一个计时器,该计时器将在晶体的特定时钟周期内“关闭”。计时器通过触发中断线(程序员在中断线上附加一段代码)来提醒CPU已过定义的时间

操作系统和编程语言通常抽象中断计时器,因此您不必直接使用它们

大多数像PC这样的高级计算机都有一个实时时钟,它可以存储实际的日历时间和日期,但并不经常用于计时操作

回答你的问题:

在我们的硬件板上找到计时器


这取决于你的硬件和你感兴趣的定时器。大多数计时器或时钟你都看不见,但水晶通常很容易找到,看起来像一个小金属胶囊-请看

CPU中有一个时钟。当你读到机器的GHz规格时,它意味着运行指令的“时钟速度”。如果HPET不在CPU内,可能会重复HPET的位置?@D.Jones我相信它是PCH的一部分。(过去,这里是南桥。)