「ARM, AMD,英特尔」硬件科普及我见的未来

来自:https://zhuanlan.zhihu.com/p/147773669

你可能会发现最近这样的新闻越来越多:苹果要换 A 系列芯片给 Mac 了,英特尔没落了要被 AMD 翻炒,次世代游戏主机自定义了 AMD 和显卡和处理器。乍一看可能有些混乱,硬件世界到底发生了什么?本文中,我会先聊聊技术背景,接着举例一些设备,来讨论的硬件原理。最以谈我所见到的未来。

市面上的硬件厂商及产品系列众多,比如华为麒麟,高通骁龙,微软 SQ 系列,苹果 A 系列,英特尔酷睿,AMD Ryzen 系列等等。但实际上归根到底,大家在争论的无非是 3 件事情。

第一是工艺水平:比如 5nm, 7nm, 10nm 等;这数字好比你手上拿的雕花刀,数字越小刀尖越细,理论上同空间内可雕出的产品越细致。我们上述的硬件厂商设计好了芯片往往要交给这些雕花厂制作出来,工艺越好的芯片效能更佳。经过一番洗牌后,世界上留下的两个最大雕花厂便是台积电的 5 纳米技术,和英特尔的 10 纳米技术。因为英特尔雕花厂自产自销,所以市面上的其他大厂的高端芯片基本都是台积电做的,因为它们有这个精钢钻,做得了这瓷器活。

第二是自家迭代:比如英特尔的 skylake, lakefield 等;这些名字意味着每个厂家内部的芯片设计迭代,一般来说,越新代的芯片的各方面性能越佳。除在命名上作弊除的厂家外,这个原理放在每个厂家都类似。比如苹果的 A14 优于 A13;AMD 的 Zen 3 优于 Zen 2。这个后面的数字一般意味着自家芯片产品的设计升级。同时代的产品一般会被厂家根据需求阉割成不同价格和性能段,比如 AMD 采用 Zen 架构的 EPYC,ThreadRipper,Ryzen 三个系列分别对应服务器需求,创意需求和游戏需求。

第三是指令集:比如 ARM64 x86-64 x86-32 等;ARM 和 x86 分别代表其使用精简指令集 RISC 和复杂指令集 CISC。ARM 为代表的精简指令集能执行的单个任务更少,因此对晶体管的数量需求也少,但是遇到复杂的事情时需要拆解成多个小指令进行;AMD 和英特尔为代表的复杂指令集 CPU 晶体管设计更复杂,却也可以一次执行更高难度的指令。与工艺水平和自家迭代不同,指令集的选择更像选边站,便成为了最近几年硬件争论的焦点,也是本文讨论的核心。

更有优势的一方

上文我们提到,ARM 的精简指令集负责更单一的命令,英特尔和 AMD 选用的 x86 复杂指令集适合执行一步到位的指令。这里我们从 ARM 的优势聊起。首先是占地大小,ARM 因为指令更单一,因此使用的晶体管少了,占用的空间自然也小。这样能腾出地方给照片处理芯片,网络芯片等,整合度更高。

其次是能耗表现优秀,晶体管数量少了能呼吸的空间就多了,发热小了也就几乎用不上风扇了。这种指令集很适合移动设备的需求,耗电小并且集成度高。因此你在移动设备上看到的芯片几乎都是 ARM。

你也许会问,我没看到有哪个设备用 ARM 啊?我用的明明是麒麟处理器,骁龙处理器。其实这也好说,ARM 是一家 IP 提供商,即授权给每个厂家最初的设计图纸,每个厂家自己按照喜欢修修改改加上自己的名字。高通说我的叫骁龙,华为说我的叫麒麟,名字真的是大家怎么高兴怎么来。

说了半天 ARM,那英特尔和 AMD 使用的复杂指令集遍一无是处吗?当然不是,复杂指令集更精密的晶体管设计使得其可以一次执行 ARM 需要几步才能完成的指令。落实下来的表现就是吃得多做的也多。同时带来的与生俱来的副作用还有做的多发热也多。因此这一架构的处理器往往用于电脑和服务器等性能有需求,且对发热不那么敏感的地方。

x86 架构在急什么?

随着近几年 ARM 架构的进化,有一种精简指令集能做越来越复杂的事情的趋势。这时的采用 x86 架构的英特尔也开始思考会不会有一天自己会被挑战。除此之外,考虑到移动设备和 IOT 的设备越来越好卖,便也参与到这场竞争中来。

