苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)

虽然 Microsoft 和 Apple 都在做 ARM 架构的兼容工作, 但是实现的途径却有很多区别:

Windows

Windows 在 8 时代推出了一个 RT 版本, 即一个基于 ARMv7 下 Thumb2 指令集的 Windows 版本, 兼容传统 win32 API. 但是这个版本早期并没有开放第三方 Win32 App, 仅允许开发者开发 UWP App, 导致基于 Tegra 2/3 的两代除了 win32 的 Office 之外毫无竞争力. 最要命的是这两个 CPU 还特别慢, 整体体验难以和同时代的 iPad 相比.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(1)

Surface 2

后来的 Windows 10 IoT 也是基于 Thumb 2 这套指令集为主, 可以运行在树莓派和 NXP i.MX 系列处理器上. 随后正式推出的 MateBook E, Surface Pro X 其实也使用了 Thumb 2, 但是这就带来了当未来架构放弃 ARMv7 兼容性(比如现在的鲲鹏920就没有向下兼容 aarch32).当然微软自己也在向 ARMv8 指令集迁移, 比如未来的 Server Core for ARM 就可以运行在纯 aarch64 下.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(2)

所以未来向下兼容 ARMv7 就成为了一个遗留隐患.

而在 x86 生态模拟方面, 微软选择的是历史较长, 覆盖较广, 实现难度较低的 x86 指令集. 相比 x86-64 指令集来说, 在 aarch32 下也能模拟, 同时绝对碰不到 256/512bit 的 SIMD 指令集 AVX, 换句话说目前普遍实现的 128bit NEON 也能处理这种情况.

但是个别生产力 App 和游戏早就完成了纯 64bit 化(不然就会受到单进程内存容量限制), 这样一来就很尴尬. 虽然微软未来会提供对 AMD64/EMT64 的模拟, 但是就现在的生态来看, 等到做出来的时候整个 ARM Windows 生态怕不是都凉了.

macOS

macOS 在从 PPC 向 Intel 迁移的时候还是 NetBurst 时代, 虽然说 NetBurst 支持了 EMT64, 但是可能是出于当时 64bit 整体生态的不成熟, 还是选择提供 32bit 为主的环境, 包括开头 BootCamp 使用的仍然是 32bit Windows.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(3)

到了 10.13 开始提示用户 32bit 的应用可能影响性能, 到 10.15 彻底取消掉 32bit runtime, 我认为 Apple 花了大量人力在 64bit 的模拟上. Apple 做了两个重要特性:

  1. 安装的时候就完成了二进制转换工作, 不会像 Surface Pro X 那样开始运行很慢(边运行边转换)
  2. 运行时 JIT 优化代码, 提升性能

不过像是 AVX 这种 256/512bit 的 SIMD 指令可能有现实性的问题. 所以如果碰到这样的部分, 如果没有备用的 SSE codepath 就会导致 SIGILL, Illegal instruction.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(4)

这个工作可能做了差不多有两年.

另外一个工作是在 A12/A12X/T2 平台从 iBoot 引导系统转化到 EFI 化的引导系统, 同时要兼容 SBSA 标准, 即提供必要的 ARM 特权态和 ACPI/EFI 支持. 包括 Parallel 里面运行的 Linux 也是 SBSA 兼容的结果.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(5)

ARM Based MacBook Pro 运行 Parallel Desktop 的 Linux 虚拟机

值得注意的是, 去年的 Checkm8 漏洞就没有在 A12 处理器的设备上出现.

转化的动机

每瓦性能

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(6)

Intel 在先进工艺的持续难产使得起 Tick-Tock 模式无法持续, 虽然最近几年在通过增加核心、提升频率方面压榨性能, 但是持续低迷的能效对于移动设备来说是难以接受的. 而且 10nm 的表现不佳顺便还导致 Intel 的 5G 基带难产, 因为 5G 基带的逻辑远远多于 LTE, 所以用 14nm 制造带来的额外面积是无法接受的.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(7)

Ampere 的宣传单显示, Intel 的能效远远落后于 AMD EPYC 产品线和 Ampere 的 Altra ARM 处理器

更强的 GPU, 集成 PCIe NAND 主控, 集成安全芯片、 NPU 和 ISP

Intel 在 14nm 上使用的 UHD630 性能相比与 2015 年的 HD530, 几乎没有提升, 而现在显示器的分辨率越来越高, 色彩深度也从 8bit 提升到 10bit 乃至 Dolby Vision 下的 10bit. Intel 的显卡在这块的不仅对各种输出规格的兼容性不佳, 而且在 macOS 上的流畅度一直是一个问题, 特别是高配 15/16 寸的 MacBook Pro 上一直存在「集显卡顿, 独显费电」的矛盾.

并且 Apple 自己有 TV 4K 这样对 HDR 和 HDCP 标准兼容良好的产品, 同时 Apple 在推广自己的 TV 订阅服务, T2 已经在承担视频编解码的工作, 包括对 HDR 视频输出的 Tone-Mapping 支持.

之前使用的 T2 本身充当了 SSD 主控的功能, 但是使用的是 T2 的内存. 而在 iOS 设备上, PCIe 主控的内存空间来自于宿主内存, 也就是所谓的 DRAM less 的主控方案, 而主控本身就是一个跑在用户态的 PCIe 驱动程序. 通过这两者的整合, 可以降低设备在存储上的成本, 并提供整合化的加密安全设计.

