直戳Arm長處!首個RISC-V版Android10系統順暢運行

1月23日消息,平頭哥晶片開放社區本周四公布的一段影片顯示,Android10系統(代號Android 10系統)順暢運行在平頭哥玄鐵910 RISC-V處理器上。

直戳Arm長處!首個RISC-V版Android10系統順暢運行

直戳Arm長處!首個RISC-V版Android10系統順暢運行

這對RISC-V生態來說是一個里程碑意義的進展,對Arm和Android的聯盟可能是一個壞消息,因為基於RISC-V 64 架構的Android開源倉庫已在平頭哥晶片開放社區上線。隨著更高性能RISC-V晶片的推出以及軟體的移植,RISC-V將對Arm帶來更大挑戰。

直戳Arm長處!首個RISC-V版Android10系統順暢運行

經過幾年的快速發展,RISC-V晶片已經在對生態要求比較低的物聯網市場取得了不錯的成績,RISC-V晶片對低性能Arm Cortex-M系列晶片帶來了一定衝擊。如今,RISC-V能夠流暢Android系統,將可能進一步衝擊Arm統治的移動終端市場。

Android與Arm的組合支撐了全球十億部智慧手機、電視與可穿戴設備,為眾多智慧設備帶來更好的體驗,吸引了數百萬應用開發者,這是一個複雜的生態,想要取得突破的難度巨大,在RISC-V晶片上運行Android系統面臨著至少三個明顯的挑戰:

第一,將Android生態移植到RISC-V程式碼量大,涉及模組多,整個工程包含727個子工程和多個預編譯工程;

第二,架構級優化難度大,為了讓Android系統可以更加流暢的運行在RISC-V晶片上,需要在彙編指令層面實現對本地方法庫、音影片庫、加解密庫等的性能優化;

第三,Android系統的開發語言多種多樣,包括C/C++,彙編,JAVA,go,RS,rust等。

據悉,Android軟體棧主要包括系統內核、硬體抽象、運行時、框架層、應用五個層次的近千個軟體包,其中涉及到處理器架構相關移植工作主要包含本地庫與ART支援、Linux內核支援、build系統支援三大部分。

在本地庫與ART支援方面,平頭哥基於Android開源項目(AOSP)完成bionic、ART、Clang/LLVM、V8、NDK、VNDK、OpenGL等軟體包的RISC-V架構支援:為bionic添加動態鏈接、系統調用、浮點數學庫的支援。另外,基於ART實現了RISC-V架構的DEX實時解釋執行、dex2oat、JNI調用以及JIT編譯優化,極大地提高了JAVA程式在RISC-V平台上執行的效率。

Linux內核支援方面,首次將RISC-V架構的Linux內核與Android系統進行了適配,完善了Clang/LLVM對Linux內核的編譯支援,修復了大量Clang/LLVM的問題。

Build系統支援方面,Android的編譯框架主要由blueprint和soong構成,平頭哥整合編譯框架、預編譯的工具鏈、本地方法庫、模擬器,應用和服務等模組,首次實現了RISC-V架構對Androidbuild系統的支援。

除了軟體層面大量的移植工作,在硬體層面也需要高性能處理器的支援。此次運行Android10系統的RISC-V晶片是平頭哥在2019年發布的高性能處理器玄鐵910,此次運行RISC-V版Android系統的SoC集成3核玄鐵910,以及單核GPU,基於台積電28nm製程,CPU主頻最高可達1.2GHz。

直戳Arm長處!首個RISC-V版Android10系統順暢運行

需要指出,即便RISC-V可以流暢Android10系統,但要撼動Arm在智慧移動終端市場的優勢還有很大的距離。晶片性能提升以及軟體生態的建設都還有很長的路要走,RISC-V需要充分發揮開源的優勢。

雷鋒網了解到,平頭哥會將現有的工作成果開源全部的相關程式碼,基於RISC-V 64 架構的Android開源倉庫在其晶片開放社區上線。

支援RISC-V的Android系統已經開源,接下來更多基於RISC-V的物聯網設備也會更快到來。但我們更應該期待的是RISC-V在全新的應用市場帶來許多意想不到的應用,在5G和AI時代有Wintel、Arm和Android之後的新組合。