《3-RV23峰會香山-訪存-final.pdf》由會員分享,可在線閱讀,更多相關《3-RV23峰會香山-訪存-final.pdf(16頁珍藏版)》請在三個皮匠報告上搜索。
1、王華強 李昕1馮浩原1吳凌云2李燕琴1馬建露31中國科學院計算技術研究所2上??萍即髮W3北京大學2023 年 8 月 24 日 第三屆 RISC-V 中國峰會香山昆明湖架構訪存單元的設計演進中國科學院計算技術研究所(ICT,CAS)2 2昆明湖架構訪存子系統 訪存子系統的整體架構 相對于南湖架構變化 拆分 load queue 增大 load 帶寬 添加路預測器 優化 MMU 增加預取中國科學院計算技術研究所(ICT,CAS)3 3香山處理器訪存子系統存在的瓶頸優化:添加路預測器缺點:L1D DataSram 功耗大優化:添加預取器缺點:L1D 命中率低優化:優化 MMU 布局與結構缺點:MM
2、U 時序緊張優化:添加 Hybrid 訪存單元缺點:Load 帶寬不夠優化:拆分 load queue缺點:LQ 時序緊張,復雜中國科學院計算技術研究所(ICT,CAS)4 4參數對比:雁棲湖-南湖-昆明湖AGU&Pipeline&Queue&features雁棲湖南湖昆明湖AGUs2-LD,2-ST2-LD,2-STA3-LD,2-STAL1 LD hit latency344L1 LD hit bandwidth2x8B/cycle2x8B/cycle3x16B/cycleStore data bandwidth2x8B/cycle2x8B/cycle2x16B/cycleLoad que
3、ue entry648080(splited)Store queue entry486464Store buffer(CSB)16 cachelines16 cachelines16 cachelinesL1 Data Cache32KB,8Way128KB,8Ways,8Banks128KB,8Ways,8BanksData Cache Probe Queue1688Data Cache Miss Queue161616Data Cache Write-back Queue161818Software prefetchNoYesYesL1 Hardware prefetchNoNoYesWa
4、y predictorNoNoYesVector extensionNoNoYesMemory dependency predictorWait TableStore SetsStore SetsL1/L2 interfaceTileLinkTileLink(improve)Self-defined中國科學院計算技術研究所(ICT,CAS)5 5Load queue 拆分 雁棲湖,南湖采用統一的 load queue 設計 職責多:負責 uncache,RAR/RAW 違例檢查,維護 load 狀態,異常信息等 資源需求多:多個 CAM 端口,維護的信息多等 釋放比較緩慢:ROB 提交之后才能
5、從 load queue 移除中國科學院計算技術研究所(ICT,CAS)6 6Load queue 拆分 昆明湖的 load queue 根據不同職責采用拆分設計 early commit:load 指令在寫回后可從 virtual load queue 中按順序移除 邏輯簡單、時序友好、可接受資源消耗中國科學院計算技術研究所(ICT,CAS)7 7Load 帶寬 昆明湖采用 3-LD,2-ST 設計 每一個訪存執行單元都獨占一個保留站 Hybrid Unit:Load/Store 混合訪存執行單元,能夠處理 load/store 指令 Hybrid IQ 區別于 STA 和 STD IQ,不
6、將 store 指令的地址與數據拆分1.南湖架構中 load/store 組織結構2.昆明湖架構中 load/store 組織結構中國科學院計算技術研究所(ICT,CAS)8 8 南湖訪存缺陷 VIPT 緩存,在獲取命中路前,需要訪問 N 路數據,產生大量動態功耗路預測器:節省 N-1 路動態功耗南湖訪存昆明湖訪存,僅訪問預測路中國科學院計算技術研究所(ICT,CAS)9 9路預測器:通路設計中國科學院計算技術研究所(ICT,CAS)1010MMU 優化物理布局 南湖架構 DTLB 和 L2 TLB 的物理距離較遠,延遲較高,對性能影響較大 昆明湖架構將 L2 TLB 合并至 Memblock
7、 中 縮短 DTLB 缺失時訪問 L2 TLB 的物理距離和延遲 ITLB 缺失時訪問 L2 TLB 的延遲保持不變香山南湖架構的物理版圖實例南湖架構需要在兩級 TLB 間增加中繼器合并 L2 TLB 至 MemBlock 中,無需中繼器中國科學院計算技術研究所(ICT,CAS)1111MMU 優化 DTLB 查詢時序 南湖架構中,S0 只查詢 TLB 的命中項,S1 索引得到 paddr 并發送給 DCache 昆明湖架構中,S0 查詢得到 paddr 并鎖存,S1 將鎖存的 paddr 直接發送DTLB 和 DCache 之間的物理距離和線延遲較長,需要更早計算得到物理地址相比南湖架構,昆
8、明湖架構提前一拍得到物理地址并鎖存中國科學院計算技術研究所(ICT,CAS)1212MMU 提升 DTLB 有效容量 16 項全相聯項+64 項直接映射項并行查詢-48 項全相聯結構 實現 TLB 壓縮,合并虛擬頁號和物理頁號均連續的頁表項南湖和昆明湖架構中 DTLB 的組織結構直接映射項頻繁發生沖突替換,有效容量較低TLB 壓縮示意圖,將具有合并特征的 TLB 項壓縮為一項保存虛擬頁號高位相同物理頁號高位相同頁表屬性相同頁表項壓縮為一項中國科學院計算技術研究所(ICT,CAS)1313 特點 Store 執行/提交距離真實寫入 DCache 有一定的時間差 預取時機 prefetchexe
9、prefetchcommit 目前啟用 prefetchexeL1 Store 預取機制 提高 Store 命中率Store 數據寫入DCache 的真正時機Store 經過 STA 流水線 Miss 觸發預取prefetchexeCommit 后 SQ 寫入 CSB 觸發預取prefetchcommit中國科學院計算技術研究所(ICT,CAS)1414 L1 預取流程 訓練,模式檢測 復用 load 流水線 DCache MSHR 取回數據 預取算法 Stream1(x,x+1,x+2,x+3.)Stride2(x,x+n,x+2n,x+3n.)L1 Load 預取機制 提高 Load 命中
10、率1 S.Srinath,O.Mutlu,H.Kim and Y.N.Patt,Feedback Directed Prefetching:Improving the Performance and Bandwidth-Efficiency of Hardware Prefetchers,2007 IEEE 13th International Symposium on High Performance Computer Architecture,Scottsdale,AZ,USA,20072 J.-L.Baer and T.-F.Chen,An effective on-chip prelo
11、ading scheme to reduce data access penalty,Supercomputing 91:Proceedings of the 1991 ACM/IEEE Conference on Supercomputing,Albuquerque,NM,USA,1991中國科學院計算技術研究所(ICT,CAS)1515 昆明湖在南湖的基礎上做了幾個方面的修改 為增加 load queue 有效容量,拆分 load queue 為提高 load 處理效率,增加 load 帶寬 為降低 L1 DataSram 的動態功耗,添加路預測器 為優化 MMU 時序,修改 MMU 的結構和布局 為提升 L1 DCache 命中率,添加預取器小結敬請批評指正!