0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析玄铁团队RISC-V 在Android上的进展

芯片开放社区 来源:芯片开放社区 2023-11-24 14:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近日Google负责Android平台编程语言的Lars Bergstrom和负责低级操作系统的Greg Simon在开源博客撰文分享Google在推进Android在RISC-V指令集架构上运行的最新成果。目前Google不仅接受补丁还开始在Android中成熟地支持 RISC-V。文章表示,当前针对Android Runtime(ART)的优化仍在进行中。

今年中国峰会上玄铁团队也分享了在ART上的一些工作和社区进展,邀请技术专家夏立方带来在ART上的技术分享。11月7日在北美峰会上玄铁团队也将带来最新ART优化工作进展,敬请关注。

RISC-V 在Android上的进展

回顾玄铁安卓的技术开发之旅,从2021年开始在 RISC-V 上移植Android 10,到现在即将迎来首款基于Android 的 RISC-V 产品,参与了 RISC-V 的重要时刻。

2021年04月 先后移植了Android 10和Android 12版本

2021年08月 在 RISC-V 基金会成立了Android SIG

2021年09月 开始在谷歌的AOSP主线上提交patch

2022年12月 在XuanTie TH1520测试板上就跑通了CTS和VTS,并在美国峰会上做了技术分享和demo展示

2023年01月 Google宣布AOSP会以“Tier-1”级别支持 RISC-V

2023年07月 玄铁生态伙伴发布支持AOSP主线的开发板

2024年 基于Android on RISC-V 的产品原型即将面世

ART

ART是Android的framework,是非常核心的一个组件。很多应用的运行,都离不开ART虚拟。

ec557436-79ea-11ee-939d-92fbcf53809c.png

ART的组成部分是解释器、GC、Runtime还有Dex JNI的编译器,以及汇编器。除了这些以外,基于ART还有一些其他的工具,类比于我们的传统的GCC,它有dex2oat工具用来编译dex字节码,生成OAT文件,oatdump用来反汇编OAT文件。

在 RISC-V 上,我们需要porting的工作包括:解释器、Runtime、Dex Compiler、JNI Compiler和宏汇编器。

优化工作

ec827242-79ea-11ee-939d-92fbcf53809c.png

玄铁在ART上做的一些优化工作,主要是集中在Compiler以及Runtime的部分。在Compiler部分,我们的优化主要实现了八十多个intrinsics接口,同时增加了一部分指令的优化。在Code Generator里,实现了90+ instruction visitor。Micro Assemble主要是针对 RISC-V 指令集的支持,目前支持IMAFD的标准指令集以及玄铁扩展指令集。

在Runtime里面的话,我们实现了一个新的解释器Nterp,是Android 12里新引入的一个解释器。我们还对一些Quick Entries的汇编实现采用玄铁扩展指令集进行重写优化。除了ART,我们还在bionic中做了优化,主要是集中在C库和数学库,在C库中,采用Vector指令集对memcpy,memset,memcmp,strcpy,strcmp等基础函数进行重写优化。而数学库则采用了llvm编译器对builtin函数进行优化。

玄铁扩展指令集优化收益

在过去的一年里,除了升级Android10到Android12以外,我们花费了很大的精力在使用采用玄铁扩展集对ART进行优化。可以从以下的几个benchmark对比数据看到玄铁扩展指令集带来的收益(数据截至2023年10月)。

ecaee25a-79ea-11ee-939d-92fbcf53809c.png

首先是Android Java虚拟机一个比较早的跑分工具Caffinemark,可以看到玄铁扩展指令集对于整数计算、循环都有15%以上的收益,对于其他几项也都是正向的收益。

第二个是关于数学函数的一个benchmark,SCIMath2。在这个benchmark上有15%以上的提升。

最后一部分是ART自带的一些benchmark,以及一些面向编程语言benchmark,在这些benchmark上也有正向的提升。对于JObjectBenchmark提升尤其明显,接近5倍的提升。

ART主线Upstream工作分享

ece04782-79ea-11ee-939d-92fbcf53809c.png

玄铁团队在ART主线上的支持工作

去年的九月份开始AOSP主线支持 RISC-V 的编译,之后我们陆续在今年三月支持了纯C++的解释器支持;五月份在Google团队的支持下支持了Nterp解释器;六月份完成对汇编器的支持。目前的工作主要是集中编译器和反汇编。

截至目前为止,玄铁团队贡献了超过七十多个的commit。

ART未来支持计划

在过去的一段时间里,我们参与社区合作,社区已完成:

Dex编译器中的CodeGen,反汇编工作

Micro assembler中的Zb*扩展

QuickEntries的实现

目前正在进行的是实现Dex Compiler中的Intrinsics。在后续的工作计划中,主要集中在两个部分:

Vector 1.0的支持

持续性的性能分析和优化工作

ed0437f0-79ea-11ee-939d-92fbcf53809c.png

我们希望有更多的开发者可以加入,参与对ART的贡献。

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3985

    浏览量

    133047
  • 编程语言
    +关注

    关注

    10

    文章

    1959

    浏览量

    38902
  • 编译器
    +关注

    关注

    1

    文章

    1669

    浏览量

    51079
  • RISC-V
    +关注

    关注

    48

    文章

    2792

    浏览量

    51886

原文标题:玄铁团队的 RISC-V 安卓开发之旅

