一款RISC-V CPU的誕生

我(指代本文作者YIFTACH GILAD,nextsilicon創始人,下同)在英特爾工作了18年,從事處理器研發。我從未想過自己會組建一支優秀的團隊,並從零開始,採用全新的架構打造一款CPU。Arbel的這段經歷值得講述,我希望它能為高性能RISC-V產業開闢新的天地。

在我的職業生涯的大部分時間裡,CPU 就是我的全部。我參與過架構、設計和執行等各個環節,近距離見證了建構高性能處理器核心所需的一切。這是電腦領域最艱巨的工程挑戰之一。它需要深厚的架構判斷力、多年積累的知識、一絲不苟的細節把控,以及一支經歷過只有真正的 CPU 團隊才能理解的錯誤教訓的團隊。

所以,當我第一次見到 Elad Raz 和 NextSilicon 的創始人時,他們告訴我他們想製造自己的 CPU 核心,我並沒有立刻說:“好主意。” 我以為他們在做夢。

NextSilicon 最初並非一家 CPU 公司。它是一家年輕的公司,致力於打造一種新型加速器,基於一種全新的資料流架構,該架構能夠根據正在執行的工作負載,通過軟體動態地重新配置硬體。在公司內部,我們稱之為軟體定義硬體。這一理念最終演變成了 Maverick,我們面向高性能計算和人工智慧工作負載的加速平台。當時的雄心壯志可謂無比宏大。

隨後,埃拉德提出了一個更具雄心的觀點:僅僅加速是不夠的。如果NextSilicon想要建構下一代計算基礎設施,我們不能僅僅建構加速器。我們需要掌控整個計算平台,包括CPU、加速器、記憶體、網路、軟體以及它們之間的互動方式。

為此,我們需要自己的處理器核心。不是小型嵌入式控製器,也不是“足夠好”的核心,而是真正的高性能處理器核心。

當時,我認為這幾乎是不可能的。並非因為這個想法本身有問題,而是因為我深知它的真正含義。打造一款具有競爭力的CPU核心並非幾個聰明人憑空捏造就能完成的。它需要領域專業知識,需要微架構經驗,需要嚴謹的驗證流程,需要對物理設計進行深入研究,需要軟體支援,還需要耐心。

這還需要信譽。

人類的挑戰

說服優秀的CPU工程師加入這項任務並非易事。他們中的許多人曾在大型處理器公司工作多年,深知其中的艱巨性。他們也知道有多少公司嘗試過卻以失敗告終。他們明白,所有關於CPU的簡報在幻燈片上看起來都很完美,而真正的晶片才能揭示真相。

所以,挑戰不僅在於技術,還在於人。

我們必須讓人們相信這不是天方夜譚。我們必須讓他們相信,一個精幹的小團隊,只要組建得當,就能完成通常需要更大組織才能完成的事情。我們必須讓他們相信,NextSilicon 並非因為 CPU 聽起來時髦才去製造它,而是因為我們的架構需要它。

慢慢地,合適的人開始加入。他們加入後,我們的使命就變得清晰起來:我們要把核心系統打好。

我們的首要目標很實際,但並非人們通常理解的那種加速器。Arbel 並非一款獨立的 CPU 產品,它最初是 Maverick 平台內部的一個項目,旨在滿足其需求。在高性能計算 (HPC) 領域,工作負載自然分為平行和序列兩部分。平行計算密集型部分運行在 Maverick 的資料流架構上,而序列部分(無法平行化的部分)仍然依賴於強大的 CPU。我們需要高性能的 RISC-V 核心來高效處理序列執行,而 Maverick 則專注於平行工作負載。

這就是後來 Arbel 的開端。

第一代產品並非旨在取悅市場,而是為了向我們自己證明我們方向的正確性。它是一個亂序執行、超標量、僅處理整數的 RISC-V 核心,整合在加速器中。其目的是建立信心、驗證架構,並為我們未來的發展奠定堅實的基礎。

