当前位置:首页 > 报告详情

03-胡轩-刘威丁.pdf

上传人: 山哈 编号:725360 2025-07-04 29页 3.10MB

1、香山处理器昆明湖架构向量扩展的设计与演进刘威丁2,3胡轩1张林隽2 张梓悦1王郅尊2 冯浩原1 肖飞豹2贾志杰1 唐浩晋1刘泽昊11中国科学院计算技术研究所2北京开源芯片研究院3南京理工大学2024 年 8 月 22 日中国科学院计算技术研究所(ICT,CAS)2 2目录 背景介绍 香山向量扩展设计 高性能向量扩展设计演进 总结中国科学院计算技术研究所(ICT,CAS)3 3目录 背景介绍 香山向量扩展设计 高性能向量扩展设计演进 总结中国科学院计算技术研究所(ICT,CAS)4 4背景:SIMD SISD:单指令单数据 单条指令处理单个数据 标量处理器 SIMD:单指令多数据 单条指令处理多

2、个数据 向量处理机 提高计算并行度 适用于图像/信号处理等应用中国科学院计算技术研究所(ICT,CAS)5 5背景:SIMD 传统的 SIMD 使用特定向量长度,对应特定的向量寄存器位宽 软件使用短向量长度+硬件长 SIMD 寄存器等硬件资源浪费 软件使用长向量长度+硬件短 SIMD 程序并行度低中国科学院计算技术研究所(ICT,CAS)6 6背景:RISC-V 向量计算技术 寄存器组:一条指令操作多个向量寄存器 提高运算并行度中国科学院计算技术研究所(ICT,CAS)7 7背景:RISC-V 向量计算技术 寄存器组:一条指令操作多个向量寄存器组 提高运算并行度 可变长向量长度:指令与向量寄存

3、器宽度无关 软硬件解耦中国科学院计算技术研究所(ICT,CAS)8 8背景:RISC-V 向量计算技术 寄存器组:一条指令操作多个向量寄存器组 提高运算并行度 可变长向量长度:指令与向量寄存器宽度无关 软硬件解耦 谓词操作:通过掩码对特定元素操作 方便稀疏数据处理中国科学院计算技术研究所(ICT,CAS)9 9背景:RISC-V 向量计算技术 寄存器组:一条指令操作多个向量寄存器组 提高运算并行度 可变长向量长度:指令与向量寄存器宽度无关 软硬件解耦 谓词操作:通过掩码对特定元素操作 方便稀疏数据处理 丰富的访存模式:支持多种向量访存操作中国科学院计算技术研究所(ICT,CAS)1010目录

4、背景介绍 香山向量扩展设计 高性能向量扩展设计演进 总结中国科学院计算技术研究所(ICT,CAS)1111香山处理器向量后端整体介绍 译码阶段拆分向量指令 独立的向量发射队列 分离的向量寄存器堆中国科学院计算技术研究所(ICT,CAS)1212向量指令拆分:Uop(Micro-operation)问题 一条向量指令需要处理多个向量寄存器 运算单元每周期能处理的数据量有限(VLEN=向量寄存器宽度)目标:简化设计+复用标量流水线 解决方案:每条指令以向量寄存器为粒度拆分为若干 Uop Uop 之间并行执行 Uop 内部元素并行执行中国科学院计算技术研究所(ICT,CAS)1313向量指令拆分:难

5、点 某些向量指令需要获取标量操作数 标量寄存器堆与向量寄存器堆彼此独立,且距离较远 向量指令操作数来自标量寄存器或立即数时,需进行元素复制填充操作 解决方案 添加一个用于数据搬运的 Uop 读标量寄存器堆 元素复制填充 写向量寄存器堆中国科学院计算技术研究所(ICT,CAS)1414向量指令拆分:样例 向量运算指令拆分 vadd.vx v4,v6,s2 vlmul=2,vsew=32,vl=8 拆分出 3 个 Uop 1 个 move Uop 2 个 vadd Uop中国科学院计算技术研究所(ICT,CAS)1515向量寄存器堆拆分Now向量寄存器堆vec 寄存器堆v0 寄存器堆vl 寄存器堆

6、项数1282232读口1244写口662 向量指令至多占用 5 个寄存器读口 源寄存器*2 目的寄存器 谓词化掩码(v0)向量长度(vl 重命名以避免控制依赖)寄存器堆读端口压力大、时序面积紧张Previous不足:理想情况下寄存器堆需提供约20个读口中国科学院计算技术研究所(ICT,CAS)1616香山处理器向量访存整体介绍 混合的发射队列 按元素再次拆分 Uop 复用标量流水线 按 Uop 写回中国科学院计算技术研究所(ICT,CAS)1717向量访存指令拆分 访存指令元素地址计算模式复杂 向量访存指令的两阶段指令拆分 译码单元以目的 寄存器 为粒度

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了香山处理器昆明湖架构的向量扩展设计与演进。关键点如下: 1. 香山向量扩展设计:采用RISC-V向量计算技术,提高运算并行度,包括可变长向量长度、谓词操作和丰富的访存模式。 2. 高性能向量扩展设计演进:通过优化向量指令拆分、向量寄存器堆拆分、向量访存乱序执行流程等,提高处理器性能。 3. 消除向量配置指令(vset)控制依赖:采用推测更新和错误恢复技术,减少控制依赖对性能的影响。 4. 消除假数据依赖:通过软硬件协同实现元素不可知策略,降低执行并行度。 5. 消除向量访存地址依赖:采用向量Uop拆分、标量访存违例检测和乱序访存单元等技术。 6. 提高访存带宽:针对Unit-stride指令,优化内存访问,提高访存带宽利用率。 核心数据:SPEC CPU2006 456.hmmer测试中,向量性能比标量提高24.4%。
"香山处理器如何提升并行度?" "向量配置寄存器有哪些优化策略?" "如何消除向量计算中的依赖问题?"
客服
商务合作
小程序
服务号
折叠