【问题标题】:how many instructions can it execute in one second?一秒钟能执行多少条指令?
【发布时间】:2014-04-08 19:40:00
【问题描述】:
  • 一个处理器有 4 个内核
  • 每个内核有 2 个 - 超线程
  • 其时钟频率为 2 GHz
  • 平均而言,在每个超线程上执行一条指令需要 4 个 CPU 周期

一秒能执行多少条指令? 我需要关于使用哪些方程式的帮助。 我知道 1 GHz 在 1 纳秒有 1 个 cpu 周期,因此 2 GHz 将在 0.5 纳秒内完成一个 cpu 周期。

【问题讨论】:

  • 我认为这里已关闭,请尝试查看其他 StackExchange 论坛,例如:serverfaultsuperuser

标签: cpu clock equation processor hyperthreading


【解决方案1】:

好吧,我会让你开始,但这是一道基本的数学题。

2Ghz - 频率,以 [周期/秒] 为单位。 4 - 指令持续时间,以 [cycles/ops] 为单位。

所以2Ghz [cycles/second] / 4 [cycles/ops] = 0.5Ghz [ops/second]。请注意,循环单位被取消了,这“感觉不错”,因为我们剩下的是被要求的单位:)

做类似的数学计算来解释超线程和核心 - 只是它会是乘法。 (您可以执行这些单元,例如[ops*threads*cores/second],但可以在要求跨 所有 v-cores 的 ops/second 的答案的上下文中删除它们。)

【讨论】:

  • 这个答案(以及真正的问题)完全忽略了流水线的整个概念。
  • @NathanBinkert 虽然这确实是一个琐碎的场景,但问题可能来自教科书/练习,并提供了预期答案水平所需的信息:“平均,在每个超线程上执行一条指令需要 4 个 cpu 周期"
  • 你可能是对的。自从人们构建一次完全由一条指令消耗并且没有流水线的处理器以来,已经有很长时间了。尤其是执行简单(例如循环)超线程的机器。
【解决方案2】:

这个问题有点不完整。仅仅因为一条指令平均需要 4 个周期并不意味着处理器一次不能处理超过一件事。指令级并行 (ILP) 是通过采用超标量执行、流水线和乱序执行等概念来实现的,这意味着我们的处理器能够在每个周期完成 4 条(或更多)指令.因此,您需要的数字是处理器频率、内核数量以及每个内核可以承受的每秒指令数 (IPC)。诸如超线程、缓存、预取等只是帮助处理器达到其设计目标的 IPC 的功能。查看诸如Hennesy & Patterson's Computer Architecture: A Quantitative Approach 之类的计算机体系结构书籍。一般来说,ILP 会在前几章中的一章中介绍。

【讨论】:

  • 这是评论,不是答案。
猜你喜欢
  • 2013-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
  • 2020-08-29
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
相关资源
最近更新 更多