RISC-V開放源碼的指令集架構(gòu)為芯片公司帶來了更務(wù)實的選擇,超越普通的商業(yè)選項,避免承擔(dān)過度的策略風(fēng)險,特別是在消費(fèi)物聯(lián)網(wǎng)裝置上使用的小型嵌入式處理器…
過去十年來,開放源碼(open source)軟體已經(jīng)成為科技領(lǐng)域的最佳催化劑。如今,開放源碼的力量帶來了自由發(fā)展,所產(chǎn)生的社群也在硬體世界中得以立足?;谶@些原因,RISC-V贏得了極高的人氣。本文介紹RISC-V指令集(ISA)架構(gòu),以及如何在物聯(lián)網(wǎng)(IoT)時代改寫處理器生態(tài)的游戲規(guī)則。
什么是RISC-V?
RISC-V是一個開放的指令集架構(gòu),最初由美國加州大學(xué)柏克萊分校(University of California, Berkeley)的電腦科學(xué)系開發(fā),主要基于流行的精簡指令集運(yùn)算(reduced instruction set computing;RISC)原則,就和ARM、MIPS以及其他常見的商用處理器架構(gòu)一樣。
RISC-V在2010年開始成型,現(xiàn)在已經(jīng)成長為一個巨大的全球合作計劃,橫跨多所大學(xué)和工業(yè)領(lǐng)域。非營利的RISC-V基金會(RISC-V Foundation)為其提供了一致性,不僅指導(dǎo)底層ISA規(guī)范,也扮演市場引擎的角色來推廣RISC-V途徑。
需要澄清的是RISC-V的指令集架構(gòu),顧名思義是一項指令集的架構(gòu)規(guī)范,而不是一種具體的處理器設(shè)計。從開放源碼指令集架構(gòu)開始,很多的學(xué)術(shù)和產(chǎn)業(yè)團(tuán)隊創(chuàng)造了多種不同的處理器設(shè)計,但本質(zhì)上都采用同一種語言??焖贋g覽RISC-V基金會的網(wǎng)站,就可以看到上面展示了大量的處理器實作,從Rocket、Orca和PULPino等完整的開放源碼處理器設(shè)計,到生產(chǎn)商業(yè)處理器核心的公司,如SiFive、Codasip、Andes和Cortus。
這些當(dāng)代處理器的實現(xiàn)范圍十分廣泛,從簡單物聯(lián)網(wǎng)處理器到運(yùn)行Linux的應(yīng)用處理器,都是基于一套共同的指令集,從而反映出RISC-V較封閉式商用ISA的關(guān)鍵優(yōu)勢,即差異化和選擇的自由,以及可以更換處理器供應(yīng)商而不至于遭受產(chǎn)品重新架構(gòu)的痛苦。
圖1:RISC-V包含最小的32位元基礎(chǔ)指令集,以及一系列可擴(kuò)展至支援64位元、128位元運(yùn)算的指令集與其他擴(kuò)展。
免費(fèi)的所以一定存在風(fēng)險?
在這一點上,謹(jǐn)慎的做法是考察實際情況,查看新產(chǎn)品設(shè)計中影響處理器選擇的因素。如同大多數(shù)的設(shè)計決策一樣,它涉及很多技術(shù)和商業(yè)因素,有些是基于硬指標(biāo),有些則基于難以量化的方面。
技術(shù)指標(biāo)是不言而喻的:包括處理器是否具備足夠的馬力?支持后續(xù)產(chǎn)品的可擴(kuò)展性?是否匹配功率封包?是否滿足所需的安全層級?有沒有友好熟悉的軟體開發(fā)/除錯環(huán)境?用戶能否繼承之前的程式碼庫等等。商用標(biāo)準(zhǔn)必須考慮成本,例如面積(包括閘數(shù)和記憶體大小)、版稅和整個授權(quán)費(fèi)用。它還要考慮其他商務(wù)方面的因素,包括供應(yīng)商鎖定、保證與賠償、商業(yè)報告義務(wù)、進(jìn)行修改的合法權(quán)利等等。
考慮所有這些因素,大多數(shù)設(shè)計人員往往采取一種“安全”選項,通常使用一個專有的商用處理器,并且經(jīng)常綁定在以前使用的系列。然而,站在策略層面來看,很多公司對于選擇限制日益增加但強(qiáng)大的商用處理器IP供應(yīng)商感到不安。人們渴望擁有更多的商業(yè)自由,打破封閉指令集的鎖定,這不光是在授權(quán)和版權(quán)使用費(fèi)方面有意義,也有利于實現(xiàn)差異化。
這種需求使得RISC-V揚(yáng)帆起航。RISC-V開放源碼的指令集架構(gòu)為芯片公司提供了現(xiàn)實的選擇,超越普通的商業(yè)選項,避免承擔(dān)過度的策略風(fēng)險,就如同Linux、FreeRTOS和許多其他開放源碼的即時作業(yè)系統(tǒng)(RTOS)在今天無可爭辯的替代了商用作業(yè)系統(tǒng)(OS)。特別是在那些消費(fèi)物聯(lián)網(wǎng)裝置上使用的小型嵌入式處理器上,這種選擇非?,F(xiàn)實。許多知名的一級(Tier 1)公司,包括Western Digital (WD)和輝達(dá)(Nvidia),已經(jīng)公開宣布了自家公司的意圖,甚至著手展開了大規(guī)模的生產(chǎn)。此外,還有更多的公司正在評估RISC-V,其中一些甚至秘密地開始進(jìn)行先進(jìn)的設(shè)計。
圖2:RISC-V處理器核心性能比較
例如CEVA RivieraWaves的 Wi-Fi和藍(lán)牙IP產(chǎn)品設(shè)計。在RISC-V的潛力吸引下,這些通訊技術(shù)需要一個小型處理器以執(zhí)行協(xié)議堆疊,目標(biāo)就在于創(chuàng)建一個預(yù)先整合的參考平臺,讓客戶自由選擇處理器。由于IP的架構(gòu)設(shè)計滿足超低功耗的操作,即使是先進(jìn)的無線網(wǎng)路(Wi-Fi)配置,對于處理器馬力的需求也很溫和。
簡單來說,我們需要邏輯閘數(shù)少、能源效率高、成熟的處理器,再加上一個熟悉的商用級軟體開發(fā)環(huán)境,可以產(chǎn)生節(jié)省芯片面積的精簡程式碼。該處理器設(shè)計必須易于部署(全速執(zhí)行)在FPGA和ASIC/ASSP上,而且還必須具備與我們的授權(quán)IP業(yè)務(wù)相容的法規(guī)架構(gòu)。
例如,CEVA選擇20K閘數(shù)的RISC-V處理器核心,能夠達(dá)到2.44 Coremark/MHz這個不錯的成績,并且和硬體需求完全吻合。根據(jù)內(nèi)部的性能基準(zhǔn)和程式碼密集度測試結(jié)果顯示,已經(jīng)達(dá)到與同級最佳處理器相當(dāng)?shù)乃疁?zhǔn)。同樣重要的是根據(jù)我們的經(jīng)驗顯示,將一個完整的系統(tǒng)移植到RISC-V所需的工作量非常少。
以更復(fù)雜的Wi-Fi平臺為例,用嵌入式RISC-V處理器取代商用處理器,只需花費(fèi)一星期的時間,就完成了整合、模擬和創(chuàng)建一個新的FPGA二進(jìn)位檔,實現(xiàn)完整的RivieraWaves Wi-Fi 展示平臺。此外,已經(jīng)在多個不同商用處理器上進(jìn)行開發(fā)和部署多年的現(xiàn)有協(xié)議軟體,在兩周時間內(nèi)就能移植到RISC-V平臺了,包括移植、測試和系統(tǒng)級驗證。這一點也不令人意外,多虧了熟悉的GNU GCC/GDB和LLVM編譯器/除錯器環(huán)境。
總的來說,這個專案是一次重大的成功,RISC-V真正兌現(xiàn)了承諾。