如果您希望可以時常見面,歡迎標星 收藏哦~
「一個架構、數十種應用程序、數十億個處理器」這是在今年10月22日召開的RISC-V Summit 2024上,英偉達多媒體架構/ASIC 副總裁Frans Sijstermans所發表的關於英偉達在RISC-V領域的主題演講。通過最新的一次披露,我們才了解到,英偉達實際上在這一領域已經深耕多年。
英偉達的RISC-V歷史
早在2015年,英偉達就將RISC-V選定爲其專有Falcon MCU的繼任架構。Falcon一直是英偉達專有的控制處理器,負責在GPU芯片中完成關鍵的控制任務。然而,隨着技術的快速演進,新興用例對Falcon的功能和性能提出了更高要求,現有的CPU架構和指令集(ISA)都難以滿足。通過比較多種指令集,英偉達認爲RISC-V是下一代ISA的正確方向,並且稱「RISC-V 是唯一符合我們所有標準的架構。」
各種指令集的綜合比較
(來源:RISC-V in NVIDIA,2017)
2016 年,英偉達將基於RISC-V指令集架構的新型GPU系統處理器 (GSP) 解決方案取代其代號爲Falcon的快速邏輯控制器處理器。這款新型RISC-V處理器的代號爲NV-RISCV,被用作GPU的控制器核心,協調大量GPU核心中的所有內容。
NVIDIA RISC-V Story,2016
(來源:英偉達)
爲了實現從專有架構向RISC-V的這一轉型,英偉達在內部自主研發了RISC-V的硬件與軟件。如今,幾乎所有的MCU內核都基於RISC-V架構。在過去近十年的時間裏,英偉達已經累計量產了約30億顆基於RISC-V內核的芯片。同時,英偉達保守估計,預計到2024年,英偉達芯片中將出貨約10億個RISC-V核心。
根據英偉達公開的資料,目前英偉達已經推出了三類RISC-V控制器核心,分別是NV-RISCV32、NV-RISCV64和NV-RVV,每一類核心都針對特定應用進行了優化,展現了極高的靈活性和可擴展性,逐漸取代了英偉達專有的Falcon MCU:
NV-RISCV32:支持RV32I-MU指令集,包括乘法、壓縮和浮點運算功能。它們使用順序執行架構,單發射,性能達到1.8 CM/MHz,主頻爲1.8 GHz。
NV-RISCV64:支持RV64I-MSU指令集,增加了位操作和原子操作功能。其使用亂序執行架構,雙發射,性能提升至5 CM/MHz,主頻爲2 GHz,並支持對稱多處理(SMP)。
NV-RVV:在NV-RISCV32的基礎上增加了向量擴展(1024位),以支持高性能向量運算。
英偉達還在RISC-V核心上增加了超過20項自定義擴展功能,主要包括三大類:(一)功能擴展:支持64位物理地址/虛擬地址擴展,提供2KB頁面大小的支持;(二)安全性:集成ICD(In-Circuit Debug)的安全調試功能,支持ROM內存保護;(三)性能優化:提供緩存操作擴展以提升性能。
英偉達RISC-V核心的模塊化設計還包括多個關鍵組件,如中斷控制器、Trace Buffer、在電路調試模塊以及引導和控制寄存器等。這些模塊與NV MPU(內存保護單元)、PMP(物理內存保護)和PMA(物理內存屬性)相結合,確保了高效的任務執行和數據處理能力。
一個架構:Peregrine子系統
英偉達的Peregrine子系統是其RISC-V生態系統中的關鍵設計之一,展現了高效資源利用和模塊化構建的優勢。Peregrine子系統的核心設計理念是複用。它通過將RISC-V核心與通用外設相結合,不僅減少了硬件的冗餘,還優化了軟件開發流程。
Peregrine採用模塊化的構建策略,支持多種配置選項:例如,外設模塊的存在與否可以根據具體需求靈活調整;RISC-V擴展可以按需啓用,以適應不同應用場景;緩存(Cache)和TCM(緊耦合存儲器)的大小支持參數化設置,確保資源分配的最優化。
從架構上看,Peregrine子系統由多個關鍵模塊組成:核心模塊是由NV-RISCV核心以及指令緩存(ICACHE)和數據緩存(DCACHE)組成。外設則包括中斷控制器、隨機數生成器、郵箱通信模塊、定時器。加速引擎含有DMA、RSA/PKA、AES哈希引擎。存儲系統包括ROM、ITCM和DTCM,與GPU控制平面和內存系統緊密集成。
Peregrine子系統的設計特別適用於GPU控制任務以及其他需要高效資源管理的場景。這種靈活的模塊化設計使其能夠支持多種功能,同時通過參數化的配置選項進一步適配特定需求。
Peregrine生態系統將所有英偉達產品中的嵌入式硬件和軟件統一起來,通過消除基礎原語(如隔離和加密)中的重複設計,大幅優化資源使用效率。這種統一的架構設計不僅減少了開發成本,還最大化了英偉達產品在軟件和硬件層面的協同作用。
Peregrine生態系統採用高度可配置的架構設計,能夠輕鬆適配不同的產品、功能和部署需求。這種靈活性使得英偉達的產品能夠快速響應市場變化和客戶需求,同時爲新功能的開發提供了堅實基礎。
安全性是Peregrine生態系統的核心支柱之一,其設計包括:
統一的物理攻擊緩解措施:爲所有硬件提供一致的保護。
深入的安全研究投資:主動探索並解決潛在的安全風險。
安全架構基礎:基於Peregrine和NV-RISCV架構的安全框架,爲GPU軟件的安全性提供了可靠支持。
Peregrine子系統通過高度複用和模塊化的設計策略,不僅增強了英偉達在RISC-V生態中的競爭力,也爲硬件架構的高效化提供了新的範式。這一子系統展現了英偉達在開源技術與專有創新結合上的深厚積累,爲GPU控制和加速任務提供了強大的支持。
英偉達將RISC-V用在了哪裏?
據Frans Sijstermans的介紹,基於RISC-V架構,英偉達開發了兩種處理器:
1
基於RISC-V的GPU系統處理器(GSP)
英偉達的GPU系統處理器(GSP)是一個基於嵌入式RISC-V架構的核心組件,專門用於優化GPU與主機處理器之間的協作。
從硬件結構來看,GSP位於主機處理器與GPU的中間層,通過PCIe接口與主機通信,並直接控制GPU的硬件單元和視頻內存。GSP基於模塊化設計,結合了多個嵌入式RISC-V核心及協作組件:包含多個RV64核心,一致性互連(Coherent Fabric)、統一TCM/緩存,還有一些外圍模塊。內存接口連接到GPU的視頻內存。IOPMP(輸入輸出內存保護)提供內存訪問的安全保障。
GSP具有三大重要的功能:(一)內核驅動卸載:GSP接管了許多傳統上由主機內核驅動程序完成的功能,減輕了主機處理器的負擔,提高了系統整體效率。(二)減少GPU對CPU的暴露:GSP通過中間抽象層的方式,將GPU的低級硬件細節封裝起來,降低了GPU在系統中直接暴露給CPU的複雜度。(三)封裝GPU低級細節:GSP的軟件模塊負責對GPU底層功能的封裝,爲上層軟件提供了簡化的接口,同時增強了系統的安全性和可靠性。
GSP的架構設計允許PC或GPU在雲端被多個遠程用戶共享使用,特別適合虛擬化和多租戶環境。
英偉達的GPU系統處理器(GSP)不僅在硬件層面展現了強大的性能優化能力,其軟件架構同樣體現了高度靈活性和安全性。具體而言,GSP的軟件架構支持多分區模式,允許GPU資源在多個虛擬機(Guest VM)之間共享。GSP內部的資源管理器負責爲每個虛擬GPU(vGPU)分配計算時間、內存等資源,確保各分區能夠高效運行而互不干擾。每個Guest VM的驅動程序僅與其對應的vGPU運行時分區進行通信,確保虛擬機之間的隔離性和數據安全性。通過卸載內核驅動任務,GSP支持機密計算功能,爲高安全性應用提供支持。
這一切強大的功能,都是RISC-V架構所提供的基礎支持,包括安全性和隔離能力以及爲GPU集成量身定製的擴展功能。
2
基於RISC-V的深度學習加速器(DLA)
英偉達的深度學習加速器(Deep Learning Accelerator,DLA)利用RISC-V架構的模塊化設計和RVV向量擴展,爲深度學習任務提供了高效的硬件加速能力。
硬件層面,DLA採用的是包括NV-RISCV32 (RV32IMC) 和 NV-RVV(RISC-V向量擴展),分別用於標量和向量計算。模塊化設計中包括卷積核心、SDP(縮放與動態精度處理)、矩陣變換和優化模塊RUBIK、CDP(壓縮與解壓模塊)、Cfg DMA(可配置DMA)。內存接口集成了ITCM、DTCM和VTCM等緊耦合存儲器,用於高效數據訪問。另外,卷積緩衝器和內存接口優化了數據流傳輸和並行計算。
在編譯器上,DLA的編譯器集成了RVV編譯器和RISC-V通用編譯器,編譯器可以將多個節點(nodes)整合到一個RVV內核中,優化硬件計算效率。DLA硬件模塊直接通過運行時和編譯器與高層應用交互。DLA特別適用於深度學習訓練、推理優化等應用場景。
在應用上,RISC-V已經在其產品中實現了從功能級別控制到芯片與系統級別控制再到數據處理的全面覆蓋。具體來看,在功能級別,RISC-V被用於處理視頻編解碼、顯示、攝像頭控制、內存控制器(主要應用於訓練任務)等核心功能。同時,它也在芯片間接口和上下文切換等領域扮演關鍵角色。在系統級別,RISC-V負責資源管理、電源管理以及安全控制,進一步提升了芯片的整體運行效率和可靠性。此外,RISC-V還被應用於數據處理任務,例如網絡中的數據包路由以及深度學習加速器(DLA)中的非GPU任務處理,展現出其在高性能計算中的潛力。
從時間線來看,英偉達對RISC-V的應用始於2018年的Turing架構,當時主要聚焦於硬件與軟件的基礎設計。到2020年的Ampere架構階段,RISC-V的應用逐步擴展至IP集成。在2022年的Ada和Hopper架構中,英偉達進一步強化了RISC-V在安全領域的能力。而展望2024年即將推出的Blackwell架構,英偉達表示將繼續聚焦RISC-V在性能和擴展性上的突破。
英偉達在RISC-V生態的角色
英偉達在RISC-V社區中的角色已經成爲該公司技術戰略的重要一環。作爲RISC-V International(RVI)的核心成員,英偉達在董事會和技術指導委員會中擁有代表席位,同時也是RISE(RISC-V安全生態系統)的核心成員,並在董事會中擁有代表席位。
技術貢獻方面,英偉達在多個關鍵領域深度參與了RVI的技術工作組(WG),包括內存模型、虛擬內存、可信執行環境(TEE)、擴展權限管理(ePMP)、輸入輸出內存保護(IOPMP)等。此外,英偉達還在外部調試安全、指針屏蔽、控制流完整性、內存標記以及指令/數據一致性等技術方向上做出了顯著貢獻。
與此同時,英偉達充分利用了RISC-V社區的技術成果,包括從開源項目中廣泛使用GCC、LLVM、Spike、QEMU、合規性測試工具和SPDM庫等。此外,英偉達還採用了AdaCore的Ada/Spark編譯器技術,用於實現高安全性和編譯器認證。
通過在社區治理、技術貢獻和成果利用等多方面的深度參與,英偉達在RISC-V領域的佈局已經不僅僅侷限於芯片技術層面,還展現了其在推動開源生態系統發展中的領導地位。這種戰略選擇不僅增強了自身技術實力,也爲RISC-V架構的廣泛應用注入了強大動力。
結語
綜上可以看出,作爲一種開源指令集架構,RISC-V憑藉其靈活性和可擴展性,逐步成爲英偉達產品技術棧的重要組成部分。而且英偉達近來開始走向定製化解決方案的策略,而RISC-V開放架構所提供的自由度和擴展性爲英偉達的定製化策略提供了很大的基礎。
定製化策略的好處體現在以下幾方面:1)硬件與軟件可以協同設計,能夠實現更高的性能和功能整合,從而滿足特定行業需求。2)客戶只需爲實際需求配置支付費用,無需承擔額外的硬件功能成本。對於需要獨特功能、高性能和可靠性的行業,如人工智能、高性能計算和嵌入式系統,英偉達的這一策略無疑將成爲重要的推動力。