新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何打造開(kāi)放繁榮的RISC-V嵌入系統(tǒng)生態(tài)?

如何打造開(kāi)放繁榮的RISC-V嵌入系統(tǒng)生態(tài)?

作者:迎九(EEPW) 時(shí)間:2023-11-20 來(lái)源:電子產(chǎn)品世界 收藏

2023 年9 月,嵌入式領(lǐng)域的大事之一是Arm 上市,在美國(guó)納斯達(dá)克交易所上市,收盤大漲近25%,市值達(dá)679 億美元,成為截至當(dāng)時(shí)的本年度美股規(guī)模最大的IPO。Arm 上市以后,會(huì)不會(huì)對(duì) 有影響?在嵌入式系統(tǒng)領(lǐng)域,如何打造開(kāi)放、繁榮的 生態(tài)?

本文引用地址:http://2s4d.com/article/202311/453084.htm

2023 年9 月16 日,在甘肅張掖舉辦的“第21 屆CCF 全國(guó)嵌入式系統(tǒng)大會(huì)”上,中科院軟件所副所長(zhǎng)、總工程師、研究員、博士生導(dǎo)師武延軍做了主題報(bào)告,介紹了嵌入式軟件生態(tài)及 嵌入系統(tǒng)生態(tài)的打造思考。

武延軍還是開(kāi)放原子基金會(huì)開(kāi)源安全委員會(huì)主席,OpenHarmony 項(xiàng)目群的技術(shù)指導(dǎo)委員會(huì)的委員,openEuler 項(xiàng)目群的委員會(huì)副主席,中國(guó)開(kāi)放指令集(RISC-V) 聯(lián)盟的開(kāi)源軟件工作組組長(zhǎng)。

1 開(kāi)源軟件:嵌入式主流系統(tǒng)的發(fā)展模式

1.1 什么是IT生態(tài)

從軟硬件生態(tài)的示意(圖1)上,可以看到底層的硬件公司中,大概有2000 多家的國(guó)內(nèi)芯片設(shè)計(jì)企業(yè),全球有2 萬(wàn)家半導(dǎo)體企業(yè)。上層是設(shè)備/用戶和開(kāi)發(fā)者。其中,設(shè)備/ 用戶包括100億的可穿戴設(shè)備,1 萬(wàn)億的物聯(lián)網(wǎng)終端,50 億部手機(jī),30 億臺(tái)PC,10 億臺(tái)服務(wù)器;開(kāi)發(fā)者方面,全球有9400 萬(wàn)的開(kāi)發(fā)者,再加上其他的平臺(tái),全球約有1 億的開(kāi)發(fā)者,安卓和蘋果共有1000 萬(wàn)的APP,全球有1百萬(wàn)家軟件企業(yè)。

1700444827113649.png

圖1 軟硬件生態(tài)

如果中間沒(méi)有基礎(chǔ)軟件,可能面臨什么問(wèn)題?設(shè)備用戶直接去面向硬件公司。由于數(shù)量懸殊,硬件公司會(huì)面臨巨大的壓力。例如用戶買了一臺(tái)臺(tái)式機(jī)或筆記本電腦,處理器是英特爾的,如果用戶在使用過(guò)程中遇到了問(wèn)題,或者裝軟件、下載新應(yīng)用有了問(wèn)題,不會(huì)直接去找英特爾,因?yàn)樵谏鷳B(tài)中有了基礎(chǔ)軟件,把硬件公司、開(kāi)發(fā)者以及設(shè)備/ 用戶給連接起來(lái)了,使他們之間不需要去直接交互,而是通過(guò)基礎(chǔ)軟件/ 軟件,形成一個(gè)很自然的網(wǎng)狀連接,這樣整個(gè)生態(tài)就形成了。

1.2 生態(tài)的主導(dǎo)權(quán)意味著巨大的商業(yè)價(jià)值

