編輯語:
技術解碼欄目:是面向開發者詳細解讀晶片開放社群(OCC)上關于處理器、晶片、基礎軟體平台、內建開發環境及應用開發平台的相關技術,友善開發者學習及快速上手,提升開發效率。
上期【技術解碼】,我們帶大家了解了RISC-V的起源,以及RISC-V發展如此迅速的原因。本文是上期的姊妹篇,将基于前文,詳盡闡述RISC-V的“開源”,并剖析RISC-V架構的發展現狀,預測其未來發展方向。
01 “開源”的RISC-V架構
在上篇中,我們介紹了X86架構是一種完全封閉的指令架構,相比之下ARM架構是一種“開放”的指令架構,隻要獲得了ARM的IP授權就可以使用ARM架構并享受之上沉澱的軟體生态。但是ARM也隻是“開放”,在ARM之後,RISC-V出現了。
RISC-V不是一種技術的創新(因為在此之前已經有非常多的成熟優秀的RISC架構了),而是商業模式的重大變革,RISC-V直接将指令架構給“開源了”(注意此處是開源),這是之前完全沒有的一種新的指令架構營運模式(雖然Open RISC等也是開源,但是後文會分析為什麼RISC-V會做得比OpenRISC成功)。RISC-V通過“指令架構開源”與“架構标準全球開放讨論”兩大殺手锏吸引全球的處理器架構大拿、軟體開發者與開源愛好者圍繞着他做全球生态建設”。

讀者看到這裡是不是有種“衆人拾柴火焰高”的感覺,這也是RISC-V架構的高明之處,說白了,RISC-V是一種與X86和ARM完全不一樣的運作方式,他将指令集架構推進到了一種最極緻的方式:就是指令架構開源,全球無論是企業、研究所、個人都可以完全免費的使用。
是以說,RISC-V和X86、ARM的競争完全是不同次元的競争,他們三個分别是全球處理器技術演進在不同階段的産物,而基本可以确定的是未來三種架構會長期共存,隻是應用的側重領域有所不同罷了。
看到這裡,讀者可能有一些疑問,那在RISC-V之前,已經有OpenRISC等開源指令架構了,那為什麼OpenRISC沒起來,而是RISC-V起來了。
筆者認為這主要還是得益于伯克利團隊的根正苗紅以及恰到好處的營運方式,伯克利大學和斯坦福大學在曆史上首次提出了精簡指令集架構的處理器并完善了其基礎理論,對處理器架構的發展做出了巨大貢獻,是以當伯克利大學提出了RISC-V指令集并開源的時候迅速獲得了工業界和開發者的高度關注,這之後Krest教授團隊又采用第三方獨立的基金會的方式進行營運,其“中立”和“開放”的屬性吸引了大批的企業和開發者投身其中。
02 RISC-V架構的現狀
現在,雖然RISC-V架構還不完善,在諸如安全、虛拟化架構、IOMMU/SMMU、中斷控制架構、RAS(Reliability, Availability and Serviceability)等方面還剛起步,在代碼密度(code size)、虛拟記憶體管理、原子操作效率等方面也還存在一些缺陷,但這不會妨礙RISC-V架構的長遠向好發展,因為其開源的本質不曾改變。
回顧Linux核心的發展曆史,在Linux核心之前,IBM的Unix收費作業系統無論在穩定性和使用者體驗上都是非常成功的,而相比之下剛出道的Linux核心無論在穩定性以及使用者體驗上都比較糟糕,但是由于Linux核心的開源屬性迅速在5年時間内(1991年到1996年)吸引了超過350萬開發者的使用。
經過30年的發展,Linux作業系統(基于Linux核心開發的各種作業系統)已經成為世界上最主流的作業系統之一(Windows主要在桌面機,IOS/安卓主要在智能手機和平闆電腦),無論在伺服器、雲計算以及嵌入式領域基本已是Linux核心的天下。
微軟公司也在2016年加入了Linux基金會并成為Linux社群的主要貢獻企業之一。同樣的,RISC-V雖然現在有不足和缺陷,但是基本可以确定的是,會有大量的企業、高校與個人愛好者會持續的圍繞RISC-V開發并不停的推動RISC-V架構的成熟完善。
開源的運作方式很像自然界的進化方式,是一種雜亂無章的生機勃勃,表現為企業與個人都可以在上面做貢獻,但是開源社群内部會形成一套自然的進化法則,那些好的架構與貢獻經過“優勝劣汰”被社群與開發者接受并沉澱下來,是以某種意義上他比企業維護的商業版本更有生命力。
這裡需要稍微引伸一下的是,雖然RISC-V架構本身是開源的,但是基于RISC-V架構開發的CPU IP核可以是收費的,這個道理很像開源的Linux與收費的Redhat Linux一樣,Redhat可以提供相較開源Ubuntu/Debian更好的穩定性及對上層軟體的相容性,同理的,商業的RISC-V IP核可以提供比開源核更好的穩定性、發展連續性、售後服務等。
03 RISC-V架構的未來
最後,筆者大膽的預測,RISC-V的發展也會與Linux核心的發展路徑類似,先從各種嵌入式與端側系統開始應用,在積累一定的架構成熟度與軟體生态後,逐漸的進入伺服器和資料中心領域。
相較之下,在移動智能終端與PC機市場的發展會相對緩慢,這還要看一些作業系統對RISC-V的支援程度。另外,受NVIDIA收購ARM消息的影響,全球開發使用RISC-V的速度會進一步加快,無論最後收購案是否成功,這都将成為助推RISC-V發展的一個重要事件。