【问题标题】:How does the computer know how fast it is running?计算机如何知道它的运行速度?
【发布时间】:2016-02-28 11:31:51
【问题描述】:

我的问题是计算机如何知道它的时钟速度? CPU-Z 如何判断计算机的速度?

我在 x86 ISA 中编写了一个简单的命令系统,但我不知道如何判断时钟速度。

我想知道如何在低级汇编、x86、NASM 中做到这一点。

感谢您的帮助。

【问题讨论】:

    标签: assembly x86 operating-system nasm


    【解决方案1】:

    首先,为了语义,没有计算机“知道”它的运行速度。计算机绝对愚蠢。

    现在回答您的问题:我很犹豫是否只发布一个链接,但这个网站是此类信息的知名资源。所以Look up the wiki at OSDev regarding CPU-speed detection

    【讨论】:

    • 如果值得回答的话,这几乎是回答一个过于广泛的问题的正确方法。如果有一种现代 CPU 广泛使用的方法,您可以总结一下。
    • cpu 可能非常了解它的速度,尤其是当前的 x86 cpu 有多个可用时钟,可以随时处于活动状态,您可以查询这些时钟。这当然是目标速度,可能与测量的实际速度略有不同。
    • @jester 我认为 zx485 指的是“计算机知道”语句中的拟人化,而不是计算机是否可以从可用硬件计算其速度。
    【解决方案2】:

    它要么需要一些已知的时钟参考,如果它有一个 RTC(实时时钟),那么它可能会工作,然后它需要一些简单的计时器,计时代码执行实际上不适用于具有广泛变化的深层管道和缓存的东西设计(x86)。无论如何,bios 可能编程的时钟外围设备应该能够告诉您它被编程为什么。尤其是如果有时钟速度控制以节省功耗。

    【讨论】:

      猜你喜欢
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多