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