timer - CPU里有定时器吗?

标签 timer hardware cpu clock

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

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

最佳答案

计算机硬件中有许多不同类型的时钟和定时器。所有基本的计算机都会有一个像数字 watch 一样的晶体,用于同步 CPU 并形成以赫兹为单位的“时钟速度”。

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

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

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

回答你的问题:

locating the timer on the hardware board we have



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

关于timer - CPU里有定时器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13208960/

相关文章:

java - 将文件写入随机不连续的硬盘位置

programming-languages - 为什么尽可能避免指令分支是好的?

timer - ASIO 计时器 `cancel()` 可以调用虚假的 "success"吗?

c - 读取STM32定时器值

objective-c - 在 Mac OS X 上使用 "statfs"?

c - C程序读取硬件寄存器

c - 处理器的 Gigaflops

java - CPU 进程可以决定应用程序的速度潜力

javascript - 模拟类似于尘埃粒子的运动

c++ - 在特定功能上测量新/旧代码 CPU 使用率