CPU中是否有计时器

Tra*_*acy 7 hardware cpu timer clock

我们在代码中使用计时器,我只是对它的实际实现感到好奇,是否有计时器

CPU逻辑电路或CPU外部,例如,外部时钟或类似的东西.

如果没有,那么地狱的计时器在哪里?请帮帮我,不需要任何详细的解释

如何制作硬件定时器,只需关注我们所拥有的硬件板上的定时器.

提前致谢 .

Ala*_*ack 8

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

大多数CPU都内置了许多定时器,它们使用时钟速度来计算两点之间的相对时间.这允许系统程序员设置一个定时器,该定时器将在晶体的一定数量的时钟周期内"熄灭".定时器通过引发程序员附加一段代码的中断线来警告CPU已经过了定义的时间.

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

大多数高级计算机(如PC)都有一个实时时钟,可以存储实际的日历时间和日期,但不常用于计时操作.

在回答你的问题时:

将计时器放在我们的硬件板上

它非常依赖于您的硬件以及您感兴趣的计时器.您将无法亲眼看到大多数计时器或时钟,但水晶通常很容易找到并且看起来像一个小金属胶囊 - 请参阅http:// www .electronicrepairguide.com /如何对测试crystal.html


Nik*_* C. 7

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

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

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

  • @D.Jones 我相信它是 PCH 的一部分。(过去,这是南桥。) (2认同)