繼X60和X100之后,進(jìn)迭時空正在基于開源香山昆明湖架構(gòu)研發(fā)第三代高性能處理器核X200。與進(jìn)迭時空的第二代高性能核X100相比,X200的單位性能提升75%以上,達(dá)到了16 SpecInt2006/GHz,單核性能提升125%以上,達(dá)到了50 SpecInt2006/Core,主要應(yīng)用于超級AI計算機(jī)、云計算、高階自動駕駛等高性能計算場景。
X200是一款6發(fā)射、14級流水線的超標(biāo)量亂序高性能RISC-V核。X200的整體特性如下:
- SpecInt2006 > 16分/GHz,單核頻率可達(dá)3.2GHz @ 7nm
- 支持RVV1.0,Vector Crypto 擴(kuò)展以及進(jìn)迭時空 IME 擴(kuò)展
- 支持RVH,AIA技術(shù),并且能夠與進(jìn)迭時空自研IOMMU配合實(shí)現(xiàn)完整的虛擬化
- 支持安全隔離技術(shù),與進(jìn)迭時空自研 IOPMP配合實(shí)現(xiàn)云計算級別的機(jī)密計算安全方案
- 支持服務(wù)器級別RAS,Trace特性
- 支持全芯片高效CHI互聯(lián),與進(jìn)迭時空自研NoC總線配合最大128核心的并行互聯(lián)
- 將支持2025年定稿的最新 Profile 規(guī)范(RVA25)
X200 架構(gòu)與微架構(gòu)創(chuàng)新
基于開源香山,快速迭代
“昆明湖”是開芯院開發(fā)的第三代高性能核,整體性能對標(biāo) Arm N2,達(dá)到 SpecInt2006 性能15分/GHz。開芯院不僅開源了昆明湖全部的設(shè)計代碼,還提供了昆明湖的驗(yàn)證環(huán)境、Golden model、性能分析工具(如完整的Simpoint Flow)以及經(jīng)過部分對齊的昆明湖Gem5模型。基于開源的昆明湖性能模型和架構(gòu)設(shè)計,可以大大減少了處理器設(shè)計過程中架構(gòu)探索的時間,并在開源性能模型的基礎(chǔ)上進(jìn)一步做微架構(gòu)創(chuàng)新和性能迭代。
取指前端:昆明湖采用了分支預(yù)測和指令緩存訪問解耦(下稱Decouple)的架構(gòu),最大限度減少分支指令對高帶寬取指需求的影響。分支主預(yù)測器采用兩級FTB 加TAGE-SC結(jié)構(gòu),配合XS-Gem5的前端建模,設(shè)計了合理的參數(shù)規(guī)格;
執(zhí)行后端:昆明湖實(shí)現(xiàn)了基于推測的指令喚醒與發(fā)射、Move指令消除、基于Checkpoint檢測點(diǎn)的指令恢復(fù)等多項機(jī)制,有效降低后端指令執(zhí)行延遲,并提升推測錯誤時的恢復(fù)速度;
訪存單元:昆明湖探索了多種預(yù)取機(jī)制,基于第一級數(shù)據(jù)緩存實(shí)現(xiàn)了Stride, Stream, SMS, SPB的混合預(yù)取算法,基于私有的二級緩存L2 Cache實(shí)現(xiàn)了BOP與Temporal的算法,在SpecInt2006基準(zhǔn)測試上取得了出色的效果。
因?yàn)橄闵胶说娜组_源以及出色的微架構(gòu)設(shè)計,進(jìn)迭時空X200選擇基于開源昆明湖研發(fā)第三代高性能CPU核。在昆明湖的架構(gòu)上,進(jìn)迭時空根據(jù)面向的計算場景,對部分模塊進(jìn)行了優(yōu)化,進(jìn)一步平衡了部分模塊的PPA指標(biāo)。X200 SpecInt2006能夠達(dá)到16分/GHz,相較前代X100提升75%以上。
取指前端升級
取指前端作為CPU核流水線的起點(diǎn),其效率直接決定了后級流水線的運(yùn)行負(fù)荷,是影響指令吞吐量的關(guān)鍵瓶頸。近年來,Apple M2, AMD Zen4 等處理器架構(gòu)均在取指前端進(jìn)行了大量的優(yōu)化。
X200的取指前端,基于 Decouple 架構(gòu),進(jìn)一步改進(jìn)了FTB的結(jié)構(gòu),提升分支指令的存儲利用率;擴(kuò)展了對2-Taken Branch 場景的支持,可實(shí)現(xiàn)每周期至多預(yù)測2個跳轉(zhuǎn)分支。
相應(yīng)的,X200優(yōu)化了指令Cache的組織結(jié)構(gòu),支持兩個獨(dú)立的取指塊并行取指。通過調(diào)整指令Cache Tag和Data的訪問流水級,緩解了指令Cache的訪問沖突,進(jìn)一步提升整體的取指帶寬。
訪存及互聯(lián)設(shè)計優(yōu)化
訪存及互聯(lián)往往是CPU核中最復(fù)雜的部分,訪存單元的設(shè)計也極大地影響了CPU核的性能。
X200的訪存單元優(yōu)化了整體訪存流水線,支持了Load/Store復(fù)用流水線,平衡了性能和資源的消耗。針對整個訪存通路,通過指令提前喚醒和流水線優(yōu)化,極致優(yōu)化訪存延遲,L1 Cache的Load To Use Latency控制在4個周期,2M Priave L2 Cache控制在10個周期,Cluster Level Cache控制在~30個周期;針對應(yīng)用場景,進(jìn)一步調(diào)優(yōu)預(yù)取算法;核級別和簇級別均支持超深的Outstanding能力,面向AI等大數(shù)據(jù)量搬運(yùn)場景,允許更多事務(wù)在下個層次的內(nèi)存系統(tǒng)中并行,減少整體內(nèi)存的訪問延遲。
在互聯(lián)的設(shè)計上,從核互聯(lián)成簇以及多簇之間的互聯(lián),均使用了CHI的標(biāo)準(zhǔn)協(xié)議,最高可支持到CHI.F協(xié)議,核間根據(jù)簇中核的規(guī)模,使用 Ring/Mesh Bus進(jìn)行互聯(lián),在提升可擴(kuò)展性的同時,進(jìn)一步提升簇內(nèi)總線的頻率與帶寬。支持Cache Stash的功能,能夠通過主動的緩存預(yù)存,降低關(guān)鍵數(shù)據(jù)包的獲取延遲。
向量及AI單元優(yōu)化
X200支持RISC-V Vector1.0及Vector Crypto指令集,VLEN支持256/512/1024可配,數(shù)據(jù)處理寬度支持4x128/4x256可配。矢量整型指令支持SEW=8/16/32/64;矢量浮點(diǎn)指令支持SEW=FP16/BF16/FP32/FP64。訪存處理寬度上支持3x128/3x256的可配,并支持矢量訪存指令的非對齊訪問。
同時,X200支持符合RV規(guī)范的IME擴(kuò)展的 AI 增強(qiáng)指令(INT4/INT8/FP8/FP16/BF16/FP32),提供靈活易用的融合 AI 算力。此外,X200可配地通過接口擴(kuò)展的方式支持AME擴(kuò)展,以提供更加定制化的AI算力。
在此基礎(chǔ)上,X200針對常見的應(yīng)用場景,結(jié)合算法特點(diǎn),對向量/AI處理能力和能效進(jìn)行優(yōu)化,并重點(diǎn)對向量訪存和向量計算資源的均衡和協(xié)同、復(fù)雜訪存pattern以及復(fù)雜元素置換操作在亂序核中的的實(shí)現(xiàn)等方面進(jìn)行深度調(diào)優(yōu)。同時,考慮到大帶寬向量帶來的龐大資源投入,X200基于對大量算法的模擬分析,評估并權(quán)衡不同指令對資源/功耗開銷以及性能回報,做了不同層次的向量可配性,以滿足不同應(yīng)用場景的性能和PPA需求。
新擴(kuò)展指令集支持
RISC-V是一個高速發(fā)展、充滿活力的指令集,2024年,RISC-V共批準(zhǔn)(Ratified)了23個規(guī)范,RISC-V正快速在各個場景下,拉近與x86、Arm之類成熟指令集的距離。X200面向應(yīng)用領(lǐng)域的需求,進(jìn)一步對RISC-V最新的擴(kuò)展進(jìn)行了支持:
- 支持QoS規(guī)范(CBQRI, QoSID),進(jìn)一步提升高優(yōu)先級數(shù)據(jù)的延遲表現(xiàn),增強(qiáng)系統(tǒng)的穩(wěn)定性和實(shí)時性
- 支持Svadu, Zacas擴(kuò)展,分別降低多核間頁表更新的代價,減少多核搶鎖的概率,提升多核系統(tǒng)的效率
- 支持CFI擴(kuò)展,使用Shadow Stack和 Landing Pad技術(shù)保護(hù)內(nèi)存,降低系統(tǒng)被攻破的概率
X200 也將持續(xù)跟進(jìn)RISC-V的最新擴(kuò)展以及 Profile,將會支持今年定稿的最新Profile(預(yù)計為 RVA25)。
服務(wù)器級特性優(yōu)化
X100已經(jīng)實(shí)現(xiàn)了完整虛擬化、符合云計算場景的安全功能、符合計算機(jī)7*24小時穩(wěn)定工作的RAS特性等。X200在X100的基礎(chǔ)上,在完整實(shí)現(xiàn)這些功能的同時,也將做進(jìn)一步增強(qiáng)。重點(diǎn)面向云服務(wù)應(yīng)用場景,通過優(yōu)化TLB及Walk Cache的組織形式,減少虛擬化多級地址翻譯帶來的性能損失;擴(kuò)展Trace以及HPM(高性能計數(shù)器)功能,配合自研總線進(jìn)行系統(tǒng)級優(yōu)化,提升性能分析、問題定位的跟蹤效率;支持更多RAS信息上報,配合全通路CHI總線支持,進(jìn)一步提升總線的穩(wěn)定性,配合進(jìn)迭時空服務(wù)器管理固件,能夠提升服務(wù)器系統(tǒng)可發(fā)現(xiàn)錯誤、可糾正錯誤、可管理錯誤能力。
借助于香山昆明湖出色的架構(gòu)和微架構(gòu)基礎(chǔ),進(jìn)迭時空開展了X200的研發(fā)工作,并實(shí)現(xiàn)了對第二代處理器核X100的大幅性能提升。當(dāng)前,X200已經(jīng)完成了代碼開發(fā)并進(jìn)入了持續(xù)的PPA優(yōu)化階段,預(yù)計將在2025年Q4季度研發(fā)完畢,基于X200的高性能計算芯片將在2026年底面市。
更多X200的設(shè)計細(xì)節(jié)將在后續(xù)的公司微信公眾號中陸續(xù)做介紹,敬請大家期待。