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

    文章

    3853

    浏览量

    125665
  • 编程语言
    +关注

    关注

    9

    文章

    1879

    浏览量

    33212
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48635
  • RISC-V
    +关注

    关注

    41

    文章

    1907

    浏览量

    45074

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

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

收藏 人收藏

    评论

    相关推荐

    RISC-V有哪些优缺点?是坚持ARM方向还是投入risc-V的怀抱?

    是一个优势。同时,这种设计也降低了制造成本,使得RISC-V成本敏感的应用场景中更具竞争力。 缺点 : 性能问题 :虽然RISC-V设计简洁,但相对于某些专用ISA(如ARM),其性能可能略低。这主要
    发表于 04-28 08:51

    什么是RISC-V

    siFive搞RISC-V 赛昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不问有什么用,RISC-V目前的能力来说,工
    发表于 02-02 10:41

    备胎的RISC-V努力,又将走向何方

    ,从根本杜绝了“卡脖子”的可能性。2015年,伯克利团队宣布成立RISC-V基金会,把中立的宗旨摆在了台面上。RISC-V由此成为了担忧“架构霸权”的开发者的隐藏备胎。 2019年前
    发表于 09-30 12:28

    读《RISC-V处理器入门与实战》

    系统,有YoC、Linux、Android,各系统的运用方向、框架、特色核心服务。 书籍的核心部分则是“RISC-V系列开发板实践”,该章节介绍非常详细,从D1 Dock Pro
    发表于 09-28 11:58

    RISC-V强势崛起为芯片架构第三极

    经营报》记者。 “作为开源开放的指令架构,RISC-V对CPU、芯片行业有着深远的意义。”平头哥RISC-V软件研发负责人李春强表示,
    发表于 08-30 13:53

    RISC-V 的未来中国吗

    2023 年 RISC-V 中国峰会上,倪光南院士表示,“RISC-V 的未来中国,而中国半导体芯片产业也需要 RISC-V,开源的 RISC-V
    发表于 08-26 14:16

    首批RISC-V笔记本电脑ROMA成功交付,全球首次实现RISC-V技术笔记本电脑领域的商业落地!

    ;国防科技大学研究员、openKylin社区秘书长余杰博士将带来题为《openKylin&赛昉RISC-V的创新实践》的演讲。期待您的现场聆听! 鉴释科技CEO 、深度数智顾问梁宇
    发表于 08-21 13:41

    RISC-V进展!deepin 成功适配VisionFive 2

    RISC-V指令集是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),RISC-V则是指令集不断发展和成熟的基础建立的
    发表于 07-10 09:23

    [译]RISC-V CPU运行OpenCV

    RISC-V是一个相对较新的平台,物联网市场中越来越受欢迎。2020年,OpenCV开始支持该平台。 有效执行各种图像处理、计算机视觉和机器学习算法需要矢量/SIMD指令,许多现代CPU架构都提供
    发表于 06-22 18:54

    两大架构RISC-V 和 ARM 的各种关系

    一、RISC-V 和 ARM 的相似之处 RISC-V 和 ARM 基本都是 RISC(精简指令集计算机)。RISC-V 和 ARM 都使
    发表于 06-21 20:31

    Debian 13“Trixie”Linux 发行版有望将带来 RISC-V 64 位支持

    植在此前取得了良好进展,**但最终还是并未实装到 Debian 12 中。未来该特性有望 Debian 13 中进一步完善,之后提供官方 RISC-V 支持。” Debian 13 “Trixie
    发表于 06-21 08:49

    RISC-V软件生态计划“RISE”启动,平头哥成中国大陆唯一董事会成员

    软件生态建设。”RISE(RISC-V Software Ecosystem)成员将紧密协同合作,优化和拓展RISC-V基础软件及应用,推动RISC-V架构不同操作系统
    发表于 06-02 15:29

    RISC-V,正在摆脱低端

    系列物联网芯片市场广受认可,目前已在人工智能、网络通讯、工业控制等30多个行业实现了商业落地,出货量超过30亿颗,是中国RISC-V领域影响力和市占率最大的处理器;中科蓝讯蓝牙
    发表于 05-30 14:11

    倪光南院士:RISC-V是中国最受欢迎CPU架构,不受垄断制约

    “今天,RISC-V是中国CPU领域最受欢迎的架构,成为推动新一代信息技术发展的新引擎。”3月2日,由阿里巴巴旗下的平头哥半导体有限公司举办的首届RISC-V生态大会在上海举行,中
    发表于 05-28 08:45

    我所知道的国内具有RISC-V内核的MCU

    9000 CoreMark™和4500以上 的DMIPS性能新记录,为边缘计算的应用提供了极大的算力。 6、凌思微电子 LE503x:LE503x系列产品是凌思微基于RISC-V架构(平头哥
    发表于 05-14 09:18