《4-RV23-昆明湖CoupledL2緩存的設計與實現V4.pdf》由會員分享,可在線閱讀,更多相關《4-RV23-昆明湖CoupledL2緩存的設計與實現V4.pdf(22頁珍藏版)》請在三個皮匠報告上搜索。
1、昆明湖架構 CoupledL2 緩存設計與實現陳熙1 張林雋2 王凱帆1 蔡洛姍1 李昕11中國科學院計算技術研究所2北京開源芯片研究院2023 年 8 月 24 日 第三屆 RISC-V 中國峰會中國科學院計算技術研究所(ICT,CAS)2 2背景 內存墻矛盾 內存的性能增長速度遠低于處理器 程序員想要低延遲地訪問大量的內存 基于時間&空間局部性,設計緩存 緩存技術的演進 單級緩存 多級緩存 Blocking Non-Blocking(MSHR)替換算法、預取算法MEMCPU核心目標:降低延遲提升帶寬中國科學院計算技術研究所(ICT,CAS)3 3南湖 L2 HuanCun 架構回顧中國科學
2、院計算技術研究所(ICT,CAS)4 4南湖 L2 存在的問題 Hit latency 較長 所有請求都需要分配 MSHR按照 MSHR 狀態機運行再向 L1 發送響應 對于命中的請求可以不需要 MSHR 直接處理中國科學院計算技術研究所(ICT,CAS)5 5南湖 L2 存在的問題 set 同 Set 請求只能串行處理 同 Set 會相互影響 為了簡化設計,限制只能同時處理一個 對于某些訪存 pattern,會造成嚴重性能損失中國科學院計算技術研究所(ICT,CAS)6 6南湖 L2 存在的問題 驗證復雜度爆炸 L2 采用 Non-inclusive 策略 仍然需要維護上層目錄信息 有著更加
3、多樣的一致性策略L2L2中國科學院計算技術研究所(ICT,CAS)7 7南湖 L2 存在的問題 驗證復雜度爆炸 L2 采用 Non-inclusive 策略 仍然需要維護上層目錄信息 有著更加多樣的一致性策略 需要維護 I/D 一致性 導致 corner case 眾多,驗證困難L2L2中國科學院計算技術研究所(ICT,CAS)8 8采用主流水線架構同 Set 請求可以并行Inclusive 策略ICache 為非一致性節點 新 L2 的優化南湖 L2 存在的問題 Hit latency 較長 同 Set 請求只能串行 驗證復雜度爆炸+New Features中國科學院計算技術研究所(ICT,
4、CAS)9 9昆明湖緩存 CoupledL2 整體框架設計維度 一致性:Directory Based 包含關系:Inclusive 參數:1MB,4 Slices,8 way16 MSHRs per Slice 非阻塞式主流水線 替換算法:Random/PLRU/DRRIP 預取算法:BOP/SMS 和 L1 做一些耦合以提升性能中國科學院計算技術研究所(ICT,CAS)1010香山 CoupledL2 硬件結構中國科學院計算技術研究所(ICT,CAS)1111香山 CoupledL2 硬件結構通道控制器通道控制器目錄數據存儲主流水線MSHR請求仲裁中國科學院計算技術研究所(ICT,CAS)
5、1212Transaction 處理邏輯接收主動請求查詢目錄讀數據向 L1 響應以 L1 Acquire 為例中國科學院計算技術研究所(ICT,CAS)1313Transaction 處理邏輯接收主動請求查詢目錄MSHR 狀態機運行向 L3AcquireL2 miss 的情況中國科學院計算技術研究所(ICT,CAS)1414Transaction 處理邏輯L3 返回重填數據MSHR 狀態機運行向 L1 響應更新目錄寫入數據再次進入流水線中國科學院計算技術研究所(ICT,CAS)1515香山 CoupledL2 硬件結構數據暫存數據暫存請求暫存預取器減少數據的傳遞降低功耗暫存未能處理請求減少對總
6、線的阻塞中國科學院計算技術研究所(ICT,CAS)1616設計點 1 L1-L2 協同優化 觀察:訪存單元 miss 時存入 Load Replay Queue(圖中)在 收到重填信號 和 需要用到數據 之間相隔 3 拍 新設計:讓 L2 提前給出 Hint 信號 加速 Load Replay Queue 的喚醒和重發 具體做法:設置一個 Monitor 監測主流水線 在 Refill 前 3 拍向 L1 發送 Hint 信號 需要綜合考慮可能的延遲,計算準確的 Hint 時機中國科學院計算技術研究所(ICT,CAS)1717設計點 2 允許同 Set 請求并行處理 背景:南湖 HuanCun
7、 對于同 Set 請求,只能串行處理 難點:由于替換,同 Set 的請求會相互影響 新設計:同 Set 不同地址,選擇不同 way 可以并行 只對同地址請求進行阻塞 具體做法:統計新請求所在 Set 在 MSHR 中已經被占用的 way 為新請求分配一個空閑的 way中國科學院計算技術研究所(ICT,CAS)1818設計點 3 Evict on Refill 觀察:之前對于 L1 Acquire 缺失,先選擇一路替換舊數據 等待 L3 回填的時間內,這一路被占用,且無法響應 L1 改進:在回填上來的時候才 真正為新數據分配一路 此時 L1 仍可以命中 Set 內所有有效數據 具體做法:L1 A
8、cquire 缺失時,只向 L3 Acquire,先不做替換 等待 L3 回填數據返回 MSHR 向 L1 回填時,再次讀目錄并選擇替換路舊新中國科學院計算技術研究所(ICT,CAS)1919性能評估 SPEC CPU 2006 測試程序 基于同樣的香山處理器核+L3 相同的 L2 規格:1MB,4 Slices Non Incl.HuanCun L2 vs.CoupledL2 性能提升明顯:部分程序上有近 50%的提升 SPEC 整體提升 1 分/GHz 時序提升:主頻 2GHz 3GHz*基于 master 2fdb4d6a,0728 中國科學院計算技術研究所(ICT,CAS)2020下一
9、步的優化設計 請求融合 對于同地址請求:將新收到的請求融合進 MSHR 里尚未完成的請求 L3 無效化 L2 L2 主動釋放=L2 直接響應 L3 L1 Acquire預取=預取同時回填 L1 關鍵字優先 目前一個緩存塊需要兩次總線傳輸(2 beats)向 L1 重填時優先發送【觸發 miss 地址】所在的 beat 重填數據 bypass 從 L3 重填回來的數據不經過主流水線,直接發送給 L1中國科學院計算技術研究所(ICT,CAS)2121總結:香山新 CoupledL2 的設計與實現 南湖 L2 存在的問題 CPL2 整體設計 非阻塞式主流水線 L1-L2 協同優化 同 Set 請求并行處理 Evict on Refill 性能評估 下一步優化設計中國科學院計算技術研究所(ICT,CAS)2222謝謝!敬請批評指正!南湖 L2 存在的問題 CPL2 整體設計 非阻塞式主流水線 L1-L2 協同優化 同 Set 請求并行處理 Evict on Refill 性能評估 下一步優化設計