文章出处:【微信号:芯片开放社区,微信公众号:芯片开放社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    学以致用 虚位以待|RV学院课程正式上线,与PLCT实验室邀您创“芯”未来

    RISC-V 领域的联合研究成果,重磅推出系列课程:包含三大中级课程与两大高阶进阶课程。课程由十余名 PLCT 明星开发者、专业工程师及技术专家联合授课,讲师团队
    发表于 10-29 17:14

    出货量超40亿颗!RiSC-V凭何破局通推AI一体市场,撕开垄断缺口?

    “达摩院作为 RISC-V 生态的核心参与者,不仅是 RISC-V 国际基金会董事会成员,牵头或参与了 11 项标准建设,持续拓展 RISC-V
    的头像 发表于 10-29 09:12 1.2w次阅读
    出货量超40亿颗!<b class='flag-5'>玄</b><b class='flag-5'>铁</b><b class='flag-5'>RiSC-V</b>凭何破局通推AI一体市场,撕开垄断缺口?

    【RT-Thread× | 硬核直播】RISC-V新核E901发布!RT-Thread手把手带你玩转生态! | 博观讲堂

    重磅消息!下周四!RT-Thread携手阿里巴巴达摩院,带来RISC-V技术深度直播!2025年8月,正式发布嵌入式E系列全新一代产
    的头像 发表于 10-21 19:47 330次阅读
    【RT-Thread×<b class='flag-5'>玄</b><b class='flag-5'>铁</b> | 硬核直播】<b class='flag-5'>RISC-V</b>新核E901发布!RT-Thread手把手带你玩转<b class='flag-5'>玄</b><b class='flag-5'>铁</b>生态! | 博观讲堂

    RT-Thread生成RISC-V BSP的CDK工程开发指南 | 技术集结

    目录开发环境配置工程创建CDK工程运行CDK工程编译工程运行与调试RT-Thread课程上线系列RISC-VBSP上手指南RT-Thread已对
    的头像 发表于 09-28 10:06 3919次阅读
    RT-Thread生成<b class='flag-5'>玄</b><b class='flag-5'>铁</b><b class='flag-5'>RISC-V</b> BSP的CDK工程开发指南 | 技术集结

    RT-Thread BSP全面支持全系列RISC-V 处理器 | 技术集结

    RT-ThreadBSP全面支持全系列RISC-V处理器。系列RISC-V处理器由阿里达
    的头像 发表于 07-03 18:03 2641次阅读
    RT-Thread BSP全面支持<b class='flag-5'>玄</b><b class='flag-5'>铁</b>全系列<b class='flag-5'>RISC-V</b> 处理器 | 技术集结

    思尔芯与合作IP评测,加速RISC-V生态发展

    的需求,又兼具安全可靠、高性价比及可拓展性等优势。近期的2025RISC-V生态大会上,
    的头像 发表于 04-09 09:24 764次阅读
    思尔芯与<b class='flag-5'>玄</b><b class='flag-5'>铁</b>合作IP评测,加速<b class='flag-5'>RISC-V</b>生态发展

    西门子EDA亮相2025RISC-V生态大会

    日前,“开放·连接” 2025 RISC-V 生态大会在北京举行。西门子 EDA 携 Veloce CS 系列硬件辅助验证系统精彩亮相,为芯片开发者带来了高效、智能的验证方案。
    的头像 发表于 03-19 17:35 1932次阅读

    速显微电子亮相2025RISC-V生态大会

    日前,2025 RISC-V 生态大会在北京举办,速显微董事长项天参加大会。集成了速显微自研GPU 核和
    的头像 发表于 03-11 10:04 1067次阅读

    爱芯元智亮相2025RISC-V生态大会

    近日,2025RISC-V生态大会在京召开,全球数百家企业及机构齐聚,探讨RISC-V与AI融合的技术路径与生态前景。
    的头像 发表于 03-04 17:57 1521次阅读

    云知声亮相2025RISC-V生态大会

    近日,以“开放·连接”为主题的2025RISC-V生态大会在北京召开。全球行业专家、技术领袖、企业决策者以及RISC-V资深工程师汇聚一堂,共同探讨技术革新与未来趋势。作为
    的头像 发表于 03-01 09:40 1359次阅读

    西门子EDA邀您相约2025RISC-V生态大会

    2025年2月28日,西门子 EDA 将携最新 Veloce proFPGA CS 系列原型验证平台亮相2025 RISC-V 生态大会。作为业内首个基于 AMD Versal VP1902
    的头像 发表于 02-24 18:06 1921次阅读

    “开放·连接 ”2025 RISC-V 生态大会议程公布!

    2025年2月28日,我们诚邀您参与“开放·连接 ”2025 RISC-V 生态大会。与来自全球的行业专家、技术领袖、企业决策者和 RISC-V 资深工程师共赴北京,一同探讨技术趋
    发表于 02-24 16:25

    预告|思尔芯邀您共聚2025RISC-V生态大会

    NEWS开放·连接2月28日,2025RISC-V生态大会即将于北京隆重举行。作为国内首家数字EDA供应商,思尔芯受邀参加此次会议,并展示其R
    的头像 发表于 02-20 10:02 1227次阅读
    预告|思尔芯邀您共聚2025<b class='flag-5'>玄</b><b class='flag-5'>铁</b><b class='flag-5'>RISC-V</b>生态大会

    重芯云集· 锁定北京|2月28日“开放·连接” RISC-V 生态大会就等你来!

    各行业的“芯”势力伙伴、国内外 RISC-V 生态及社区伙伴参与分享,并带来最新的合作进展及落地创新产品! 同时,全天会议期间,大家将有机会了解软硬件全栈技术进程、“
    发表于 02-13 15:15

    西门子EDA将参加2025RISC-V生态大会

    2025 RISC-V 生态大会将于 2025 年 2 月 28 日北京举行,西门子 EDA 将参加此次大会,展示 RISC-V
    的头像 发表于 01-17 15:27 2194次阅读