它成功了。它運行了Linux系統,也運行了BusyBox軟體。這證明了夢想並非只是夢想。從那時起,我們繼續前進。

我們增加了更多功能,提升了系統複雜性,從內部基礎設施轉向了更高性能。我們繼續建構核心系統、圍繞核心系統的元件、驗證環境、性能模型和軟體棧。

我們加入了真正高性能CPU所需的所有元件:向量運算能力、一致性、更強大的記憶體結構、更廣泛的執行範圍以及更好的系統整合。我們不再僅僅侷限於能否製造一個核心,而是著眼於能否製造出一款能夠成為下一代計算平台重要組成部分的CPU。

接下來是下一個重大步驟:Arbel 測試晶片。

真實矽片——真實印象

正是從這裡開始,該項目不再僅僅是 Maverick 的內部支援工具。測試晶片是一款雙核、相干、高性能的 RISC-V 系統,運行頻率為 2.4 GHz,支援 PCIe Gen5、CXL 和基於 CHI 的片上網路。我們將其與現成的 CXL DDR 和 PCIe 元件整合,用於記憶體、磁碟、網路和 USB。換句話說,我們不僅僅是製造了一顆晶片——我們製造了一台迷你電腦。

一套真實的系統。真正的矽晶片。運行Linux和Ubuntu系統。開箱即用,支援GCC和LLVM。運行基準測試。運行真實軟體。展示真實性能。並且公開展示,不是渲染圖,也不是未來承諾,而是可運行的硬體。

這很重要。

RISC-V 世界已經見證了許多精彩的演講,許多發展路線圖,以及許多大膽的宣言。但高性能 CPU 晶片卻截然不同。當你真正拿到晶片的那一刻,一切都變了。

對我們來說,這一點始終至關重要。我們只在拿出晶片進行展示後才選擇公開討論。因為在CPU設計領域,幻燈片固然重要,但晶片才是真理。

測試晶片不僅讓我們對功能充滿信心,也讓我們對性能充滿信心。與硬體開發同步,我們建構了一個周期精確的模擬器,用於性能分析和評估。我們將其與FPGA進行了對比,然後又與矽晶片進行了對比。這種對比至關重要,因為它使我們能夠更有信心地從當前的測試晶片過渡到下一代晶片。

而下一代產品是 Arbel 伺服器級 CPU。

Arbel 最初是為了支援我們的 Maverick 加速器而設計的。但我們周圍的世界發生了變化。人工智慧變了,高性能計算變了,資料中心也變了。這讓我們意識到,Arbel 的故事已經超越了 Maverick 本身。

多年來,業界似乎認為加速器就是一切。GPU、定製加速器、矩陣引擎、張量單元,所有這些都至關重要。但隨著人工智慧系統變得越來越智能、互動性越來越強、也越來越複雜,僅僅依靠加速顯然是不夠的。

我們開發 Arbel 的原因是,智能體 AI 改變了 CPU 需要執行的操作。

人工智慧代理不僅僅是一個運行靜態推理過程的模型。它會呼叫工具,觸發程式碼,檢索資訊,協調服務,執行複雜的流程,跨系統通訊,管理記憶體,並與作業系統、網路、儲存、資料庫和其他加速器進行互動。

在那個世界裡,CPU不再是可有可無的部件。它需要運行速度快、響應迅速,並確保整個系統持續運轉。它需要為加速器提供資料,協調軟體棧,管理工作負載中不可預測的部分,並處理隨著人工智慧系統自主性增強而變得愈發重要的控制流。

這是當今電腦領域最大的變革之一。

加速器仍然至關重要,但圍繞加速器建構的系統也變得同樣重要。如果CPU無法跟上速度,整個平台都會受到影響。瓶頸將從數學引擎轉移到編排、記憶體移動、調度、網路和軟體執行。

為什麼Arbel 很重要

