【发布时间】:2020-10-16 01:19:38
【问题描述】:
所以我正在阅读一些教程,似乎他们一直在交替使用“指令”和“循环”,所以现在我很困惑赫兹的实际测量值(在最基本级别,无需深入了解现代处理器可以并行执行的操作等,而是尝试在此处学习基础知识)。
比如说,程序如下:加载两个数字,相加,存储结果。 所以会有4个周期:
- 加载编号 A [fetch-decode-execute]
- 加载编号 B [fetch-decode-execute]
- 添加 A 和 B [fetch-decode-execute]
- 存储结果 [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