爲啥最強開源CPU是中國的?硅谷大V靈魂發問,震動50萬人在線圍觀

「爲啥性能最好的開源CPU是中國的?」

就這兩天,海外大V的一條發問,在國外科技圈引發廣泛熱議。

這條信息兩天內就吸引了超過50萬次閱讀、點贊量超5k。

Hackernews上也掀起了相關討論。

“香山”處理器的GitHub Star在2天內迎來了一波暴漲。

而這個CPU說的不是別人,正是中科院計算技術所的核心成果,國產自研CPU:香山。

被熱議和討論的還不止CPU本身,也包括背後的項目:一生一芯。

老外感嘆:中國人正在一磚一瓦建設核心工程。

背後自然是認可,所以項目核心負責人,中科院計算所研究院包雲崗教授也表達了感慨:

簡單來說,這次“香山”項目爆火出圈有點意外。

發佈該推特的大V George Hotz是開源自動駕駛公司Comma AI的總裁,日常對芯片硬件領域非常關注。前段時間他給AMD替代CUDA的方案挑出了bug。

他推特中提及的“開源最強”,追溯數據可以追溯到2024 RISC-V歐洲峰會上,香山最新版本“昆明湖”在SPECint 2006測試中,以3GHz的頻率達到了標準化分數45。

其性能可以媲美ARM Neoverse N2,是目前已知性能最強的開源處理器。

△XiangShan: Empowering Open-Source RISC-V Innovation with High Performance Processor and Agile Infrastructure

具體對比可以參考下圖:

有人表示,儘管很難找到先進版本x86和ARM內核的SPECint2006分數,因爲它們都使用PECint2017,最後的時鐘頻率也會有比較大影響;但由於“昆明湖”是在3GHz下,所以表現是相當不錯的。

事情引發熱議後,中科院計算技術研究所研究員包雲崗也在知乎發表迴應。

包雲崗表示,香山開源CPU項目已經啓動5年,現在隨着產業發展,更加堅定了開源CPU這個信念。

目前,香山項目已經取得了一定進展。

性能上可以媲美ARM Neoverse N2,同時也已集齊了產業落地的“八大金剛”企業客戶。

原回答如下:(上下滑動查看所有內容):

透過這一最新迴應,香山項目的發展脈絡也更加清晰地呈現出來。

香山項目的啓動可以追溯到2019年。

包雲崗和團隊的唐丹博士一直認爲要建立一個像Linux那樣的開源RISC-V核主線,既能被工業界廣泛應用,又能支持學術界試驗創新想法。

於是在中國科學院支持下,由中國科學院計算技術研究所牽頭髮起了“香山”高性能開源RISC-V處理器項目。

之後團隊做了一年多的準備工作,直到2020年6月,香山處理器的正式開發工作開始,GitHub代碼倉庫也隨之建立,之後在深圳鵬城實驗室完成了主要的物理設計流程。

據介紹,流水線前端、後端、訪存流水線、L1 Cache、L2/L3 Cache 等在內的關鍵代碼均由香山團隊獨立實現。

一年多之後,香山處理器第一版(雁棲湖架構)在2021年7月投片。

雁棲湖架構面向單核場景,支持RV64GC指令集,在28nm的工藝節點下達到1.3GHz的頻率。

2022年1月,雁棲湖芯片回片併成功點亮,能夠正確運行Linux/Debian等複雜操作系統。

這中間,2021年12月,香山的研發團隊也進一步發展壯大,與16家機構聯合成立了北京開源芯片研究院,進行香山處理器核的產品化改造和後續架構研發。

在第一代投片前的兩個月,第二代香山芯片——南湖的設計工作也已經啓動。

南湖V1版本面向雙核場景, 支持RV64GCBK指令集,於2023年11月投片,在14nm工藝節點下頻率達到2GHz。

南湖V2版本則包含了MBIST等改進設計,於2023年4月投片,同年10月回片併成功點亮啓動Linux。

南湖V3版本將包含更多的微結構、PPA改進,目前項目正在進行中。

2022年8月24日,中科院計算所、北京開源芯片研究院、騰訊、阿里、中興通訊等成立了聯合研發團隊,正式開展第三代香山(昆明湖架構)的聯合開發。

△圖源:“香山開源處理器”公衆號

昆明湖的設計探索,以及南湖的產品化,自此被確立爲香山項目接下來的兩項工作重點。

