近年來,整個電子行業(yè)似乎都為 RISC-V 感到瘋狂。但什么是RISC-V?您將能如何參與其中?如果您曾經(jīng)閱讀過相關資料,您會知道它是一種處理器,并且目前市場上已經(jīng)有相關芯片可以使用。您可能還知道它是“自由和開放的”,主要是因為它令人興奮并擁有龐大的粉絲群。
讓我們撥開迷霧,找出這項技術的真正意義所在。
首先,我們必須弄清楚,RISC-V是一種指令集體系結構或ISA ,而不是處理器。這意味著,如果您選擇基于RISC-V ISA,則RISC-V背后的社區(qū)已經(jīng)對處理器設計的工作方式進行了描述。當我們說“設計”時,實際上是指創(chuàng)建具有所有寄存器,累加器,數(shù)學運算,存儲器總線以及其他所有部件的處理器。
ISA記錄了受支持的操作,內(nèi)存尋址功能,堆棧的功能以及發(fā)生中斷時的情況,僅舉幾例。關于支持的操作,它說明了使用多少位對指令進行編碼以及使用哪些位對所需的任何操作數(shù)的源進行編碼。
RISC V讓人興奮的原因在于其ISA是免費開放的。開放意味著任何人都可以為它的發(fā)展做出貢獻,而自由意味著它不需要花錢就可以使用。
但是,就像Arduino電路板設計是開放和免費使用的一樣,這并不意味著不需要花錢就可以買到一塊電路板,并且同樣適用于構建基于RISC-V的理想設計。
RISC-V在競爭什么?
每個處理器都有一個ISA;幾乎所有專利都是專有的,而其實有些是可許可授權使用 的。Microchip生產(chǎn)的器件使用8位和16位PIC處理器,并且在某處有一個ISA來描述它們。這些是專有的內(nèi)核,屬于Microchip并在其微控制器中出售。
如果您想構建自己的微控制器,則可能要看一下Arm和MIPS。這些專有核心可作為知識產(chǎn)權(IP)許可。他們背后的企業(yè)將把ISA轉換為良好的處理器設計,開發(fā)支持它們的工具,創(chuàng)建其他相關基礎結構并向您收取使用費。但這些ISA面臨的挑戰(zhàn)是這些選項不能完全滿足您的期望。
您的新應用可能需要非常快地執(zhí)行一項任務(例如加密),但功耗卻很小。潛在的可許可處理器IP可能以100條指令執(zhí)行您的任務。如果現(xiàn)在希望降低功耗,則需要找到專門用于低功耗的硅制造設施(fab),這可能比“通用”制造工藝昂貴,從而導致您難以置信的產(chǎn)品對于您的目標市場而言過于昂貴。
但是,您可能會有一些聰明的工程師,可以通過為處理器創(chuàng)建新指令來優(yōu)化代碼的執(zhí)行時間,但是由于ISA是專有的,因此您不允許對其進行修改。因此,您陷入了需要用制造方法解決的處理器性能問題。稍后對此進行更多討論。
開箱即用的RISC-V
RISC-V的出現(xiàn),基本解決了上述問題。當前,他們定義了32位和64位ISA,并且也正在使用128位ISA。這些基本定義被命名為RV32I和RV64I。如果選擇RV32I,將有49條指令供您使用。順便說一句,“ I”代表“整數(shù)”。其中包括所有基本的整數(shù)算術和邏輯指令(ADD,SUB,AND,OR,XOR),移位,比較,跳轉和鏈接,以及一些系統(tǒng)指令。如果您希望支持緊湊代碼,則可能對“ C”選項感興趣。這提供了16位指令編碼,類似于Arm Thumb模式。也可以添加乘法和除法(M),原子(A)和浮點(F,D和Q)指令。
下一步是根據(jù)硬件描述語言[(HDL)(例如VHDL或Verilog)中所選選項的規(guī)范來設計處理器內(nèi)核。由于這并不容易,所以這就是社區(qū)所關注的方面。設計處理器需要很多技巧,因此有很多人和企業(yè)為您提供現(xiàn)成的設計。如果您想走“免費”路線,由ETH Zurich和Bologna大學創(chuàng)建。他們的CV32E40P RV32IM C實現(xiàn)可在GitHub 上找到,如果您想了解如何實現(xiàn)這種的方法,指令解碼器也在其上。另一個實現(xiàn)是BOOM項目,這是由加利福尼亞大學伯克利分校開發(fā)的高性能且可參數(shù)化的體系結構研究核心。
圖1:使用RISC-V實現(xiàn)的 BOOM項目 開發(fā)過程。
如果您急于需要一些支持,那么您將需要花一些錢,并從SiFive 之類的企業(yè)處獲得實現(xiàn)的許可。它們具有可用的32位和64位設計,你們也可以對其進行定制。
如何試用RISC-V?
盡管RISC-V已經(jīng)存在了一段時間,但沒有太多可供我們測試的芯片。在行業(yè)背景下,RISC-V還是相對較新的。如果您熱衷于微控制器,那么您將了解整個行業(yè)中大多數(shù)人是如何采用Arm的,而不再使用其專有的內(nèi)核。那是一項戰(zhàn)略性的長期投資。現(xiàn)在轉向RISC-V只會節(jié)省支付給Arm的特許權使用費,并且不會給用戶帶來什么好處。他們還需要使他們的開發(fā)團隊在RISC-V上達到最新,將其與所有其他IP(模擬,計時器,總線,接口,內(nèi)存)集成,更新開發(fā)IDE,編譯器,調試器等。
如果您擁有Seagate或Western Digital硬盤驅動器,則可能已經(jīng)在“使用” RISC-V 。但是您實際上是想在此內(nèi)核上運行代碼,而不僅僅是擁有使用它的產(chǎn)品。最快的方法是使用模擬器,例如ESEO提供的emulsiV ,該模擬器 使用其RISC-V核心實現(xiàn)“ Virgule”( 圖2 )。
圖2:使用emulsiV模擬器,任何人都可以在其Web瀏覽器中試用RISC-V。
除了處理器之外,模擬器還提供一些指令輸入/輸出,位圖輸出和一些通用I / O(GPIO)。七個示例涵蓋了基礎知識,從添加和輸出ASCII文本到控制GPIO。“ animation”(動畫)選項(復選框的頂部中間)是一個不錯的選擇,它顯示了所有數(shù)據(jù)的來源以及代碼執(zhí)行時的去向。
如果愿意,你可以嘗試將 清單1中 的代碼復制到文本編輯器中,然后將文件另存為program.hex,然后將其上傳到模擬器中。
清單1:用于emulsiV模擬器的原始HEX代碼,將其保存并上傳為program.hex。
如果您想以Arduino格式體驗RISC-V,則可通過CrowdSupply 獲得HiFive1 RevB 。它使用SiFive FE310-G002微控制器。這是一款僅具有數(shù)字外設(I 2 C,UART,SPI,PWM,GPIO)和某些SRAM的準系統(tǒng)設備,依靠片外QSPI閃存實現(xiàn)非易失性存儲。該評估板包括Wi-Fi和藍牙模塊以及用于USB調試的Segger J-Link。
性能范圍的另一端是Microchip PolarFire SoC 它將四個64位RISC-V內(nèi)核與一個FPGA一起放置。這提供了一個高度可配置的平臺,該平臺可以運行Linux,同時支持硬實時應用程序。
如何自定義我的RISC-V?
之前,我們提到RISC-V的實際好處是您可以調整指令集以滿足個別應用的需求。這意味著,如果找到的處理器能滿足95%的需求,那么則可以添加一些漂亮的額外功能來實現(xiàn)剩余的5%。假設您的應用大量使用ChaCha 流密碼,如Imperas的應用筆記中所述,Imperas是另一種提供驗證,分析和性能分析工具的RISC-V播放器。
您已經(jīng)在RISC-V內(nèi)核上運行了ChaCha實現(xiàn),并且注意到它正在消耗大量的處理時間。您不僅希望縮短執(zhí)行時間,而且還希望受益于由于執(zhí)行時間減少而帶來的功耗下降,也許可以使用它進入低功耗睡眠模式。
清單2:實現(xiàn)ChaCha流密碼的C代碼。
代碼( 清單2 )在稱為“quarter rounds”的步驟中廣泛使用XOR和旋轉指令,為此已編寫了四個C qrX_c()函數(shù)。甲ProcessLine從()函數(shù)調用這四個函數(shù)來執(zhí)行加密。對執(zhí)行時間的分析表明,處理器在此任務上花費了大約55%的時間,其中大約32%的時間分布在quarter-round 功能中( 圖3 )。
圖3:使用標準C編譯的代碼,ChaCha密碼流需要大約55%的處理器時間。
使用RISC-V,我們可以簡單地實現(xiàn)四個專用的quarter-round指令,這些指令在一個周期內(nèi)執(zhí)行,而不必依賴C編譯器強制生成的代碼。這是因為ISA中保留了一部分,用于自定義說明。
最初,我們可以將指令添加到RISC-V設計中,并用C編寫該指令的實現(xiàn)。這可以模擬新指令以測試其功能,并檢查性能是否可以提高。在這種情況下,借助定制的RISC-V內(nèi)核上可用的專用quarter-round指令,processLine()函數(shù)所需的可用處理器性能不到15%( 圖4)。 )。如果這被認為是成功的,則開發(fā)團隊可以在Verilog中開發(fā)指令的硬件實現(xiàn)。
圖4:通過使用專用的,新開發(fā)的指令,ChaCha密碼流處理器的負載下降到不足15%。
遺憾的是,使用新指令并不像重新編譯C代碼那樣容易( 清單3 )。修改RISC-V編譯器以利用新指令是一項巨大的工作。取而代之的是,使用內(nèi)聯(lián)匯編器以與手工優(yōu)化代碼相同的方式調用十六進制編碼的指令。
清單3:使用新的RISC-V指令。
我該如何對此貢獻?
如果您有興趣幫助RISC-V的持續(xù)開發(fā),那么您很幸運!RISC-V International 是負責開發(fā)和推廣RISC-V的所有事物的值得信賴的組織( 圖5 )。個人可以作為社區(qū)成員加入,或者,如果您想在此基礎上發(fā)展職業(yè),那么有很多企業(yè)和大學都在積極參與其中。
圖5:RISC-V International的官方徽標,該徽標促進和支持ISA的開發(fā)。
如果您期望各種各樣的RISC-V微控制器進入市場,您可能會感到失望。GigaDevice提供了一些設備,還有俄羅斯供應商針對智能電表市場提供的另一種設備。但是,他們表現(xiàn)欠佳。因為Arm對大型企業(yè)根深蒂固,即使沒有處理器使用費的加工商的財務利益,初創(chuàng)企業(yè)也將難以在這個飽和的市場中競爭。
取而代之的是,我們更有可能看到RISC-V用于專門的應用,在這些應用中,定制內(nèi)核的能力帶來了巨大的好處,例如超低功耗。
RISC-V面臨著有關向中國授予技術許可的問題,它正在證明是從美國獲取IP企業(yè)的一種流行替代方案。阿里巴巴宣布以16納米制程制造的16核,2 GHz,64位RISC-V ,并表示正在考慮將該核用于服務器基礎架構。最后,歐洲處理器倡議一直在研究異構架構,這些架構可以同時看到Arm和RISC-V(或其他內(nèi)核)。這里的目的是通過為多核設計中的每個計算難題使用最佳處理器來獲得兩全其美的效果。
RISC-V并不是首次免費開放嘗試使用處理器IP,但是迄今為止,它是最成功的嘗試。憑借其悠久的歷史,靈活性,開放的態(tài)度,學術界的興趣以及廣泛的行業(yè)支持,這項技術將在整個職業(yè)生涯中陪伴一代或更多的工程師。
? ? ? ?責任編輯:tzh
評論
查看更多