指令发射单元、指令执行单元、相关装置和方法制造方法及图纸

技术编号:33299443 阅读:39 留言:0更新日期:2022-05-06 12:04
本公开提供了一种指令发射单元、指令执行单元、相关装置和方法。该指令发射单元包括:指令拆分器,用于将待执行矢量指令拆分成微指令;微指令索引获取器,用于基于所述拆分后的微指令所涉及的元素范围,获取所述微指令的有效元素个数索引;索引比较子单元,用于将获取的有效元素个数索引与第一索引比较,所述第一索引是尚未处理完的仅故障优先微指令的有效元素个数索引;微指令发射控制器,用于在所述有效元素个数索引小于第一索引的情况下,将拆分后的微指令发送到矢量执行单元执行。本公开在链式执行中涉及仅故障优先矢量加载指令时,提高了后续矢量指令的运行效率。提高了后续矢量指令的运行效率。提高了后续矢量指令的运行效率。

【技术实现步骤摘要】
指令发射单元、指令执行单元、相关装置和方法


[0001]本专利技术涉及芯片领域,更具体而言,涉及一种指令发射单元、指令执行单元、相关装置和方法。

技术介绍

[0002]链式执行(chaining)是一种矢量执行的加速机制。它在后面的矢量指令需要以前面的矢量指令写入矢量寄存器的结果作为操作数进行运算的情况下,不是等待前面的矢量指令整个执行完成后再执行,而是将指令分成多个微指令,将已执行完的微指令的执行结果提前输出给后面的指令,这样,后面的指令如果得到前面的指令的一部分微指令的结果可以运行,则不需要等待整个前面的指令的执行结果,减小了等待时间,提高了矢量运算效率。
[0003]有效元素个数(vl)是免费开放的精简指令集架构的矢量扩展指令集中的一个控制寄存器参数,用来指示一条矢量指令需要处理和更新的元素的个数。一条矢量指令未必会处理和占用整个控制寄存器的所有元素,占用的元素叫做有效元素,空闲不占用的元素叫做无效元素。一般来说,矢量指令执行时,一方面可能需要之前的矢量指令执行的结果,另一方面要参考有效元素个数进行运算和回写。仅故障优先(FOF)本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种指令发射单元,包括:指令拆分器,用于将待执行矢量指令拆分成微指令;微指令索引获取器,用于基于所述拆分后的微指令所涉及的元素范围,获取所述微指令的有效元素个数索引;索引比较子单元,用于将获取的有效元素个数索引与第一索引比较,所述第一索引是尚未处理完的仅故障优先微指令的有效元素个数索引;微指令发射控制器,用于在所述有效元素个数索引小于第一索引的情况下,将拆分后的微指令发送到矢量执行单元执行。2.根据权利要求1所述的指令发射单元,还包括:操作数相关性判断子单元,用于确定第一微指令是否执行完毕,其中,所述拆分后的微指令中的操作数依赖于所述第一微指令;其中,所述微指令发射控制器在第一微指令已经执行完毕、且所述有效元素个数索引小于第一索引的情况下,才将拆分后的微指令发送到矢量执行单元执行。3.根据权利要求1所述的指令发射单元,其中,所述微指令索引获取器按照如下公式基于所述拆分后的微指令所涉及的元素范围,获取所述微指令的有效元素个数索引:vl_index(i)=8*(i+1)/VREG_NUM

1,其中,vl_index(i)为所述有效元素个数索引,VREG_NUM是所述待执行矢量指令要回写的矢量寄存器个数,i是所述元素范围的序号,i=0,1,2,

..,VLEN*VREG_NUM/DPLEN-1,其中,VLEN是矢量寄存器位宽,DPLEN是矢量执行单元的处理位宽。4.根据权利要求3所述的指令发射单元,其中,如果VREG_NUM=8,序号最低的所述元素范围对应的有效元素个数索引为0000,元素范围每高一个序号,所述有效元素个数索引增加0001。5.根据权利要求3所述的指令发射单元,其中,如果VREG_NUM=4,序号最低的所述元素范围对应的有效元素个数索引为0001,元素范围每高一个序号,所述有效元素个数索引增加0010。6.根据权利要求3所述的指令发射单元,其中,如果VREG_NUM=2,序号最低的所述元素范围对应的有效元素个数索引为0011,元素范围每高一个序号,所述有效元素个数索引增加0100。7.根据权利要求3所述的指令发射单元,其中,如果VREG_NUM=1,序号最低的所述元素范围对应的有效元素个数索引为0111,元素范围每高一个序号,所述有效元素个数索引增加1000。8.根据权利要求1所述的指令发射单元,其中,所述指令拆分器将待执行矢量指令拆分成(VLEN
·
LMUL)/DPLEN条微指令,其中,VLEN为矢量寄存器位宽,LMUL为待执行矢量指令中矢量占用的矢量寄存器数目,DPLEN为矢量执行单元的处理位宽。9.根据权利要求2所述的指令发射单元,其中,所述操作数相关性判断子单元按照以下方式确定第一微指令是否执行完毕:获取拆分后的微指令中的操作数;获取之前拆分出的微指令中产生所述操作数的微指令;确定获取的微指令是否执行完毕。
10.根据权利要求2所述的指令发射单元,其中,所述微指令发射控制器在第一微指令未执行完毕、或者所述有效元素个数索引小于第一索引的情况下,保持所述拆分后的微指令。11.根据权利要求2所述的指令发射单元,其中,所述矢量执行单元包括多个矢量运算子单元,所述微指令发射控制器将所述拆分后的微指令并行发送到所述多个矢量运算子单元执行。12.一种矢量执行单元,包括:矢量运算子单元,用于执行待执行矢量指令拆分后的微指令;第一索引记录器...

【专利技术属性】
技术研发人员:罗嘉蕙朱涛涛刘畅
申请(专利权)人:平头哥上海半导体技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1