從先進(jìn)國(guó)家的發(fā)展經(jīng)驗(yàn)看,企業(yè)經(jīng)歷了產(chǎn)品競(jìng)爭(zhēng),產(chǎn)業(yè)鏈競(jìng)爭(zhēng),正在向產(chǎn)業(yè)生態(tài)競(jìng)爭(zhēng)的方式進(jìn)化。實(shí)際上,信息技術(shù)(IT)產(chǎn)業(yè)的核心競(jìng)爭(zhēng)力是生態(tài),生態(tài)的核心是基礎(chǔ)軟件(操作系統(tǒng))。例如IT 業(yè)市值萬(wàn)億美元的4 大企業(yè)是:微軟、蘋果、亞馬遜、谷歌。它們都有一個(gè)共性:是生態(tài)的主導(dǎo)者。

生態(tài)的主導(dǎo)也是通過(guò)軟件去實(shí)現(xiàn)的,例如微軟的Windows 操作系統(tǒng),雖然微軟有很多的產(chǎn)品,諸如Office 辦公軟件、云平臺(tái)等現(xiàn)在是主要的收入來(lái)源,Windows 現(xiàn)在已經(jīng)不是其最大的收入來(lái)源,但是微軟是通過(guò)Windows 主導(dǎo)了生態(tài)。此外還有像谷歌的安卓、蘋果的iOS、亞馬遜的AWS 等,都是主導(dǎo)生態(tài)的關(guān)鍵操作系統(tǒng)/ 軟件。

1.3 嵌入式系統(tǒng)領(lǐng)域有沒(méi)有生態(tài)壟斷?

在嵌入式領(lǐng)域也存在生態(tài)。以FreeRTOS 為例,其是嵌入式領(lǐng)域用得最多的一種操作系統(tǒng),自稱曾經(jīng)占到了全球嵌入式操作系統(tǒng)70% 的市場(chǎng),現(xiàn)在已經(jīng)被亞馬遜主導(dǎo)、收購(gòu)。FreeRTOS 在其主頁(yè)中,稱其優(yōu)勢(shì)之一是有廣泛的生態(tài)系統(tǒng)支持,具體的表現(xiàn)是有40 多種架構(gòu)、上千種芯片的支持,有各種各樣的模塊化的庫(kù),組裝起來(lái)有FreeRTOS 的代碼,有眾多的合作伙伴。這個(gè)生態(tài)圈有沒(méi)有壟斷? 從FreeRTOS 網(wǎng)站查一下所支持的芯片列表,發(fā)現(xiàn)有40 多種MCU、上千個(gè)型號(hào),但是里面沒(méi)有被美國(guó)禁運(yùn)的實(shí)體清單里的公司,可見(jiàn)有壟斷。

1.4 生態(tài)壟斷如何破局?

如果用一句話來(lái)概括,就是:我們需要打造一個(gè)開(kāi)放繁榮的軟件開(kāi)源機(jī)制。

這種開(kāi)源機(jī)制的產(chǎn)生可以追溯到上世紀(jì)80 年代,當(dāng)年世界自由軟件運(yùn)動(dòng)的創(chuàng)始人——理查德·斯托曼(Richard Stallman) 喊出了一個(gè)口號(hào):Free software isfreedom( 自由軟件就是自由)。這個(gè)口號(hào)曾經(jīng)激勵(lì)了幾代程序員。

現(xiàn)在有了新的口號(hào),2017 年圖靈獎(jiǎng)得主、發(fā)明RISC-V 的大衛(wèi)·帕特森(David Patterson)教授等人的初衷是:instruction sets want to be free( 指令集希望是自由的)。

把二者結(jié)合起來(lái),一個(gè)是倡導(dǎo)開(kāi)源的軟件,一個(gè)是開(kāi)源的指令集,其實(shí)背后包含了開(kāi)源的芯片/ 硬件,構(gòu)成了生態(tài)壟斷破局的機(jī)遇。

2 RISC-V:嵌入式指令集架構(gòu)的發(fā)展方向

2.1 開(kāi)源模式下,軟件也有供應(yīng)鏈

開(kāi)源現(xiàn)在已經(jīng)普遍被使用,有報(bào)告稱物聯(lián)網(wǎng)和移動(dòng)應(yīng)用領(lǐng)域里都發(fā)現(xiàn)了開(kāi)源代碼。開(kāi)源在國(guó)內(nèi)的使用比例也非常高。

