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