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

用于控制矢量内存存取的数据处理装置及方法制造方法及图纸

技术编号:18525812 阅读:51 留言:0更新日期:2018-07-25 12:42
提供用于控制矢量内存存取的数据处理装置及方法。装置包含矢量寄存器集合;以及旗标设定电路,该旗标设定电路响应于确定用于储存在矢量寄存器集合中的一个矢量寄存器中而产生的矢量包含满足指定连续准则的多个元素,产生与该矢量寄存器关联的旗标信息。随后处理电路被用于执行矢量内存存取操作,以在根据包含多个地址元素的地址矢量操作数确定的地址处在内存中存取多个数据值。在矢量寄存器集合的指定矢量寄存器中提供地址矢量操作数,使得储存在该指定矢量寄存器中的矢量的多个元素形成多个地址元素。处理电路被布置为确定指定矢量寄存器是否具有与其关联的旗标信息,若有,则在确定用于存取多个数据值所需的对内存的存取次数时使用该旗标信息。

【技术实现步骤摘要】
用于控制矢量内存存取的数据处理装置及方法
本技术涉及数据处理领域。更具体地,本技术涉及矢量指令的处理。
技术介绍
一些数据处理系统支持矢量指令的处理,针对矢量指令,指令的源操作数或结果值是包含多个元素的矢量。通过响应于单个指令来支持多个不同元素的处理,可提高代码密度并降低指令的提取及译码的开销。通过将数据值加载进矢量操作数的各个元素中并使用单个矢量指令一次处理数据值的若干元素,可更有效地处理待处理的数据值数组。可执行的一个类型的矢量内存(memory)存取操作在根据包含多个地址元素的地址矢量操作数确定的地址处在内存中存取多个数据值。这种操作提供了许多灵活性,因为这种操作允许从任意内存位置存取数据值,其中每个数据值的地址源自于地址矢量操作数中的对应地址元素。当将来自内存的数据值加载进矢量寄存器时,这种内存存取操作经常被称为收集内存存取操作,因为这种操作用于收集来自多个地址位置的数据值并将这些数据值储存进矢量寄存器内。类似地,当这种操作用于将来自矢量寄存器的数据值储存进内存中时,这些操作经常被称为散布内存存取操作,因为这些操作用于将来自矢量寄存器的数据值分布至内存中标识的地址。由于这种收集或散布操作中涉及的地址可为任意的,所以这种操作的处理通常需要串行化各种存取请求,以便执行一系列独立的加载或储存操作。若不这样做,将会在硬件且因此面积及功率方面造成显著的代价,并且将需要在关键时序路径(即,内存存取路径)中执行额外的处理。期望提供用于处理收集或散布操作而无这种额外硬件代价并且对至内存的时序路径无影响的改进机制。
技术实现思路
在一些示例中,提供数据处理装置,此数据处理装置包含:矢量寄存器集合;旗标设定电路,用于响应于确定了用于储存在所述集合的矢量寄存器中而产生的矢量包含满足指定连续准则的多个元素,产生与该矢量寄存器关联的旗标信息;以及处理电路,用于执行矢量内存存取操作以在根据包含多个地址元素的地址矢量操作数确定的地址处的内存中存取多个数据值,所述地址矢量操作数在所述集合的指定矢量寄存器中提供,并且储存在所述指定矢量寄存器中的矢量的多个元素形成所述多个地址元素;处理电路被布置为确定所述指定矢量寄存器是否具有与其关联的旗标信息,以及当第一矢量寄存器具有与其关联的旗标信息时,在确定用于存取多个数据值所需的对内存的存取次数时使用旗标信息。其他示例提供一种在具有矢量寄存器集合的数据处理装置中控制矢量内存存取的方法,此方法包含以下步骤:确定用于储存在所述集合的矢量寄存器中而产生的矢量是否包含满足指定连续准则的多个元素;响应于确定所述矢量包含满足指定连续准则的多个元素,产生与所述矢量寄存器关联的旗标信息;执行矢量内存存取操作以在根据包含多个地址元素的地址矢量操作数中确定的地址处在内存中存取多个数据值,所述地址矢量操作数在所述集合的指定矢量寄存器中提供,并且储存在所述指定矢量寄存器中的矢量的多个元素形成所述多个地址元素;以及当执行内存存取操作时,确定所述指定矢量寄存器是否具有与其关联的旗标信息,以及当第一矢量寄存器具有与其关联的旗标信息时,在确定用于存取多个数据值所需的对内存的存取次数时使用旗标信息。又一些示例提供数据处理装置,此数据处理装置包含:矢量寄存器集合;用于响应于确定用于储存在所述集合的矢量寄存器中而产生的矢量包含满足指定连续准则的多个元素,而产生与该矢量寄存器关联的旗标信息的旗标设定装置;以及用于执行矢量内存存取操作以在根据包含多个地址元素的地址矢量操作数确定的地址处在内存中存取多个数据值的处理装置,所述地址矢量操作数在所述集合的指定矢量寄存器中提供,并且储存在所述指定矢量寄存器中的矢量的多个元素形成所述多个地址元素;处理装置用于确定该所述指定矢量寄存器是否具有与其关联的旗标信息,以及用于在第一矢量寄存器具有与其关联的旗标信息时,在确定用于存取多个数据值所需的对内存的存取次数时使用旗标信息。附图说明如附图所示,下文将仅以示例的方式参照其实施例进一步对本技术进行描述,其中:图1为根据一个实施例的装置的框图;图2示意地示出根据一个实施例的在矢量产生指令内提供的字段;图3示意地示出根据一个实施例的可针对矢量产生指令的特定示例产生的元素的矢量;图4为根据一个实施例的示出当执行矢量产生指令时执行的处理的流程图;图5示意地示出根据一个实施例的由矢量产生指令产生的矢量可以如何用作对矢量存取指令的输入以标识内存地址空间内的环形缓冲器;图6为根据一个实施例的更详细地示出图1的矢量产生电路的布置的框图;图7A至图7C示意地示出根据三个示例实施例的图6的加法器电路及修改电路的布置;图8示出矢量指令的重叠执行的示例;图9示出在不同处理器实施方式之间或在指令执行的不同实例之间的执行时期按比例缩放连续矢量指令之间的重叠量的三个示例;图10为示意地示出根据一个实施例的可以如何选择性地停用(disable)矢量产生指令的换行功能的流程图;图11示意地示出根据一个实施例的可以与标量寄存器集合关联使用的读出存取电路的布置;图12为根据另一实施例的装置的框图;图13A及图13B示出根据所述实施例的图12中示出的旗标信息储存器(storage)的两个示例布置;图14为根据一个实施例的示出当执行矢量内存存取操作时可以如何使用旗标信息的流程图;图15A至图15C示出可在所述实施例中使用的旗标信息的不同示例布置;图16A及图16B为根据一个实施例的指示可以致使旗标信息无效的指定事件的流程图;图17至图19为示出根据所述实施例的可用于填充旗标信息的不同机制的流程图;以及图20示出可使用的虚拟机实施方式。具体实施方式在参考附图论述实施例之前,提供了实施例的以下描述。如上提及,由于用于根据这种操作进行处理的地址可相对于彼此为任意的,通常证实了有必要将与散布或收集类型的内存存取操作关联的各种存取串行化。在存取实际上为任意的情况下,这是合理且必要的。然而,专利技术者认识到存在日益增长的使用这种散布或收集类型的内存存取操作的情况,但其中待存取的地址的至少一些实际上为连续的,因此多个数据值可经由对内存中的连续地址的单次存取来存取。然而,在矢量处理系统中,至内存的存取路径经常是关键时序路径,并且因此在内存存取路径内提供了电路以在处理矢量内存存取操作时分析地址的这种情况下,可导致时序问题或造成高昂的硬件代价。所述实施例提供用于减轻此问题的机制。具体而言,提供数据处理装置,此数据处理装置包含矢量寄存器的集合以及旗标设定电路,此旗标设定电路响应于确定用于存储在这些矢量寄存器的一者中而产生的矢量包含满足指定连续准则的多个元素而产生与该矢量寄存器关联的旗标信息。数据处理装置还具有处理电路,此处理电路用于执行矢量内存存取操作以在根据包含多个地址元素的地址矢量操作数确定的地址处在内存中存取多个数据值。在集合的指定矢量寄存器中提供地址矢量操作数,使得储存在该指定矢量寄存器中的矢量的多个元素形成多个地址元素。处理电路被布置为确定指定矢量寄存器是否具有与其关联的旗标信息。若有,则当执行矢量内存存取操作以确定用于存取多个数据值所需的对内存的存取次数时通过处理电路使用该旗标信息。通过这种方法,旗标设定电路可在离开关键路径的时段中产生旗标信息,并且具体而言,可在执行矢量内存存取操作之前产生旗本文档来自技高网...

