RISC-V手册开源指令集指南

 RISC-V手册开源指令集指南

谷歌的安卓操作系统目前支持的指令集架构(Instruction Set Architecture ISA)主要包括ARM和x86。目前运行安卓系统的绝大多数智能手机、平板电脑、智能电视等都采用了基于ARM架构的SoC,因为英特尔早已放弃了其手机CPU计划,而安卓对于MIPS架构的支持则随着NDK第17版的发布而宣告取消。

虽然谷歌没有正式提供基于RISC-V 指令集架构的硬件上编译安卓系统的支持,但一些开发团队目前正在努力在RISC-V硬件上运行AOSP(Android Open Source Project,安卓开放源代码项目),其中就有阿里巴巴旗下的 T-Head平头哥半导体有限公司。

平头哥半导体有限公司(T-Head)成立于2018年9月19日,是阿里巴巴集团的全资半导体芯片业务主体。“生死看淡,不服就干”,这就是平头哥的座右铭,进军芯片领域短短三年多时间,平头哥先后推出了玄铁系列处理器IP、AI推理专用芯片含光800,Arm服务器芯片倚天710并且成功落地商用。

其中玄铁系列处理器IP产品线丰富,并积极拥抱开源的RISC-V 指令集架构。

RISC-V(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA),简易解释为与开源软件运动相对应的一种“开源硬件”。RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件而不必支付给任何公司专利费

得益于开源、灵活和低成本等优势,RISC-V得到国内外公司、研发机构的广泛关注,谷歌、英伟达、高通等科技公司纷纷拥抱该技术。

但是,RISC-V 与任何新出现的 CPU 架构一样,也会遇到众多的挑战和困扰。首先,新的 CPU 架构缺乏现有市场上的软件支持,这也意味着,在没有操作系统的支持下,现有的软件必须重新编译以移植到新的平台,相反,如果有了操作系统层面的支持,则就即刻拥有了该操作系统下丰富的软件生态。为了使 RISC-V 成为主流,它需要能够运行现代操作系统、拥有开箱即用的编译器并与主流应用程序兼容。

认识到 RISC-V 的无限潜力,平头哥付出了巨大的努力将流行的 Android 操作系统移植到 RISC-V上。目前,Android 官方仅支持 ARM 架构指令集,这也将智能手机制造商限制在 ARM 生态内,并且附带许可授权和专利费,这会推高制造成本。此外,由于你懂的原因,可能导致国内的芯片制造商无法获取ARM 处理器的授权,同时也可能被禁止使用 Android 及其相关软件。

这里老wu要稍微注明一下,这里说的禁止使用 Android 及其相关软件,是指谷歌的GMS(英语:Google Mobile Services),即谷歌移动服务。 GMS是谷歌开发并推动安卓系统发展的动力,是谷歌程序运行的基础。

GMS提供有Google Play、Search、Search by Voice、Gmail、Contact Sync、Calendar Sync、Talk、Maps、Street View、YouTube、Android Market等服务,GMS为安卓上的谷歌公司系列应用提供支持,对于安卓来说它是Android设备配置服务的一项。

安卓的海外应用严重依赖于GMS,当使用谷歌商店就必须使用谷歌三件套(Google服务框架、Google play商店和Google Play服务),而这些则基于GMS来运行。

而国内的应用则不依赖于谷歌的GMS,手机厂商会推出的自己的服务框架,我们也不使用GooglePlay来进行下载软件,而是有各种各样的应用市场所取代,App也不需要经过谷歌的软件审核。

Android 的底层架构,也即AOSP,采用的是Apache 许可 2.0 版授权许可,AOSP 是遵循开源许可协议的普通开源项目。

目前平头哥已经成功将 Android 10 移植到自家的 RISC-V 芯片上,平头哥的aosp-riscv Gitee开源仓库地址:

https://gitee.com/mirrors/aosp-riscv

该aosp-riscv开源项目可以在模拟器里运行,也可以在玄铁910开发板上运行

而2021年10月4日正式发布的Android 12版本,平头哥的移植也有了重大进展。Android 12.0版本引入了Bazel新架构、Rust新语言和Studio新功能,其Art和Bionic模块也实现了架构层面的进化。这给RISC-V兼容安卓系统提出了全新挑战。

平头哥在现有成功Android 10的基础上又做了许多的移植工作,对安卓12.0进行了系统性的RISC-V优化支持,并通过Android Studio在 RISC-V 架构上成功运行Tensor Flow Lite模型,开启了RISC-V在安卓平台上对人工智能的支持。

而针对RISC-V第三方组件开发面临的支持缺乏、系统不兼容及认证水平低等问题,平头哥首次在安卓12.0版本上集成并验证了RISC-V架构的音频播放、视频播放、WiFi和相机等关键功能:这证明了RISC-V兼容最新版本安卓12.0的可行性,也将极大降低RISC-V厂商开发和集成相关组件的门槛。

到2023年底,则有望基于Android 14推出可商用的RISC-V Android 设备。

RISC-V 会成为未来的主要架构吗?

目前开源指令集架构RISC-V正赢得越来越多的支持者,成为后摩尔时代深刻影响芯片产业的重要变量。

随着支持RISC-V 的软件不断丰富,RISC-V的市场占有率也会进一步提高。目前,RISC-V的应用非常有限,我们身边使用RISC-V处理器的设备还不多见,但随着 Android 12 被移植,未来,也即2023年底的Android 14版本,将有更多商用的RISC-V Android 设备出现,RISC-V的生态也将迎来爆发式的增长。

如果您想进一步了解RISC-V,老wu这里分享一份《RISC-V手册开源指令集指南》

这本书对于任何使用 RISC-V ISA 的人来说都是十分宝贵的参考。为了便于快速查阅, 操作码按几种有用的格式呈现,这让编写和解释汇编代码变得简单。此外,对于如何使用这个 ISA 的解释和示例也让程序员的工作更容易。和其他 ISA 比较的部分很有意思, 它们解释了 RISC-V 设计者们做出他们的设计决策的原因。——Megan Wachs,博士,SiFive 工程师

 

如何下载RISC-V手册开源指令集指南

关注老wu博客的公众号,并在公众号里发送对应的下载关键字获取下载链接

关注吴川斌的博客公众号

在公众号里给老吴发消息:

下载|RISC-V手册开源指令集指南

或者代码

6297

建议复制粘贴过去不会码错字哟,O(∩_∩)O~

吴川斌

吴川斌

Leave a Reply