如果對(duì)照硬件,開(kāi)源模式下的軟件也有供應(yīng)鏈。對(duì)于硬件產(chǎn)品,可以分解成各種元器件、零部件。如果把操作系統(tǒng)/ 開(kāi)源軟件進(jìn)行分解,也有很多模塊庫(kù),也是由很多的“元器件”組成的。就像國(guó)產(chǎn)大飛機(jī)C919 是由上萬(wàn)個(gè)零件構(gòu)成,其實(shí)操作系統(tǒng)/ 開(kāi)源軟件也是由大小不同的零部件,按照依賴次序進(jìn)行組裝和優(yōu)化。即,開(kāi)源操作系統(tǒng)的構(gòu)建= 開(kāi)源軟件供應(yīng)鏈的整合優(yōu)化的構(gòu)成,這是openEuler 社區(qū)剛成立時(shí)的成員共識(shí)。

從具體的數(shù)據(jù)看一下主流的操作系統(tǒng),每種操作系統(tǒng)的背后的軟件包數(shù)量約為3 萬(wàn)個(gè)左右,背后參與的開(kāi)發(fā)人員數(shù)量也在幾千人的數(shù)量級(jí)。

這還僅僅是包(package) 這一級(jí)。如果把它們拆分到文件、函數(shù)級(jí)別,或者再把它進(jìn)一步拆分成“代碼切片”級(jí),數(shù)量會(huì)非常龐大。所以把它比作C919 大飛機(jī)。

如何去描述這種現(xiàn)象?這就是“開(kāi)源軟件供應(yīng)鏈”。狹義地講,之前有SBOM(軟件料單),對(duì)應(yīng)的是硬件解決方案里的物料清單(BOM),像一個(gè)樹(shù)狀或筒狀結(jié)構(gòu)。但“軟件料單”不能全面反映軟件之間的依存關(guān)系。如果進(jìn)行廣義的定義,“開(kāi)源軟件供應(yīng)鏈”更為合適。

2.2 “開(kāi)源軟件供應(yīng)鏈”的定義

“開(kāi)源軟件供應(yīng)鏈”的定義是:實(shí)際業(yè)務(wù)系統(tǒng)在開(kāi)發(fā)和運(yùn)行過(guò)程中,涉及的所有開(kāi)源軟件上游項(xiàng)目(Upstream)、源碼包(Source Package)、二進(jìn)制包(Binary)、包管理器(Package Manager)、倉(cāng)庫(kù)(Repository)以及開(kāi)發(fā)者(Developer) 和維護(hù)者(Maintainer)、社區(qū)(Community)、基金會(huì)(Foundation)、廠商(Vendor)、用戶(User) 等,按照依賴(Depend)、打包(Package)、構(gòu)建(Build)、托管(Host)、協(xié)作(Collaborate)、指導(dǎo)(Guide)、交付(Deliver)、反饋(Feedback) 等關(guān)系形成的供應(yīng)鏈網(wǎng)絡(luò)。

這個(gè)定義是較新的版本,2017 年時(shí)還沒(méi)有這么完整。這一版把開(kāi)發(fā)者、社區(qū)、基金會(huì),包括用戶等也放到供應(yīng)鏈的列表里。

在這個(gè)概念的基礎(chǔ)上,中科院軟件所開(kāi)始建設(shè)“源圖”開(kāi)源軟件供應(yīng)鏈的平臺(tái),之后升級(jí)為一項(xiàng)重大基礎(chǔ)設(shè)施,至今已經(jīng)歷了多個(gè)版本。2023 年8 月21 日發(fā)布3.0版時(shí),已覆蓋1.4 億款以上的開(kāi)源軟件,代碼行數(shù)已達(dá)到1892 億行,開(kāi)源許可證3257 個(gè)。

“源圖”一直在進(jìn)化。9 月15 日,數(shù)據(jù)又有所更新。蘋果的iOS、亞馬遜的AWS 等,都是主導(dǎo)生態(tài)的關(guān)鍵操作系統(tǒng)/ 軟件。

1.3 嵌入式系統(tǒng)領(lǐng)域有沒(méi)有生態(tài)壟斷?

