讓 ARM 感到壓力的開源指令集 RISC-V,彼此間不一定要分高下決生死

作者 | 發布日期 2018 年 09 月 19 日 8:00 | 分類 晶片 , 軟體、系統 , 開放資料 follow us in feedly

RISC-V 指令集從 2014 年正式發表第一版用戶手冊時面臨多方質疑,到後來成為印度國家指令集,再到今年中國發表首個 RISC-V 支援政策。經過短短幾年,RISC-V 不僅有政策支援,企業和學術圈對這個開源指令集的關注度不斷提高,甚至讓 ARM 也感到壓力。隨著 RISC-V 商業落地向前推進,業界也充滿了期待,但是從指令集設計到最終應用,我們對 RISC-V 或許有些誤解。



個月完成指令集設計只是「玩笑」

RISC-V 要從 2010 年說起,當時加州大學柏克萊分校一支研究團隊準備啟動新專案,為新專案選架構的時候研究團隊看到 ARMMIPSSPARC 和 x86 等,但這些指令集不僅越來越複雜,還有很多 IP 法律問題。所以團隊臨時組了一個 4 人小組,展開一個 個月的暑期小專案,設計新的指令集,目標是新指令集能滿足從微控制器到超級電腦等各種大小的處理器。具體地說,RISC-V 指令集架構簡單、完全開源且免費,將基準指令和延伸指令分開,可透過延伸指令自訂化模組和延伸。需要指出的是,RISC-V 的基準指令確定後將不會再變化,這是 RISC-V 穩定性的重要保障。

有觀點認為柏克萊分校 個月就能設計出一套全新指令集,這表明指令集設計沒有那麼難,更大的難點在於指令集的生態建設。但其實 RISC-V 從 2010 年開始到 2014 年才正式發表第一版用戶手冊,中間經過 年。還有一點不容忽視,RISC-V 指令集架構之前,柏克萊分校已有四代 RISC 指令集架構的設計經驗,第一代 RISC 指令集早在 1981 年就出現,因此指令集的開發簡單與否並不是那麼容易有結論。

▲ David Patterson 教授帶領研製的五代 RISC 處理器。

至於 RISC-V 的生態建設,成立於 2014 年,致力於網路邊緣端進行智慧邊緣計算的法國新創公司 GreenWaves Technologies CEO Loic Lietar 接受專訪時發表了看法。他表示:RISC-V 身為後來者生態的建設正在快速發展,也正在快速成熟。從 2015 年非獲利性組織 RISC-V 基金會(RISC-V Foundation)成立,兩年內有 150 多個單位加入,包括 Google、華為、輝達、高通、麻省理工學院、普林斯頓大學、印度理工學院、中國中科院計算所等。

▲ Loic Lietar。

RISC-V 微處理器的相容性不是問題

▲ RISC-V 基金會(RISC-V Foundation)。

隨著 RISC-V 生態快速發展,許多人都擔心 RISC-V 的開放及可延伸性會出現版本分裂及相容問題。Loic Lietar 指出:「相比手機、PC 及一些高效能處理器,應用於感測裝置的微控制器對生態的相依性沒有那麼高。從 GreenWaves 的角度看,我們基於 RISC-V 的 32 位元微控制器主要針對物聯網等終端機市場的邊緣計算需求,一個裝置將長時間重複執行幾個應用,並不會像手機或電腦安裝和移除不同應用程式,因此對軟體相容性的依賴程度並不是問題。同時,我們內建基於 RISC-V 標準的延伸指令集以獲得最佳效能和能效,這是我們與其他競爭對手最不同的地方。另外,微控制器市場的生態很多開源,我們的處理器已移植 Arm Mbed OSFreeRTOS,未來我們還將不斷移植,適應終端機在不同生態圈的發展需求。我們還開發了一些專有工具,可幫助軟體開發人員為我們的 核並列架構自動生成最佳化的軟體程式碼。」

對系統移植會否影響處理器效能的疑問,Loic Lietar 答案是否定。他說:「比如在我們的 GAP8 微控制器架構下,執行的一般都是簡單即時作業系統(RTOS)。因為我們的應用場景中,雖然裝置需要完成的工作是高效能的,但從程式碼量和重複性來看相對簡單,並不需要複雜作業系統支援。所以各種 RTOS 對效能的影響並不嚴重。」

除了軟體和 OSEDA 工具的完善度也會影響 RISC-V 的發展,Loic Lietar 對此表示,無論是他們現有產品還是下一代產品,EDA 工具都足以滿足開發設計需求,目前也沒有因為缺少 RISC-V 的特殊工具出現問題。

由此可以看到,基於 RISC-V 的微控制器對生態的依賴程度確實還沒那麼高,那對更高效能的 RISC-V 處理器又如何呢?

RISC-V 只有物聯網邊緣端處理器?

