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