如何确定哪个处理器的性能最高

Posted

技术标签:

【中文标题】如何确定哪个处理器的性能最高【英文标题】:How to determine which processor has the highest performance 【发布时间】:2021-12-12 07:39:07 【问题描述】:

存在以下条件。

考虑三个不同的处理器 P1、P2 和 P3 执行相同的操作 指令系统。 P1 的时钟频率为 3 GHz,CPI 为 1.5。 P2有 一种 2.5 GHz 时钟频率和 1.0 的 CPI。 P3 的时钟频率为 4.0 GHz,CPI 为 2.2。

问题是

执行相同程序时哪个处理器的性能最高?

在比较计算机性能时,我学会了比较cpu执行。

但是,由于cpu execution time = CPI * instruction set * 1/clock rate,仅凭上述问题中的条件不能知道指令集的大小,我认为处理器之间的性能无法比较。

我找了其他类似的问题,问题是Which processor has the highest performance expressed in instructions per second?我们比较了处理器在每秒指令数条件下的性能,如图所示。

所以我想知道的是是否可以在没有任何特殊条件的情况下比较处理器之间的性能。 (给定的问题是不是错了?)如果可能的话,我想知道如何比较它们。

【问题讨论】:

【参考方案1】:

但是,由于cpu execution time = CPI * instruction set * 1/clock rate,仅凭上述问题中的条件无法知道指令集的大小,我认为处理器之间的性能无法比较。

对于那个公式;我假设instruction set 反映了完成相同工作需要多少指令。例如。如果一个指令集可以在一条指令中进行乘法运算,它可能有instruction set = 1,如果另一个指令集需要20条指令来进行一次乘法运算,那么它可能有instruction set = 20,因为你需要20倍的指令才能完成相同的工作完成。

对于您的作业(3 个处理器都执行相同的指令集),instruction set 是无关紧要的 - 它们都采用相同数量的指令来完成任何数量的工作。考虑到这一点,你可以做performance = clock rate / CPI。更具体地说:

P1 = 3 GHz / 1.5 = 2,000,000,000
P2 = 2.5 GHz / 1.0 = 2,500,000,000
P3 = 4 GHz / 2.2 = 1,818,181,818

当然,功课过于简单了——停顿(CPU 在等待诸如缓存未命中和分支预测错误后的指令提取等事情时什么都不做的时间)往往对性能的影响比时钟速度或“理论最大 CPI";和“实际测量的 CPI”取决于使用了哪些特定指令(对于所有程序,永远不能是像“1.5 CPI”这样的单个数字)。换句话说,在实践中,很容易出现 CPU 对一个程序最快但对另一个程序最慢的情况。

【讨论】:

以上是关于如何确定哪个处理器的性能最高的主要内容,如果未能解决你的问题,请参考以下文章

intel核显哪个型号最好用?

三星 Exynos 4412 高通 骁龙Snapdragon APQ8064 这两者哪个叼

MTK X20和高通625哪个好?

华硕笔记本,msconfig,里面那个处理器个数默认是1,最多可以设置为2,旁边是最大内存

Symfony Messenger 如何确定应由哪个处理程序处理每种类型的消息?

Linux 有问必答:如何知道进程运行在哪个 CPU 内核上?