RISC-V 指令集設計的目標是滿足從微控制器到超級電腦各種大小處理器的需求,不過目前看到更多是 RISC-V 物聯網終端機處理器。對此,Loic Lietar 表示:「32 位元微控制器相對高效能處理器,技術與市場接受度難度肯定不一樣。從 32 位元處理器開始可看作由簡到難的過程,我們參與的開源計畫 PULP(義大利波隆納大學 Universities of Bologna 和瑞士蘇黎世聯邦理工學院 ETF Zurich 共同成立的實驗室,旨在研究超低功耗並列架構),也是從最精簡的 32 位元處理器開始設計,慢慢有了 64 位元處理器,可執行 LinuxRISC-V 有個較好基礎,可提供 3264128 位元指令集。指令集與核心不同,有更多可能性,且 RISC-V 指令集架構可針對各種不同的應用,以標準方式延伸。」

他同時指出,RISC-V 技術在不同市場的發展和落地,從 32 位元到 128 位元處理器在不同場景的應用,技術並沒有太大問題,此時來自市場的需求將對 RISC-V 的應用方向有主導作用。當下人們更專注於 RISC-V 現在能做什麼,而非未來能做什麼。

GreenWaves 通用處理器 GAP8 定位在長期依賴電池的邊緣計算裝置,旨在為智慧城市、智慧家居、智慧工業和自主無人機等不同場景下工作的裝置提供超低功耗邊緣計算、智慧邊緣計算的能力。

RISC-V 比 ARM 更適合物聯網和 AI

雖然被問及 ARM 為何會在 月底建立網站以「設計系統晶片之前需要考慮的 5 件事」為主題,從成本、生態系統、版本分裂風險、安全性和設計保證方面攻擊 RISC-V 時,Loic Lietar 表示,他也不清楚,這答案 ARM 或許更清楚。但對 RISC-V 是否更適合物聯網和 AI,他表示:「我們從一開始就看準物聯網市場,2016 年就在考慮如何讓物聯網更豐富,而不僅限一些簡單功能。『豐富』代表更豐富的資訊來源,如影像,聲音,震動等。 如何能在電池驅動的情況下,維持數年對豐富資訊的區域處理(即超低功耗邊緣計算)便成了定下的研究與發展方向。為對應此需求,我們需要更有針對性的架構滿足需求。RISC-V 不僅為我們提供龐大且快速發展的社群,且還給予我們創新架構以達極致能效的機會,無需購買昂貴的架構許可證。RISC-V 出現之前,這是不可實現的。」

▲ GreenWaves 基於 RISC- V 處理器的開發板。

因此,GreenWaves 推出針對物聯網市場的超低功耗應用處理器,旨在邊緣端(感測器端)依賴電池做長期複雜運算,如行人監測、臉部偵測、語音關鍵字辨識、震動辨識等。 具體地說,GAP8 可用 3.44mW 完成一次行人偵測,0.5mW 完成一次人臉偵測。也就是說,依靠一節普通電池,用間隔喚醒方式工作,我們可維持數年的邊緣 AI 工作。效能方面,基於 CNN 影像辨識的影像辨識演算法 Cifar10 中,GAP8 比 STM32H7 有最小 16 倍最高 75 倍(使用硬體加速器)能效優勢。且 GAP8 為通用處理器,不僅能執行 CNN 演算法,還有更大的彈性在端側進行其他類別的複雜運算。

Loic Lietar 還認為,物聯網在邊緣計算潛力巨大,但這樣需求主要受限於市場缺少能依賴電池做長時間邊緣計算的處理器。隨著像 GAP8 的產品誕生,我們可找到不同的應用場景,進一步延伸物聯網市場。

競爭中都能找到立足點

在 ARM 針對 RISC-V 提出的 個問題中,生態系統、版本分裂以及設計保證的問題上文中都已經有了明確的答案,還未提及的成本和安全性問題其實答案也非常明確。基於開源套件的設計使 GreenWaves 能夠將資源集中在其自我加值上,而不是開發或購買核心 IP,這使他們在開發產品的時候成本可以大幅度降低,同時提升資本效率。

安全性方面,Loic Lietar 表示,GAP8 有支援安全啟動和安全執行的所有硬體功能。開源軟體世界中,我們已經看到,設計的公開性對安全性有非常積極的影響,因為程式碼可供大量開發人員和研究人員檢視、測試。市場已多次證明,藏起來的安全設計其實不真正安全。

最後談到競爭,Loic Lietar 表示:「我們真切感受到 RISC-V 市場的發展趨勢,也從中受益良多。在人工智慧物聯網領域,我們能效與眾不同,從事邊緣人工智慧研究超過 年,競爭才剛剛開始。我相信在物聯網的大市場中每家公司都可找到立足點。我們的產品已於 月上線,許多用戶都開始使用我們的開發板,第一批生產訂單將很可能來自中國。當然,為了保持領先地位,下一代產品已在開發,也代表我們在能源效率和計算能力方面邁出又一大步。」

RISC-V 指令集開源給全世界廠商發展物聯網市場的好機會,在政策、企業、研究所的共同推動下,RISC-V 正在迅速壯大,所以 ARM 感到壓力並不讓人意外,但物聯網市場夠大,無論 ARM 還是 RISC-V 都能發揮重要價值。

(本文由 雷鋒網 授權轉載;首圖來源:shutterstock)

延伸閱讀: