V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xinghen57
V2EX  ›  硬件

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

  •  
  •   xinghen57 · 38 天前 · 1277 次点击
    这是一个创建于 38 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求各位彦祖解惑

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

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

    超售么?

    18 条回复    2024-10-14 17:18:47 +08:00
    crackdawnm
        1
    crackdawnm  
       38 天前
    硬件上:cpu 架构、线程、缓存都会影响跑分(十年前的处理器和现在一样的频率跑分可是天差地别),或者就是厂商的骚操作了
    q000q000
        2
    q000q000  
       38 天前 via iPhone
    超售的多
    kokutou
        3
    kokutou  
       38 天前
    你看看处理器都是哪一年的
    然后看看是不是超售
    xinghen57
        4
    xinghen57  
    OP
       38 天前
    @crackdawnm 相同指令集,不考虑缓存,单线程,是不是理论上性能应该相似?

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

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

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

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

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

    CPU 性能= IPC×频率

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

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

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

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

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

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

    通过之前交流,其实我最疑惑的是这部分,即单条指令执行时间到底有提升么?
    crackdawnm
        14
    crackdawnm  
       37 天前   ❤️ 1
    @xinghen57 这个楼下有一些解释,跑分受到很多因素的影响(不是简单的执行一条指令,会涉及到很多硬件),计算机组成原理里面有详细的这些(看完会对硬件有更深刻的理解),想简单了解一下的话 gpt 应该可以大概的解释一下
    crackdawnm
        15
    crackdawnm  
       37 天前   ❤️ 1
    @xinghen57 不同制程、架构的 CPU ,其完成时间会有明显差距么?肯定会有,制程主要影响芯片功耗和集成度(处理器持久性和稳定性),架构影响指令处理效率和功能集成(比如不同的指令集,缓存,流水线等等)。你上面这种情况不同指令集就会导致完成时间不一致
    xinghen57
        16
    xinghen57  
    OP
       37 天前
    @crackdawnm 感谢
    nyxsonsleep
        17
    nyxsonsleep  
       34 天前   ❤️ 1
    @xinghen57 #12 想了解就看一下微机原理吧,应该是 CPU 流水线那部分。
    xinghen57
        18
    xinghen57  
    OP
       34 天前
    @nyxsonsleep 感谢指点迷津
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2858 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 14:31 · PVG 22:31 · LAX 06:31 · JFK 09:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.