【问题标题】:Intructions vs cycles per second - what is actually measured in Hertz?指令与每秒周期 - 以赫兹为单位实际测量的是什么?
【发布时间】:2020-10-16 01:19:38
【问题描述】:

所以我正在阅读一些教程,似乎他们一直在交替使用“指令”和“循环”,所以现在我很困惑赫兹的实际测量值(在最基本级别,无需深入了解现代处理器可以并行执行的操作等,而是尝试在此处学习基础知识)。

比如说,程序如下:加载两个数字,相加,存储结果。 所以会有4个周期:

  1. 加载编号 A [fetch-decode-execute]
  2. 加载编号 B [fetch-decode-execute]
  3. 添加 A 和 B [fetch-decode-execute]
  4. 存储结果 [fetch-decode-execute]

这里什么是循环,什么是指令

4 个周期,或 12 个指令,对吗?

比如说,运行这个程序需要 CPU 1 秒。 CPU时钟速度是多少? 12 条指令/1 秒还是 4 个周期/1 秒

  • 如果是前者,那么CPU的主频是12赫兹吗?

  • 如果是后者,那么CPU的主频是4赫兹吗?

【问题讨论】:

  • 您编写了一个包含 4 条指令的程序。听起来您假设每条指令需要 3 个时钟周期才能运行(尽管在任何高级处理器上都不太可能如此简单)。因此,如果它在 1 秒内运行,则时钟速度为每秒 12 个周期,即 12 Hz。
  • 如果您可以引用其中一个让您感到困惑的教程中的特定段落,也许有人可以帮助您更清楚地解释它。
  • 我明白了。 “循环”一词是通用的,仅指重复过程的任何实例。根据上下文,它可以指一个 clock 周期(一个时钟滴答)或一系列需要多个时钟滴答的事件(例如 fetch-decode-execute 周期) .它更常用于表示“时钟周期”,但这并不意味着如果澄清其他用法是错误的。
  • 您的示例中的 instructions 是您编号为 1、2、3、4 的内容,例如“装载编号 A”。每个都对应于单行汇编代码,或特定的机器代码字节序列,它们对程序员所看到的机器状态(例如寄存器和内存的内容)具有特定的影响。 “获取、解码和执行”有时被称为指令执行的阶段,但它们本身并不是指令,因为它们不能单独发生。
  • 一个获取-解码-执行周期是一个指令周期,但三个时钟周期。时钟速度测量每秒时钟周期的数量。

标签: performance cpu performancecounter cpu-speed


【解决方案1】:

来自@Nate Eldredge 的有用 cmets:

"一个获取-解码-执行周期是一个指令周期,但三个时钟周期。

时钟速度衡量每秒的时钟周期数。”

因此,如果程序在 1 秒内执行,并且需要 12 个时钟周期,则该特定 CPU 的时钟速度为 12 Hz。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-15
    • 2012-05-14
    • 1970-01-01
    • 2013-06-27
    • 2010-11-16
    • 1970-01-01
    • 2019-03-25
    • 2019-11-16
    相关资源
    最近更新 更多