分享

苹果探索RISC-V架构,说好的All in ARM没了

 三易生活 2021-09-09
作为全球有数的科技行业巨头,苹果向芯片领域全面进军早已不是什么新闻了,如今从iPhone上的A系列芯片,到Mac与iPad Pro上的Apple Silicon M1也已经开始全面铺开。而现在,苹果方面或许又将视线投向了RISC-V架构。日前根据苹果官网的招聘信息显示,其正在招募RISC-V高级程序员,并且除了需要精通RISC-V外,还要掌握ARM NEON微架构方面的知识。


据相关信息显示,被录用的程序员将加入苹果的“矢量数值事业部”,而该部门则在是负责设计、加强和改进在iOS、macOS、watchOS、tvOS上运行的各种嵌入式子系统。因此有观点认为,这表明苹果方面或正在研发RISC-V指令集架构解决方案,并且试图开始部署RISC-V架构产品。

相比于诞生于1978年的x86和1985年的ARM,RISC-V在这一领域可以说是个不折不扣的新秀。2010年,加州大学伯克利分校的研究团队设计并推出了一套基于BSD协议许可的免费开放指令集架构RISC-V,其原型芯片于2013年1月成功流片。而为了更好地推广RISC-V,非盈利性组织RISC-V基金会(RISC-V Foundation)则在2015年成立。


据悉,RISC-V是基于精简指令集(RISC)的开源指令集体系架构(ISA)。并且作为新兴产物,没有历史包袱的RISC-V可以说是当下业界潮流的代表,其架构短小精悍、指令数目少而精;采用模块化设计思路,基础的指令集由RISC-V基金会成员表决通过后以标准的形式发布,扩展指令集可定制自有灵活架构;基于BSD协议许可的全面开源。

事实上在许多业内人士看来,苹果进入RISC-V领域的原因,是因为其几乎从来不将鸡蛋放到同一个篮子里。从三星和台积电的芯片代工,到Intel与高通的基带等一系列事件,都证明了苹果从不会将“身家性命”交给合作伙伴,而是永远最相信自己手里攥着的东西。


如今,在苹果方面已经开始将桌面端产品从x86迁移到ARM的情况下,ARM或许就从当年的亲密战友,变成了需要“提防”的对象。特别是在NVIDIA试图收购ARM这件事或将发生的情况下,NVIDIA想要即当裁判员又当运动员的玩法或使得苹果如芒刺在背,也让其全面拥抱ARM的不确定性显露了出来。

当然,如今NVIDIA收购ARM能不能成还两说,但即便是抛开远期战略,当下苹果也有发力RISC-V的现实需求。此前,苹果方面自A13开始,就在芯片内部加入了被称为AMX的矩阵协处理器,也就是苹果的“机器学习加速器”,作为补集集成于CPU中,获得了6倍于前代产品的矩阵加速性能。


由于CPU、协处理器和加速器通常可以在共享的数据总线上交换数据,再加上苹果将AMX的调用和加速框架进行了绑定,只有需要加速框架库(Acclerate.framework)的程序才会去进行调用。所以带来的效果,就是对于涉及矩阵处理的较小工作负载时,使用AMX会优于NPU,并且不需要耗费额外的电量。

既然AMX如此优秀,苹果方面为什么不去大张旗鼓地进行宣传,反而是将其模糊化,甚至官方文档中都没有出现相关描述呢?这或许是因为为了确保ARM生态不出现碎片化的问题,并保持一致的软件开发环境。

事实上,ARM方面并不允许ARM体系的被许可人使用自定义指令扩展其指令集架构,唯一有此豁免的是Cortex-M33之后的产品。但不知是因为苹果“给的实在太多”、还是其他原因,ARM默认了苹果的这一操作。


但在M1发布后,有研究人员逆向工程了这款芯片,并公开了AMX的存在。也就使得现在的情况变为了,苹果在ARM授权体系里搞特殊的玩法“东窗事发”,那么既然苹果可以这样做,那么同为大客户的高通和华为又行不行呢?所以苹果现在使用RISC-V,在一定程度上可能也是给ARM一个台阶下。

那么问题就来了,现在普遍被认为只能执行简单任务的RISC-V,能够胜任替代AMX的工作吗?答案是可以的。当下,RISC-V基本只在相对简单的嵌入式领域逐步商业化,而没有涉及到高性能处理器领域,这是因为相比于x86和ARM,RISC-V没有与之相匹配的生态。


但这并不意味着RISC-V只能处理简单的问题,本身主打模块化、可扩展和开源的RISC-V就有着无限的可能,而标准版的RISC-V现在无法实现高性能的关键是没有出色的SIMD(单指令多数据)指令(SIMD是用来帮助CPU实现数据并行,提高运算效率、主要来加速多媒体数据),再加上开源生态不看重碎片化问题,也使得RISC-V在近几年里一直在物联网设备里打转。

至于说,为什么RISC-V在很长一段时间里没有用上SIMD,用RISC-V基金会的董事会副主席、Google Brain团队成员David Patterson就曾经给出过答案,是因为“SIMD指令被认为有害”。而他给出的证据,是自1978年以来,IA-32指令集已从80条增加到约1400条,主要是由SIMD推动,但RISC-V被设计出来的初衷是“大道至简”,可需要不停迭代的SIMD却会让指令集变得越来越臃肿。


目前,RISC-V基金会的给出的方向是扩展Vector指令集,支持向量处理。然而,向量处理器(VFP)的处理机制有些类似于飞机,虽然运载量小但是速度快,而SIMD则更像轮船,尽管速度慢可是运载量大。所以对于苹果这样的企业来说,即便SIMD不完美,但是从商业的角度出发,选择“船运”而不是“空运”是理所当然的一件事,这也恰好契合如今的行业现状。

其实苹果试图将RISC-V与SIMD结合在一起的想法,已经如实地反应在了招聘信息中,要求具备ARM NEON技术知识,其实NEON就是ARM架构中的SIMD指令。所以将SIMD指令加入到RISC-V,或许是苹果希望打造的异构计算体系,试图用RISC-V来代替AMX,既解决了与ARM的纠葛,也满足了自身对于分散风险的需求。


但是需要注意的是,苹果方面探索RISC-V,并不代表RISC-V本身将在苹果的努力下进入高速发展阶段。且不提苹果并没有表现出加入RISC-V基金会最高级别会员的想法,更为重要的是,RISC-V的开源模式与苹果一贯的封闭生态是完全冲突的。所以在一些观点看来,按照苹果的风格,极有可能是在经过了魔改后闭源,来适配自己自成一体的软硬件体系。

事实上,如今ARM生态的其他参与者,有从M1和A系列仿生芯片的进步中获得收益吗?

【本文图片来自网络】

推荐阅读:

手机无线快充“火”了,但如何散热却有分歧

这两种无线快充方案,无疑也代表了未来的发展方向。

韩国首开记录、日本紧随跟随,应用商店经济或将变天

虽然这可能会迫使应用商店行业进行改变,但消费者真能受益吗。


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多