RISC-V能否複製Linux的成功?

作者 : Nitin Dahad、Majeed Ahmad,作者依序為EE Times歐洲特派記者、EDN主編

今年是Linux核心發佈三十週年;利用公開免費發佈的Linux,開放原始碼催生了數百項專案。Linux的成功模式是否能複製到開源硬體?RISC-V指令集架構(ISA)是否能像Linux核心作為開源軟體的基礎一樣,成為開源硬體發展的基石呢?

今年是Linux核心發佈三十週年。二十年前,程式設計人員認為Linux只是一種利基技術,猜測它應該行不通。然而,利用公開免費發佈的Linux,開放原始碼催生了數百項專案,從而湧現一大批穩健且靈活的產品,Linux成為開源軟體發展的基石。

這種成功的模式是否可以複製到開源硬體上呢?RISC-V這樣的指令集架構(ISA)是否也可以像Linux核心作為開源軟體的基礎一樣,成為開源硬體發展的基石呢?

這個問題並沒有標準答案。

當前的RISC-V是一種開放的架構,作為一項標準提供,讓開發人員可以自由、靈活且迅速地用它來進行產品設計。但另一方面,硬體更加複雜,有多層堆疊,因此不像套裝軟體那樣簡單。

本文針對RISC-V硬體生態系統的利益相關業者進行了調查,包括OpenHW Group、RISC-V International、恩智浦半導體(NXP Semiconductors)、晶心科技(Andes Technology)、Nvidia和威騰電子(Western Digital;WD),描述開源軟體的相似性、導入的障礙以及支援社群和生態系統的重要性,最後並探討開源硬體對商業晶片製造商的意義。

關鍵在於品質與生態系統

OpenHW Group總裁兼執行長Rick O’Connor

OpenHW Group總裁兼執行長Rick O’Connor認為,RISC-V相當於Linux核心,他在接受採訪時說:「RISC-V ISA一開始就像核心之於Linux一樣,其結果是催生其他開源軟體專案和計畫如雨後春筍般湧現。當然,如果說Linux核心為20年前的軟體播種,那麼RISC-V ISA就是硬體的種子。」

 然而,採用開源硬體仍然存在障礙。「障礙之一就是品質問題。」O’Connor補充道:「例如,如果你在一個晶片或SoC產量較高的公司工作,肯定不會把寶押在這個從網路下載來的IP模組上,然後直接走進老闆辦公室說:『我們準備好使用這個大學開發的酷炫核心了,它應該可以導入我們的量產SoC中。』」

因此,OpenHW Group倡議開放的驗證流程。O’Connor說:「人們可以查看生態系統達到的品質並使用所得到的結果——如果完全自行開發,應該就能獲得高產量SoC公司所期望的結果。」

O’Connor還指出業界對於RISC-V和RISC-V International的誤解。RISC-V International是監督核心ISA規範的基金會。

O’Connor說:「人們總是誤以為RISC-V International基金會是開發核心的,實際上並不然,它是專注於開發一系列定義ISA的規範。這些規範適於各種用途:商業、開放或封閉、營利或非營利,設計人員可以根據自己擅長的邏輯擷取語言,採用不同的語言編寫。」

就這方面來說,他強調OpenHW Group並不只是開發RISC-V核心。「我們真正專注的是異質叢集運算所需的構件,用於各種大小的SoC。我們將不同類型的核心、加速器以及所需的各種模組匯集在一起。」

O’Connor表示,RISC-V ISA在此發揮了關鍵作用,它開拓了「一個創新的領域。任何人只需下載ISA規範就可以在設計中使用核心,而無需與任何人簽署協議。從這個角度來看,RISC-V ISA是推動RISC-V發展的關鍵因素。回想20年前,基於Linux核心的建置方案非常多,遠遠超過今天基於RISC-V ISA的方案。

「硬體產業面臨的挑戰在於,如何才能圍繞著RISC-V持續提供五至六個核心系列的建置方案。」

恩智浦半導體軟體工程副總裁Rob Oshana

恩智浦半導體(NXP Semiconductors)軟體工程副總裁Rob Oshana表示,開源硬體的發展軌跡與開源軟體幾乎完全相同。從Linux Kernel Archives網站可以知道,「Linux是成千上萬開發人員共同開發和使用的實際原始程式碼。」

Oshana說:「RISC-V International擁有的是規範,而不是具體的實施方案。這些規範是經過開發人員通力合作制訂的,在當前的RISC-V社群和生態系統下運作良好。」

「由於基金會目前還沒有開放的實施方案,因此,OpenHW Group正在填補這一空白,以開發免費、開放、免授權費的實施方案以及其他類似Linux基金會(Linux Foundation)的擔保。」

不只是規範…RISC-V也需要社群支援

