具有水平置换的向量间接元素垂直寻址模式的制作方法_2

文档序号:9291636阅读:来源:国知局
素,所述多个元素中的每一兀素包含向量寄存器堆中的向量寄存器的寄存器地址。
[0036]图1是说明根据一实施例的包含向量寄存器堆120的处理器110的框图。
[0037]向量寄存器堆120可包含N个通用向量寄存器,其中N为大于零的整数。每一向量寄存器可填充有具有M个元素的向量,其中M为大于零的整数。元素可指可从向量寄存器读取的最小数据粒度。在每一向量寄存器内,数据可例如作为字节(8位)、短字(16位)、字(32位)或双字¢4位)来写入或读取。在一实例中,向量寄存器堆120包含32个向量寄存器(N = 32)及32个32位元素(M = 32),每一向量寄存器为1024位宽(32元素X 32位)。
[0038]在图1中,向量寄存器堆120包含向量寄存器V0(122)、V1(124)、V2(126)、V3(127)、V4(128)、V5(130)、V6(132)及V7(134)。尽管向量寄存器堆120在图1中说明为包含八个向量寄存器,但在向量寄存器堆120中具有少于八个或大于八个向量寄存器的其它实施例在本发明的范围内。在一实例中,向量寄存器堆120包含32个向量寄存器VO至V31。
[0039]处理器110可将元素加载到向量寄存器中且从向量寄存器读取值。在一实例中,可基于垂直及水平置换控制向量而处理与向量寄存器V4、V5、V6及V7相关联的元素的子组。
[0040]II1.实例指令
[0041]A.实例读取指令
[0042]处理器110可接收将一或多个元素数据值放置到输出向量中的读取指令。
[0043]图2是说明根据一实施例的放置到输出向量中的一或多个元素数据值的框图200。
[0044]图200包含包括Vd = vidx (Vu,Vv)的实例读取指令201。指令201包含读取两个输入向量寄存器(例如,Vu及Vv)及将输出写入到输出向量寄存器(例如,Vd)。向量寄存器Vu、Vv及Vd可为来自向量寄存器堆120的向量寄存器VO至V7中的任一者,其中u、v及d可为从零到七的任何值。所述指令可转换成指明用于Vu、Vv及Vd的特定值的操作码。在一实例中,Vu = V0、Vv = Vl且Vv = V3。Vu可包含垂直置换控制向量,Vv可包含水平置换控制向量,且Vd可包含输出向量。及向量寄存器中的每一者。Vu、Vx及Vv中的每一者可为向量寄存器堆120中的向量寄存器中的任一者。
[0045]处理器110可接收及执行指令201。执行指令201可包含识别垂直置换控制向量、从垂直置换控制向量读取一或多个存储地址,及基于所读取的存储地址检索多个元素数据值。执行指令201还可包含识别水平置换控制向量及基于所述水平置换控制向量而将所检索元素数据值中的至少一些放置到输出向量中。
[0046]图200包含可包含于向量寄存器堆120中的多个向量寄存器。所述多个向量寄存器包含向量寄存器V4、V5、V6及V7,且每一向量寄存器可包含元素数据值。可能需要检索存储于所述多个向量寄存器中的元素数据值的子组。
[0047]处理器110可识别包含多个元素的垂直置换控制向量202。在一个实施例中,处理器110接收与指令相关联的数据,且将所接收数据分裂成多个元素。多个元素可放置到垂直置换控制向量中,所述多个元素中的每一元素包含寄存器地址。
[0048]在图2中,垂直置换控制向量202可存储于来自向量寄存器堆120的向量寄存器Vu 122中。因此,在处理器110识别垂直置换控制向量时,处理器110可识别向量寄存器堆120中的向量寄存器Vu。向量寄存器堆120中的向量寄存器可为编程者所见,且可用以从向量寄存器堆120中的向量寄存器间接读取。参考以上实例,向量寄存器V4、V5、V6及V7中的元素数据值的仅子组可存储参考信号,且其余元素数据值可能包含不关注的其它数据。所关注的元素数据值的所述子组可横跨多个向量寄存器。为检索所述特定元素数据值,编程者可将此模式编程到Vu中以提取存储在适当寄存器地址处的所关注元素数据值。
[0049]向量寄存器Vu可包含32个元素,且每一元素可包含32位寄存器地址。举例来说,Vu[O] =4且包含用于向量寄存器V4[0]的寄存器地址,Vu[l] =5且包含用于向量寄存器V5[l]的寄存器地址,Vu[2] = 6且包含用于向量寄存器V6[2]的寄存器地址,且Vu[3]=7且包含用于向量寄存器V7 [3]的寄存器地址。
[0050]可基于读取寄存器地址而检索多个元素数据值。明确地说,垂直置换控制向量中的寄存器地址可用作间接地址来从向量寄存器堆检索适当元素数据值。以此方式,存储于垂直置换控制向量202中的一或多个寄存器地址可用作对存储在对应寄存器地址处的元素数据值的间接存取。与直接读取相比,间接读取可指定元素数据值而非寄存器地址。对于间接读取,寄存器地址可经读取且用以检索所关注的元素数据值。
[0051]在一实例中,在从Vu[0]读取用于向量寄存器V4的寄存器地址之后,处理器110可检索元素数据值“i0”,其为存储在向量寄存器V4[0]处的元素数据值。类似地,在从Vu[l]读取用于向量寄存器V5的寄存器地址之后,处理器110可检索元素数据值“jl”,其为存储在向量寄存器V5[I]处的元素数据值。类似地,在从Vu[2]读取用于向量寄存器V6的寄存器地址之后,处理器110可检索元素数据值“k2”,其为存储在向量寄存器V6 [2]处的元素数据值。类似地,在从Vu[3]读取用于向量寄存器V7的寄存器地址之后,处理器110可检索元素数据值“13”,其为存储在向量寄存器V7[3]处的元素数据值。处理器110可对于存储于Vu中的其他寄存器地址执行类似动作。在一个实施例中,处理器110为单指令多数据(Sn?)处理器,且并行地执行本发明中描述的指令。举例来说,处理器110可并行地读取Vv中的寄存器地址且基于所读取寄存器地址并行地检索元素数据值。
[0052]处理器110可将所检索的多个元素数据值放置在暂时性向量寄存器中。图200包含向量寄存器Vtmp 204。处理器110可为管线化处理器,且Vtmp 204可为用以存储中间结果的暂时性管线向量寄存器。在另一实例中,Vtmp 204可为向量寄存器堆120中的向量寄存器。基于Vu中的寄存器地址而检索到的元素数据值可放置到Vtmp 204中。
[0053]举例来说,在图2中,从向量寄存器V4[O]读取的“i0”放置到Vtmp[O]中,从向量寄存器V5[l]读取的“jI”放置到Vtmp [I]中,从向量寄存器V6 [2]读取的“k2”放置到Vtmp[2]中,且从向量寄存器V7[3]读取的“ 13”放置到Vtmp[3]中。处理器110可基于垂直置换控制向量中的寄存器地址而对所有其它所检索元素数据值执行类似动作。
[0054]在一实施例中,处理器110识别包含对应于输出向量的一组地址的水平置换控制向量206。水平置换控制向量206具有确定所检索数据值元素在输出向量中的放置的一组控制项。处理器110可基于水平置换控制向量中的所述组地址而将所述多个元素数据值中的所检索元素数据值中的至少一些放置到输出向量中。举例来说,Vtmp 204中的元素数据值可经置换且放置到输出向量中。在一实例中,使用纵横线(crossbar)实施水平置换。在此实例中,所检索元素数据值中的至少一些可使用纵横线而放置到输出向量中。
[0055]在图2中,水平置换控制向量可存储于向量寄存器Vv(124)中,且输出向量可为来自向量寄存器堆120的Vd (126) ο
[0056]在一实例中,Vv [O] = 3,指示对应于Vtmp [3]的元素数据值属于Vd [O]。因此,对应于Vtmp[3]的元素数据值“13”放置到输出向量Vd[0]中。类似地,Vv[l] = 1,指示对应于Vtmp[l]的元素数据值属于Vd[l]。因此,对应于Vtmp[l]的元素数据值“j I”放置到输出向量Vd[l]中。类似地,Vv[2] = 0,指示对应于Vtmp[O]的元素数据值属于Vd[2]。因此,对应于Vtmp[0]的元素数据值“i0”放置到输出向量Vd[2]中。类似地,Vv[3] =28,指示对应于Vtmp[28]的元素数据值属于Vd[3]。因此,对应于Vtmp[28]的元素数据值“i28”放置到输出向量Vd[3]中。处理器110可执行类似动作以将Vtmp 204中的其它元素数据值放置到输出向量Vd 126中。
[0057]向量寄存器120可具有被给出地址的读取端口。在一实例中,在第一循环中,处理器110读取来自垂直置换控制向量的寄存器地址(例如,图1之向量寄存器堆120中的向量寄存器Vu)。处理器110可在相同类型的一个指令中执行32个不同操作。举例来说,如果向量寄存器Vu包含垂直置换控制向量,则处理器110可对Vu[0]到Vu[31]执行读取操作,使得处理器110同时从向量寄存器Vu读取32个寄存器地址。在下一循环内,处理器110可再次基于所读取寄存器地址而从向量寄存器堆120读取以检索适当元素数据值。处理器110可执行检索操作。使得处理器110基于从向量寄存器Vu读取的寄存器地址同时检索32个元素数据值。处理器110可同时将32个所检索元素数据值放置到Vtmp中。
[0058]存储于Vtmp中的32个所检索元素数据值可使用水平置换控制向量而水平地分布于输出向量中。水平置换控制向量可包含对应于输出向量的所述组地址。处理器110可识别水平置换控制向量且基于水平置换控制向量中的所述组地址而将所述多个元素数据值中的所检索元素数据值中的至少一些放置到输出向量中。处理器110可基于水平置换控制向量中的所述组地址而同时将32个所检索元素数据值放置到输出向量中。输出
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1