【技术保护点】
1.一种数据处理装置,包含:矢量寄存器集合;旗标设定电路,用于响应于确定用于储存在所述集合的矢量寄存器中而产生的矢量包含满足指定连续准则的多个元素,产生与所述矢量寄存器关联的旗标信息;以及处理电路,用于执行矢量内存存取操作以在根据包含多个地址元素的地址矢量操作数确定的地址处在内存中存取多个数据值,所述地址矢量操作数在所述集合的指定矢量寄存器中提供,并且储存在所述指定矢量寄存器中的矢量的多个元素形成所述多个地址元素;所述处理电路被布置为确定所述指定矢量寄存器是否具有与其关联的旗标信息,并且当第一矢量寄存器具有与其关联的旗标信息时,在确定用于存取所述多个数据值所需的对内存的存取次数时使用该旗标信息。

【技术特征摘要】
2016.12.22 EP 16206294.71.一种数据处理装置,包含:矢量寄存器集合;旗标设定电路,用于响应于确定用于储存在所述集合的矢量寄存器中而产生的矢量包含满足指定连续准则的多个元素,产生与所述矢量寄存器关联的旗标信息;以及处理电路,用于执行矢量内存存取操作以在根据包含多个地址元素的地址矢量操作数确定的地址处在内存中存取多个数据值,所述地址矢量操作数在所述集合的指定矢量寄存器中提供,并且储存在所述指定矢量寄存器中的矢量的多个元素形成所述多个地址元素;所述处理电路被布置为确定所述指定矢量寄存器是否具有与其关联的旗标信息,并且当第一矢量寄存器具有与其关联的旗标信息时,在确定用于存取所述多个数据值所需的对内存的存取次数时使用该旗标信息。2.如权利要求1所述的数据处理装置,其中,当所述指定矢量寄存器具有与其关联的旗标信息时,所述处理电路被布置为通过对内存中的连续地址的单次存取来存取所述多个数据值。3.如权利要求2所述的数据处理装置,其中,在缺少与所述指定矢量寄存器关联的旗标信息的情况下,所述处理电路被布置为在确定用于存取所述多个数据值所需的所述对内存的存取次数时将每个数据值视为在内存中具有不连续地址。4.如权利要求1所述的数据处理装置,其中,所述指定连续准则要求至少所述矢量中的元素的子集具有遵照规律发展序列的值,并且所述旗标信息使得所述处理电路能够确定所述矢量中的哪些元素具有遵照规律发展序列的值。5.如权利要求4所述的数据处理装置,其中,所述旗标信息包含至少一个有效旗标,每个有效旗标与所述矢量的一部分关联,并且当在所述矢量的关联部分内的元素具有遵照规律发展序列的值时每个有效旗标被设定。6.如权利要求5所述的数据处理装置,其中,所述旗标信息还标识在所述矢量的多个相邻部分具有它们的有效旗标集合时在所述多个相邻部分之间的规律发展序列中是否存在连续性。7.如权利要求5所述的数据处理装置,其中,所述指定连续准则要求所述矢量中的全部元素都具有遵照规律发展序列的值,并且当所述矢量中的全部元素都具有遵照规律发展序列的值时所述旗标信息包含有效旗标集合。8.如权利要求4所述的数据处理装置,其中,所述旗标信息包含标识了数据值大小的大小信息,当具有遵照所述规律发展序列的值的所述矢量中的元素被用作所述矢量内存存取操作的地址元素时,这些元素将针对该数据值大小产生内存中的连续地址。9.如权利要求1所述的数据处理装置,还包含控制储存器,所述旗标信息被储存在该控制储存器中以供所述处理电路参考。10.如权利要求9所述的数据处理装置,其中,所述旗标信息包含寄存器标识符字段,该寄存器标识符...

【专利技术属性】
技术研发人员:弗朗索瓦·克里斯托弗·雅克·波特曼托马斯·克里斯托弗·格罗卡特
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国,GB

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

1