《3-RV23峰会香山-访存-final.pdf》由会员分享,可在线阅读,更多相关《3-RV23峰会香山-访存-final.pdf(16页珍藏版)》请在三个皮匠报告上搜索。
1、王华强 李昕1冯浩原1吴凌云2李燕琴1马建露31中国科学院计算技术研究所2上海科技大学3北京大学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 的物理距离较远,延迟较高,对性能影响较大 昆明湖架构将