- 一个处理器有 4 个内核
- 每个核心有 2 个 - 超线程
- 其时钟频率为 2 GHz
- 平均而言,一条指令需要 4 个 CPU 周期才能在每个超线程上执行
一秒能执行多少条指令?我需要关于使用哪些方程式的帮助。我知道 1 GHz 在 1 纳秒有 1 个 cpu 周期,因此 2 GHz 将在 0.5 纳秒内完成一个 cpu 周期。
一秒能执行多少条指令?我需要关于使用哪些方程式的帮助。我知道 1 GHz 在 1 纳秒有 1 个 cpu 周期,因此 2 GHz 将在 0.5 纳秒内完成一个 cpu 周期。
好吧,我会让你开始,但这是一个基本的数学问题。
2Ghz - 频率,以 [周期/秒] 为单位。4 - 指令持续时间,以 [cycles/ops] 为单位。
所以2Ghz [cycles/second] / 4 [cycles/ops] = 0.5Ghz [ops/second]
。请注意,循环单位取消了,这“感觉不错”,因为我们剩下的是被要求的单位:)
做类似的数学来解释超线程和核心 - 只有它会是乘法。(您可以执行这些单元,例如[ops*threads*cores/second]
,但可以在所有v 核心要求 ops/second 的答案的上下文中删除它们。)
这个问题有点不完整。仅仅因为一条指令平均需要 4 个周期并不意味着处理器一次不能处理多个事情。指令级并行 (ILP) 是通过采用超标量执行、流水线和乱序执行等概念来实现的,这意味着我们的处理器能够在每个周期完成 4 条(或更多)指令。因此,您需要的数字是处理器频率、内核数量以及每个内核可以承受的每秒指令数 (IPC)。诸如超线程、缓存、预取等只是帮助处理器达到其设计目标的 IPC 的功能。查阅计算机体系结构书籍,如Heennesy & Patterson 的计算机体系结构:一种定量方法。通常,ILP 会在前几章中的一个中介绍。