晶心科技技術長暨執行副總蘇泓萌

為何一個由學術圈發起的開源硬體專案RISC-V,過去短短幾年在硬體業界迅速竄紅?不只Google、Nvidia、三星、高通等硬體大廠、科技巨頭押寶,更有許多新創晶片業者加入,甚至連行動處理器龍頭ARM都備感壓力。曾自創32位元指令集商用處理器的亞洲第一人,也是晶心科技技術長蘇泓萌,近日也深度剖析RISC-V背後的技術細節,以及將如何影響未來處理器發展及應用趨勢。

開源硬體RISC-V的出現,掀起新一波運算架構風潮

在業界擁有十多年商用處理器開發經驗的蘇泓萌,過去不只負責CPU產品開發及技術研發,更是一手主導開發出亞洲第一個自有指令集32位元處理器的關鍵人物,也是晶心科技成立加入的第一個員工,晶心科技在幾年前決定投入開發商用RISC-V產品時,蘇泓萌更一肩扛起產品技術研發的重擔。

一般來說,在設計一顆處理器很常用到的指令集架構,主要有複雜指令集(CISC)與精簡指令集(RISC)兩類,前者以Intel獨大的桌面x86處理器為代表,後者,則是多用於ARM獨占的行動處理器。但是,近來,另一種新興精簡指令集架構RISC-V,開始迅速在開源硬體圈竄紅。

該指令集最早是由加州大學柏克萊分校幾年前設計並發布,除了有來自2017年圖靈獎得主,也是RISC精簡指令集技術共同發明者David Patterson親自操刀,背後更有美國國防部DARPA大力資助。雖然2010年就已完成設計,但是直到2014年時,RISC-V正式推出第一版後,才獲得業界更大重視。

RISC-V正式推出後,很快就吸引為數不少的企業採用,晶片新創如SiFive等,後來,主要晶片大廠、科技巨頭相繼投入,包括Google、Nvidia、三星、高通等,甚至有硬體業者計畫要把RISC-V架構放進自家主力產品,例如,儲存廠商Western Digital決定每年採用10億顆RISC-V核心來打造儲存產品,Nvidia在開發新一代GPU時,更決定改用RISC-V微控制器,取代現有Falcon架構。就連三星也要開發自己的RISC-V晶片。

RISC-V開源架構興起有兩大關鍵驅力

RISC-V指令集架構之所以越來越重要,蘇泓萌分析有兩大關鍵驅力,一來是各種新興應用的出現,替現有CPU運算架構帶來新挑戰,尤其不同應用領域,對於處理器使用差異極大,特別是AI、5G應用場景,因此,需要有一個更有彈性而且開源的架構,才能滿足特定一類領域應用的需求;二來,通用處理器效能遭遇成長瓶頸,使得算力無法跟上應用需求,與以往每兩年翻新一代CPU的作法相比,現在不僅處理器技術更新時間變長,需要付出的成本更高,所以,業界希望徹底翻新指令集改用新架構,來提高執行效率,從而改善效能,讓同一代CPU能用更久,這也使得RISC-V趁勢而起。

蘇泓萌形容,RISC-V就是設計更為精簡的RISC指令集,但要說明RISC-V的重要性,得先從指令集架構談起。

一顆處理器為何需要指令集架構(ISA)? 蘇泓萌指出,所謂的指令集架構,就是一種軟體與底層硬體的溝通介面,想要讓軟體能夠在CPU上正常執行,就需要有一個指令集來去描述它,硬體才會知道接下來要執行哪些動作,如乘加法運算等,如果沒有指令集從旁協助,做為軟體與底層硬體之間訊息溝通平臺,上層應用軟體就沒辦法在CPU上執行。

更進一步來說,指令集就是提供這些指令,讓軟體工程師能以熟悉程式語言,如C語言,來執行各種底層硬體的操作,以RISC-V為例,這些應用程式碼寫完後,會先經過編譯器轉成機器語言可執行的RISC-V指令,再送到處理器硬體上來執行,由處理器上面的邏輯電路、控制電路,依照這些指令來一道一道執行,完成相應工作,如乘除運算或存取記憶體資料等。

RISC-V本身最多能容納1,200個客製指令

