盡管RISC-V的基礎指令集和基礎架構已經在2014年前后基本成型,旨在指導未來發展并推廣RISC-V ISA普及的RISC-V基金會也早在2015年8月成立了,但直到大概去年5月的時候,RISC-V這個話題才持續占據各相關媒體的熱點版面,關于RISC-V的各種宣傳活動也逐漸地多了起來。
這種現象的出現,可能是由于一些商業公司的開發有了一些眉目,他們的宣傳力度提高了,但更主要的一個因素是中國國內的大環境所導致,國家加大了對半導體行業的支持力度。當然,也不乏一些炒作的因素在里面。
本文不打算探討RISC-V技術的優劣,也不打算探討它是否能解決我們當前所面臨的種種問題,我只想先來談談對這項技術的基本認識以及它對整個產業鏈各個環節的意義,然后重點說說RISC-V怎樣才能更好地普及,并成功地融入到各式各樣的應用領域中,最后粗略地談一下RISC-V在發展過程中可能遇到的一些問題。
RISC-V的優勢是什么?
RISC-V是一個按照精簡指令集的基本原則開發的CPU指令集架構, 與之對應的Arm指令集架構和x86指令集架構處于同等地位。CPU的設計人員,可以按照這樣的指令集架構設計CPU的內部架構和具體實現方式。例如Arm的Cortex-M內核目前已經有多達9款產品,但都是基于Armv6-M、Armv7-M和Armv8-M指令集架構構建的。
可以把CPU指令集架構(ISA)與操作系統的POSIX接口規范做個類比。在遵循一個相同ISA的原則下,芯片設計人員可以按照不同的要求做出不同的設計實現,從而設計出不同性能等級、側重不同應用的CPU產品。例如,某個實現側重于低功耗但速度不是最快,另一個實現則可能是側重運算速度快但芯片面積比較大,或者側重于某種計算類型(浮點、矩陣計算等)。同理,遵循POSIX規范的操作系統可以是服務器級別的,也可以是桌面的或嵌入式級別的。
從底層的使用者角度看,一個CPU的指令集架構就是以程序員的視角所看到的CPU,例如有多少寄存器、尋址方式是什么樣的,以及指令的字長和尋址空間等。對于使用相同指令集的不同CPU,原則上它們上面運行的代碼都是二進制級兼容的,倘若程序在具有這些CPU的芯片間進行遷移,基本上只需要適配底層的設備驅動即可,絕大部分的系統和應用程序都是可以不經重新編譯而直接運行的。
與其他主流的指令集架構相比,例如x86、Arm等,開源是RISC-V的最大特點,使用RISC-V進行CPU設計的人或機構,無須像使用其他指令集架構那樣,向原開發者付費才能使用該ISA自行設計CPU并對之進行修改和擴展,這個費用往往非常高昂并且條件比較苛刻。例如,目前知名的商業公司中,只有AMD獲得x86指令集的使用權,只有蘋果、三星、高通、華為等獲得了Arm指令集的使用權,可以自主開發基于相應指令集架構的CPU芯片。
一方面,RISC-V的指令集架構是開源的,它允許開發者自行組合已有的指令子集或添加自己的指令集,這極大地擴大了RISC-V的應用范圍,使它幾乎可以適合各種應用場景,相比其他不能自行擴展的指令集架構,具有明顯的優勢。當然,同時也可能會帶來嚴重的碎片化問題,這一點會在本文后面探討。
另一方面,RISC-V不僅僅是一個開放的CPU指令系統,而且是一個連接半導體產品的設計人員和應用開發人員的開放的生態系統。對芯片(尤其是CPU芯片)的設計人員來說, 可以按照應用特點設計出相應的CPU產品, 而不必擔心因為缺少相應的開發工具或合適的軟件中間件而導致沒有人使用自己的產品。更重要的是,對于CPU芯片的使用者而言,可以在更大的范圍里選擇適合自己應用的芯片,而不必擔心因為指令系統的兼容性問題找不到熟悉的開發環境,找不到合適的開發人員,以及找不到成熟的應用組件或中間件。
完善的生態是RISC-V取得商業成功的關鍵!
這樣一個開源的、免授權費的指令集架構,自然讓很多人興奮不已,尤其是在IC設計行業中,每個人都有機會按照自己的特長找到合適的商機。事實也確實如此,但同時也有一個嚴峻的問題擺在我們面前,那就是誰會來買單呢?下面就以MCU為主來探討一下。
要能夠用好一款MCU產品,需要很多配套的東西做支撐。我們知道,世界上出現過很多有特色的CPU指令集架構,也有不少基于它們的芯片產品,例如Arm、MIPS、x86、PSoC、8051、Power ISA、Z80/Z8000等。這些ISA各有特色,但它們的應用范圍和市場份額卻有較大的差別。對于終端用戶或產品的開發者而言,其實他們并不太在意CPU的指令系統是什么,他們只在意一款MCU芯片本身的性能、價格、適用范圍等是否滿足應用需求,在這些因素都滿足的情況下,就要比較哪種架構的生態系統更加寬廣、更加完善。目前,在一些通用的應用領域中,市場上大多數MCU不管其采用何種CPU架構,都能夠滿足應用需求,價格也都在可接受的范圍內,此時完善的生態系統就成為客戶選型首要考慮的問題。
簡單地說,一款MCU產品的生態系統,決定著這款產品的開發者所能接觸到的開發資源和開發支持是否全面多樣化、是否方便使用、是否易學易懂、是否穩定可靠等。以通用的MCU為例,通常這些資源和支持大概包含圖1中的內容。
圖 1
資料文檔:主要包括芯片本身的數據手冊、參考文檔、應用筆記、參考例程、設計指南、學習教程、常見問題等。
開發工具:包含編譯器、開發板/套件、調試工具、IDE、生產工具(主要是編程器)、性能優化/評測工具、故障診斷工具、芯片內部資源的配置工具等。
軟件模塊:所有的軟件產品都屬于這個范疇,既包括芯片廠商所提供的基本底層驅動庫,以及相關的操作系統BSP、各種軟件庫(例如C/C++的運行時庫、DSP庫、算術運算庫等),也包括各種中間件、協議棧、圖形GUI庫,以及諸如電機控制、圖像處理甚至人工智能等的專用軟件庫。
市場資源:涵蓋信息來源的多樣性、網站建設、開發者論壇、樣片和產品的購買渠道、供貨周期和穩定性、培訓機構及大學計劃等。對于市場信息的反饋機制、產品的ROADMAP,以及對公司策略及品牌的宣傳與認知度,也可以歸于市場資源這一類。
人力支持:在客戶需要時,能夠提供相應的人力資源支持,包括設計驗證、疑難問題的調試、芯片缺陷的分析和解決方案、特殊培訓,甚至參與客戶的項目開發等。當然,也包括協助客戶的產品市場宣傳以及對客戶的非技術性服務等。
參考方案:針對市場需求,開發者能夠從芯片原廠,特別是從第三方得到相應的參考方案。
外包服務:主要是指大量涉及各個應用方面的設計公司, 他們能夠提供各種各樣的軟件庫設計、應用方案設計、電路板設計、整體方案設計等。
配套器件:基本是與MCU芯片配套的存儲器、擴展的互聯產品、顯示產品、傳感器等,開發設計人員能夠方便地找到和使用合適的外圍器件。相應的遴選條件包括:接口類型速率、工作電壓范圍、價格、相關生態等。
以上的這些內容中,MCU芯片廠商只能提供一些極為基本的東西,而絕大部分內容需要其他相關者提供,因此如何培養和動員產業鏈上所有的相關方積極地參與基于某種架構的生態系統建設,使得這個生態系統日臻完善,將成為該種架構取得商業成功的關鍵。基于Arm架構的MCU應用市場能取得今天的輝煌,正是由于其擁有一個非常健壯的生態系統。
RISC-V要想在競爭非常激烈的CPU市場,尤其是MCU市場上取得成功,就必須重視生態系統的建設,減輕開發負擔,讓開發人員在遇到問題時能很快地找到解決方案,以縮短終端產品的開發周期。
標準化和多元化是RISC-V快速發展的基石
前面提到RISC-V的一大優勢是開源,在一個相同的指令集架構下,各家可以做出適合各種需求的CPU/MCU產品,從高端到低端、從低功耗到高性能,廣闊的應用領域十分有利于其生態系統的壯大。處在這個生態鏈上各個環節的開發者,可以用較小的代價支持更廣泛的市場需求,使得各個相關參與方的積極性更高。但是這里一個重要的前提是標準化,每款芯片都要遵守和使用RISC-V定義的基本和擴展指令集,只有這樣各級開發支持工作才能統一有效。
換個角度看,RISC-V開源的優勢可以允許各家在設計芯片時,按照自己的特殊需要添加定制化的指令,滿足特定應用的特殊需求,或在投票成為標準之前,將先進的創新成果先行在自己的產品中實現。對于這種非標準的部分,將較難受益于豐富的生態機制,因此要求其生產廠家自行提供相應的支持和配套的解決方案,例如需要修改編譯器以支持新的指令、需要增改配置調試工具以適應新的總線或存儲接口等。
當這種自行添加的定制化指令逐漸增多,又不能被吸收進標準規范中時,就會產生碎片化的問題,也就會給生態鏈上的某些環節造成困擾和成本的增加,也必將削弱生態環境的健全性,至少在RISC-V普及發展的初期,會阻礙或延緩生態系統的完善。
當然,RISC-V基金會為了鼓勵多元化的發展,成立了各種指令集的工作小組,統一討論協調特定領域的RISC-V指令擴展,這些模塊化的指令擴展討論一旦定案后,就會成為標準供所有人在特定應用里使用。多元化和碎片化的區別就在于,多元化是在充分討論協商的前提下的創新,并納入標準化的進程,再最終開放給所有人使用;而碎片化則是各說各話,無約束地自由發展,這是RISC-V基金會要盡量避免的現象。
在目前RISC-V生態還比較脆弱的建設初期,可以依托現有標準化進程的成果,以一個相對標準穩定的平臺為基礎,讓應用領域的開發人員盡快地熟悉這種新的技術,讓他們能在一個相同的平臺上互相交流、相互支持,盡快打通生態鏈上的各個部分,讓雪球滾起來!正是基于這樣的考慮,open-isa發布了VEGAboard,讓MCU的開發者能夠以很低的門檻接觸和體驗RISC-V的基本配置和一個基礎的開發環境。做編譯器、IDE的公司,可以直接在這個基礎上測試開發相應的產品;做各種系統軟件和算法庫的企業,也可以在上面嘗試移植自己已有的產品,快速地建立起來一個基礎的BSP包,為未來正式的商業開發奠定基礎;而應用產品的開發者,則可以更加深入地理解和體驗RISC-V將會怎樣影響他們的未來,同時對其他環節的開發者提出他們的需求和看法,不斷完善相關的工具及方案等。總之,在正式商業運作開發之前,大家可以在這樣一個低成本的基礎上,做很多先期的入門鋪墊,熟悉、嘗試并打造最適合的開發途徑。
要讓RISC-V能夠健康地成長,需要在標準化和自行定制化之間找到一個平衡點,而目前我們注重的著力點,應向有利于強大生態系統建設的方向傾斜,把蛋糕做大,然后再逐步走向多元化,走向協同發展的道路。
最近,open-isa的中文網站剛剛開通,感興趣的朋友可以訪問瀏覽open-isa.cn,申請RISC-V開發板并參加創意競賽,贏取豐厚獎品!已經有朋友收到織女星開發板啦!
-
寄存器
+關注
關注
31文章
5357瀏覽量
120665 -
生態系統
+關注
關注
0文章
702瀏覽量
20744 -
RISC-V
+關注
關注
45文章
2294瀏覽量
46249
原文標題:RISC-V這塊蛋糕,如何才能做大?
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論