【技术实现步骤摘要】
一种RISC
‑
V矢量处理单元实现方法及架构
[0001]本专利技术涉及RISC
‑
V矢量扩展
,具体指一种RISC
‑
V矢量处理单元实现方法及架构。
技术介绍
[0002]数据级并行在如多媒体、数据流以及最近的机器学习和深度学习广泛应用和RISC
‑
V矢量扩展达到了稳定性,现在已经准备好批准1.0版本,而且RISC
‑
V矢量扩展的实现在国内目前实现的相对较少。
[0003]目前对于实现矢量扩展的方式一般分为两种形式,一种设计采用协处理器的形式围绕应用处理器进行扩展,虽然增加了标量和矢量部分之间接口的复杂性,但其扩展性强,矢量指令和标量指令的执行模块可以做到完全分开,内部采用传统的基于多通道设计的矢量架构,将矢量寄存器进行划分成块,连接多个用于并行执行的相同通道,每个通道的宽度与最大数据大小相同,每个通道提供相应的算数逻辑单元,但是这种设计所消耗的面积和功耗巨大。早期的RISC
‑
V矢量扩展版本适合采用多通道技术,但其新的RISC
‑
V矢量扩展1.0版本引入的一些变化会使得采用多通道技术的矢量处理单元设计面临跨通道数据处理问题,采用多通道技术在解决跨通道数据问题时需要添加额外的模块设计,这种设计会提高整个矢量单元设计的复杂性,特别是在增加通道的数量时。
[0004]另外一种是将矢量处理单元集成到标量处理器内部,避免标量和矢量部分之间的接口,内部运算单元采用SIMD流水线方 ...
【技术保护点】
【技术特征摘要】
1.一种RISC
‑
V矢量处理单元实现方法,其特征在于,包括如下步骤:S1、矢量指令准备阶段,在标量处理器中执行,取矢量指令,对矢量指令进行简单译码,判断是否需要标量源操作数,读取标量寄存器,与标量处理器FIFO,判断标量数据相关性,可以派遣则在标量处理器FIFO保存需要写回标量寄存器的矢量指令目的寄存器索引信息,并产生矢量指令请求信号,等待矢量处理单元响应;S2、矢量指令译码和派遣阶段,根据矢量单元自身状态判断是否响应主处理器矢量请求信号;S3、矢量指令执行阶段,该阶段用来矢量指令的执行,通过多个周期执行来间接实现寄存器组内所有元素的执行,每次处理元素的总位宽VLEN位,即一个矢量寄存器长度,每个执行单元采用流水线设计,即SIMD流水线化;S4、矢量指令写回和交付阶段,矢量指令既可以写回标量寄存器和写回矢量寄存器,写回标量寄存器的矢量需要通过矢量指令反馈端口,向标量处理器产生反馈信息,等待标量处理器响应可直接通过矢量处理单元的反馈端口将其直接写回至标量处理器,将该指令在标量处理器中的保存的指令信息去除,完成了该指令的交付,写回矢量寄存器的矢量指令直接通过仲裁将其写回矢量寄存器以及去除在派遣阶段保存该指令的信息完成该矢量指令的交付。2.根据权利要求1所述的一种RISC
‑
V矢量处理单元实现方法,其特征在于,所述步骤S2中,如果响应,则接收该矢量指令和源标量操作数,接着对矢量指令进行完全译码,译码指令的格式和读矢量寄存器,并判断流水线冲突,决定是否派遣该矢量指令。3.根据权利要求1所述的一种RISC
‑
V矢量处理单元实现方法,其特征在于,所述步骤S3中,所述执行单元包括读写单元,功能单元,数据处理单元,所述读写单元用来读写源操作数,功能单元用来执行指令所要做的操作,数据处理单元将功能单元的数据进行处理得到最终要写回的数据。4.根据权利要求2所述的一种RISC
‑
V矢量处理单元实现方法,其特征在于,所述流水线冲突包括数据冲突和资源冲突。5.根据权利要求2所述的一种RISC
‑
V矢量处理单元实现方法,其特征在于,所述流水线冲突的判断包括:对于资源冲突、读后写相关性和写后写相关性,解决:阻塞当前派遣的指令,直至资源冲突解除;对于先写后读相关性,真数据相关,解决:方式(1)指令阻塞寄存器没有指令,该矢量指令为刚接收的矢量指令,如果需要的源操作数据正在被写回,则可以在矢量寄存器模块通过数据旁路读取数据,否则将该指令保存在矢量指令寄存器,跟下面的方式(2)一样;方式(2)对于该矢量指令为指令阻塞寄存器里保存的矢量指令,待相关性解除,需要通过重新从矢量寄存器模块读取操作数,如果该数据正在被写回,则可以在矢量寄存器模块通过数据旁路读取数据,否则读取矢量寄存器模块内的值;写回方式,对于写回标量寄存器的矢量指令采取顺序派遣,顺序执行,顺序写回,每次只能执行一条写回标量寄存器的矢量指令,对于写回矢量寄存器的矢量指令采取顺序派遣,乱序执行,乱序写回,根据指令执行的大小支持多条指令执行。6.实现权利要求1
‑
5任意一项所述的一种RISC
‑
V矢量处理单元实现方法的架构,其特
征在于,包括:矢量指令译码模块,根据RISC
‑
V矢量扩展标准文档1.0的矢量指令编码规则进行译码,产生不同的指令类型信息、操作数寄存器索引信息;矢量指令派遣模块,用来矢量指令的派遣,用一个指令阻塞寄存器组来保存在标量处理器解除数据相关在矢量单元有流水线冲突的矢量指令信息。接收矢量译码模块的指令信息,将其送到矢量流水线判断模块,判断是否有流水线冲突,如果没有则可以派遣该矢量指令,如果有流水线冲突则阻塞该矢量指令,保存该矢量指令的译...
【专利技术属性】
技术研发人员:周志刚,郭旭,王世豪,殷先英,薛晓娜,赵靖宇,程知群,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。