近十年来,Arm 整个生态体系有了飞速的发展。这得益于智能手机的普及,几乎所有人都知道了 Arm 的存在。事实上更大的变革来自其他方面,比如桌面平台、服务器和超算领域。更接近于人们认知的是苹果推出了首款自研芯片 M1,从自己产品线吹响了取代英特尔芯片的号角,无论对于苹果还是 Arm 生态系统,这都是一个划时代的产品。x86 已经主宰了计算机行业多年,随着 Arm 的崛起,接下来的将面临有史以来最大的挑战。 ![]() 前一段时间,Arm 发布了全新的 Armv9 架构,开启了新的征程。根据 Arm 官方的介绍,新的 Armv9 架构将会至少使用 10 年,未来两代基于 Armv9 架构的处理器在性能上有望提升 30%。与 Armv8 架构不同的是,Armv9 架构的适用范围更广阔,其一系列改进不少都是为了 Arm 架构芯片可以实现高性能计算做铺垫,也就是说更接近于大家口中 "x86 处理器的对手 " 这个定位。 在 Armv8 架构基础上,Armv9 架构继续使用 AArch64 作为基准指令集,保持了向下兼容性,在此基础上分别在安全性、AI(机器学习)以及可伸缩矢量扩展和 DSP 上做出改进,扩展了应用范围。Armv9 架构包括了三个系列,分别是通用计算的 A 系列、实时处理器的 R 系列和微控制器的 M 系列。 ![]() Arm 认为,未来计算性能的提升非常重要的驱动力就是 AI。不同的设备的 AI 性能需求不同,对 AI 处理器的要求也会不一样。为了满足未来的行业需求,Arm 在原有的 SVE(可伸缩矢量扩展)指令集基础上,开发了 SVE2 指令集,增强了新一代 Arm 架构在高性能计算、5G 网络、虚拟现实、AI 和 DSP 等方面的性能。另外 Arm 对矩阵乘法的进一步优化,以及 Mali GPU 和 Ethos NPU 的持续改进,也将扩展 Armv9 架构的技术能力。 随着各行各业对处理器的要求已从通用计算向专用计算发展,为了满足各方对性能的需求,Arm 提出了全面计算(Total Compute)的设计方法。通过对系统级硬件(包含 Arm 的 CPU、GPU、NPU)和软件优化,将全面计算的设计方法应用在汽车、用户端、基础设施和物联网等解决方案的整个 IP 组合中,让 Armv9 架构加速总体计算性能。 ![]() Arm 和富士通的合作成果是 A64FX,是首款使用 SVE 指令集的 Arm 架构处理器,也就是目前世界排名第一超算系统 "Fugaku" 使用的芯片,表现相当亮眼。 根据富士通的介绍,A64FX 采用台积电 7nm FinFET 工艺制造,拥有 87.86 亿个晶体管,596 个信号针脚,集成了 52 个核心,包括 48 个计算核心和 4 个一样结构的管理核心。所有的 52 个核心分为四组,每组 13 个,共享 8MB 二级缓存。每组之间的互联使用的是富士通第二代 TOFU,也就是 6D mesh/torus 片上互联网络。同时配置了配的 32GB HBM2 内存,16 条 PCIe Gen3 通道,拥有 1024 GB/s 的存储带宽。可以提供 2.7 TFLOPS@64bit,21.6 TFLOPS@8bit 的性能。 ![]() 随着人工智能、机器学习和数据分析等项目在经济生产和日常生活中变得更普遍,数据中心和超算系统将越来越受到重视。这个由英特尔和 AMD 的 x86 处理器主导的市场,自然也是未来 Arm 想要涉足的地方。在这个领域,富士通 A64FX 处理器为 Arm 打响了第一枪,可以说是 Arm 架构芯片一次成功的试水。 对于目前使用基于 Armv8 架构处理器的 iPhone 或 iPad 系列这样的产品,想运行某些为 A64FX 制作的代码是不可行的,因为不支持 SVE 指令集。在不久的将来,基于 Armv9 架构处理器的新一代移动设备却可以做到,因为 SVE 指令集已经成为 Armv9 架构标准的一部分。从这个角度来看,等于将 " 超算 " 塞进了口袋。 在现代微处理器中,处理矢量的指令被称为 SIMD 指令。从技术上讲,Arm 的 Neon 和 SVE 指令集都可以视为 SIMD 指令的一种形式,这是单指令多数据流的简称。简单来说,就是当你向 CPU 发出一条指令,然后会在同一时间对多个值进行相同的操作。这类型的指令集其实很常见,在 x86 微处理器里,为更快进行多媒体处理和视频编解码工作,使用了包括 MMX、SSE 系列和现在的 AVX 系列等指令集,都有相似的思路和作用。 ![]() 在 x86 的早期,处理器制造工艺的提升相对容易,晶体管数量可以很轻松地以几何级数量增加,指令集的条数也不算多,想加入更大的矢量寄存器并不难,每隔几年增加新指令也是常态。不过随着工艺开发越来越难,以及晶体管密度过高造成的各种问题,通过这种方式提高性能可能开始有点行不通了。目前在消费级平台,使用 AVX-512 指令集的时候会有什么样的效果,英特尔第 11 代酷睿系列处理器的表现相信已经有目共睹了。 一般来说,使用 x86 处理器的领域允许其做得更大,功耗高一些可能也没关系,对于超算系统使用的处理器而言,更不会那么严格。不过 Arm 架构的处理器大多是用在小型设备上,对功耗和散热都很敏感,所以就变得很谨慎了。更重要的一点是,Arm 试图让自己的架构可以覆盖更广泛的领域,从微小的嵌入式设备到 "Fugaku" 这样的超算系统。虽然 Arm 也能提供不同的指令集,或者为不同的细分市场提供不同的配置标准,但软件可以在所有 Arm 架构芯片上编译和运行会更符合 Arm 的利益,发挥出其架构的最大效益。 ![]() 未来智能手机使用的 Arm 处理器,可能使用 128 位的矢量寄存器就可以了,而在超算系统里,则可以使用 2048 位的设计,代码能够充分利用矢量寄存器的长度以达到更高的性能。这意味着同样的代码其实可以适用于超算系统和普通人的智能手机,这是目前 x86 的 SIMD 指令所做不到的,而且需要解码和管理的指令也更少,装入缓存的指令也少得多。 或许有人会产生一个疑问,为什么 SVE2 与 SVE 有什么不同?带来了什么变化? SVE 指令集是 Armv8 架构里的一个可选扩展,为适应高性能计算需要而设计的,适用性有限。对于大多数用户而言,更多地是使用 Arm 的 Neon 指令集,所做的多媒体工作负载可能更贴合他们的需求,对于这类型工作基本不需要长的矢量寄存器。SVE2 指令集一方面完善了 SVE 指令集的不足,另一方面基本做到了原来 Neon 指令集所要做的事情,而且有着更高的效率和更好的灵活性,可变长度让其不但适应使用长矢量寄存器的工作,还能胜任使用短矢量寄存器的任务。 ![]() 事实上 RISC-V 和 Arm 一样,在指令集类型上有一样的追求。在未来几年,英特尔和 AMD 将面临严峻的挑战,在机器学习、人工智能、数据中心和超算等高性能、高利润的领域,面对的竞争对手并不是彼此,而是 Arm 甚至 RISC-V 这样的新生势力强有力的冲击。Armv9 架构的发布,指明了 Arm 前进的方向,未来的道路已渐露曙光。当了解了这些以后,再看看英伟达想以 400 亿美元买下 Arm,是不是觉得有点超值? 以上图文均来源于超能网,转载目的在于传递更多信息,并不代表大湾网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在后台联系微信,我们将在第一时间删除内容! |