当前位置: 首页 > 专利查询>ARM有限公司专利>正文

用于转换存储器与多个向量寄存器之间的多个数据结构的设备及方法技术

技术编号:17573060 阅读:23 留言:0更新日期:2018-03-28 20:36
本案提供一种设备及方法,用于在存储器与多个向量寄存器之间转换多个数据结构,每个向量寄存器经排列以储存包括多个数据元素的向量操作数。访问电路用于执行访问操作,以在存储器中的数据结构与规定的向量寄存器之间移动向量操作数数据元素,每个数据结构包括储存在存储器中连续地址处的多个数据元素。解码电路可响应于标识多个向量寄存器及相对于彼此在存储器中不连续定位的多个数据结构的单一访问指令,以产生控制信号以控制访问电路来执行访问操作序列,在存储器与多个向量寄存器之间移动该多个数据结构,以使得每个向量寄存器中的向量操作数保存来自多个数据结构中的每个的对应数据元素。这提供极高效的机制以用于执行复杂访问操作,从而提高执行速度,以及有可能降低功耗。

【技术实现步骤摘要】
【国外来华专利技术】用于转换存储器与多个向量寄存器之间的多个数据结构的设备及方法
本技术涉及用于转换存储器与多个向量寄存器之间的多个数据结构的设备及方法。
技术介绍
用于改善数据处理设备性能的一种已知技术是提供电路以支持向量操作的执行。对至少一个向量操作数执行向量操作,在此情况下,每个向量操作数包括多个数据元素。随后,向量操作执行涉及对向(一个或多个)量操作数内多个数据元素反复应用操作。向量处理电路(往往称为单指令多数据(SingleInstructionMultipleData;SIMD)处理电路)可用于提供多个平行处理路线,从而对向量操作数内多个数据元素同时执行操作。尽管使用这样的向量操作可导向显著性能优势,但出现了问题,即如何在存储器与用于储存向量操作数的向量寄存器之间移动向量操作所需的数据元素。特别地,所需的单独数据元素可储存在存储器内的一系列数据结构内,在该存储器中,每个数据结构可包括多个相关数据元素,例如X、Y及Z坐标值、红色、绿色及蓝色像素值、复数实部与虚部等等。然而,为使能向量操作的高效利用,如果向量寄存器储存来自多个该数据结构的由一系列对应数据元素组成的向量操作数,则是十分有用的。因此,通过使用X、Y及Z坐标值的上述示例,可需要一个向量寄存器储存多个X坐标值,另一向量寄存器储存多个Y坐标值,以及又一向量寄存器储存多个Z坐标值。将需要提供一种技术,该技术用于高效转换存储器与多个向量寄存器之间的多个数据结构。
技术实现思路
在第一示例性配置中,提供一种设备,该设备包括:一组向量寄存器,每个向量寄存器经排列以储存包括多个数据元素的向量操作数;访问电路,用于执行访问操作以在存储器中数据结构与所述向量寄存器组之间移动向量操作数的数据元素,每个数据结构包括储存在所述存储器中连续地址处的多个数据元素;解码电路,可响应于从所述组识别多个向量寄存器及所述存储器中相对于彼此而不连续定位的多个数据结构的单一访问指令,以产生控制信号以控制访问电路以执行所述访问操作序列,以在所述存储器与所述多个向量寄存器之间移动所述多个数据结构,以使得所述多个向量寄存器中每个向量寄存器中的向量操作数保存来自每个所述多个数据结构的对应数据元素。在另一示例性配置中,提供一种方法,该方法是操作一设备以执行访问操作以在存储器中数据结构与该设备的向量寄存器组之间移动向量操作数的数据元素,每个向量寄存器经排列以储存包括多个数据元素的向量操作数,以及每个数据结构包括多个储存在所述存储器中的连续地址处的数据元素,该方法包括:解码单一访问指令,该指令从所述组识别多个向量寄存器及所述存储器中相对于彼此而不连续定位的多个数据结构,以产生控制信号以控制访问电路以执行所述访问操作序列,从而在所述存储器与所述多个向量寄存器之间移动所述多个数据结构;以及在所述访问操作序列执行期间移动每个数据结构的多个数据元素,以使得所述多个向量寄存器中每个向量寄存器中的向量操作数保存来自每个所述多个数据结构的对应数据元素。在又一示例性配置中,提供一种设备,该设备包括:一组向量寄存器手段,每个向量寄存器手段用于储存包括多个数据元素的向量操作数;访问手段,用于执行访问操作以在存储器中数据结构与所述向量寄存器手段组之间移动向量操作数的数据元素,每个数据结构包括储存在所述存储器中连续地址处的多个数据元素;解码手段,用于响应于从所述组识别多个向量寄存器手段及所述存储器中相对于彼此而不连续定位的多个数据结构的单一访问指令,而产生控制信号以控制访问手段以执行所述访问操作序列,以在所述存储器与所述多个向量寄存器手段之间移动所述多个数据结构,以使得所述多个向量寄存器手段中每个向量寄存器手段中的向量操作数保存来自每个所述多个数据结构的对应数据元素。在替代性配置中,提供储存在非暂态计算机可读取储存介质中的计算机程序,该计算机程序在被数据处理设备执行时提供虚拟机,该虚拟机提供对应于上文提及的第一示例性配置的设备的指令执行环境。附图说明本技术将仅以举例方式,参考本案实施例进行进一步描述,如附图中所图示,在这样的附图中:图1是依据一个实施例的数据处理设备的框图;图2是意地图示依据一个实施例在存储器与多个向量寄存器之间转换这些数据元素时可如何重排单独数据元素的图示;图3示意地图示单一访问指令的格式,该单一访问指令可用于一个实施例中以使得访问电路执行访问操作序列从而实施图2示意图示的移动/重排程序;图4图示指令中提供的信息如何可用于标识存储器中的一系列地址,这样的地址与待访问的所需不连续数据结构关联;图5是图示依据一个实施例在执行规定多个非连续数据结构的单一访问指令时实施的步骤的流程图;图6示意地图示通过单一访问指令标识的谓词信息如何可用于一个实施例;图7图示依据一个实施例,在从存储器将数据结构载入多个向量寄存器时,可如何使用单一访问指令所规定的谓词信息来执行压缩;图8及图9是图示依据两个替代性实施例的数据处理设备的框图;图10是图示图8或图9的设备可如何用于一个实施例中以执行访问操作序列,从而实施参考图2举例说明的移动/重排程序的流程图;图11图示依据一个实施例,额外偏移标识符字段可如何添加至指令编码;图12图示依据一个实施例,图11的额外偏移标识符字段可如何用于两个连续载入指令;以及图13图示可用于一个实施例中的虚拟机实现方式。具体实施方式在参考附图论述实施例之前,提供下列实施例描述。依据一个实施例,设备具有向量寄存器组,该组中每个向量寄存器经排列以储存包括多个数据元素的向量操作数,以及具有访问电路以执行访问操作从而在存储器中的数据结构与该组向量寄存器之间移动向量操作数的数据元素。每个数据结构包括多个储存在存储器中连续地址处的数据元素。访问电路可因此执行载入操作,从而从存储器将数据结构的数据元素移至向量寄存器,或可执行储存操作从而在多个向量寄存器中读取向量操作数,随后将这些向量操作数中包含的数据元素储存至存储器,以作为一系列数据结构。依据一个实施例,提供解码电路,该解码电路可响应于标识多个向量寄存器及相对于彼此而不连续地(本案中也被称作非连续地)定位于存储器中的多个数据结构的单一访问指令,以产生控制信号以控制访问电路以执行特定访问操作序列。特定而言,访问电路可响应于这些控制信号以在存储器与该指令标识的多个向量寄存器之间移动该指令标识的多个数据结构,以使得每个向量寄存器中的向量操作数保存来自该多个数据结构中每个数据结构的对应数据元素。在一个实施例中,向量寄存器中保存的对应数据元素来自多个数据结构中每个数据结构内的同一相对位置。在一个实施例中,当多个数据结构中一个或多个的多个数据元素在存储器与多个向量寄存器之间移动时,访问电路重排这样的数据元素。如本文中所使用,在将数据结构描述为相对于彼此而不连续地定位时,这意味着在一个数据结构的最后一数据元素与下一数据结构的第一数据元素之间的存储器地址空间中提供有一个或多个数据元素位置。这样的数据结构在本案中也将被称为不连续(或非连续)数据结构。通过使用上文介绍的单一访问指令,此为访问存储器中多个不连续数据结构提供了极高效机制,以及特定而言,是在数据结构与多个向量寄存器之间向任一方向移动这些多个数据结构的数据元素的极高效机制。在一个实施例中,访问电路在载入指令的情况下,并非仅本文档来自技高网...
用于转换存储器与多个向量寄存器之间的多个数据结构的设备及方法

