【问题标题】:How do you get rid of Hz when calculating MIPS?计算 MIPS 时如何去掉 Hz?
【发布时间】:2021-11-10 18:17:00
【问题描述】:

我正在学习计算机结构。 我有一个关于 MIPS 的问题,这是一种计算 CPU 执行时间的方法。

MIPS 公式如下。

如果时钟频率为 4 GHz 且 CPI 为 1。 我认为 MIPS 是 4,000hz。

因为它是 4 * 10^9 * Hz / 1 * 10^6。

我不知道保留单位赫兹是否正确。

【问题讨论】:

  • 它将是 4,000 MHz(因为它表示指令时间 x 10^6),无论如何都等于 4GHz,这也使得在您的示例中有意义,因为 CPI=1(每条指令 1 个周期意味着它们是相等的)。从技术上讲,赫兹作为基本单位(在这种情况下是 10^6 的兆赫)会很好,因为它只是意味着“每秒的东西”,它不会区分周期和指令,但是因为 (M/G)Hz 单位是当涉及到处理器时,通常与每秒 周期数 相关联,最好明确使用 (M)IPS 单位(每秒指令数),因此它是 4,000 MIPS。
  • (Hz IPS 没有意义,因为如果将它们分解为 SI 单位,两者的含义相同 - PS 代表“每秒”,这与 Hz 的含义相同。结果应该是 s⁻¹ 而不是 s⁻²。)
  • 感谢您回答我蹩脚的英语。这对我帮助很大。

标签: math computer-science cpu-architecture


【解决方案1】:

对于任何数量,了解它的单位很重要。除了比例因子(例如秒差距比埃长很多倍)之外,单位也有维度,这是基本的(至少对于像时间这样的物理量;当您计算抽象事物时,它会变得不那么明显)。

这些示例单位都是长度单位,因此它们具有相同的尺寸;添加或减去两个长度在物理上是有意义的,或者如果我们将它们相除,那么长度就会抵消,我们就有了一个纯比率。 (显然我们必须注意比例因子,因为 1 秒差距 / 1 埃不是 1,而是 3.0856776e+26。)事实上,为什么我们可以说一个秒差距比一个秒长埃,但我们不能说它超过一秒。 (它比一光秒长,但这并不是唯一可能与时间和距离相关的速度。)

1 m/s 与 1 kg 或无量纲 1 不同。


时间(秒)是一个维度,我们可以将指令执行视为另一个维度。 (我将其称为I,因为它没有标准的 SI 单位,AFAIK,有人可能会争辩说它不是真正的物理尺寸。但这并不能阻止这种尺寸分析的用处。 )

(基于计数的标准单位的一个示例是mole in chemistry,即粒子计数。它是国际单位制的基本单位。)

时钟周期的计数可以被视为另一个维度,在这种情况下,时钟频率是周期/秒,而不仅仅是 s-1。 (秒,s,是时间的基本 SI 单位。)如果我们想确保我们在两边都正确地抵消它,这是一种有用的方法,特别是当我们有像周期这样的数量时/指令(CPI)。因此,循环时间为 s/c,即每个循环的秒数。

Hz 的维度是 s​​-1,所以如果它是每秒 something 我们不应该使用 Hz,如果 something 不是无量纲的. (时钟频率通常以赫兹为单位,因为“周期”在物理学中并不是一个真正的单位。这是我们为了确保一切都能正确取消而引入的)。

MIPS 的维度为 instructions / time (I / s),因此促成它的因素必须抵消任何循环计数。 我们不称它为 Hz,因为我们正在考虑“指令”作为一个真实单位,因此 4000 MIPS 不是 4000 MHz。 (而且 MIPS 本身就是一个单位,因此绝对不是 4000 Hz MIPS;如果以这种方式组合单位有意义,那将是 I/s2 的尺寸,这将是加速度而不是速度.).

从您的公式列表中,忽略 10^6 的因子(即 MIPS 中的 M,只是每秒指令前面的一个度量前缀,I/s

  • instructions / total time 显然无需取消即可工作。

  • I / (c * s / c) = I / s 在取消分母中的循环后

  • (I * c/s) / (I * c/I)取消分母中的指令:
    (I * c/s) / c取消循环:
    (I * 1/s) / 1 = I/s

  • (c/s) / (c/I) 取消循环:
    (1/s) / (1/I) 应用 1/(1/I) = I 倒数的倒数
    (1/s) * I = I / s

所有这些都有指令/秒的维度,即 I/S 或 IPS。比例因子为 106,即 MIPS。


顺便说一句,这称为“维度分析”,在物理学(和其他科学)中,它是查看公式是否合理的便捷工具,因为双方必须具有相同的维度。

例如如果您想记住加速物体的位置(或行进距离)是如何工作的,d = 1/2 * a * t^2 可以工作,因为加速度是 distance / time / time(例如 m/s^2),而时间平方抵消了 s^-2只留下距离。如果您记错了 1/2 a^2 * t 之类的内容,您会立即发现这是错误的,因为您的尺寸为 m / s^4 * s = m / s^3,这不是距离单位。

(1/2 的因子不是您可以通过维度分析检查的;您只能通过进行完整的数学运算得到那些常数因子,例如 1/2、pi、e 或任何其他因子,例如求导数或积分,或就速度与时间的线性图进行几何论证。)

【讨论】:

  • 感谢你,我学到了很多。每秒周期和每秒指令之间的差异正是我感到困惑的地方。
【解决方案2】:

Hz 为 1/s。 MIPS实际上是“mega指令/s”。需要明确的是,“Per”是除法的斜线:Mega Instructions / Second

4GHz 是 4G s⁻¹。每条指令除以 1 个周期...但 cycle 是周期,它是频率的倒数。

这不是 4000Hz MIPS,因为 MIPS 的意思是“每秒”。你写了 40 亿条指令 1/s 1/s。

你吃掉赫兹是因为它是你给它贴上标签的名字的一部分。

【讨论】:

  • 由于某种原因,我的评论被删除了。你回答得真快,纠正了我的误解。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 2015-02-07
相关资源
最近更新 更多