訂閱電子報∣ 友善列印字體大小 文章分享-Facebook 文章分享-Plurk 文章分享-Twitter
入局IoT晶片戰場 RISC-V暗藏應用碎片化“風險”
獲取產業訊息零時差!立即訂閱電電公會電子報。

憑藉極簡、模組化、可擴展以及完全開源等多項優勢,RISC-V被業界認為是非常適合於物聯網等嵌入式應用以及對計算性能、功耗和靈活性要求較高應用場景的指令集,對於廣大晶片設計廠商來說,也是區別於ARM、MIPS等架構更為經濟實惠的選擇。但儘管RISC-V指令集應用優勢眾多,其高度的開源及可擴展性反過來也催生了一定的碎片化風險;另一方面,與成熟的x86和Arm架構相比,RISC-V當前在軟體生態、作業系統支援還是微架構等方面也不成熟,這就使得IoT晶片設計中最敏感的安全問題也難以覆蓋到。RISC-V究竟該如何破除這些質疑和禁錮,借力物聯網等新興市場邁向真正意義上的大發展,是當下整個晶片產業密切關注的話題。
一直以來,晶片架構之爭都是業界關注的焦點,如今在ARM、x86以及MIPS這類已具備龐大市場基礎的架構體系的“狂轟濫炸”之下,作為行業新秀的RISC-V依然能于萬軍之中衝破重圍,殺出一片血路,編者認為這主要歸功於其兩大優勢——即高度開源與可擴展性。正是基於這兩種獨有的特性,令其在全球晶片界獲得了越來越多的支持和青睞,力克後來跟風的MIPS,成功上位。畢竟,採用RISC-V指令集來開發晶片,企業不僅能夠基於32、64甚至128位元的指令集在微架構層面上做各種應用的高自由度擴展,同時又能夠節省微架構上的一大筆授權許可費,更不用交版稅,這對於當今已具備足夠晶片開發實力的企業們來說,無疑是一舉多得。
事實上,RISC-V的優勢並不能只用其在某個採用該指令集方案的晶片能夠在跑分或者一些主要性能參數上優化了多少的資料來衡量,SiFive中國資深現場應用經理胡進認為:“關鍵在於其創造了一個全新的商業模式,可以讓企業按項目需求自主挑選其專案標準的組合,並按自身需要去實現這樣的設計。同時,它也能夠按需加入自己的一些非標準的擴展,這一系列的選擇都是由企業自己做主,不需要得到他人的批准或者授權,這種自由度目前只有RISC-V才能提供,其他任何架構都不具備這種自由度。有了指令集,設計方就可以按照自己項目需求的一些功能,對PPA的一些量化條件去實現。況且,現在有了諸如RISC-V基金會和現有基金會廣大的成員,RISC-V有任何不足或者做的不好的地方,能夠比其他架構更快的去修復和完善,這也是現在越來越多晶片設計商在專案中選擇RISC-V的重要原因。”
當然,在諸如雲端伺服器、智慧手機以及平板電腦和PC這類傳統市場,如今RISC-V幾乎已不可能打破ARM和x86架構的壟斷地位。但對於AI、IoT這類創新的應用場景,RISC-V卻是大有機會實現反超。尤其是當下火熱的IoT晶片領域,RISC-V的可擴展性優勢可以體現的淋漓盡致,這種可擴展的自主定制化能夠讓IoT晶片做到相比同類ARM架構更低的功耗、更小的體積以及更高速的睡眠和喚醒時間。
與同級的ARM架構晶片相比,胡進舉例到:“以我們自己的RISC-V核來舉例,我們的E2系列,比如E21可以跟ARM的Cortex-M3和M4去比,在晶片強調的功耗上都是比它們要低的,雖然我們E21是一個標準核,但我們的配置會比M3和M4要更多一些,當然功耗也是更低,這些我們自己都實際測試過,當然我們的客戶也都測過。而晶片進入到睡眠狀態的話,RISC-V可能只要一個Cycle或兩個Cycle執行這個指令就能進入睡眠狀態,到6個Cycle就能夠喚醒過來。而且還有一個像斷電這種深度睡眠狀態的話,我們一般不同的核也有不同的實現。”
有利必有弊,這種高自由度的擴展能力雖能夠讓晶片實現自主定制,但在應用端也暗藏碎片化風險,這個問題自RISC-V誕生以來一直備受關注。與當年的MIPS類似,MIPS陣營的商業公司可以通過自由添加指令形成自己的指令集,比如中國的龍芯就是以MIPS為基礎添加了多達1000多條的新指令,進而形成了自己的指令集LoongISA。但這卻使得其在進行與硬體晶片相匹配的軟體發展時,即便同樣屬於MIPS架構的產品,也必須額外區分出龍芯自主版和MIPS版兩種版本,才能提供給應用端客戶。
RISC-V也同樣如此,由於RISC-V允許使用者自己任意添加新的指令,但照此趨勢發展下去,可能以後很多晶片廠商開發出的RISC-V架構處理器儘管都歸屬於同一RISC-V體系,但在實際應用搭配時卻不能夠適配同樣版本的軟體。尤其是中國市場,編者認為這種情況會更為嚴重,因為對於像RISC-V這種開源性的架構,很多晶片設計廠家可能更多的偏向於使用而很少分享,就像現在的手機安卓系統一樣,各手機品牌都做獨立自主開發,因此也演變出了各自不同的版本。況且,晶片與手機不同,在現在任何一種智慧設備當中,各類晶片的用量會更大,這樣的話,RISC-V類的晶片被應用的更多之後,應用端會出現非常多硬體和硬體之間、硬體與軟體之間的適配問題。
不過,業界某晶片設計企業人士卻表示:“從英特爾或者ARM的經驗來看,碎片化的確會造成它們‘發展不上去’。所以過去ARM為了防止碎片化,嚴格禁止使用者修改指令集,但是RISC-V解決的思路並不是嚴格限制,它的策略是建立一個簡易的小型指令集基礎和模組標準擴展,適用於大多數代碼,同時為不干擾標準指令集核心的應用特定擴展留出足夠的空間。”
這個體現在以下兩個方面:首先,是RISC-V的模組化指令集,它讓廠商在實現方案的時候能夠根據自己的需求選擇標準指令集組合,廠商完全沒有必要為不相容付出額外的成本;其次,指令集裡已經提前預留好了大量的定制指令空間,指令長度從16byte到1024byte理論上都支援,這些空間就是專門給定制處理器的廠商實現自己的指令集的。這樣一來,基本的軟體都能相容,遇到定制指令集,廠家提供預先設計好的函式程式庫就能在很好地保證效率的同時不失相容性。
的確,這在一定程度上減少了RISC-V碎片化的發生,但並沒有從根本上解決問題。目前,很嚴重的碎片化問題儘管現在還沒有出現,但隨著產業和技術的進一步發展,待整個圈子越來越大之後,編者認為這種風險發生還是具有不小的可能性,這需要引起業界的重視。因為這種問題一旦出現,哪怕只是一丁點,但對於RISC-V的發展卻可能會是毀滅性的打擊。這也是RISC-V基金會與整個產業界現階段必須直面的挑戰和風險,業界某晶片設計企業人士認為:“既要盡可能的讓RISC-V順利、靈活的發展,同時還要防止出現碎片化,這個‘度’的掌握的確很不容易。”(責編:June)

訂閱電子報 友善列印 字體大小:
獲取產業訊息零時差!立即訂閱電電公會電子報。