战争的号角由 8 年前发布的Windows RT 吹响,它是第一款运行 ARM 的 Windows 设备,一经发布就因其性能孱弱和软件缺失而被历史扫尽垃圾筐里。但这不是终点,8 年后的今天,微软又拿出了采用魔改版骁龙骁龙 8cx 的 SQ1 处理器来应战,这时的设备是 Surafce Book X。如下图所示,同代的左侧搭载 ARM 架构的新机器比右侧搭载 x86 英特尔处理器的 Surface Pro 轻薄了快足足一倍。

要单说这一个例子也许还不值得英特尔和 AMD 恐慌,真正让它们害怕的是这些 ARM 服务器的出现。如下图所示,服务器中的芯片很重要的一点便是可扩展性,也就是俗称的堆料。偏偏精简架构的 ARM 处理器又相对擅长做这些事。

于是乎以英特尔和 AMD 为代表的传统 x86 阵营面临了新问题,腹背受敌。前有移动端芯片的望眼欲穿又使不上力,后有服务器端 ARM 虎虎生威。英特尔和 AMD 在 2020 年的今天,分别掏出了自己的应对方案。比较有趣的是这两家大厂各选了一个方向应对。英特尔选择去重新设计新的 Lakefield 架构降低能耗,采用混合封装技术缩小芯片体积,来进攻移动端市场。其最新的成果便是题图的那颗处理器,史无前例的制作了 x86 架构下的大小核芯片 i5-L16G7,首发在 2020 年 7 月上市的三星盖世 Book S 笔记本中。

英特尔的大小核史无前例的震撼了看客,等等,史无前例吗?并没有,这个大小核架构是 ARM 已经在移动端深耕多年的布局。最新一版 ARM 的设计架构中推出的新 X1 处理器推荐布局图如下。你看看像不像在和英特尔找不同?

当下的 ARM 处在单核性能优秀,多核性能与 86 同等水平下,超多核心的探索还处于早期阶段。AMD 选择将视角放在多超多核心的处理器研发上,这恰好是当下 ARM 的软肋。经过多年的耕耘,AMD 新的 Zen 架构终于将多核型调度与性能优化的非常优秀,这也为 AMD 留下了接下来几年安身立命之本。

性能方面,苹果在大核心 ARM 的研发上开始的更早,也更早注重单核性能。用在 2018 年苹果发布的 A12X ARM 处理器性能已经可以在单核和多核芯表现上和英特尔同代 x86 产品打成平手甚至胜出。随着工艺和设计提升,未来的 A 系列在此基础上能耗更低,更有进化前景,这就不难解释为什么苹果在数年前就做出迁移 Mac 产品线到 ARM 的决定。

大家将要看到的新 iMac 上 A14 的 12 核处理器,这是很多人以为是变革的起步。比如移除 CPU 风扇降低噪音,比如采用新设计移除耳机口并发布新的 AirPods Studio 耳机;移除 Touch ID 而转向横向布局的 Face ID;集成 T3 安全芯片等。软件方面 ARM 架构的开发机便是部署 ARM 应用的最优解,因此 Xcode,FCPX 等软件在开发端 macOS 和移动端 iPad Pro 也呼之欲出。而实际上这一切改变,便是一切都是用心安排下的顺理成章。

兼容问题及解法

为什么会存在兼容问题呢?其实也好说。还记得 ARM 的 x86 这两种指令集好比说话方式不同,因此在此基础上与软件的交流方式必然也不同。想要 ARM 处理器听得懂指令,要么是用它的语言与他说话,要么就是找个翻译官。

微软目前在 Windows 使用了 WOW64 兼容层来处理所有早先的 32 位应用,而传闻中的 64 位兼容层也即将到来。苹果这边,我们看到苹果早在过去的三年中干掉了 32 位应用为 ARM 铺路,OpenGL 图形层也用 Metal 框架完成大一统。AppKit,Catalyst 和 SwiftUI 所组成的原生框架均可以在 macOS 上顺利运行。取决于翻译官的开发进度,我们会在很快看到自己熟悉的应用跑在 ARM 芯片上的场景。而这一切硬件变化,对用户来说甚至很难感知,只觉得电脑反应更快,这便足矣。

浅谈未来

今日,我看到 ARM 在许多设备上的未来十分光明; x86 虽不会被立刻淘汰,却注定长期腹背受敌。篇幅所限,本文还有许多地方无法涉及,比如 AMD Navi 架构的极佳扩展性使其在移动端和游戏主机中得意重用;Zen 架构的发展前景;高通骁龙存在的问题等。不过不急,我们已处在硬件的变革之中,静观其变便是。

现在我们所经历的,不是变革的开始,而是数年心血后的成果展示。

原文地址:https://www.cnblogs.com/zy09/p/13673062.html