在嵌入式領(lǐng)域也存在生態(tài)。以FreeRTOS 為例,其是嵌入式領(lǐng)域用得最多的一種操作系統(tǒng),自稱曾經(jīng)占到了全球嵌入式操作系統(tǒng)70% 的市場(chǎng),現(xiàn)在已經(jīng)被亞馬遜主導(dǎo)、收購(gòu)。FreeRTOS 在其主頁(yè)中,稱其優(yōu)勢(shì)之一是有廣泛的生態(tài)系統(tǒng)支持,具體的表現(xiàn)是有40 多種架構(gòu)、上千種芯片的支持,有各種各樣的模塊化的庫(kù),組裝起來(lái)有FreeRTOS 的代碼,有眾多的合作伙伴。

這個(gè)生態(tài)圈有沒(méi)有壟斷? 從FreeRTOS 網(wǎng)站查一下所支持的芯片列表,發(fā)現(xiàn)有40 多種MCU、上千個(gè)型號(hào),但是里面沒(méi)有被美國(guó)禁運(yùn)的實(shí)體清單里的公司,可見(jiàn)有壟斷。

1.4 生態(tài)壟斷如何破局?

如果用一句話來(lái)概括,就是:我們需要打造一個(gè)開(kāi)放繁榮的軟件開(kāi)源機(jī)制。

這種開(kāi)源機(jī)制的產(chǎn)生可以追溯到上世紀(jì)80 年代,當(dāng)年世界自由軟件運(yùn)動(dòng)的創(chuàng)始人——理查德·斯托曼(Richard Stallman) 喊出了一個(gè)口號(hào):Free software is freedom( 自由軟件就是自由)。這個(gè)口號(hào)曾經(jīng)激勵(lì)了幾代程序員。

現(xiàn)在有了新的口號(hào),2017 年圖靈獎(jiǎng)得主、發(fā)明RISC-V 的大衛(wèi)·帕特森(David Patterson)教授等人的初衷是:instruction sets want to be free( 指令集希望是自由的)。

把二者結(jié)合起來(lái),一個(gè)是倡導(dǎo)開(kāi)源的軟件,一個(gè)是開(kāi)源的指令集,其實(shí)背后包含了開(kāi)源的芯片/ 硬件,構(gòu)成了生態(tài)壟斷破局的機(jī)遇。

2 RISC-V:嵌入式指令集架構(gòu)的發(fā)展方向

2.1 開(kāi)源模式下,軟件也有供應(yīng)鏈

開(kāi)源現(xiàn)在已經(jīng)普遍被使用,有報(bào)告稱物聯(lián)網(wǎng)和移動(dòng)應(yīng)用領(lǐng)域里都發(fā)現(xiàn)了開(kāi)源代碼。開(kāi)源在國(guó)內(nèi)的使用比例也非常高。

如果對(duì)照硬件,開(kāi)源模式下的軟件也有供應(yīng)鏈。對(duì)于硬件產(chǎn)品,可以分解成各種元器件、零部件。如果把操作系統(tǒng)/ 開(kāi)源軟件進(jìn)行分解,也有很多模塊庫(kù),也是由很多的“元器件”組成的。就像國(guó)產(chǎn)大飛機(jī)C919 是由上萬(wàn)個(gè)零件構(gòu)成,其實(shí)操作系統(tǒng)/ 開(kāi)源軟件也是由大小不同的零部件,按照依賴次序進(jìn)行組裝和優(yōu)化。即,開(kāi)源操作系統(tǒng)的構(gòu)建= 開(kāi)源軟件供應(yīng)鏈的整合優(yōu)化的構(gòu)成,這是openEuler 社區(qū)剛成立時(shí)的成員共識(shí)。

從具體的數(shù)據(jù)看一下主流的操作系統(tǒng),每種操作系統(tǒng)的背后的軟件包數(shù)量約為3 萬(wàn)個(gè)左右,背后參與的開(kāi)發(fā)人員數(shù)量也在幾千人的數(shù)量級(jí)。

這還僅僅是包(package) 這一級(jí)。如果把它們拆分到文件、函數(shù)級(jí)別,或者再把它進(jìn)一步拆分成“代碼切片”級(jí),數(shù)量會(huì)非常龐大。所以把它比作C919 大飛機(jī)。如何去描述這種現(xiàn)象?這就是“開(kāi)源軟件供應(yīng)鏈”。狹義地講,之前有SBOM(軟件料單),對(duì)應(yīng)的是硬件解決方案里的物料清單(BOM),像一個(gè)樹(shù)狀或筒狀結(jié)構(gòu)。但“軟件料單”不能全面反映軟件之間的依存關(guān)系。如果進(jìn)行廣義的定義,“開(kāi)源軟件供應(yīng)鏈”更為合適。