從技術上來看,蘇泓萌認為,RISC-V最大特色,就是擴充性。不像ARM架構指令集,除了必要的基本指令和一些自選擴充指令之外,RISC-V本身預留了一個客製指令的擴充空間(custom instructions),而且這個指令客製空間相當充裕,以32位元RISC-V指令集為例,RISC-V本身保留相當於4個25位元長度的指令擴充空間,可供用戶替CPU增加專屬指令。蘇泓萌舉例,光是一個25位元的空間,就可以定義300個指令,4個合計就多達1,200個指令,這也意謂著,大大增加CPU使用上的擴充彈性。「這是它與ARM的最大差別。」他說,這正是RISC-V的優勢。

蘇泓萌舉例,特別在執行一些高效能應用時,如AI推論等,就需要有這樣的彈性。這是因為,為了追求更高處理效能,所以,硬體廠商在設計CPU時,常常會加入不一樣的客製化指令,來加速AI運算,現有的CPU設計沒有足夠彈性,遇到新應用或新作法時,沒辦法馬上調整,得等到下一代產品設計,但RISC-V架構就很適合客製。

設計簡潔則是RISC-V處理器另一大特色,只需要較少指令就能在硬體上執行,蘇泓萌說明,這樣的好處是,硬體設計更容易,也較不占空間,執行速度也可以更快。目前光是RISC-V標準加上自選指令(M、A、F、D、C),僅不到140個指令,相較之下,ARM指令集數目最少數百個以上,例如,ARMv8就超過500個指令,指令格式種類也比RISC-V多一倍。除了必要指令外,RISC-V本身也提供了一些自選擴充指令,企業用戶可視應用需求,自行搭配組合常用的RISC-V指令,目前常見自選擴充指令,像是有整數乘除法、不可中斷指令(Atomic)、浮點運算(單精度/雙精度)、壓縮指令等等。

雖然RISC-V有這些彈性,任何人都可以基於RISC-V製作屬於自己的CPU,但蘇泓萌也強調,設計者必須要是專業CPU設計廠商,才具備有這方面領域的技術知識,並非任何一家公司都能自己做,實作上仍有相當程度的技術門檻。

AI、AIoT、5G應用領域將是RISC-V發展的重要關鍵

不過,現今主流的商用RISC處理器,仍以ARM主導,蘇泓萌則認為,RISC-V未來更大發展,將聚焦AI、AIoT、5G等新興應用領域,甚至他更大膽預測:「5年後,RISC-V晶片出貨量將能超越ARM。」

以AI應用為例,他指出,由於目前許多AI應用場景,仍處於發展階段,並不如手機、PC市場成熟,因此,至今還沒有一個通用CPU標準,可以說自己是Perfect for AI,即使是同一個語音辨識應用,大家現在用的演算法、加速運算方式也有所差異,而直接影響到硬體設計方式,這正是RISC-V的長處,可以量身打造專屬功能的硬體,來貼近應用本身需求,「因為RISC-V是Perfect for Adaptation、Perfect for Customization,」他表示,這也是RISC-V一大機會。

即便是現在手機裡的處理器,將來也都能改用RISC-V來設計。因為,一隻手機裡並不是只有一顆CPU,而是有很多顆,除了主要處理器是採ARM架構,還有許多次要CPU在手機裡,來負責提供周邊功能,如Wi-Fi、藍牙、螢幕觸控等。另以系統來看,也是如此,雖然目前主要CPU還是Intel獨占,但是需要加速運算部分,現在可採用其他處理器,這些也是RISC-V擅長之處,就連儲存和GPU也都能用。蘇泓萌強調,RISC-V處理器更大目標要取代現在主要CPU。

再者,RISC-V架構上完全開源無須授權,因此,對於採用者來說,較不容易受到特定廠商綁定的影響,使用上也更具彈性。小從IoT晶片,大到AI加速器都能用。

在行動CPU市場領先的ARM看到RISC-V正急起直追,ARM決定改變策略,不再堅持採用過往較封閉的作法,也開始放寬指令集使用限制,讓企業用戶能夠在原本取得IP設計授權的CPU指令集內增加新指令,但未含手機常用的高階Cortex-A處理器系列。

獨立運作的RISC-V基金會,成為擴大生態系發展的關鍵

就像Linux如今已經成為軟體界的開源OS代表,RISC-V也有望成為處理器界Linux,讓所有運算裝置都能用。─── 晶心科技技術長 蘇泓萌  (攝影/洪政偉)