对于缺乏 NPU 的 Mac, 像照片库的人脸识别依赖于 GPU, 效率相对较低. 新的 DTK 平台就利用了 NPU 加速人脸识别. 同时 Apple 将本地的人脸识别和联系人照片相绑定, 同时 HomeKit 也可以利用来自照片库生成的联系人图标用于门禁的人脸识别, 在你看电视的时候就能够告诉你是哪个朋友来了. 像是 Mac mini 也能承担 HomeKit 家庭控制中心的角色.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(8)

A12Z 通过 NPU 加速照片内人脸识别

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(9)

门禁的人脸识别

ISP 方面, 比如说最新的 Logitech 显示器磁吸 4K 摄像头要求使用 Mac 自己的 GPU 或者是 T2 ISP 用于对视频信号进行处理. MacBook Pro 也得益于 T2 的 ISP, 在同样的摄像头下获得了更好的画质. 未来 FaceID 可能会登陆 Mac 平台, 使用自家 SoC 就可以在保证安全的前提下优化解锁的体验.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(10)

罗技 4K 摄像头

完全抛弃 x86? 不见得

Apple 做出迁移这个决定大概是在 2018 年. 在那个时候 AMD Zen 虽然提升很大, 但是 Apple 和 AMD 合作仅仅只能解决 CPU/GPU 问题. 如果要做出后面十年更先进的产品, 还是得借助自研处理器的力量.

今天的 x86 生态则是 AMD 彻底翻身, 所以即便像手机上的 A13 能做到 SoC 6W 功耗的情况下在 ARM 处理器中独树一帜, 但是绝对性能仍然落后于同时期桌面处理器, 更不用说 Apple 堆了非常多的料(比如缓存). 能够这样做的前提是出货量和高利润率.

像高端桌面电脑、HEDT 工作站, 本身出货量对于 Apple 来说就很少, 利润虽然更高, 如果专门为了这些平台设计一个大芯片, 这点出货能难摊平设计成本. 而 AMD 在 EPYC 服务器, Threadripper 工作站和目前 3900X/3950X 这些准 HEDT 平台上共用了一套 CCD 芯片, 这就大幅度降低了研发和生产成本.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(11)

3950X

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(12)

EPYC 2

另外一个大头就是 GPU 芯片, 目前 AN 之外的 GPU 厂商很少能够攻上桌面生态, 像 ARM 自家的 mali 基本就是在泥地里爬. 所以即便 CPU 完成迁移, 在高端生产力平台还是会采用 AMD GPU.

所以对于 Apple 来说, 应该会把迁移的目光放在最具盈利能力的产品上.

SIMD

目前 ARM 主流的 NEON 的 SIMD 能力是 128bit, 相比 x86 平台开始在 Ice Lake 普及的 AVX512 还有很大的距离. 虽然这两天上了新闻的 FUJITSU A64FX 处理器通过 ARM 的 SVE 扩展实现了 512bit 的 SIMD 处理能, 但是这样强的能力也是有代价, 主要还是在于成本和用户的需求难以平衡.

不过我认为 Apple 在短期内不会冲击这个水平的 SIMD 能力, 主要还是提升流水线长度-提升频率为主, 从而压榨当前 SoC 设计在更好散热平台下的峰值性能表现.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(13)

A64FX, 直接连接了四个 HBM2 内存颗粒

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(14)

一个芯片有四个核心簇 ,一个核心簇包含了 13 个核心, 其中一个是辅助核心

为二合一铺路

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(15)

iPad 登场

很大程度上, Apple A4 处理器的初次亮相是在 iPad 的发布会上. Apple 提出的理念是「介于手机和笔记本之间的触摸式计算设备」, 因为 iPhone 发布会 Jobs 的一些言论, 很多人认为可能 iPad 不会像 Windows 平板那样急于实现所谓的「Pen Computing」, 即手写笔支持.

但是这些条条框框很快被打破. iPad Pro 初代亮相时发布了 Apple Pencil 和 Smart Keyboard, 而今年发布了带有触控版的 Magic Keyboard. 其实很多时候 Apple 并在不在乎「有没有」, 而是「好不好」.

苹果的arm架构怎么样(同样是ARM微软和苹果的不同迁移之路)(16)

iPad Pro 搭配 Magic Keyboard

就今年二合一市场来说, Surface 应该是比 iPad 还要更受认可的形态. 但是由于 Intel CPU 的低能效, 还有较差的 Connectivity(Surface 的 LTE 版本要加很多钱), 传统的 Surface Pro 系列都算是问题重重. 一个典型的问题就是设备表面都很热, 而且很多人还是离不开 Type Cover. 当然最关键问题还是触摸应用的生态.

而 Surface Pro X 的这个新坑虽然带来了很多变化, 但是在触摸应用和 Native App 的缺乏和性能上的问题仍然是最头大的问题.

Apple 的二合一思路是双线并举, 首先加强 iOS, 即推出具备独占功能的 iPadOS, 大幅度加强手势操作, 并且给 iPad 笔记本式的键盘和触控板. 通过这些让加强 iPadOS 的交互效率, 并且让 iPad 为主的开发者开始熟悉桌面 App 的交互模式, 以充分利用这些外设.

另外一边是借助 iPad 的 SoC 改善 MacBook Air 的性能和功耗表现, 同时逐步优化交互. 从而加速 iPadOS 和 macOS 在交互上的融合.

最后的结果是 Apple 想要做出一台像 MacBook Air 一样有着传统桌面应用, 但是性能上获得飞跃性提升, 同时可以和 iPadOS 分享触摸操作手势和移动平台的 App 的那么一台二合一设备.

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页