System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机领域,更具体地,涉及第五代精简指令集计算机(risc-v)向量处理器和用于risc-v向量处理器的方法。
技术介绍
1、微操作缓存(uop或micro-op cache)被广泛应用于超标量x86处理器中,用于降低复译码器的功耗。x86指令的译码是复杂的,译码器需要将变长指令转换成定长微操作,这会带来额外的功耗和译码延迟,因此,当微操作缓存能够为下一阶段提供微操作时,微操作缓存可以通过禁用或关闭译码器来降低译码器的功率。
2、risc-v向量处理器可以用于处理基于risc-v向量扩展(rvv)的向量指令,一条向量指令可以被扩展成多个微操作。这种扩展的原因是一个rvv指令针对每个操作数可以访问多个指令集架构(isa)寄存器,rvv指令应该被转换为其中每个微操作针对每个操作数仅访问一个寄存器的多个微操作。因此,rvv向量指令可以被看作是变长指令,这意味着更复杂的译码逻辑和更高的译码功耗。
技术实现思路
1、根据本公开的一个方面,提供了一种用于risc-v向量处理器的方法,包括:在向量指令队列中接收基于risc-v向量扩展的待处理向量指令;确定所述risc-v向量处理器的微操作缓存单元中是否存在与所述待处理向量指令相对应的一个或多个微操作;并且响应于确定所述微操作缓存单元中存在与所述待处理向量指令相对应的一个或多个微操作,针对所述待处理向量指令禁用用于对所述待处理向量指令进行解码的解码单元,并将所述微操作缓存单元中的与所述待处理向量指令相对应的一个或多个微操作转
2、根据本公开的另一方面,提供了一种risc-v向量处理器,包括:解码单元,被配置为:从向量指令队列接收基于risc-v向量扩展的待处理向量指令;将所述待处理向量指令解码为一个或多个微操作;将解码出的一个或多个微操作发送到微操作队列和微操作缓存单元;以及所述微操作缓存单元,被配置为:存储与各个向量指令相对应的微操作;针对向量指令队列中的待处理向量确定是否存在相对应的一个或多个微操作;响应于确定存在与所述待处理向量指令相对应的一个或多个微操作,针对所述待处理向量指令禁用所述解码单元,以及将与所述待处理向量指令相对应的一个或多个微操作转发到微操作队列以供后续执行。
3、根据本公开的另一方面,提供了一种用于risc-v向量处理器的装置,包括用于执行上述方法的部件。
4、根据本公开的再一方面,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时,促使处理器执行上述方法。
5、根据本公开的又一方面,提供了一种计算机程序产品,包括计算机可执行指令,所述计算机可执行指令在由处理器执行时,促使处理器执行上述方法。
本文档来自技高网...【技术保护点】
1.一种用于RISC-V向量处理器的方法,包括:
2.根据权利要求1所述的方法,其中,所述方法还包括:
3.根据权利要求1或2所述的方法,其中,微操作缓存单元包括标签阵列和数据阵列,其中,标签阵列的每个条目包括标签字段和有效字段,并且其中,数据阵列中的每个条目包括针对同一向量指令的所有微操作的微操作有效载荷。
4.根据权利要求3所述的方法,其中,微操作有效载荷包括微操作字段和操作数地址增量字段,其中微操作字段包括:指示向量指令解码出的微操作的数量的微操作长度子字段和指示操作数源地址和目的地地址的操作数子字段,并且其中,操作数地址增量字段包括:指示每个微操作的操作数地址增量的子字段。
5.根据权利要求4所述的方法,微操作缓存单元还包括:微操作索引计数器,用于充当每个微操作的微操作索引生成器。
6.根据权利要求4所述的方法,还包括:
7.根据权利要求6所述的方法,其中,微操作缓存单元的数据阵列包括多个分区阵列。
8.根据权利要求4-7中任一项所述的方法,其中,微操作缓存单元的输出宽度大于解码单元的输出
9. 一种RISC-V向量处理器,包括:
10.根据权利要求9所述的RISC-V向量处理器,微操作缓存单元还被配置为:响应于确定不存在与待处理向量指令相对应的一个或多个微操作,启用解码单元以对待处理向量指令进行解码。
11.根据权利要求9或10所述的RISC-V向量处理器,其中,微操作缓存单元包括标签阵列和数据阵列,其中,标签阵列的每个条目包括标签字段和有效字段,并且其中,数据阵列中的每个条目包括针对同一向量指令的所有微操作的微操作有效载荷。
12.根据权利要求11所述的RISC-V向量处理器,其中,微操作有效载荷包括微操作字段和操作数地址增量字段,其中微操作字段包括:指示向量指令解码出的微操作的数量的微操作长度子字段和指示操作数源地址和目的地地址的操作数子字段,并且其中,操作数地址增量字段包括:指示每个微操作的操作数地址增量的子字段。
13.根据权利要求12所述的RISC-V向量处理器,微操作缓存单元还包括:微操作索引计数器,用于充当每个微操作的微操作索引生成器。
14.根据权利要求12所述的RISC-V向量处理器,其中,微操作缓存单元还被配置为:并行输出与多个向量指令相对应的多个微操作。
15.根据权利要求14所述的RISC-V向量处理器,其中,微操作缓存单元的数据阵列包括多个分区阵列。
16.根据权利要求12-15中任一项所述的RISC-V向量处理器,其中,微操作缓存单元的输出宽度大于所述解码单元的输出宽度。
17.一种用于RISC-V向量处理器的装置,包括用于执行权利要求1至8中任一项所述的方法的部件。
18.一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时,促使处理器执行权利要求1至8中任一项所述的方法。
19.一种计算机程序产品,包括计算机可执行指令,所述计算机可执行指令在由处理器执行时,促使处理器执行根据权利要求1至8中任一项所述的方法。
...【技术特征摘要】
1.一种用于risc-v向量处理器的方法,包括:
2.根据权利要求1所述的方法,其中,所述方法还包括:
3.根据权利要求1或2所述的方法,其中,微操作缓存单元包括标签阵列和数据阵列,其中,标签阵列的每个条目包括标签字段和有效字段,并且其中,数据阵列中的每个条目包括针对同一向量指令的所有微操作的微操作有效载荷。
4.根据权利要求3所述的方法,其中,微操作有效载荷包括微操作字段和操作数地址增量字段,其中微操作字段包括:指示向量指令解码出的微操作的数量的微操作长度子字段和指示操作数源地址和目的地地址的操作数子字段,并且其中,操作数地址增量字段包括:指示每个微操作的操作数地址增量的子字段。
5.根据权利要求4所述的方法,微操作缓存单元还包括:微操作索引计数器,用于充当每个微操作的微操作索引生成器。
6.根据权利要求4所述的方法,还包括:
7.根据权利要求6所述的方法,其中,微操作缓存单元的数据阵列包括多个分区阵列。
8.根据权利要求4-7中任一项所述的方法,其中,微操作缓存单元的输出宽度大于解码单元的输出宽度。
9. 一种risc-v向量处理器,包括:
10.根据权利要求9所述的risc-v向量处理器,微操作缓存单元还被配置为:响应于确定不存在与待处理向量指令相对应的一个或多个微操作,启用解码单元以对待处理向量指令进行解码。
11.根据权利要求9或10所述的risc-v向量处理器,其中,微操作缓存单元包括标签阵列和数据阵列,其中,标签阵列的每个...
【专利技术属性】
技术研发人员:姜龙,张旭,梁华岳,程宏,
申请(专利权)人:英特尔中国研究中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。