RISC-V不是第一個開源的精簡指令集,在這之前,早已有其他發展多年的開源ISA問世,如OpenRISC、SPARC等,不過,蘇泓萌直言,RISC-V最大不同,就是成立一個可以獨立運作的RISC-V基金會,來負責統籌管理和推動整個RISC-V生態系的穩定與健全發展。

2015年時, RISC-V基金會成立,短短不到4年,成員快速成長,除了許多新創,更有Google、三星、高通、Nvidia等知名大廠加入,大大加速了整個RISC-V生態的發展,截至今年12月,參與會員數達到325個,包含軟硬體廠商、學術機構和個人會員等。而且還與另一家知名開源軟體Linux基金會合作,來共同推廣RISC-V。今年上半,更首度在臺舉行RISC-V技術研討會。

在這一波開源硬體浪潮中,臺灣沒有缺席,晶心科技就是RISC-V基金會創始成員之一,共同協助推動RISC-V生態系的發展,該公司在2017年底時,更開發完成第一款商用RISC-V處理器IP產品,也是臺灣第一家。今年初,該公司更將原先自家處理器產品使用多年的DSP指令集(RISC-V P-extension)捐贈給RISC-V基金會,目前該指令已經成為自選的RISC-V擴充模組之一。

隨著更多硬體與軟體廠商投入,RISC-V生態系正在迅速發展和成熟,例如在作業系統方面,目前RISC-V已能支援Fedora、Ubuntu、Suse等各種Linux作業系統版本,而且就算是RTOS即時作業系統也都能用,如亞馬遜FreeRTOS等;另外,在開發工具部分,今年也有主流的開源編譯器正式加入RISC-V支援行列,如LLVM 9.0等。除此之外,蘇泓萌提到,接下來,還會加入各種應用及中介軟體的支援,而且將朝向更高效能的處理器來發展,同時強化安全性。

今年到目前為止,已取得授權使用晶心RISC-V產品的國內外業者,多達100家,涵蓋多種裝置或設備,包括儲存、藍牙、無線網路裝置,甚至是資料中心伺服器的AI推論加速器都有。蘇泓萌表示,這些RISC-V商品最快明年問世,同時,他也看好明年RISC-V更大需求,會在Edge端,這也意謂著,將有機會影響2020年微處理器市場的競爭局勢,「明年肯定精彩可期。」他信心滿滿地說。

就像Linux如今已經成為軟體界的開源OS代表,蘇泓萌說:「RISC-V也有望成為處理器界Linux,讓所有運算裝置都能用。」文⊙余至浩

 

CTO小檔案

蘇泓萌

晶心科技技術長暨執行副總

學歷:美國伊利諾大學香檳分校計算機系博士

經歷:曾一手主導開發出亞洲第一個自有指令集32位元處理器IP,早前也擔任過智原科技的設計架構長,負責CPU及DSP專案研發、技術支援銷售,更在美國矽谷累積10多年業界經驗,協助如昇陽電腦等硬體大廠完成商用處理器的開發,如今,更一肩扛起晶心RISC-V產品研發的重擔

 

公司檔案

晶心科技

● 公司地址:新竹市公道五路三段1號10樓

● 成立時間:2005年

● 主要業務:32位元處理器為核心的SoC設計平臺

● 網址:www.andestech.com

● 創辦人暨董事長:蔡明介

● 總經理:林志明

● 員工數:約170人

● 年營收:約3.04億元(2018年)

公司大事紀

● 2005年:Andes Technology成立

● 2006年:完成第一版32位元處理器AndeStar的指令集架構

● 2007年:完成SoC開發平臺AndeShape AG101P的開發

● 2008年:發表第一代以FPGA為基礎的開發板、完成BSP 2.0最佳化工具鏈

● 2009年:32位元AndeStar處理器指令集發布第2版、開源釋出自有開源碼開發工具OSDK

● 2010年:L2快取記憶體控制器開發完成

● 2011年:完成MCU專用偵錯器

● 2016年:加入RISC-V基金會,成為創始會員,協助推動RISC-V生態系發展,也用來開發商用RISC-V處理器IP產品、新版客製化SoC架構ACE完成,可以支援更多指令客製化功能、開發出適用物聯網應用的新款處理器、設計平臺

● 2017年:在臺掛牌上市、完成開發基於RISC-V的第五代AndeStar V5指令集架構

● 2019年:將自有的DSP指令集捐贈給RISC-V基金會,讓晶片業者可以用它來設計專屬應用CPU


Advertisement

更多 iThome相關內容