去年8月的第4屆RISC-V中國峰會上,基於南湖的開發板正式亮相,併成功運行了《雲·原神》。

△圖源:“香山開源處理器”公衆號

而根據團隊發佈的雙週報顯示,2023年11月,昆明湖的研發已經接近尾聲,此表述最後一次在雙週報中出現是在去年4月。

在此之後的雙週報顯示,昆明湖各組正在持續推進面積、時序、功耗的優化。

不過目前,香山處理器還沒有實現量產。

官方表示,香山將保持半年左右的微結構迭代週期、流片週期,除了微結構之外,還希望探索並建立一套高性能處理器的敏捷開發流程。

從技術角度看,香山處理器選用了Chisel硬件描述語言,微架構採用了亂序六發射結構、訪存子系統分離的設計。

研發團隊將訪存子系統分離開,包括兩條load流水線,兩條store addr流水線,兩條store data流水線,以及獨立的load隊列和store隊列,store buffer等。

目前南湖微架構的技術文檔已經完整公佈,整體結構如下:

具體來說,香山處理器前端流水線包括分支預測單元、取指單元、指令緩衝等單元,順序取指。

南湖架構採取了一種分支預測和指令緩存解耦的取指架構,分支預測單元提供取指請求,寫入一個隊列,該隊列將其發往取指單元,送入指令緩存。

取出的指令碼通過預譯碼初步檢查分支預測的錯誤並及時沖刷預測流水線,檢查後的指令送入指令緩衝並傳給譯碼模塊,最終形成後端的指令供給。

後端包括譯碼、重命名、重定序緩衝、保留站、整型/浮點寄存器堆、整型/浮點運算單元。

處理器的流水線後端負責指令的重命名與亂序執行。

如下圖所示,香山處理器(南湖)後端可以分爲CtrlBlock、IntBlock、FloatBlock、Memblock這4個部分。

CtrlBlock負責指令的譯碼、重命名和分派, IntBlock、FloatBlock、MemBlock分別負責整數、浮點、訪存指令的亂序執行。

(在第三代香山處理器即昆明湖的後端還新增了VectorBlockworlds,負責向量的處理)

香山處理器的MemBlock包含核內的訪存流水線及隊列,以及與訪存流水線緊耦合的一級數據緩存。

其中包含兩條load流水線,彼此分離的兩條sta流水線和兩條std流水線,load和store流水線分別負責維護訪存指令的順序信息。

最新的昆明湖架構還沒有詳細的技術文檔,但團隊已經公佈了整體的架構圖。

可以看出其結構整體上與南湖相似,但後端的各個Block中的具體實現也有不少變化,還增加了一個處理向量的Block,另外部分環節的緩存容量也有提升。

開源協議方面,香山採用木蘭寬鬆許可證第2版,堅持開放全部設計源碼和流程,並歡迎來自社區的貢獻。

“香山”項目意外翻紅,也把海外網友給整焦慮了。

在評論中,還有人非常肯定地表示:這正意味着中國在解決基本硬件問題。

有人就說了,美國最好的芯片架構師都在英偉達和蘋果,沒人搞開源。

甚至還有人上升到,如果邏輯和數學是中國的強項,那這將如何影響計算機的未來呢?

還有人扒到了“一生一芯”計劃:

這裡提到的其實是中國科學院大學在2019年啓動的一項計劃。

簡單來說,就是以流片爲目標,讓本科生主導完成一款64位RISC-V處理器SoC芯片設計並實現流片,芯片能成功運行Linux操作系統以及學生自己編寫的國科大教學操作系統UCAS-Core。

首批參與計劃的學生只有5人,經歷幾年,規模已逐漸擴大到6000餘人。

這個計劃的核心目標就是在“開源共享”的理念下,突破傳統課程邊界,縮短人才從培養階段到投入科研與產業一線的週期。

類似的模式可以參考上世紀在MIT風靡一時的Mead-Conway式培訓,它也是主打讓學生全流程設計製造芯片。後來,很多學生就拿着自己的課程設計奔赴硅谷創業。

總之,在2025的開年,國產開源開始頻繁刷屏。

在討論“香山”之餘,就有人表示:

參考鏈接:[1]https://x.com/realGeorgeHotz/status/1874842750967005566[2]https://news.ycombinator.com/item?id=42576242[3]https://riscv-europe.org/summit/2024/media/proceedings/posters/51_poster.pdf[4]https://docs.xiangshan.cc/zh-cn/latest/backend/overview/