Microsemi 于 2017 年開始在其 FPGA 中提供 RISC-V 軟核,Lattice 于 2020 年開始提供,英特爾 (Altera) 于 2021 年開始提供,因此 Xilinx 是最后一家這樣做的主要供應(yīng)商(2024年5月30日)。
Microsemi 和 Gowin 的 FPGA 中也有 RISC-V 硬核,類似于 Zynq。對于 Microsemi 來說,由五個 64 位 SiFive U54/S51 內(nèi)核組成的集群(四個支持 Linux,一個“real-time”),根據(jù)FPGA等級分別以 600 或 666 MHz 運行,基本上是 FPGA 中降級的 HiFive Unleashed。
所以目前FPGA廠商不管硬核或者軟核都向RISC-V靠攏,對于一些“新”廠商,可以理解;對于像Xilinx或者Altera這種老牌廠商本身自己有基于RISC的軟核,為什么也向RISC-V發(fā)展呢?
下面我們先簡單看下RISC-V的發(fā)展,然后再分析一下這些FPGA廠商為什么選擇RISC-V。
RISC-V 發(fā)展
RISC-V(英語發(fā)音為“risk-five”)是一個基于精簡指令集(RISC)原則的開源指令集架構(gòu)(ISA),簡易解釋為與開源軟件運動相對應(yīng)的一種“開源硬件”。該項目于2010年在加州大學伯克利分校啟動,但許多貢獻者是該大學以外的志愿者和行業(yè)工作者。
其發(fā)展史及其標志性事件如下圖所示:
目前已經(jīng)有很多大公司加入到RISC-V“大家庭”中了,下面列舉了部分廠商:
RISC-V VS RISC VS ARM
乍一看,很多人可能會認為 RISC-V 是 RISC 的變體,而 RISC 是一種指令集架構(gòu)。畢竟,它們的名稱相似,因此很容易造成混淆。但這與事實相去甚遠。下面我們簡單介紹一下RISC-V和RISC,就會明白他們真正的區(qū)別。
什么是 RISC?
其實 RISC 是一個廣義術(shù)語,意為“精簡指令集計算機”。基本上,RISC 計算機本質(zhì)上是為運行更簡單的單個指令而設(shè)計的。與 CISC(復雜指令集計算機)相比,RISC 處理器對幾乎所有指令都使用統(tǒng)一的指令長度。相比之下,CISC 指令更復雜,可以執(zhí)行低級和多步驟操作。
簡單來說,RISC 處理器可以執(zhí)行更簡單、統(tǒng)一的指令,而 CISC 可以執(zhí)行復雜度和范圍各不相同的指令。每個 RISC 指令一次只能執(zhí)行一件事,而 CISC 指令可以同時執(zhí)行多件事。由于指令以更簡單的代碼編寫,并且本質(zhì)上更簡單,因此 RISC 處理器通常需要更多指令才能完成與 CISC 處理器相同的任務(wù)。可以通過提高 RISC CPU 使用流水線執(zhí)行這些任務(wù)的速度來抵消這種差異。由于它們更簡單,RISC 處理器的設(shè)計速度也可以比 CISC 處理器更快,并且可以運行更高效的代碼。
由于 RISC 本身不是一種架構(gòu),而是一個廣義的術(shù)語,因此許多 CPU 架構(gòu)都可以被視為 RISC。最著名的 RISC處理器架構(gòu)之一是 ARM,它為我們的智能手機以及一些筆記本電腦和計算機提供支持。其他包括 PowerPC,它長期用于 Apple 電腦和游戲機。同時,x86 可以被視為 CISC 設(shè)計,因為它更復雜。
RISC 一詞是由加州大學伯克利分校的 David Patterson 在 1980 年至 1984 年間領(lǐng)導的伯克利 RISC 研究項目創(chuàng)造的。事實證明,該項目非常成功,而“RISC”一詞后來涵蓋了所有精簡指令集計算機 - 甚至斯坦福大學在同一時間開發(fā)的競爭性 MIPS 項目最終也被稱為 RISC 架構(gòu)。至于那個特定的伯克利項目,它后來被 Sun Microsystems 開發(fā)的 SPARC 微架構(gòu)所采用 - 該架構(gòu)最終成為我們智能手機中 ARM 架構(gòu)的靈感來源。
什么是 RISC-V?
雖然 RISC 本身并不是一個特定的架構(gòu),但可能對一種使用 RISC 名稱的架構(gòu)感到困惑,那就是 RISC-V。它是由加州大學伯克利分校開發(fā)的指令集架構(gòu) (ISA),旨在體現(xiàn) RISC 處理器的原理,同時也是一個開源標準。雖然最著名的 RISC 架構(gòu) ARM 是專有的,需要芯片制造商的許可,但 RISC-V 是免費的,一般來說,每個人都可以免費使用。
但與 ARM 不同的是,RISC-V 的開發(fā)和發(fā)布旨在推出一種開源、可擴展且可部署在任何設(shè)備上而無需支付任何版稅的 CPU 設(shè)計。據(jù)設(shè)計人員稱,擁有一個免費使用的 CPU 架構(gòu)可以大大降低軟件成本。
所以我們對比 RISC 和 RISC-V 并沒有什么意義,我們簡單對比一下ARM VS RISC-V。
建模與架構(gòu)
從歷史上看,ARM 一直主導著微處理器市場,從低功耗設(shè)備到高性能處理器。這主要歸功于其許可模式,該模式允許各公司授權(quán) IP 并根據(jù)自己的應(yīng)用進行定制。此外,ARM 還開發(fā)了多個處理系列,例如用于高性能應(yīng)用的 Cortex-A、用于實時應(yīng)用的 Cortex-R 和用于節(jié)能應(yīng)用的 Cortex-M — 每個系列都成為各種應(yīng)用的非官方認可的性能標準。
另一方面,RISC-V 架構(gòu)的靈感來源于 ARM 的專有建模。伯克利的研究人員最初將該架構(gòu)作為一種開源替代方案,以促進技術(shù)創(chuàng)新。自那以后,它受到了谷歌和 Nvidia 等多家大型科技公司的青睞。
ARM 擁有成熟的軟件和硬件,可以幫助公司加快開發(fā)周期。它還擁有一系列具有成熟功能集的選擇。另一方面,RISC-V 的架構(gòu)提供了 ARM 設(shè)備無法提供的靈活性和一定程度的定制性。考慮到原始性能,ARM 將勝過任何 RISC-V 處理器。盡管 ARM 繼續(xù)保持其性能領(lǐng)先地位,但事實證明 RISC-V 可以提供更高的計算密度。這意味著將獲得具有相同性能的更小芯片。這在許多應(yīng)用中都是有利的,例如智能手表等可穿戴設(shè)備。
開放性和許可
RISC-V 和 ARM 都是指令集架構(gòu) (ISA)。但它們的主要區(qū)別在于 RISC-V 是開源 ISA,而 ARM 是私有 ISA (使用需要授權(quán))。
指令集
RISC-V 具有固定的指令集架構(gòu),其中包含基本整數(shù)指令集和可選擴展指令集,用于浮點運算、矢量處理等功能。ARM 具有多個指令集,包括 ARMv7、ARMv8 和各種擴展,如用于 SIMD(單指令、多數(shù)據(jù))操作的 NEON。
靈活性和定制性
RISC-V 具有更大的靈活性和定制性,因為它是開源的,使設(shè)計人員能夠根據(jù)自己的特定需求定制 ISA。ARM 雖然通過其擴展提供了一定程度的可配置性,但由于其專有性質(zhì)而受到限制。
生態(tài)系統(tǒng)和行業(yè)
ARM 擁有完善的生態(tài)系統(tǒng),包括各種處理器、開發(fā)工具和來自不同供應(yīng)商的支持。它廣泛應(yīng)用于移動設(shè)備、嵌入式系統(tǒng),并越來越多地用于服務(wù)器和數(shù)據(jù)中心。RISC-V 的生態(tài)系統(tǒng)仍在發(fā)展,但已獲得顯著的關(guān)注,尤其是在學術(shù)界、研究界和初創(chuàng)公司。它也在物聯(lián)網(wǎng)、邊緣計算和一些服務(wù)器應(yīng)用中受到關(guān)注。
性能和能效
ARM 一直將能效作為重點關(guān)注領(lǐng)域,并占據(jù)市場主導地位。他們已經(jīng)提供了專注于低功耗設(shè)備的能效和易用性的選項。此外,他們還提供適用于手機等高端應(yīng)用的硬件浮點和DSP 擴展選項。
還恰好有大量的節(jié)能功能可用。其中一些包括動態(tài)電壓和頻率調(diào)整,允許處理器根據(jù)實時要求降低或增加芯片的電壓和時鐘。另一方面,RISC-V 允許更小的硅片占用空間,這將使其具有功耗優(yōu)勢。此外,固定的 32 位指令格式和 16 位壓縮指令擴展可以幫助其實現(xiàn)更節(jié)能的代碼實現(xiàn)。總體而言,雖然 RISC-V 提供了降低功耗設(shè)備的潛力,但它還沒有達到這個水平。在 RISC-V 開始從 ARM 手中奪取市場份額之前,仍需要投入大量工作和時間。
成本和可訪問性
由于無需支付與 ARM 相關(guān)的許可費用,因此實施 RISC-V 內(nèi)核對公司而言可能更具成本效益。ARM 內(nèi)核通常需要支付許可費用,這會增加采用 ARM 架構(gòu)的設(shè)備的生產(chǎn)成本。
指令編碼
RISC-V 使用定長指令編碼,簡化了解碼邏輯。ARM 采用可變長度指令編碼,允許更緊湊的代碼,但解碼邏輯可能更復雜。
FPGA廠商擁抱RISC-V
首先,不論Altera的niso還是Xilinx 的 microblaze甚至Lattice的LatticeMico8/32 都是基于RISC的,那為什么目前主流FPGA廠商基本都推出了基于RISC-V的硬核或者軟核,個人認為這些廠商主要從以下幾點考慮:
創(chuàng)新和發(fā)展
RISC-V處于剛起步階段,其發(fā)展?jié)摿艽螅梢栽诮档凸摹⑿阅堋踩确矫孢M行優(yōu)化,同時又可以保持與其他設(shè)計的兼容性。同時RISC-V還支持需要加速和特殊功能的情況下自定義指令。當然,其未來怎么發(fā)展無從得知,現(xiàn)在加入這個領(lǐng)域,能占有一席之地。
RISC軟核的疲態(tài)
不論NISO還是MicroBlaze都已經(jīng)發(fā)展了很多年了,經(jīng)過多年的發(fā)展,目前兩者都是比較穩(wěn)定的,但是FPGA本身的結(jié)構(gòu)決定了其性能也有局限性,這個情況下,Altera采用多核化,而Xilinx也從PowerPC“進化”到 ARM 硬核,才逐漸被市場接受。
生態(tài)
對于處理器來說,生態(tài)才是最重要的,F(xiàn)PGA中的軟核一直不溫不火的另一個原因就是生態(tài)。之前所有的廠商都在“自建生態(tài)”,導致FPGA平臺更換后就需要針對新的平臺進行系統(tǒng)性的學習和適應(yīng),而且目前市場上得主流生態(tài)是ARM,想找一個會Nios II或者MicroBlaze的專職人員基本難于登天,所以目前都是FPGA人員兼職開發(fā)軟核(這并不是一個好的發(fā)展方向)。
還有一個問題,生態(tài)不行或者使用的人員少,就意味著沒有成熟的案例可以參考或者學習,更不用說是移植了,同時遇到問題沒有人能夠討論或者協(xié)助解決。所以對于軟核的使用大家都會遇到“新手期”長的問題。目前接入一個免費開源未來可能成為主流的ISA架構(gòu)領(lǐng)域還是很有必要的。
RISC-V架構(gòu)的特點
除了上面說到得一些特點外,RISC-V還有一個特點就是-凍結(jié)式ISA。基本說明被凍結(jié),并且已批準的可選擴展名也被凍結(jié)。由于ISA的穩(wěn)定性,因此可以放心地將軟件開發(fā)應(yīng)用于RISC-V。為RISC-V編寫的軟件可能在所有類似的RISC-V內(nèi)核上運行。未來有可能你在NISO-V上開發(fā)的軟件可以很方便的移植到MicroBlaze-V上。
FPGA的定制性
我們都知道RISC-V指令集采用了結(jié)構(gòu)化的指令集定義方式,這種方式的特點就是非常方便的實現(xiàn)指令的裁剪和擴展。我們都知道FPGA的優(yōu)勢之一就是可編程性,這就非常適合RISC-V的裁剪和擴展,可以搭建出實現(xiàn)任意指令的軟核。這時候我們可以針對特定的應(yīng)用(目前FPGA的定制化),定制合適的指令,就可以以最小的邏輯實現(xiàn)低功耗適合我們應(yīng)用的處理器。比如我們只實現(xiàn)串口或者SPI接口等簡單的應(yīng)用我們就不需要很復雜的指令,而針對復雜的處理架構(gòu)就需要多一點的指令。
戰(zhàn)略意義
之前傳出Arm和NVIDIA正在擦除“火花”,Intel和Arm的關(guān)系正在從微妙走向詭異。所以Intel對于RISC-V指令集肯定心有所動。網(wǎng)上還流傳出Intel要收購基于RISC-V指令集的處理器IP提供商SiFive的傳聞(后被證明不實),所以這些巨頭的動向會影響整個行業(yè)的風向,這意味著想要在行業(yè)內(nèi)不被淘汰,追隨或者超越這些行業(yè)巨頭的腳步未嘗不是一個好的選擇。
總結(jié)
目前主流FPGA廠商都推出了基于RISC-V的軟核,表明軟核處理器依然有著它獨特的作用和強大的生命力。未來發(fā)展可期,未來基于RISC-V的硬核SOC-FPGA也并不遙遠~
-
FPGA
+關(guān)注
關(guān)注
1630文章
21796瀏覽量
606005 -
RISC-V
+關(guān)注
關(guān)注
45文章
2322瀏覽量
46592
原文標題:為什么FPGA廠商擁抱RISC-V?不繼續(xù)發(fā)展RISC
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論