2.2 “開(kāi)源軟件供應(yīng)鏈”的定義

“開(kāi)源軟件供應(yīng)鏈”的定義是:實(shí)際業(yè)務(wù)系統(tǒng)在開(kāi)發(fā)和運(yùn)行過(guò)程中,涉及的所有開(kāi)源軟件上游項(xiàng)目(Upstream)、源碼包(Source Package)、二進(jìn)制包(Binary)、包管理器(Package Manager)、倉(cāng)庫(kù)(Repository)以及開(kāi)發(fā)者(Developer) 和維護(hù)者(Maintainer)、社區(qū)(Community)、基金會(huì)(Foundation)、廠商(Vendor)、用戶(User) 等,按照依賴(Depend)、打包(Package)、構(gòu)建(Build)、托管(Host)、協(xié)作(Collaborate)、指導(dǎo)(Guide)、交付(Deliver)、反饋(Feedback) 等關(guān)系形成的供應(yīng)鏈網(wǎng)絡(luò)。

這個(gè)定義是較新的版本,2017 年時(shí)還沒(méi)有這么完整。這一版把開(kāi)發(fā)者、社區(qū)、基金會(huì),包括用戶等也放到供應(yīng)鏈的列表里。

在這個(gè)概念的基礎(chǔ)上,中科院軟件所開(kāi)始建設(shè)“源圖”開(kāi)源軟件供應(yīng)鏈的平臺(tái),之后升級(jí)為一項(xiàng)重大基礎(chǔ)設(shè)施,至今已經(jīng)歷了多個(gè)版本。2023 年8 月21 日發(fā)布3.0版時(shí),已覆蓋1.4 億款以上的開(kāi)源軟件,代碼行數(shù)已達(dá)到1892 億行,開(kāi)源許可證3257 個(gè)。

“源圖”一直在進(jìn)化。9 月15 日,數(shù)據(jù)又有所更新。

“源圖”對(duì)整個(gè)開(kāi)源世界的數(shù)據(jù)做兩項(xiàng)工作:①采集,②把數(shù)據(jù)進(jìn)行二次加工處理。

截至9 月15 日晚,“源圖”數(shù)據(jù)比8 月21 日的代碼行數(shù)多了200 多億行,是一直在持續(xù)變化?!霸磮D”有很多作用,例如合規(guī)性檢測(cè)、漏洞檢測(cè)等。還有一個(gè)作用是對(duì)國(guó)產(chǎn)操作系統(tǒng)與社區(qū)的全方位保障。因?yàn)榻鼛啄?,很多企業(yè)、機(jī)構(gòu)在聯(lián)合構(gòu)建國(guó)產(chǎn)操作系統(tǒng)的社區(qū),現(xiàn)在社群較多,希望這些根社區(qū)不是打著社區(qū)的幌子,而是真的很活躍,有實(shí)際的貢獻(xiàn),有大量的開(kāi)發(fā)人員聚集,有軟件的快速迭代。因此,中科院軟件所對(duì)這些根社區(qū)去做實(shí)時(shí)的監(jiān)測(cè)和風(fēng)險(xiǎn)評(píng)估。

“源圖”還有很多其他功能,以API 的方式開(kāi)放出來(lái),至今有180 多個(gè)API,希望與各界合作。

2.3 RISC-V是嵌入式指令集架構(gòu)的發(fā)展方向

指令集架構(gòu)(簡(jiǎn)稱指令集,ISA)是計(jì)算機(jī)系統(tǒng)中軟硬件的分界線,或交互規(guī)范標(biāo)準(zhǔn),是軟硬件生態(tài)的起始原點(diǎn)。

指令集不一定能決定硬件/ 芯片的性能高低,也不一定能決定上層的應(yīng)用軟件的工作,但是能決定軟硬件的協(xié)作方式和發(fā)展方向。

