GRVI Phalanx如何實(shí)現(xiàn)千核處理器?
關(guān)于GRVI Phalanx ,它是一個(gè)大規(guī)模并行RISC-V FPGA加速器,由GRVI和Phalanx結(jié)合而成。其中GRVI是一個(gè)FPGA實(shí)現(xiàn)的RISC-V RV32I軟處理器核,同時(shí)也是手工藝映射和處理元素性能/面積俱最佳的并行處理器。GRVI實(shí)現(xiàn)了一個(gè)2或3級(jí)的單流水線,在Xilinx UltraScale FPGA板卡中消耗320個(gè)6-LUT,目前在一個(gè)Kintex UltraScale(-2)板卡的內(nèi)嵌BRAM中按照最佳布局并采用最佳配置時(shí)的最高運(yùn)行頻率可達(dá)300-375MHz。而Phalanx是一個(gè)大規(guī)模并行FPGA加速器框架,主要用來(lái)減少在開(kāi)發(fā)和管理FPGA加速器時(shí)所需付出的消耗和努力。此外Phalanx亦是一個(gè)大量軟核集群和加速器核的混合物,在具有Hoplite路由的片上網(wǎng)絡(luò)中可以提供額外的存儲(chǔ)和I/O接口。關(guān)于GRVI Phalanx的詳細(xì)信息可以在2016年IEEE第24屆國(guó)際FCCM研討會(huì)上發(fā)表的題為《GRVI Phalanx:A Massively Parallel Risc-V FPGA Accelerator Accelerator》的論文中查看。
GRVI processing element(PE)datapath RPM
1680個(gè)開(kāi)源ISA RISC-V處理器核于Virtex UltraScale+ VU 9P FPGA運(yùn)行:
博主Jan Gray近期發(fā)表了一片關(guān)于千核RISCV處理器的博客,文中提到目前已經(jīng)可以在Xilinx Virtex UltraScale+ VU9P(是一個(gè)中等規(guī)模的Virtex UltraScale+ FPGA板卡)板卡上同時(shí)并行運(yùn)行1680個(gè)開(kāi)源的RISC-V處理器核,并成功測(cè)試GRVI Phalanx大規(guī)模并行加速器框架。據(jù)博主所述,這是首例千核RISC-V成功實(shí)現(xiàn)運(yùn)行的應(yīng)用,同時(shí)也是無(wú)論使用什么技術(shù)在一個(gè)芯片上同時(shí)運(yùn)行32bit RISCV核數(shù)目最多的應(yīng)用。
下面是這1680個(gè)RISCV核運(yùn)行在FPGA板卡上的場(chǎng)景圖:
這個(gè)包含1680個(gè)核的GRVI Phalanx不僅是第一個(gè)可操作的千核RISC-V,還是第一個(gè)運(yùn)行在FPGA上的上千個(gè)32位RISC的核,也是單芯片上可以同時(shí)運(yùn)行32位RISC核數(shù)目最多的組合。
GRVI Phalanx的設(shè)計(jì)由210個(gè)處理器集群組成,每個(gè)集群中包含了8個(gè)開(kāi)源的RISC-V處理器核,128KB的多端口RAM,以及一個(gè)300-bit的Hoplite NOC路由。下圖是一個(gè)Phalanx 集群的結(jié)構(gòu)框圖:
8 GRVI Cluster and 288-bit payload Hoplite router
不過(guò), 需要注意的是,雖然RISC-V 精簡(jiǎn)指令集是開(kāi)源的,且在其官網(wǎng) 還有大量基于RISC-V指令集的開(kāi)源實(shí)現(xiàn),但是GRVI Phalanx加速框架卻不是開(kāi)源的。
總結(jié):
千核處理器的概念最先是由IBM提出的,同時(shí)IBM還研發(fā)了具有1025個(gè)核的低功耗高性能的微處理器??梢?jiàn)在追求單核運(yùn)行速度到極致的情況下,現(xiàn)在已經(jīng)涌現(xiàn)出多核,甚至是千核的并行運(yùn)算,而在單FPGA芯片上就可以成功運(yùn)行單核32位的千核處理器,足見(jiàn)Xilinx FPGA的能力不容小覷。