【技术保护点】
一种装置,包括:一组向量寄存器,每个向量寄存器经排列以储存包括多个数据元素的向量操作数;访问电路,用于执行访问操作,以在存储器中的数据结构与所述向量寄存器组之间移动向量操作数的数据元素,每个数据结构包括储存在所述存储器中连续地址处的多个数据元素;解码电路,可响应于标识来自所述向量寄存器组的多个向量寄存器及相对于彼此在所述存储器中不连续定位的多个数据结构的单一访问指令,来产生控制信号以控制所述访问电路以执行所述访问操作的序列,以在所述存储器与所述多个向量寄存器之间移动所述多个数据结构,从而使得所述多个向量寄存器中每个向量寄存器中的所述向量操作数保存来自所述多个数据结构中的每个的对应数据元素。

【技术特征摘要】
【国外来华专利技术】2015.07.31 US 14/814,5901.一种装置,包括:一组向量寄存器,每个向量寄存器经排列以储存包括多个数据元素的向量操作数;访问电路,用于执行访问操作,以在存储器中的数据结构与所述向量寄存器组之间移动向量操作数的数据元素,每个数据结构包括储存在所述存储器中连续地址处的多个数据元素;解码电路,可响应于标识来自所述向量寄存器组的多个向量寄存器及相对于彼此在所述存储器中不连续定位的多个数据结构的单一访问指令,来产生控制信号以控制所述访问电路以执行所述访问操作的序列,以在所述存储器与所述多个向量寄存器之间移动所述多个数据结构,从而使得所述多个向量寄存器中每个向量寄存器中的所述向量操作数保存来自所述多个数据结构中的每个的对应数据元素。2.如权利要求1所述的装置,其中所述多个数据结构中一个或多个的所述多个数据元素在所述存储器与所述多个向量寄存器之间移动时经重排。3.如权利要求1或2所述的装置,其中所述单一访问指令是载入指令,以及所述访问电路可响应于所述控制信号以执行所述访问操作序列,从而从所述存储器获得标识的每个数据结构的所述数据元素,以及将向量操作数写入每个标识的向量寄存器,所述向量操作数包括来自所述多个数据结构中每个数据结构的对应数据元素。4.如权利要求3所述的装置,其中所述访问操作序列包括聚集操作序列,每个聚集操作获得来自所述多个数据结构中每个数据结构的对应数据元素,以及将获得的所述数据元素写入与所述聚集操作关联的向量寄存器。5.如权利要求1或2所述的装置,其中所述单一访问指令是储存指令,以及所述访问电路可响应于所述控制信号以执行所述访问操作序列,从而从每个标识的向量寄存器读取向量操作数,所述向量操作数包括来自所述多个数据结构中的每个的对应数据元素,以及在所述数据元素被写入所述存储器时重排所述数据元素,从而将每个数据结构储存在所述存储器中对应于所述数据结构的不连续位置的地址,同时确保每个单个数据结构的所述数据元素储存在所述存储器中的连续地址。6.如权利要求5所述的装置,其中所述访问操作序列包括分散操作序列,每个分散操作从与所述分散操作关联的向量寄存器处获得向量操作数,所述向量操作数包括来自所述多个数据结构中每个数据结构的对应数据元素,以及将所述向量操作数的所述数据元素写入所述存储器的地址,所述地址利用所述多个数据结构的所述地址所确定。7.如任意前述权利要求所述的装置,其中所述单一访问指令包括提供用于确定所述多个数据结构的所述地址的信息的数据结构标识符字段。8.如权利要求7所述的装置,还包括:一组标量寄存器,用于储存标量数据值;其中所述数据结构标识符字段包括标量寄存器标识符字段及步长标识符字段,所述标量寄存器标识符字段标识来自所述组的标量寄存器,所述标量寄存器中储存的标量的数据值用于确定所述存储器中的基本地址,以及所述步长标识符字段包含步长信息,所述步长信息用于推导来自所述基本地址的所述多个数据结构的所述地址。9.如权利要求8所述的装置,其中所述步长信息标识恒定步长值。10.如权利要求9所述的装置,其中所述步长标识符字段包括立即值及标量寄存器标识符中的一个,从而标识所述恒定步长值。11.如权利要求8所述的装置,其中所述步长信息标识一系列步长值,每个步长值与所述多个数据结构中的至少一个相关联。12.如权利要求11所述的装置,其中所述步长标识符字段标识所述组内的向量寄存器,以及所述向量寄存器中的每个数据元素标识步长值,所述步长值用于根据所述基本地址确定所述数据结构中的关联一者的所述地址。13.如权利要求7所述的装置,其中所述数据结构标识符字段标识所述组内的向量寄存器,以及所述向量寄存器中的每个数据元素提供指针数据,所述指针数据用于确定所述数据结构中的相关联一个的所述地址。14.如任意前述权利要求所述的装置,其中所述单一访问指令包括向量寄存器标识符字段,所述字段提供信息,所述信息用于确定待访问...

【专利技术属性】
技术研发人员:姆布·埃约勒奈杰尔·约翰·斯蒂芬斯杰弗里·格尼恩亚历克斯·克莱伯查尔西·塔克
申请(专利权)人:ARM有限公司苹果公司
类型:发明
国别省市:英国,GB

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

1