凌云时刻 · 技术
导读:近日,阿里旗下平头哥半导体完成了安卓 10 对 RISC-V 的移植并开源了全部相关代码。
策划|钰莹、冬梅
支持 RISC-V 架构的安卓系统终于来了!
昨天晚间,阿里平头哥宣布完成了安卓 10 对 RISC-V 的移植并开源了全部相关代码。从视频中可以看到,安卓 10 系统已经可以在玄铁 910 芯片上流畅运行。
平头哥基于安卓开源项目(AOSP)实现了对 RISC-V 架构的支持。 安卓软件栈主要包括系统内核、硬件抽象、运行时、框架层、应用五个层次的近千个软件包,其中涉及到处理器架构相关移植工作,主要包含本地库与 ART 支持、Linux 内核支持、build 系统支持三大部分:
- 本地库与 ART 支持:完成 bionic、ART、Clang/LLVM、V8、NDK、VNDK、OpenGL 等软件包的 RISC-V 架构支持:为 bionic 添加动态链接、系统调用、浮点数学库的支持;基于 ART 实现了 RISC-V 架构的 DEX 实时解释执行、dex2oat、JNI 调用以及 JIT 编译优化,极大地提高了 JAVA 程序在 RISC-V 平台上执行的效率。
- Linux 内核支持:完善了 Clang/LLVM 对 Linux 内核的编译支持,修复了大量 Clang/LLVM 的问题,首次将 RISC-V 架构的 Linux 内核与安卓系统进行了适配。
- Build 系统支持:安卓的编译框架主要由 blueprint 和 soong 构成,平头哥整合编译框架、预编译的工具链、本地方法库、模拟器,应用和服务等模块,首次实现了 RISC-V 架构对安卓 build 系统的支持。
RISC-V 作为一个开源处理器架构,从 2011 年诞生之初就为物联网时代 CPU 的发展提供了非常大的想象空间。近几年,主流的软件生态陆续实现了对 RISC-V 架构的支持,唯独在安卓生态系统方面进展缓慢,主要的原因包括:
- 移植代码量大,涉及模块多,整个工程包含 727 个子工程和多个预编译工程;
- 架构级优化难度大,为了让安卓可以更加流畅的运行,需要在汇编指令层面实现对本地方法库、音视频库、加解密库等的性能优化;
- 开发语言多种多样,包括 C/C++,汇编,JAVA,go,RS,rust 等。
基于现有的工作成果,平头哥将开源全部的相关代码并与全球开发者一起推动 AOSP on RISC-V 的代码完善、性能优化与应用落地。
目前,基于 RISC-V 64 架构的安卓开源仓库已在 OCC 上线,开发者可以基于这个仓库进行二次开发,同时不受限于玄铁 C910 CPU 的限制,可对接自己的芯片进行调试。
开源仓库地址:https://occ.t-head.cn/development/series/Index?id=3872715572777455616&type=kind&softPlatformType=8
平头哥过往“芯”事
平头哥半导体公司是由阿里巴巴全资收购的中天微和阿里达摩院整合而成,主要着重于 32 位高性能和低功耗嵌入式 CPU 的 IC 设计。
合并前的 2 周,中天微曾宣布基于 RISC-V 的第三代 C-SKY 指令架构,同时发布基于 RISC-V 第三代指令架构处理器 CK902,可灵活配置 TEE 引擎,支持 IoT 安全功能。据悉,CK902 是全球首款支持物联网安全的 RISC-V 处理器。
中天微和达摩院合并后,以平头哥的身份行走江湖。
2019 年 7 月,平头哥发布的玄铁 910(XuanTie910)令人瞩目,甚至掀起了一波大规模“RISC-V”中国热潮。
阿里巴巴当时称玄铁 910 是业界性能最强的一款 RISC-V 处理器,单位性能 7.1 Coremark/MHz,主频在 12nm 工艺下达到了 2.5GHz。它可以用于设计制造高性能端侧芯片,应用于 5G、人工智能以及自动驾驶等领域。
中科院计算所研究员、先进计算机系统研究中心主任、中国开放指令生态(RISC-V)联盟秘书长包云岗曾表态,开源芯片是芯片设计领域的发展大势,过去 20 年学界和工程界陆续有些探索,如今,以 AIoT 为代表的 IT 产业巨变,有望推动芯片开源走向拐点。开源能够降低芯片行业门槛,让整个行业共享基础技术、免于重复造轮子,由此改变传统的芯片设计方法和芯片行业格局,这对学科发展、人才培养和市场培育都大有裨益。
END