Arbel 的設計理念源於工作負載需求,而非沿用現有架構的限制。我們探究下一代 AI 和 HPC 系統對 CPU 的具體需求,尤其是在 CPU 與 Maverick 等自適應加速器協同工作的情況下。我們思考如何建構一款既能滿足傳統資料中心工作負載需求,又能滿足智能體 AI 新興需求的處理器。

最終成果是一款專為下一代人工智慧和高性能計算系統設計的CPU,它基於開放式指令集架構(ISA),賦予客戶更大的控制權。量產版處理器將在此基礎上更進一步。

也正是在這個時候,RISC-V 不僅僅是一個有趣的指令集架構選擇。

一開始,我對RISC-V知之甚少。在英特爾工作了18年後,我深信x86架構,並認為它會在未來很多年裡繼續保持高性能架構的主導地位。但隨著我們對RISC-V的研究不斷深入,它變得越來越有趣。

這個決定並非輕而易舉。一方面,RISC-V 賦予了我們自由。我們不再依賴於專有的 CPU 路線圖,無需等待其他公司的優先順序,也沒有限制我們建構內容的許可結構。我們可以為自己的系統設計所需的架構。

另一方面,RISC-V生態系統尚不成熟。軟體棧仍在開發中,伺服器規範也在不斷演進。問題不僅在於我們能否製造出RISC-V CPU,更在於RISC-V生態系統能否快速成熟,從而使RISC-V能夠在高性能計算和資料中心基礎設施領域擁有強大的競爭力。我們決定冒險一試。

現在看來,我認為當初的決定是正確的。

RISC-V 生態系統取得了顯著進展。軟體棧更加強大,規範日趨成熟。社區正從嵌入式和學術討論轉向真正的伺服器級計算。在 NextSilicon,我們已經建構了多代 RISC-V 晶片,並制定了面向完整伺服器級 CPU 的路線圖。

Arbel 是一款 64 核伺服器級高性能 CPU 晶片組。它專為滿足資料中心的需求而設計,包括虛擬化、安全性、可靠性、可偵錯性、高頻寬 I/O 和現代記憶體配置。它適用於獨立伺服器以及與 Maverick 等加速器協同工作的系統。

但最重要的不是清單,而是核心內容。

高性能CPU核心並非通過在框圖上加入功能而建立,而是由數千個精細的微架構決策構成,包括:取指頻寬、分支預測、記憶體分配、執行、記憶體排序、快取層次結構、載入到使用延遲、一致性、向量和浮點單元、驗證、時序、功耗、面積以及物理實現。

這就是領域專業知識的重要性所在。很多團隊都能實現指令集架構(ISA),但只有極少數團隊能真正建構出高性能的CPU核心。

在 Arbel 項目中,我們做出了多項體現這些經驗的深層次架構選擇。我們建構了一個強大的前端,具備高讀取速度,而無需依賴昂貴的微操作快取。我們設計了一種虛擬 L1 快取結構,在解決別名和標籤管理等實際難題的同時,實現了低載入到使用延遲。我們建構了一個原子性的 L1 填充和驅逐流水線,降低了硬體複雜度,避免了不必要的緩衝。我們設計了強大的執行資源、高效的記憶體操作、向量和浮點運算能力,以及擴展所需的底層架構。

這些並非行銷噱頭。它們是決定CPU是否真正可靠的關鍵細節,而且除非團隊擁有CPU設計方面的經驗,否則這些細節很難做到盡善盡美。

這就是我為團隊的成就感到自豪的原因。這不僅是因為我們打造了一款雄心勃勃的產品,更是因為我們以高性能CPU設計所需的嚴謹態度完成了它。我們最初抱持懷疑態度,但我們成功研發出了第一批晶片,將核心整合到Maverick系統中,不斷擴展功能,建構了完整的測試晶片,運行了實際軟體,驗證了性能。現在,我們正朝著伺服器級CPU的目標邁進。 (半導體行業觀察)