最早指令集的出現(xiàn)是為了解決機(jī)器兼容和軟硬件解耦的問(wèn)題,例如IBM System/360 的4 種不同型號(hào)的大型機(jī),如果需要一套軟件在上面運(yùn)行,就需要一套統(tǒng)一的指令集,叫One ISA to rule them all( 一個(gè)ISA 統(tǒng)治了他們所有人),像“指環(huán)王”里的“至尊魔戒”。M.V. Wilkes(注:英國(guó)劍橋大學(xué)教授,1951 年首先提出微指令和微程序)和Fred P. Brooks( 注:IBM 360 操作系統(tǒng)之父) 在指令集上面做了巨大的貢獻(xiàn)。

Wintel 時(shí)代的微軟和英特爾聯(lián)盟,移動(dòng)智能手機(jī)時(shí)代的AA(Arm 與Android) 聯(lián)盟,都占據(jù)了IT 生態(tài)的價(jià)值高地。所以盡管整個(gè)IT 領(lǐng)域中,很多標(biāo)準(zhǔn)規(guī)范是開(kāi)放的,但是ISA 里沒(méi)有,x86、IBM 360、Arm 都有私有的指令集,是由公司主導(dǎo)的。

2.4 為何指令集領(lǐng)域長(zhǎng)期缺乏開(kāi)放標(biāo)準(zhǔn)?

這是歷史形成的。例如IBM 最早成立時(shí),就是為自己私有的大型機(jī)來(lái)做的操作系統(tǒng)。之后IT 業(yè)延續(xù)了這種方法,上世紀(jì)70 年代大約有二三十種不同的指令集,最后經(jīng)過(guò)一系列的比拼后,x86 才勝出。到2010年代時(shí),Arm 在移動(dòng)和嵌入式領(lǐng)域也勝出了。所以x86和Arm 是通過(guò)殘酷的商業(yè)競(jìng)爭(zhēng)形成的,也是它們的一種很重要的商業(yè)掌控手段,所以兩家公司都很難去把它開(kāi)放出來(lái)。即便Arm 比x86 稍好一些,客戶可以去獲得授權(quán),公版可獲得永久授權(quán),但是Arm 還是不會(huì)去把其變成一個(gè)像RISC-V 一樣全開(kāi)源的情況。包括現(xiàn)在Arm 上市的賣點(diǎn)之一就是指令集是自己掌握的。

RISC-V 的愿景是:RISC-V 是一個(gè)自由開(kāi)放的ISA,通過(guò)開(kāi)放標(biāo)準(zhǔn)協(xié)作實(shí)現(xiàn)處理器創(chuàng)新的新時(shí)代。因此,RISC-V ISA 在架構(gòu)上提供了一個(gè)新的自由、可擴(kuò)展的軟件和硬件自由層次,為未來(lái)50 年的計(jì)算設(shè)計(jì)和創(chuàng)新鋪平了道路?;凇皹?biāo)準(zhǔn)”和“未來(lái)50 年”這兩個(gè)特點(diǎn),因此最有可能成為指令集的未來(lái)國(guó)際標(biāo)準(zhǔn)。

其實(shí)指令集非常簡(jiǎn)單,以RISC-V 為例,它包含基礎(chǔ)指令集、標(biāo)準(zhǔn)擴(kuò)展指令集和用戶自定義擴(kuò)展指令集。RISC-V 基礎(chǔ)指令集的標(biāo)準(zhǔn)規(guī)范已經(jīng)發(fā)布。

RISC-V 的設(shè)計(jì)理念有很多特點(diǎn),包括簡(jiǎn)潔、開(kāi)放、先進(jìn)、模塊化、穩(wěn)定、免授權(quán)。現(xiàn)在發(fā)展速度也非???,RISC-V 國(guó)際基金會(huì)(RVI)的全球會(huì)員數(shù)已經(jīng)超過(guò)了3800 家。

2.5 RISC-V是我國(guó)眾多軟件學(xué)科方向的一次復(fù)興機(jī)遇