隨著開源從軟體擴展到硬體,越來越需要社群或合作夥伴生態系統的參與。Oshana說:「任何一個開放的社群都需要培養、照顧與供給。隨便扔點東西進Git就稱其為『開放』,這樣註定會失敗。它需要一個社群。」

「如果不是經過社群的努力,建構了核心、開發板、軟體和參考平台,OpenHW Group的核心無法取得成功。」他補充說:「OpenHW Group正利用最佳實踐而使得這一硬體技術成功。」

Oshana認為,其關鍵就在於如何利用最佳實踐並「持續投資實際工程,以保持硬體開發的成功。」

同時,開源工具也在不斷發展中。「我們需要一套可靠的硬體工具來支援,」Oshana指出。和其他人一樣,他也認為真正衡量一個開放社群的標準是參與度。例如,一旦發佈一種實施方案,關鍵指標就在於用戶社群如何管理更改需求、修復錯誤等。Oshana說:「這相當於Linux的上游。維護者的角色必須明確。」

RISC-V International技術長Mark Himelstein也強調社群的重要性。「Linux並不一定是最好的作業系統(OS),但人們為什麼用它?因為它擁有社群和支援。它的魔力就在於所有權的自豪。現在使用Linux很簡單,但我認為RISC-V就是硬體的Linux。相信再過五到十年,人們也可以毫不費力地使用RISC-V作為硬體。」

硬體比軟體更難

開源硬體和軟體的主要區別在於整個堆疊的複雜性。O’Connor說:「看看當今生產的絕大部份晶片,其中有超過95%採用Verilog工具流程並在相應的商業驗證基礎設施中生產和驗證。因此,如果我們想讓別人使用這些核心,就要讓它們輕鬆融入到這種商業工具流程中。」

RISC-V International技術長Mark Himelstein

SoC供應商大多使用SystemVerilog通用驗證方法來驗證環境。O’Connor說:「我們不會讓他們採用不同的方法。如果我們真的想要在這些開放原始碼區塊中導入RTL,它們就必須能夠融入該工具流程。」

硬體的實體特性仍然使軟體開發人員面臨前所未有的挑戰。O’Connor指出:「在半導體晶圓廠中,從幾何層面的物理特性來看,其秘訣就在於晶圓製程。」他提到了採用較大節點製程設計中那些鼓舞人心的成果。

他解釋說:「當你有了晶圓製程技術、最重要的工具庫、生產GDSII的CAD工具實體層以及光罩技術本身;接著還需要生產光罩的設備、驗證設計的模擬和驗證軟體與工具、用於擷取和合成設計的合成工具,以及用於這些設計的IP。」

O’Connor指出,「歷經數十年開發,堆疊中的所有分層都包含與各層相關的豐富專利組合。層與層之間的聯繫也非常緊密。因此,任何商業公司都不會一開始就試著用開源方案和工具來替換整個堆疊。」

OpenHW Group創辦人曾經考慮是否創建專門針對RISC-V核心的生態系統,但最終決定放棄。

O’Connor說,他們的首要目標是創建核心。「我們的中心思想和理念,都是為了克服開源硬體面臨的挑戰。換言之,我們的目標是利用通用建構模組輕鬆建構異質叢集,同時用自己的秘密武器(圍繞著它建構的加速器和擴展)進行量身客製。」

其中涉及的工作包括在通用元素上合作,並在軟體工具級、硬體RTL級甚至驗證級上定義介面點。「加值之處在於如何修改一組通用的建構模組來添加客製加速,打造可實現自有加速器演算法的客製異質叢集。因此,重點在於RISC-V作為一種ISA,讓我們一開始就在處理器核心級採用吸引人的通用建構模組,然後在此基礎上進行建構,同時利用最佳商業工具以增強使用者的信心。

「所以,IP是他們可以信任的。」他並預測很快就會有開源FPGA,最後還有SoC。

RISC-V處理器設計浮上檯面

相較於開源軟體,基於RISC-V開源硬體的處理器設計有所不同:其架構凍結了ISA,使其作為一個可長期使用的元件。ISA在此是處理器能讀懂的一種語言,讓軟體可以使用這個語言表來編寫。如何採用這種語言對軟體進行編碼,有助於讓處理器瞭解應該做什麼。

任何人都可以使用RISC-V ISA,並完成設計擴展等。與開源軟體的共同點是,RISC-V也沒有IP版權的問題,且其參與者可以共用其設計成果。

簡而言之,RISC-V讓設計工程師得以創新,為其提供選擇的自由。

SiFive共同創辦人兼首席架構師Krste Asanovic在CES 2021的專題討論中闡明了RISC-V在開源硬體領域的地位。Asanovic說:「RISC-V並非開源處理器,而是開發處理器的開放標準。」因此,這個規範是開放的,任何人都可以利用它進行設計。

