不懂就问, cpu 频率相近跑分为何差别巨大

42 天前
 xinghen57

求各位彦祖解惑

昨天用融合怪测试了下手头几台小鸡。小鸡 cpu 单核频率都在 2800 上下,但 cpubench 跑分相差巨大,单核分别是 1400+、700+、200+。

不太理解为何频率相近,跑分如此悬殊。

超售么?

1285 次点击
所在节点    硬件
18 条回复
crackdawnm
42 天前
硬件上:cpu 架构、线程、缓存都会影响跑分(十年前的处理器和现在一样的频率跑分可是天差地别),或者就是厂商的骚操作了
q000q000
42 天前
超售的多
kokutou
42 天前
你看看处理器都是哪一年的
然后看看是不是超售
xinghen57
42 天前
@crackdawnm 相同指令集,不考虑缓存,单线程,是不是理论上性能应该相似?

我一直觉得单核单线程下,不考虑功耗只考虑性能,频率应该是绝对的衡量指标。即便缓存大一倍,性能也不可能提升一倍,否则就堆缓存就行了。

如果是这样,那跑分与实际使用时的性能表现可能就存在很大区别了。

上面这些都不考虑功耗。
xinghen57
42 天前
@kokutou 个人理解,我觉得即便年代不同,跑单核单线程同频下,跑相同指令集,性能应该相似。

感觉制程、架构这些对单核单线程下单位频率的性能提升有限,更多是提升能耗、散热这些方面吧。

比如 1MHz 的性能,应该很难提升,无论制程、架构如何改进。
kokutou
42 天前
@xinghen57 #5
你的理解不对了
nyxsonsleep
42 天前
基本常识 CPU 的代数更迭,通常伴随着性能提升,那么核心问题就是 IPC 提升了多少。

CPU 性能= IPC×频率

IPC ( Instruction per Clock ):CPU 每一时钟周期内所执行的指令数。即核心效率。

核心效率的提升,是指在相同核心数量、相同线程数量、相同频率这个三个“相同”的基础上,每一代比上一代处理器性能提升的幅度。这如同两个人跑步,规定每人每秒只能跑 5 步,比哪个跑得快,那么 CPU 的核心效率就相当于每一步的长度。
nyxsonsleep
42 天前
@nyxsonsleep #7 服务商的小鸡就更抽象了,服务商的小鸡只能当成粗略的参考值。
简单的说,超售的小鸡有什么对比的意义?甚至同一服务商的不同套餐超售比例都不一样,他们可能都是同一批设备,但是用户体验天上地下。
虚拟机邻居不一样,如果你小鸡的隔壁天天满负荷运载,你这小鸡性能也不会高,这怎么比较?
march1993
42 天前
光 L3 cache 的大小就可以把跑分拉的很开了,一个 benchmark 程序,可能会用到若干数据,但凡 cache 过小爆了,或者被其他虚拟机调度挤占,性能就会迅速变拉跨。
Donaldo
42 天前
@xinghen57 #4 你对 cpu 了解太少了,频率只是每秒有多少个 cpu cycle 被执行,真正衡量 cpu 性能的还有每个 cycle 内有多少条指令被执行( ipc )。ipc 的决定因素非常多,缓存/流水线设计/分支预测性能/.......每一个小项都是一门大学问。
Immunize
42 天前
奔腾 4 超到 5GHz 性能难不成和 14900K 单核性能一致,那这么多年芯片设计都白做了。
https://browser.geekbench.com/v6/cpu/singlecore
xinghen57
42 天前
@Donaldo @nyxsonsleep 感谢两位。

还有个疑问,随着制程、架构的升级,能缩短单条指令的执行时间么?换句话说,如果前后指令都是顺序的,且假设等待时间为 0 ,这些年的制程和架构的升级,能提升单条指令的执行时间么?

我印象中很多升级目的都是去预测后续指令或合理调度从而减少相邻指令的等待时间或并行执行多条指令。并没有提到提升单条指令的效率,也即缩短单条指令的执行时间。

举个不恰当的例子,有这样的任务,CPU 从硬盘连续 0 区读取数据,将其改写为 1 后再写入硬盘原区域。读取写入都是顺序执行。假设忽略总线、内存、硬盘等除 CPU 外其他硬件的时间开销,cpu 主频锁在 1MHz ,且只使用单核单线程。这种场景下,不同制程、架构的 CPU ,其完成时间会有明显差距么?或者这种情况下完成时间的差异和 CPU 性能提升幅度一致么?
xinghen57
42 天前
@Immunize 可能还真是一样。或者反过来,两者主频都锁的 1MHz ,单核单线程,重复执行单条指令。

我印象中很多升级目的都是去预测后续指令或合理调度从而减少相邻指令的等待时间或并行执行多条指令。并没有提到提升单条指令的效率,也即缩短单条指令的执行时间。

通过之前交流,其实我最疑惑的是这部分,即单条指令执行时间到底有提升么?
crackdawnm
41 天前
@xinghen57 这个楼下有一些解释,跑分受到很多因素的影响(不是简单的执行一条指令,会涉及到很多硬件),计算机组成原理里面有详细的这些(看完会对硬件有更深刻的理解),想简单了解一下的话 gpt 应该可以大概的解释一下
crackdawnm
41 天前
@xinghen57 不同制程、架构的 CPU ,其完成时间会有明显差距么?肯定会有,制程主要影响芯片功耗和集成度(处理器持久性和稳定性),架构影响指令处理效率和功能集成(比如不同的指令集,缓存,流水线等等)。你上面这种情况不同指令集就会导致完成时间不一致
xinghen57
41 天前
@crackdawnm 感谢
nyxsonsleep
38 天前
@xinghen57 #12 想了解就看一下微机原理吧,应该是 CPU 流水线那部分。
xinghen57
38 天前
@nyxsonsleep 感谢指点迷津

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1078883

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX