关于 M1,这篇文章做了比较详尽的解释

2020-11-19 14:40:13 +08:00
 Hoshinokozo

https://www.zhihu.com/question/429725810/answer/1570340259

以我有限的知识,整篇文章读下来,一句话总结:M1 是牺牲了 CPU 的灵活性(通用性能)换取了一部分领域的高性能,具体表现为以下几点:


相对地,M1 缺点如下:
  • 超宽执行架构是的 M1 的每个核心晶体管消耗量远大于 X86,加上各种专用单元,8 核的 M1 就已经堆了 16B 的晶体管,即使是 5nm 也快到极限了,所以 M1 架构堆核的成本远高于 X86,在遇到吃多核性能,且 M1 的各种加速单元都不顶用的通用计算场景时,会被多核 X86 暴打( AMD YES )

  • 片上内存( UMA )带来了大内存带宽和低延迟,但是无法单独扩展,只能整个 SOC 一起换,目前 M1 最大只支持 16G 内存,这对于一些对大内存有刚性需求的用户来说基本等于告别了

  • 大量加速单元使用了固化硬件电路,若未来业界对某项功能处理使用了新算法的话,要么重新设计新架构,要么就只能靠 CPU 来算了
  • 14433 次点击
    所在节点    Apple
    107 条回复
    lvybupt
    2020-11-19 14:59:50 +08:00
    “ 超宽执行架构是的 M1 的每个核心晶体管消耗量远大于 X86,加上各种专用单元,8 核的 M1 就已经堆了 16B 的晶体管,即使是 5nm 也快到极限了,所以 M1 架构堆核的成本远高于 X86,在遇到吃多核性能,且 M1 的各种加速单元都不顶用的通用计算场景时,会被多核 X86 暴打( AMD YES )”

    我读了两遍也没看到。原作者改了吗?
    changepc90
    2020-11-19 15:05:32 +08:00
    asic -> fpga -> gpu -> cpu,灵活性上升,性能下降,这个是业内常识了。
    灵活性和性能是很难两全的,对于使用场景明确的场合,可以放弃灵活性。
    apple 有这个条件,它是能设计使用场景的。
    文章中提及的技术目前 Intel AMD NV ( ARM)三家厂商都或多或少使用过,不过 M1 先试水获得不错得反响之后,其它厂商会更愿意推进。但是这对软件生态而言是个挺大的挑战,厂商最好能尽可能协调,构建一个通用的框架。

    ( IBM power 每代演进时,也是塞新的模块进去,比如 power9 有特殊硬件电路能加速 deflate 、inflate 计算,跑得飞快。)
    quiet1991
    2020-11-19 15:09:15 +08:00
    这个思路好像计算机早期发展的时候,就有这么搞过的,特别是工业芯片,就是专片专用,也不是啥新思路。

    我个人觉得,应该是因为最近计算机界发展到瓶颈了,迭代慢了,上升曲线没那么陡峭了,这样搞才有一定的市场吧。
    vsitebon
    2020-11-19 15:13:23 +08:00
    @lvybupt 应该是被改了或者是楼主自己的想法
    makecloud
    2020-11-19 15:14:10 +08:00
    参考下手机也是 Soc 不能换内存,怎么发展的比电脑如此迅猛呢?分析的这么底层,就脱离实际了,没意义。
    qq316107934
    2020-11-19 15:16:46 +08:00
    按照这个解析,将要出的 H.266 以及未来的 H.267 是不是 M1 编解码性能就不如 CPU 了,然后苹果推出 M2/M3 催着换代再赚一笔?计划通
    lly0514
    2020-11-19 15:31:12 +08:00
    都说通用计算 M1 被暴打,但是这两天各种场景的测试,无论是跑分还是压视频还是编译软件还是打游戏,M1 都没被暴打,到底什么是通用计算?
    Hoshinokozo
    2020-11-19 15:32:09 +08:00
    @lvybupt 参见里面的另一篇文章:超宽的架构对于 x86 是否可行?
    Hoshinokozo
    2020-11-19 15:33:21 +08:00
    @lly0514 服务器,科学计算,工业软件领域吧
    lly0514
    2020-11-19 15:37:01 +08:00
    @Hoshinokozo 深度学习性能接近 1080,也没被暴打。。服务器的话,编译软件已经说明问题了。作为个人电脑已经找不到 M1 弱点了
    Hoshinokozo
    2020-11-19 15:37:38 +08:00
    @qq316107934 这倒不至于,题主说了,即使用 CPU 软解,M1 的单核性能也足够强大,只是没有现在这么夸张的表现,现在各种视频处理吊打 i9,应该是加速单元起了很大的作用
    Hoshinokozo
    2020-11-19 15:41:02 +08:00
    @lly0514 你也说了,作为“个人电脑”,但是 X86 服务的可不只是个人电脑
    bookit
    2020-11-19 15:41:52 +08:00
    @lly0514 比如压缩它不支持的视频格式,或者加几个 lut 。
    lvybupt
    2020-11-19 15:45:42 +08:00
    @Hoshinokozo 也没有看到。 其实 Intel 和 AMD 也内嵌了各种不同的逻辑单元的。比如上面评论里的 H.265 的硬解。
    我觉得苹果凭借它软件上的优势,分析统计出来用户对不同计算类型的需求占比,有针对性的制造硬件,这个是一定的。 类似 nv 和游戏商的合作。amd 一直堆算力是超过 nv 的,游戏效果反而各有胜负。
    lly0514
    2020-11-19 15:51:40 +08:00
    @Hoshinokozo 还是得找一个场景量化证明 M1 露馅,目前还没有
    wangpao
    2020-11-19 15:51:54 +08:00
    @Hoshinokozo 这就不是消费市场产品要首要考虑的了
    lly0514
    2020-11-19 15:52:01 +08:00
    @bookit 目前有这方面测试了吗?
    Hoshinokozo
    2020-11-19 15:52:49 +08:00
    @lvybupt 那么同样的晶体管资源,与其用来实现超宽架构,不如用来多做两个核心。因为一些复杂计算,往往是后续的计算步骤需要等待前面指令的计算结果才能进行下去,一旦碰到这种情况,超流水线、乱序执行机制无效,再宽的架构同一个时钟周期也只能执行一条指令。如果是大量结果无关可以并行的指令,往往同时又是适合 SIMD 指令发挥的时候——前提是数据结构优化好了。

    从这句话就能看得出来了
    Hoshinokozo
    2020-11-19 15:55:27 +08:00
    @wangpao 我转这篇文章的目的只是为了让大家更理性的看待 M1 而已
    wangpao
    2020-11-19 15:58:24 +08:00
    @Hoshinokozo 没有要引战的意思,请不要误解

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

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

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

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

    © 2021 V2EX