這類似於一種微架構授權,讓處理器開發人員能夠完全按照其需要進行客製,以實現最佳化處理器設計。例如,儲存裝置製造商WD針對固態硬碟(SSD)設計開發自家的控制器處理器,其目標在於最佳化連接至主CPU和快閃記憶體的控制器介面。

 

Western Digital (WD)的SweRV Core EL2核心專用於取代SoC的狀態機和其他邏輯功能。

 

在2020年RISC-V高峰會期間,WD展示了一款搭載其開源RISC-V SweRV核心的快閃記憶體控制器。WD RISC-V資深業務總監Ted Marena表示,WD將在開源社群發佈其RISC-V核心。

他說:「儘管我們開發了核心,實際上核心並不是真正的秘密武器,圍繞核心設計的元件才是最重要的,例如與主處理器之間的介面。」 Marena並補充道:「如何連接至另一端的快閃記憶體,才是真正的差異化優勢所在。」將核心提供給開源社群也吸引著外部的其他開發人員作出貢獻,從而改善設計。

例如,來自台灣的晶心科技(Andes Technology)就是商業公司如何致力於開源架構的最佳寫照。晶心科技還推出了幾款RISC-V處理器,目前已經獲得一些客戶的採用。

除了為SK Telecom和瑞薩電子(Renesas Electronics)設計RISC-V核心,晶心科技最近宣佈,專注於開發5G基地台晶片的新創公司EdgeQ也將使用Andes核心RISC-V授權以及客製擴展,以提供整合人工智慧(AI)的可編程開放5G平台。晶心科技的客製擴展讓EdgeQ得以設計、擴展和客製自己的指令集,以實現當前無線基礎架構無法滿足的性能、功能和功率特性。

晶心科技執行長林志明

晶心科技執行長林志明說:「對我們而言,RISC-V是用於硬體介面或描述的開源ISA,而非開源核心。在RISC-V陣營,所有的公司之間都是競爭對手。談到RISC-V標準,大家都是彼此合作的關係,但在日常業務中,又不得不相互競爭。」

CPU核心選擇

Nvidia和WD等公司都採用了自家RISC-V核心來設計晶片,有些公司則使用授權的可配置核心。處理器設計人員在設計商業晶片時,可以從SiFive等公司購買各種授權的RISC-V核心,SiFive認為該公司在RISC-V的角色就類似Red Hat之於Linux。

儘管這是SiFive業務的重要組成部份,該公司除此之外也向工程師提供服務,從設計到製造協助其打造處理器晶片。

 

SiFive的E31核心針對物聯網、儲存和工業應用。

 

AI晶片製造商Esperanto Technologies總裁兼執行長Art Swift表示,越來越多的設計人員在追求不同商業模式的過程中轉向採用RISC-V。「相較於現有的微控制器(MCU)均採用相同核心,RISC-V則提供授權更多的核心選擇的機會。」

目前提供商業RISC-V核心的廠商至少有七家。

Swift說,現在的專有ISA是由某家供應商管理,客戶只能使用一個專有ISA,因而處理器設計無法滿足特定的產業需求,除非取得昂貴的架構援權才能打造客製核心。而且,現在也無法再轉賣核心了。因此,很少有公司像Apple那樣能夠負擔得起這麼高的投資。

然而,RISC-V的架構是免費授權的。用戶可以設計自己的核心,也可以選擇開源核心。正如Swift所指出的,擁有眾多的核心選擇對於打造經未來驗證的設計至關重要。

最早採用RISC-V的Esperanto已經在單晶片中封裝了1,000多個低功耗RISC-V核心,以加速其資料中心的AI工作負載。

下一輪運算革命?

幾乎就在二十年前,程式設計人員並不看好Linux,認為這只是一項利基技術,推測其發展有限。如今,我們看到硬體社群再現了二十年前Linux的發展過程,新創公司基於RISC-V開放標準來設計處理器,創投業者則在仔細審查這些晶片新貴。

像Nvidia和WD這樣的巨擘也在開始大量採用RISC-V。

RISC-V最初只是一項研究專案,經過不斷發展,現在已經發展成為處理器設計的開放標準了。正如Swift所指出的,RISC-V並不同於過去指令集之間的派系之爭,而是展現其創新能力和選擇自由。

隨著RISC-V的迅速發展,圍繞RISC-V處理器設計的基礎設施和軟體生態也彙集在一起了。RISC-V開放標準穩健發展且充滿活力,象徵著開源硬體的未來前景,或許也正引領著下一場運算革命。

(參考原文:Can Open Source Hardware Emulate Linux?,By Nitin Dahad & Majeed Ahmad)

本文同步刊登於EDN Taiwan 2021年4月號雜誌

加入LINE@,最新消息一手掌握!

發表評論