关于 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 来算了
  • 15889 次点击
    所在节点    Apple
    107 条回复
    Hoshinokozo
    2020-11-19 16:56:33 +08:00
    @lvybupt 哈哈,这只是我个人的推测,见谅
    shyling
    2020-11-19 16:57:45 +08:00
    @Hoshinokozo emmmm m1 是 soc,各种专用核,ram,firestorm, icestorm 总共 16B,5950X 应该也是带其他内容。我觉得比较的话应该不能直接比总共的晶体管数量。
    denvi
    2020-11-19 16:58:49 +08:00
    答主大概是两个意思,一是苹果和 AMD 都是舍弃了部分功能来达到能和 intel 掰手腕的水平。二是 arm 要在高性能上跟 x86 打,代价不见得比 x86 少,且能不能拉上去还不知道。
    我觉得吧,intel 面对的市场太广泛太长尾,兼顾起来就是这个卵样,而且某些领域利润率是高,但芯片大概已经是出货量为王的行业了。门槛迟早被别家踢开。
    像苹果和 AMD 的取舍不是被证明了是正确的路线嘛?摩尔定律的逐渐失效,根据特定市场、应用去“定制”,性能-成本的曲线才是最优的。这恰恰是 x86 历史原因比 arm 要难的。君不见 intel 为了性( pao )能( fen )搞出来的 avx512 被业界多少人骂…连多个版本跑分软件都把这块踢出去…
    Hoshinokozo
    2020-11-19 17:00:46 +08:00
    @nguoidiqua 未来或许是吧,但是现在 X86 依然是主流,而且最近只是因为 Intel 拉胯了才导致大家怨气集中爆发,实际上 X86 本身并不弱
    Hoshinokozo
    2020-11-19 17:02:51 +08:00
    @denvi 哈哈,还是老哥你总结的到位。
    wanguorui123
    2020-11-19 17:06:01 +08:00
    @qq316107934
    我猜测:
    1 、当编码升级到 H256/H267,软解 VS 软解,英特尔的 U 照样打不过
    2 、苹果的各个专用单元,在苹果的生态下是通用的,只是如何集成到 SOC 上需要重新设计电路,这叫高内聚低耦合
    3 、说苹果 16G 内存是上限,其实我认为可以加长 SOC 的 PCB 版扩充内存,或者额外的插槽扩展相对低速率的内存,通过操作系统 分级缓存的策略 来保证运行效率
    denvi
    2020-11-19 17:06:38 +08:00
    @shyling 那位答主另外一个回答好像也提到了单位晶体管性能,这典型是被技术 /参数遮蔽了,arm 的商业模式跟 x86 的生态就不一样,跟苹果或者未来会上 arm 桌面端芯片的其他厂比,要比的是同整机价格下的性能啊。真要比可能就只有高通一家适合按单位晶体管性能来比?
    苹果 A 系列芯吊打其他手机厂商,不是靠这种不大需求计较成本的“堆料”赢的嘛?只是在电脑端又来一遍而已
    Hoshinokozo
    2020-11-19 17:08:33 +08:00
    @shyling 5950 也是 SOC 呀,内存控制器,还有 APU 的集成显卡,你没明白我的意思吗,M1 把大量晶体管用于这各种定制电路和提升 IPC 了,这就导致同样的晶体管规模核心数是不及 X86 的,而且想堆核心也是比较困难的,所以在纯频 CPU 性能的场景,M1 固然单核很强,可架不住人家 X86(AMD)核多啊。
    nguoidiqua
    2020-11-19 17:09:18 +08:00
    @Hoshinokozo

    这其实不是 X86 主流还是 ARM 主流的问题,也不是 X86 弱不弱的问题。

    这是通用计算和专用计算哪个会成为未来主流的问题,是通用计算和专用计算哪个更能满足消费者需求的问题。

    我想现在大家可以看到答案了,X86 处理器要继续发展,必然也得这么搞。
    casioyan
    2020-11-19 17:11:32 +08:00
    @kop1989 如果只是说 Arm 架构的上限(非苹果这种面向消费级),可以看看目前超算第一,日本的富岳。
    reus
    2020-11-19 17:11:41 +08:00
    @shyling 一个 zen3 CCX 是 40 亿晶体管,只有 cpu 核心和缓存,没有其他内容。5950X 是两个 CCX,所以算 80 亿。但实际上 80 亿是不带 IO 部分的,加上的话就不止 80 亿了。
    cherryas
    2020-11-19 17:16:50 +08:00
    M1 最大缺点就是扩展差。不支持独立显卡,不支持扩展内存。
    Hoshinokozo
    2020-11-19 17:18:15 +08:00
    @nguoidiqua 这个我就不得而知了,不过现在 ARM MAC 还是很多事情干不了,别的不说,打游戏这种贴近生活的场景就没辙了,X86 慢是慢了点,带好歹能玩呀
    reus
    2020-11-19 17:20:30 +08:00
    AMD 最近收购了 xilinx,就是搞 fpga 的公司,然后 AMD 抛出了一个很有意思的东西:
    https://www.phoronix.com/scan.php?page=news_item&px=AMD-ROCm-Xilinx
    “Ultimately they aim to provide a fully integrated ROCm runtime to span from AMD CPUs and GPUs through FPGAs. ”
    如果真的在 CPU 或者 GPU 里嵌入 fpga 核心,可以让用户自己编程,那就解决了前面提出的 h266 的问题了。
    需要 h266,那就自己写入到 fpga 核心里,获得更快的速度。出了 h267,还可以继续升级。
    我觉得内嵌 fpga 是比写死专用算法更好的选择。
    denvi
    2020-11-19 17:25:36 +08:00
    @nguoidiqua 这个得看领域,在绝大部份生产力和娱乐应用中,专用芯片早就是共识了。但在科研等对性能和灵活同时有极高要求的,“少两片专用芯片,多造万能的 cpu”确实是对的。不过这实在是有点搞笑的理论…
    担心生产力和娱乐领域的算法、标准有变,导致专用芯片的的废了,不知道前者的变革快还是设备更新换代的周期快呢…
    担心整片 Soc 里有些专用芯片用不上,浪费了晶体管…这就是市场取舍的因素了,跟 arm x86 没多大关系。那位答主觉得浪费,可恰恰覆盖到了大部分目标消费者的需求,而且综合成本可能还更低…
    nguoidiqua
    2020-11-19 17:27:08 +08:00
    @Hoshinokozo

    搞笑,X86 离开了显卡能玩毛啊?玩游戏还不都是看显卡的,你用你的通用多核跑得起吗?

    把你晶体管全堆在 CPU 多核上面嘛,用什么显卡,这种专用计算最浪费晶体管了,把显卡的晶体管也拿来堆 CPU 多核,通用计算最好了,多核跑分最高了。
    shyling
    2020-11-19 17:28:13 +08:00
    @Hoshinokozo 其实我觉得强弱不在于指令集。

    你看看知乎那个回答,也没谈什么指令集。

    m1 最令人惊艳的是 apple 凭借自身基础把以往 pc 上零散的组件集成化的能力以及软件上的实力。

    这种同时需要软硬件实力才能做的事情,可能也就微软,苹果能做吧。可惜上次微软失败了,苹果看上去成功了很多。

    记得以前写个 cuda 程序,数据在内存和显存来回复制,大部分时间都花在复制的路上,现在看看 m1 这种统一内存的设计不要太香,但你想想传统 pc 上怎么实现这个,联合 intel + amd + 主板厂商 + 内存厂商 + 老黄吗,是不是难了一些 hhh
    wanguorui123
    2020-11-19 17:31:49 +08:00
    @reus
    我赞同 @denvi 的观点,CUDA 和 FPGA 这类可编程的高性能计算实际上,在科研方面有优势。
    民用和商用专用芯片更有价值,而且成本更低。

    如果真正需要灵活性,单独购买 FPGA 与 CUDA 这类可编程的加速卡就完了。
    rubin01
    2020-11-19 17:32:47 +08:00
    @Hoshinokozo 关键是 intel 的 mac 也玩不了游戏 233
    casioyan
    2020-11-19 17:32:53 +08:00
    @Hoshinokozo AMD 虽然核多,但是日常出货 5950x 也不是主力。。。之前在讨论问题就是 M1 的短板在哪?就我个人的感觉,在 PC 领域,日常的文件处理,影音娱乐,以及程序员需要的编译性能,影音工作者需要的视频编解码,AI 工程师的炼丹。如此多的通用领域,M1 都可以带来无敌的能耗续航和这样的使用体验,是否可以认为是没有短板了?

    让专业的人做专业的事,高性能计算领域已经证实,专有架构更容易针对特殊应用进行优化。神威太湖空载率那么高还是因为国内基本只用 X86 架构的软件,并没有那么大的动力去针对性编写代码。

    当然,这扯远了。我想说的是单纯的对某种架构进行 scale up 并没有意义。。。

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

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

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

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

    © 2021 V2EX