從RVI 的官方網(wǎng)站里可以看到,RISC-V 在基礎(chǔ)軟件領(lǐng)域里需要圖2 右側(cè)的技術(shù)和產(chǎn)品。對(duì)應(yīng)的學(xué)科方向是左邊的。這些都是軟件領(lǐng)域非常核心的方向,特別是有些方向可能許多高校因?yàn)樵谶^(guò)去20 多年內(nèi)沒(méi)有應(yīng)用場(chǎng)景,課程已不再開(kāi)設(shè)了,這非??上?,但在RISC-V階段確實(shí)是我國(guó)基礎(chǔ)軟件部門一次很久都沒(méi)有過(guò)的重復(fù)造籠子的機(jī)會(huì)。

通常認(rèn)為“重復(fù)造籠子”是貶義的,是重復(fù)和模仿,但問(wèn)題是我們沒(méi)造過(guò)籠子。我們現(xiàn)在使用的基礎(chǔ)軟件大都是在美國(guó)上世紀(jì)60 年代到90 年代內(nèi)形成的一套軟件系統(tǒng)之上,即便在2010 年代,我們也沒(méi)趕上,例如像安卓這樣的新的主流操作系統(tǒng)。所以RISC-V 可能給了我們一個(gè)機(jī)會(huì),包括編譯器、虛擬機(jī)、環(huán)境、模擬器等,甚至包括安全等,都可以從全新的視角去打造。

1700445750257899.png

圖2

3 開(kāi)放繁榮的生態(tài):嵌入式系統(tǒng)的發(fā)展目標(biāo)

3.1 “細(xì)腰”是生態(tài)的核心之一

首先,RISC-V 的軟件在日趨豐富,基本的軟件生態(tài)框架已經(jīng)搭起來(lái)了,但是它未來(lái)要走向成功,一定要跟x86、Arm 去比拼,RISC-V 的愿景是未來(lái)三分天下必有其一。怎么能做到這一點(diǎn)?核心就是要比x86 和Arm 有更高的生態(tài)效率。

生態(tài)效率如何決定?從生態(tài)學(xué)的啟示看:①要有足夠豐富多樣的支持,例如大量的開(kāi)源軟件代碼、文檔手冊(cè)以及社區(qū)的開(kāi)發(fā)人員互助等,②為了防止碎片化、技術(shù)多樣化,需要有一個(gè)細(xì)腰的生態(tài)模型,這是從IT 生態(tài)里總結(jié)出來(lái),中間會(huì)有一個(gè)細(xì)腰。細(xì)腰是什么?往往就是標(biāo)準(zhǔn)規(guī)范,是行業(yè)最容易達(dá)成共識(shí)的。

如圖3,圍繞細(xì)腰的往上和往下,也是一個(gè)更容易達(dá)成共識(shí)的部分,例如上面的基礎(chǔ)軟件,下面的通用IP、EDA 工具等。細(xì)腰的共識(shí)部分越多,生態(tài)就越容易達(dá)成。

1700445859716987.png

圖3

未來(lái)理想的生態(tài)應(yīng)該是這樣一個(gè)模型:中間是指令集規(guī)范,往上是基礎(chǔ)軟件的開(kāi)發(fā)以及基礎(chǔ)運(yùn)行軟件的環(huán)境,這些希望是開(kāi)源免費(fèi)的。底下還有通用EDA 工具,希望也是開(kāi)源、免費(fèi)的工具。

由此構(gòu)成一個(gè)堅(jiān)強(qiáng)的細(xì)腰,向上能夠支撐千行百業(yè)的應(yīng)用場(chǎng)景,向下有成千上萬(wàn)的芯片。

現(xiàn)在已經(jīng)看到有這樣的發(fā)展勢(shì)頭。例如在2023 年8 月,RISC-V 中國(guó)峰會(huì)召開(kāi),這是與北美和歐洲峰會(huì)并列的三大峰會(huì)。我們非常高興地看到了展示區(qū)有各種RISC-V 的設(shè)備出現(xiàn),例如數(shù)據(jù)中心的服務(wù)器,還有交換機(jī)、筆記本、平板,甚至有手機(jī)、小型智能終端、攝像頭等安防設(shè)備等。

為了防止碎片化,我們一定要把中間的細(xì)腰做好。貢獻(xiàn)。老師們不一定要去參與到商業(yè)里去跟x86、Arm 去競(jìng)爭(zhēng)。

