【香山雙周報】20230814期
歡迎來到我們的雙周報專欄。本次是香山雙周報專欄的第 33 期,我們將通過這一專欄,定期介紹香山的開源進展,希望與大家共同學習,一起進步。歡迎大家通過公眾號后臺留言的方式與我們交流!
近期,昆明湖研發(fā)穩(wěn)步推進,前端修復部分時序問題,后端完成 IQ?重構(gòu)代碼并逐步推進向量浮點功能和 H 擴展工作,訪存近期集中在通路優(yōu)化、預取改進和部分向量代碼合并等工作,緩存?refill 選擇替換路工作合入主線。
前端
在預取部分將從 ICache Meta 中讀到的數(shù)據(jù)打一拍再進行后續(xù)處理,修復相關時序問題(#2233)
在 ICache 中將一些 ready 信號與中間信號解耦,降低 ready 信號延遲
完成 BPU 中 FTB read 到替換算法更新的時序問題修復
uop cache 模擬器初步實現(xiàn),需繼續(xù)探索性能問題
后端流水線
IssueQueue 重構(gòu)完成,減小了 IQ 入隊和 IQ 間喚醒的扇出(#2240)
ROB 壓縮功能重構(gòu)測試完成(#2192)
優(yōu)化寄存器堆相關參數(shù)計算和傳遞邏輯(#2218)
開始將浮點標量指令轉(zhuǎn)到向量浮點功能單元執(zhí)行
L2TLB 中 ptw、llptw、hptw 以及 page cache 修改完成,正在修改 L1TLB
完成在 NEMU 上PMPtable 功能的實現(xiàn),通過隨機測試。
訪存單元
訪存通路
load 流水線增加在 s2 前遞總線數(shù)據(jù)的能力,之前只存在于 s1 (s 表示流水級)(#2238)
將 PTW 移動到 Memblock 內(nèi)(#2211)
預取
改進 stride 預取,在 milc 上有一定性能收益
增加預取到 L3 的通路,初步評估
L2 BOP 虛地址空間訓練初版方案已實現(xiàn)(#2239)
功能
繼續(xù)合并部分向量訪存代碼(#2237)
修復幾個性能 bug:L2 Hint 相關、預取相關
緩存系統(tǒng)
“refill 選擇替換路”成功通過所有測試,合入主線,評估有較大性能收益(#2232)
利用ChiselDB記錄的訪問trace,軟件分析最優(yōu)替換和預取感知下的 miss rate,探索替換的提升空間
開始實現(xiàn) TileLink to CHI 轉(zhuǎn)接橋,完成了請求通路的控制邏輯部分
工具
實現(xiàn)了 XSPerfRolling,能夠?qū)⑿阅苡嫈?shù)器按照時間維度展開(#2228)
香山開源處理器正在火熱地開發(fā)中,新的功能與新的優(yōu)化在持續(xù)添加中,我們將通過香山雙周報專欄定期地同步我們的開源進展。感謝您的關注,歡迎在后臺留言與我們交流!
相關鏈接:
文中如 #2211 格式的工作,對應 PR 鏈接為:
https://github.com/OpenXiangShan/XiangShan/pull/2211https://xiangshan-doc.readthedocs.io/
編輯:高澤宇、唐浩晉、李燕琴、蔡洛姍
校閱:香山宣傳工作組