生態(tài)是慢慢形成的,就像20 年前,Arm 剛進(jìn)入嵌入式領(lǐng)域時(shí),很多人看相關(guān)的書(shū)籍和用開(kāi)發(fā)板學(xué)嵌入式,但是不知不覺(jué)地發(fā)現(xiàn)Arm 開(kāi)發(fā)者越來(lái)越多了,生態(tài)變得越來(lái)越大?,F(xiàn)在也有RISC-V 相關(guān)的教材和開(kāi)發(fā)板,相信再過(guò)5~10 年,人們會(huì)發(fā)現(xiàn)在整個(gè)開(kāi)發(fā)者比例中,RISC-V 占了很大的優(yōu)勢(shì),這時(shí)候RISC-V 生態(tài)就形成了。

4 中科院軟件所做的工作

中科院軟件所正在打造國(guó)內(nèi)開(kāi)源的“根”社區(qū),致力于打造國(guó)產(chǎn)的開(kāi)源社區(qū),希望在社區(qū)里有自己的成果和產(chǎn)品。開(kāi)源歐拉操作系統(tǒng)(openEuler)社區(qū)是面向數(shù)字基礎(chǔ)設(shè)施的操作系統(tǒng)社區(qū),開(kāi)源鴻蒙操作系統(tǒng)(OpenHarmony)社區(qū)有活躍的參與者,是面向萬(wàn)物智能互聯(lián)的操作系統(tǒng)社區(qū)。過(guò)去幾年,中科院軟件所在這兩個(gè)社區(qū)里,在高校、科研院所中影響力領(lǐng)先。

關(guān)于RISC-V 的機(jī)遇,需要用共治共享共建的開(kāi)源基礎(chǔ)軟件的模式去打造,一是軟件所做了PolyOS,可謂開(kāi)發(fā)板的萬(wàn)能適配器,無(wú)論什么樣的RISC-V開(kāi)發(fā)板,在PolyOS 上都可以快速地構(gòu)建它的操作系統(tǒng)。另一個(gè)是面向開(kāi)發(fā)者的萬(wàn)能工具箱RuyiSDK,這和嵌入式有點(diǎn)關(guān)系,因?yàn)楝F(xiàn)在有很多的開(kāi)發(fā)板或機(jī)器還需要用交叉編譯的方式去做。軟件所還做了一些與嵌入式相關(guān)的基礎(chǔ)設(shè)施,例如OpenOCD,包括ADB 調(diào)試工具鏈,2023年6 月底已經(jīng)發(fā)布了第一個(gè)版本。

前期,中科院軟件所已完成了對(duì)RISC-V 的服務(wù)器和桌面辦公環(huán)境的軟件適配,保障了國(guó)產(chǎn)RISC-V 服務(wù)器和筆記本的率先批量出貨。

服務(wù)器和筆記本軟件方面,軟件所也已完成了很多適配,例如基于RISC-V 的傳統(tǒng)的視頻播放、收發(fā)郵件、客戶端、瀏覽器等等,也完成了很多服務(wù)端的項(xiàng)目,諸如openGDK 這些基礎(chǔ)的方面。

RISC-V 嵌入式生態(tài)的寒武紀(jì)即將到來(lái),一定會(huì)有大量的RISC-V 相關(guān)的設(shè)備持續(xù)不斷地涌現(xiàn)。為了順應(yīng)這一潮流,2023 年9 月算能生態(tài)部、軟件所PLC 實(shí)驗(yàn)室、海外RVI 等單位在開(kāi)展 “全球捐贈(zèng)計(jì)劃”,捐贈(zèng)1 萬(wàn)塊RISC-V開(kāi)發(fā)版給社群,特別是給高校去做教學(xué)科研,希望國(guó)內(nèi)高校在RISC-V 嵌入式領(lǐng)域培養(yǎng)更多的人才。軟件所一直是把兩句話當(dāng)做使命:①讓RISC-V 成為指令級(jí)的國(guó)際標(biāo)準(zhǔn)。②讓基礎(chǔ)軟件成為全人類的數(shù)字公共品。更希望中國(guó)在這次RISC-V 及開(kāi)源變革中,能夠抓住機(jī)遇,占據(jù)戰(zhàn)略高地。

(本文來(lái)源于EEPW 2023年11月期)



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