CN117795477A - 预测技术 - Google Patents

预测技术 Download PDF

Info

Publication number
CN117795477A
CN117795477A CN202280053705.2A CN202280053705A CN117795477A CN 117795477 A CN117795477 A CN 117795477A CN 202280053705 A CN202280053705 A CN 202280053705A CN 117795477 A CN117795477 A CN 117795477A
Authority
CN
China
Prior art keywords
prediction
data value
vector
source
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280053705.2A
Other languages
English (en)
Inventor
亚利阳德罗·马丁内兹·文森特
奈杰尔·约翰·斯蒂芬斯
伊莲娜·米兰诺维奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARM Ltd filed Critical ARM Ltd
Publication of CN117795477A publication Critical patent/CN117795477A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

公开了与向量处理中的多个向量的预测相关的设备、方法和程序。公开了预测信息的编码,该编码包括元素大小和元素计数,其中该预测信息包含由该元素计数给出的连续相同预测指示符的多重性,每个预测指示符对应于该元素大小。

Description

预测技术
本技术涉及数据处理。具体地说,涉及向量处理和用以控制该向量处理的预测的使用。
数据处理设备可具有处理电路系统以执行向量处理运算。向量处理运算可涉及在保持在向量寄存器中的向量的相应元素上执行的平行运算。向量处理运算对于向量的预测包括控制该向量的哪些元素经受向量处理运算。
本文描述的至少一些示例提供一种设备,包括:
解码电路系统,该解码电路系统用以解码指令;和
处理电路系统,该处理电路系统用以向输入数据向量应用由该指令指定的向量处理运算,
其中该解码电路系统响应于指定下列的向量处理指令:
向量处理运算;
一个或多个源操作数;和
源预测寄存器,
而生成控制信号,该控制信号致使该处理电路系统对于该源操作数执行该向量处理运算,其中该控制信号进一步致使该处理电路系统选择性地向由预测指示符预测的该一个或多个源操作数的元素应用该向量处理运算,该预测指示符是从预测数据值解码的,该预测数据值是从该源预测寄存器检索的,
其中该预测数据值具有编码,该编码包括:
元素大小;和
元素计数,该元素计数指示连续相同预测指示符的多重性,每个预测指示符对应于该元素大小。
本文描述的至少一些示例提供一种数据处理的方法,包括:
解码指令;以及
控制处理电路系统,以向输入数据向量应用由该指令指定的向量处理运算,
其中该解码包括响应于指定下列的向量处理指令:
向量处理运算;
一个或多个源操作数;和
源预测寄存器,
而生成控制信号,该控制信号致使该处理电路系统对于该一个或多个源操作数执行该向量处理运算,其中该控制信号进一步致使该处理电路系统选择性地向由预测指示符预测的该一个或多个源操作数的元素应用该向量处理运算,该预测指示符是从预测数据值解码的,该预测数据值是从该源预测寄存器检索的,
其中该预测数据值具有编码,该编码包括:
元素大小;和
元素计数,该元素计数指示连续相同预测指示符的多重性,每个预测指示符对应于该元素大小。
本文描述的至少一些示例提供一种计算机程序,该计算机程序用于控制主机处理设备以提供指令执行环境,该计算机程序包括:
解码逻辑,该解码逻辑用以解码指令;和
处理逻辑,该处理逻辑用以向输入数据向量应用由该指令指定的向量处理运算,
其中该解码逻辑响应于指定下列的向量处理指令:
向量处理运算;
一个或多个源操作数;和
源预测寄存器,
而生成控制信号,该控制信号致使该处理逻辑对于源操作数执行该向量处理运算,其中该控制信号进一步致使该处理电路系统选择性地向由预测指示符预测的该一个或多个源操作数的元素应用该向量处理运算,该预测指示符是从预测数据值解码的,该预测数据值是从该源预测寄存器检索的,
其中该预测数据值具有编码,该编码包括:
元素大小;和
元素计数,该元素计数指示连续相同预测指示符的多重性,每个预测指示符对应于该元素大小。
本技术将仅通过示例、参照如附图中所示出的其实施方案、结合以下具体实施方式来进一步说明,其中:
图1示意性地示出根据本技术的各种配置的设备;
图2A和图2B示意性地示出根据本技术的各种配置的指定向量处理运算的向量处理指令的使用,该向量处理运算利用了使用预测作为计数(predicate-as-count)方法编码的预测信息;
图3示意性地示出根据本技术的各种配置的指定向量处理运算的向量处理指令的使用,该向量处理运算利用了使用预测作为计数方法编码的预测信息;
图4A示意性地示出根据本技术的各种配置的预测编码的反向指示符的使用;
图4B示意性地示出根据本技术的各种配置的针对预测作为计数定义使用的编码中介于元素计数与元素大小的指示之间的边界的可变位置;
图4C示意性地示出根据本技术的各种配置确定针对预测作为计数定义使用的编码中介于元素计数与元素大小的指示之间的边界的位置的位值的示例;
图5示意性地示出根据本技术的各种配置的针对预测作为计数定义使用的编码;
图6示意性地示出根据本技术的各种配置的定义预测作为计数的预测数据值的读取和写入;
图7示意性地示出根据本技术的各种配置的预测生成指令的使用;
图8示意性地示出根据本技术的各种配置的将预测作为计数转换到预测作为掩码的向量处理指令中的大小指示符的使用;
图9A示意性地示出根据本技术的各种配置的预测转换指令中的子部分指示符的使用;
图9B示意性地示出根据本技术的各种配置的全真预测生成指令;
图10示意性地示出根据本技术的各种配置的预测计数指令的使用;并且
图11示意性地示出可使用的模拟器实施方式。
在本文所公开的一个示例中,存在一种设备,包括:
解码电路系统,该解码电路系统用以解码指令;和
处理电路系统,该处理电路系统用以向输入数据向量应用由该指令指定的向量处理运算,
其中该解码电路系统响应于指定下列的向量处理指令:
向量处理运算;
一个或多个源操作数;和
源预测寄存器,
而生成控制信号,该控制信号致使该处理电路系统对于该源操作数执行该向量处理运算,其中该控制信号进一步致使该处理电路系统选择性地向由预测指示符预测的该一个或多个源操作数的元素应用该向量处理运算,该预测指示符是从预测数据值解码的,该预测数据值是从该源预测寄存器检索的,
其中该预测数据值具有编码,该编码包括:
元素大小;和
元素计数,该元素计数指示连续相同预测指示符的多重性,每个预测指示符对应于该元素大小。
数据处理运算的预测通常是通过使用预测掩码实现,根据预测掩码,预测掩码保持对应于在其处可应用数据处理运算的可能平行位置的指示符的数目。指示符的相应值接着确定是否进行相应位置处的数据处理运算。此方法在本文中称为“预测作为掩码(predication-as-mask)”。因此,在向量处理运算的背景下,可提供预测掩码,其包括如待经受向量处理运算的向量中的元素数目的对应指示符数目。预测掩码中的指示符的相应值接着确定向量的哪些元素经受向量处理运算。然而,本技术的发明人已发现,对于需要大量预测信息的一些运算来说,使用多个预测掩码以涵盖数据宽度的实施是不切实际的。例如,这在多向量处理的背景下已可能是如此,并且在可扩展向量处理的背景下困难情形更是加剧,即,其中数据处理设备不受限于对具有固定数目的元素的固定向量长度执行向量处理,而是可能对可扩展向量(即,其在长度和/或元素大小上可变化)执行此向量处理。
在此背景下,相较于根据传统预测作为掩码方法所能够,本技术为待由源预测寄存器的内容提供的较大量的预测信息,提供更有效率的方式。取代了在如预测作为掩码般形成源预测寄存器的内容、和指令的(多个)操作数的主体元素的指示符(例如,位值)之间存在着一对一的对应,本技术利用保持在源预测寄存器中的预测数据值的编码,其中该编码指定元素大小和元素计数。该元素计数指示连续相同预测指示符的多重性,其中每个预测指示符对应于该元素大小。尽管在本文中称为“预测作为计数(predication-as-count)”的此方法并不支持对应于(多个)源操作数的个别元素的预测指示符的任意个别设置,但已发现预测的使用频繁地包括一组活动元素接着为一组非活动元素(或反之亦然),它们之间无间隙。例如,当向量处理正处置矩阵元素时,一组活动元素接着为非活动元素的情况可发生在矩阵行的结束处。相反地,一组非活动元素接着为活动元素的情况可发生在矩阵行的开始处。在由本技术所使用的编码使此类活动/非活动元素的组能够被有效率地编码的情况下,这仅需要单个源预测寄存器以提供乘积数据值,尽管如此,其可表示多个向量操作数的预测的所需信息。
因此,虽然在一些示例中,所需的预测指示符可包括完整组活动元素、或相反地为完整组非活动元素,但更大致上来说,在其它示例中,该处理电路系统被配置成解码该预测数据值以生成连续相同预测指示符和另外的相同预测指示符序列,其中连续相同预测指示符和另外的相同预测指示符序列包括彼此反向的活动指示。
然而,在一些示例中有时可能存在所有预测指示符相同(即,全部活动或全部非活动)的需求,该处理电路系统响应于具有预定值的该元素计数,而将所有预测指示符生成作为该连续相同预测指示符。
在一些示例中,该预测数据值的该编码进一步包括反向位,其中形成该连续相同预测指示符的重复活动指示取决于该反向位。据此,掩码信息的“极性”可通过使用此反向位而设置。此外,反向位与元素大小和元素计数组合因此定义活动元素的开始(其中这将处于下列任一者:在活动元素接着为非活动元素的情况中,该组元素的开始处、或者在非活动元素接着为活动元素的情况中,活动元素开始跟随一组非活动元素的该组元素内的点处)。
所使用的编码可以各种方式表示元素大小,并且可能够表示某一范围的元素大小,但在一些示例中,该预测数据值的该编码使用元素大小编码以指示该元素大小,其中该元素大小编码包括下列中的至少一者的指示:
该元素大小是字节长度;
该元素大小是半字长度;
该元素大小是字长度;
该元素大小是双字长度;以及
该元素大小是四字长度。
预测数据值的编码允许元素大小和元素计数两者由预测数据值表示,但表示这些相应组件的预测数据值的部分不需要固定。确实,在一些示例中,该预测数据值的该编码包括该预测数据值的预定部分,该预定部分用以指示该元素大小和该元素计数,其中该预测数据值的该预定部分中在指示该元素大小的第一子部分与指示该元素计数的第二子部分之间的边界位置取决于所指示的该元素大小。两个子部分之间此可变的边界允许如何在预测数据值中使用可用空间的弹性。具体地说,其在需要较少空间以指示元素大小的示例中允许更多空间被使用于元素计数,同时相反地,其在需要较少空间以指示元素计数的示例中允许更多空间被使用于元素大小。
表示元素计数和元素大小的具体方式并不受限,并且可采取各种形式。然而,在该边界位置在上文描述的方式中是可变的一些示例中,该第一子部分中的活动位的位位置指示该元素大小,并且该活动位的该位位置限定该边界位置。
本技术的优点是由预测作为计数使用的特别有效率的编码,使得大量的预测指示符可由预测数据值中相对少量的空间所表示。确实,该设备可被配置成在源预测寄存器的内容的限制部分中处置预测数据值。这可促进本技术易于实施。例如,在一些情况中,该预测数据值的该编码局限于该预测数据值的预定数目的位,并且该处理电路系统被配置成当从该源预测寄存器读取该预测数据值时忽视保持在该源预测寄存器中超出形成该预测数据值的该预定数目的位的任何另外的位。同等地,在一些情况中,该预测数据值的该编码局限于该预测数据值的预定数目的位,并且当将新的预测数据值写入到目标预测寄存器时,该处理电路系统被配置成将可保持在该目标源预测寄存器中超出形成该述数据值的该预定数目的位的任何另外的位设置成预定值。
本技术进一步提出各种另外的指令,对于该另外的指令,该设备可响应于支持预测作为计数示例的有效率创建和使用。据此,在一些示例中,该解码电路系统响应于指定待生成预测和待由该待生成预测控制的向量的数目的预测生成指令,而生成控制信号,该控制信号致使该处理电路系统生成指示对应元素大小和对应元素计数的预测数据值。
在一些示例中,该解码电路系统响应于指定全真待生成预测的全真预测生成指令,而生成控制信号,该控制信号致使该处理电路系统生成指示该预测指示符的全活动元素的全真预测数据值。
在一些示例中,该解码电路系统响应于指定全假待生成预测的全假预测生成指令,而生成控制信号,该控制信号致使该处理电路系统生成指示该预测指示符的全非活动元素的全假预测数据值。
虽然预测作为计数表示提供预测信息的特别有效率的编码密度,然而,本技术认知到传统的预测作为掩码表示可有用地采用的情况可能发生,并且据此提出至少一个指令以实现从预测作为计数表示转换到预测作为掩码表示。因此,在一些示例中,该解码电路系统响应于指定保持待转换预测数据值的源预测寄存器的预测转换指令,而生成控制信号,该控制信号致使该处理电路系统将该待转换预测数据值解码并生成经转换预测数据值,其中该经转换预测数据值包括直接掩码式样表示,其中位位置处的位值指示主体数据项中的元素的预测。
在预测作为计数表示可比同等大小的预测作为掩码表示更轻易地涵盖较大量数目的元素的情况下,进一步提出预测作为计数表示可转换成多于一个预测作为掩码。据此,在一些示例中,该预测转换指令指定多于一个目的地预测寄存器,并且该控制信号致使该处理电路系统生成多于一个经转换预测数据值,其中该多于一个经转换预测数据值中的每一者包括该直接掩码式样表示,并且其中该多于一个经转换预测数据值中的每一者对应于由该待转换预测数据值表示的该预测指示符的不同子集。
在一些示例中,该预测转换指令指定待生成的该多于一个经转换预测数据值的多重性。
在一些示例中,该预测转换指令指定由该待转换预测数据值表示的该预测位的多个可能子集中的何者待被生成。
在一些示例中,该解码电路系统响应于指定保持待计数预测数据值的源预测寄存器的预测计数指令,而生成控制信号,该控制信号致使该处理电路系统将该待转换预测数据值解码以确定由该待转换预测数据值指示的预测指示符、并存储对应于目的地通用寄存器中的该预测指示符中的活动元素的数目的标量值。
在一些示例中,该预测计数指令指定待计数的活动元素的该数目的上限,其中该上限对应于下列中的一者:两个向量长度;和四个向量长度。
一个或多个源操作数可指示各种类型的数据项、或待为向量处理运算的主体的数据项。在本技术上数据项的类型并不受限,只要其包括经受预测而作为运算的一部分的多个元素。此外,可仅存在一个源操作数,或可存在多个源操作数。在多个源操作数的情况中,当预测应用到所有那些多个源操作数时,存在对操作数的隐含命令,使得编码在预测数据值中的预测信息的第一部分应用到第一源操作数,编码在预测数据值中的预测信息的第二部分应用到第二源操作数,并且依此类推。源操作数可指示向量寄存器(具体地说,它们可以是可扩展向量寄存器),或替代地,它们可指示连续范围的存储器位置。确实,源向量本身可通过指针的手段(即,收集(加载)或散布(存储)运算)来指示某一范围的存储器位置。在某一范围的存储器位置的情况下,预测针对加载或存储运算控制哪些具体位置被存取/不存取。
如此,在一些示例中,该一个或多个源操作数包括:一个源向量寄存器;两个源向量寄存器;或三个源向量寄存器。源向量寄存器的另外的数目也是可能的。在一些示例中,该一个或多个源操作数包括:某一范围的存储器位置。存储器位置的范围可以是存储器位置的单个连续块,或可由设置指针指示,并且因此潜在地跨较宽广的存储器空间散布。
在一些示例中,向量处理指令进一步指定目的地向量寄存器。
在一些示例中,向量处理指令进一步指定目的地存储器位置。
在本文所公开的一个示例中,存在一种数据处理的方法,包括:
解码指令;以及
控制处理电路系统,以向输入数据向量应用由该指令指定的向量处理运算,
其中该解码包括响应于指定下列的向量处理指令:
向量处理运算;
一个或多个源操作数;和
源预测寄存器,
而生成控制信号,该控制信号致使该处理电路系统对于该一个或多个源操作数执行该向量处理运算,其中该控制信号进一步致使该处理电路系统选择性地向由预测指示符预测的该一个或多个源操作数的元素应用该向量处理运算,该预测指示符是从预测数据值解码的,该预测数据值是从该源预测寄存器检索的,
其中该预测数据值具有编码,该编码包括:
元素大小;和
元素计数,该元素计数指示连续相同预测指示符的多重性,每个预测指示符对应于该元素大小。
在本文公开的一个示例中,存在一种计算机程序,该计算机程序用于控制主机处理设备以提供指令执行环境,该计算机程序包括:
解码逻辑,该解码逻辑用以解码指令;和
处理逻辑,该处理逻辑用以向输入数据向量应用由该指令指定的向量处理运算,
其中该解码逻辑响应于指定下列的向量处理指令:
向量处理运算;
一个或多个源操作数;和
源预测寄存器,
而生成控制信号,该控制信号致使该处理逻辑对于源操作数执行该向量处理运算,其中该控制信号进一步致使该处理电路系统选择性地向由预测指示符预测的该一个或多个源操作数的元素应用该向量处理运算,该预测指示符是从预测数据值解码的,该预测数据值是从该源预测寄存器检索的,
其中该预测数据值具有编码,该编码包括:
元素大小;和
元素计数,该元素计数指示连续相同预测指示符的多重性,每个预测指示符对应于该元素大小。
现参照附图描述一些具体实施方案。
图1示意性地示出处理设备10,其可体现本技术的各种示例。该设备包括数据处理电路系统12,其响应于其执行的指令序列而执行数据项上的数据处理运算。这些指令是从数据处理设备对其具有存取的存储器14检索的,并且针对此目的以所属领域的一般技术人员将熟悉的方式提供提取电路系统16。此外,由提取电路系统16检索的指令传递到指令解码器电路系统18(也称为解码电路系统),其生成控制信号,该控制信号被布置成控制处理电路系统12、以及一组寄存器20和加载/存储单元22的配置和操作的各种方面。大致上,数据处理电路系统12可以流水线方式布置,但其具体细节与本技术不相关。所属领域的一般技术人员将熟悉图1表示的大致配置,并且其另外的具体实施方式仅出于简洁目的而在此省略。如图1可见,寄存器20各自包括多个数据元素的存储装置,使得处理电路系统可向指定寄存器内的指定数据元素应用数据处理运算,或可向指定寄存器内的数据元素的指定群组(“向量”)应用数据处理运算。在该组可用寄存器20中,一些被指定作为经布置的通用寄存器以保持给定大小的数据值,其表征设备的数据处理特性。例如,这些可以是64位数据值,但本技术不限于任何特定此数据值大小。该组可用寄存器内的其它寄存器可明确地配置为向量寄存器,其中那些向量寄存器所保持的向量长度可进一步是“可扩展的”,即,不固定,并且在预定上限与下限之间变化。例如,设备10可根据由英国剑桥安谋有限公司(ArmLimited,Cambridge,UK)提供的Arm AArch64架构的可伸缩向量扩展(Scalable VectorExtension)(SVE)而布置,其支持可从最小128位至最多2048位(以128位的增量)变化的向量长度。该组中的其它寄存器可被指定作为预测寄存器,并且在可扩展向量处理配置作为可扩展预测寄存器的背景下,其被布置成保持预测指示符以控制向对应可扩展向量应用向量处理运算。当以上文提及的SVE配置而配置时,设备10接着包括(除了其它通用寄存器之外):32个可扩展向量寄存器和16个可扩展预测寄存器。还可提供其它示例和类型的寄存器,但与本技术无直接相关性,因此并未论述。关于保持在寄存器20中的数据元素的这些(可扩展)向量(预测)寄存器的使用将在下文参照一些具体实施方案更详细地解释。数据处理电路系统12在执行指令上所需的数据值、和由那些数据处理指令所生成的数据值,是通过加载/存储单元22的手段写入到存储器14或从该存储器读取。还应注意,图1中的存储器14大致上可视为本技术的指令可存储于其上的计算机可读存储介质的示例,该指令一般作为处理电路系统接着执行的指令的预定序列(“程序”)的一部分。然而,处理电路系统可存取来自各种不同来源(此在RAM中、在ROM中、经由网络接口等)的此程序。本公开描述了处理电路系统12可执行的各种新颖指令,并且随附的图提供这些指令、为了支持那些指令执行的数据处理电路系统中的变化等的本质的进一步解释。
图2A示意性地示出在一些示例中的指定向量处理运算的向量处理指令的使用,其利用了使用预测作为计数方法编码的预测信息。向量处理指令80被显示包括操作码81、源操作数的指示82、和源预测寄存器的指示83。从源预测寄存器83检索的预测数据值84包括元素计数指示85和元素大小指示86。因此,由预测数据值84表示的预测信息表示了预测指示符的序列,其中每一者是大小86和重复计数85次数。例如,其中大小86指示预测指示符对应于8位的元素大小,并且计数85表示着“8”,接着指示涵盖64位宽度(即,元素大小乘以元素计数)的预测信息。示例被示出为一组预测指示符87,其中每一者被标号为“1”,其指示一组活动元素。这组预测指示符87接着控制数据项的哪些元素(从指令80中所指示的源82检索)经受向量处理运算。此向量处理运算是由指令80中的特定操作码82所定义。接着,向量处理的结果90可以各种方式(例如,存储在也被指定于指令中的目的地寄存器中,但在图2A的图示中已纯粹出于清晰目的而省略该方面)使用。据此,向量处理电路系统89提供作为图1所示的处理电路系统12的一部分,并且在此处理电路系统52内还进行预测数据值的解码。还应了解,图2A中所示的示例是特别简短和简单组的八个相同预测指示符87,作出这组纯粹是出于示出清晰的目的。更大致来说,本技术可轻易地用以编码相同预测指示符的更长的序列,例如可适用于可扩展向量处理示例,例如根据Arm AArch64架构的上文提及的SVE的那些。
图2B示意性地示出在一些示例中的指定向量处理运算的向量处理指令的使用,该向量处理运算利用了使用预测作为计数方法编码的预测信息。向量处理指令250被显示包括操作码251、目的地操作数的指示252、源操作数的指示253、和源预测寄存器的指示254。从源预测寄存器254检索的预测数据值255包括元素计数指示256和元素大小指示257。因此,由预测数据值255表示的预测信息表示了预测指示符的序列,其中每一者是大小257和重复计数256次数。例如,其中大小257指示预测指示符对应于16位的元素大小,并且计数256表示着“32”,接着指示涵盖512个位宽度(即,元素大小乘以元素计数)的预测信息。在图2B的情况中,由指令250中的特定操作码251定义的运算是向量加载或向量存储运算,并且由加载/存储电路系统260(其大致上可视为编程处理电路系统的一部分,即使为了示出清晰度其在图1中是分开显示)执行。在加载运算的情况中,源操作数253指示存储器位置的范围,并且该组预测指示符258控制哪些“元素”是从存储器位置的该范围加载,这些是被加载到目的地向量寄存器252中。加载/存储电路系统260存取存储器262和寄存器261(例如,图1中的存储器14和寄存器20)。在存储运算的情况中,源操作数253指示源向量寄存器,并且该组预测指示符258控制来自该源的哪些元素是被存储到存储器位置的范围中,这些是由目的地操作数252所指示。对于加载和存储运算两者来说,可由一组指针指示存储器位置的范围(即,关于存储器位置的源或目的地操作数事实上是保持一组指针的向量寄存器),从而允许收集/散布类型的加载和存储被执行(通过预测数据值所断言)。
图3示意性地示出指定向量处理运算的向量处理指令的使用,该向量处理运算利用了在一些示例中使用预测作为计数方法编码的预测信息。向量处理指令30被显示包括操作码32、第一源向量寄存器的指示34、第二源向量寄存器的指示36、和源预测寄存器的指示38。从源预测寄存器38检索的预测数据值40包括元素计数指示42和元素大小指示44。因此,由预测数据值40表示的预测信息表示了预测指示符的序列,其中每一者是大小44和重复计数42次数。例如,其中大小44指示预测指示符对应于8个位的元素大小,计数42表示着“8”,接着指示涵盖64个位宽度(即,元素大小乘以元素计数)的预测信息。示例被示出为一组预测指示符46,其中每一者被标号为“1”,其指示一组活动元素。这组预测指示符46接着控制相应向量48和50的哪些元素(从指令30中的指示34和36的两个源向量寄存器所检索)经受向量处理运算。此向量处理运算是由指令30中的特定操作码32所定义。向量处理的结果接着可以是一个或多个结果向量54。确实,一个或多个目的地向量寄存器一般将也被指定于指令中,但在图3的图示中已纯粹出于清晰目的而省略该方面。据此,向量处理电路系统52提供作为图1所示的处理电路系统12的一部分,并且在此向量处理电路系统52内还进行预测数据值的解码。还应了解,图3中所示的示例是特别简短和简单组的八个相同预测指示符46,作出这组纯粹是出于示出清晰的目的。更大致来说,本技术可轻易地用以编码相同预测指示符的更长的序列,例如可适用于可扩展向量处理示例,例如根据Arm AArch64架构的上文提及的SVE的那些。
图4A示意性地示出根据一些示例的预测编码的反向指示符的使用。除了上文论述的元素计数64和元素大小66之外,预测数据值60进一步包括反向指示62(其可提供作为指示反向或非反向的单个位)。反向指示62的效果是使活动和非活动预测元素的相对位置反向。因此,在第一配置68中,活动元素接着为非活动元素,同时在第二配置70中,非活动元素接着为活动元素。再次应理解,图4A中所示的示例也是特别简短和简单组的预测指示符,作出这组纯粹是出于示出清晰的目的。更大致来说,本技术可轻易地表示玻璃的相同活动和/或非活动元素的更多个序列。从略微不同的面向可看出,反向指示62的值指示活动元素的起始,借此在一个配置中活动元素在最左边的预测位置开始并根据计数值重复,预测指示的剩余部分是非活动元素。在其它配置中,非活动元素在最左边的预测位置开始并重复,直到达到允许活动元素的预测指示的剩余部分具有匹配计数值的多重性的位置。
图4B示意性地示出根据各种示例的针对预测作为计数定义使用的编码中介于元素计数与元素大小的指示之间的边界的可变位置。所示编码包括反向指示符(I)、元素计数指示符、和元素大小指示符。此外,图中所示,介于保持元素计数指示符的部分与保持元素大小指示符的部分之间的边界在位置上可变化。具体地说,其取决于所指示的元素大小而变化,这允许元素计数指示符更多或更少的空间。
图4C示意性地示出确定根据各种示例的针对预测作为计数定义使用的编码中介于元素计数与元素大小的指示之间的边界的位置的位值的示例。此处,所使用的编码将元素大小表示为“1000”。因此,前导1因此确定所指示的值,并且此“活动位”因此确定介于保持元素计数指示符的部分与保持元素大小指示符的部分之间的边界。在不同元素大小是由“10”所指示的情况下,这将使边界向右移动(在所示出的定向上),并且允许再多两个位用于元素计数指示符。
图5示意性地示出根据各种示例的针对预测作为计数定义使用的编码。此特定编码利用SVE预测寄存器的最低编号的16个位。位[15]用作为反向指示符,其中1指示反向,并且0指示非反向。位[14:0]用于表示元素计数和元素大小,其中元素计数部分与元素大小部分之间的边界取决于元素大小指示处于可变位置。如图4B中可见,用以表示元素大小的编码是二进制1,接着为介于0个与4个二进制0之间。如图所示:
[0]=1指示字节元素大小(且留下位[14:1]可用以编码元素计数;
[1:0]=10指示半字元素大小(且留下位[14:2]可用以编码元素计数;
[2:0]=100指示字元素大小(且留下位[14:3]可用以编码元素计数;
[3:0]=1000指示双字元素大小(且留下位[14:4]可用以编码元素计数;和
[4:0]=10000指示四字元素大小(且留下位[14:5]可用以编码元素计数。
另外,将[4:0]=00000的编码分配为全假(非活动)元素的特殊意义。据此,当[15]=1,并且[4:0]=00000时,这指示全真(活动)元素,即,这是使用预测作为计数表示的全活动预测的规范形式。
图6示意性地示出根据各种示例的定义预测作为计数的预测数据值的读取和写入。显示了预测寄存器,其中预测寄存器上的读取操作仅采用最低16位,并且忽略高于此的任何位。预测寄存器的最上位被标号为“MAX”,因为预测寄存器的大小可变化,特别是在可扩展向量处理实施方式的背景下可变化。例如,SVE配置可用可扩展向量寄存器实施为长度128个至2048个位,并且能够保持64、32、16、或8个位元素。对应地,可扩展预测寄存器(其是1/8的可扩展向量长度(以便能够断言8位元素))在长度上可以是16至256个位。因此,在16个位是最小预测寄存器长度的情况下,本技术是在该背景下呈现,其中预测作为计数编码占据16个位空间。因此,当读取预测数据值时,忽略了高于此的任何位,如图6所示。相反地,当预测数据值被写入到预测寄存器中时,仅根据预测作为计数编码设置最低的16个位,并且将高于此的任何位设置为0。
图7示意性地示出根据各种示例的预测生成指令的使用。预测生成指令100包括指示指令类型的操作码102、目的地预测寄存器的指示104、元素大小指示106、两个源通用寄存器指示107和108、和操作数(VL)110,该操作数指示待由此预测向量控制的向量的数目。预测生成指令100所触发用以从两个源通用寄存器的内容生成预测的内容的具体运算采用某一范围的形式,其中下列仅是一些示例:
·如果第二有符号标量操作数与第一有符号标量操作数之间的差为正或反之为零,则用此差生成预测作为计数。
·如果第二无符号标量操作数与第一无符号标量操作数之间的差为正或反之为零,则用此差生成预测作为计数。
·如果第一有符号标量操作数与第二有符号标量操作数之间的差为正或反之为零,则用此差生成预测作为计数。
·如果第一无符号标量操作数与第二无符号标量操作数之间的差为正或反之为零,则用此差生成预测作为计数。
指示待由此预测控制的向量的数目的操作数(VL)110是单个位,其指示待控制的2或4个向量。这接着确定可存储在预测作为掩码的元素计数中的最大值。例如,对于512位的可扩展向量长度(SVL)来说,并且当四个向量是待由预测控制时,给出256个字节的总共(四倍)SVL。使用最小元素大小的字节长度,最大计数值是256。参照图5的示例编码,这将需要位[8:1]用于元素计数,其中将位[0]设置为1以指示字节大小元素。接着在此示例中忽略位[14:9](例如,当读取预测以用于使用控制512位SVL时。仍读取位[15]作为反向指示符。据此由预测编码电路系统112生成预测,其被提供作为图1所示的处理电路系统12的一部分。指示待由此预测控制的向量的数目的操作数(VL)110因此还确定在设置条件标志时应考虑到的针对全活动(all-active)和最后活动(last-active)检查的元素的数目。
图8示意性地示出根据各种示例的将预测作为计数转换到预测作为掩码的向量处理指令中的大小指示符的使用。预测转换指令120包括指示指令类型的操作码122、第一目的地预测寄存器的指示124、第二目的地预测寄存器的指示125、元素大小指示126、和源预测寄存器指示128。预测数据值130(具有预测作为计数编码)是从源预测寄存器128检索的,并且形成预测解码132的主体(这是由图1所示的处理电路系统12执行)。接着,跨两个目的地预测寄存器134和136将所得的预测作为掩码存储。
图9A示意性地示出根据各种示例的预测转换指令中的子部分指示符的使用。预测转换指令150包括指示指令类型的操作码151、目的地预测寄存器的指示152、元素大小指示153、源预测寄存器指示154、和子部分选择指示符155。预测数据值160(具有预测作为计数编码)是从源预测寄存器154检索的,并且形成预测解码161的主体(这是由图1所示的处理电路系统12执行)。这导致“经扩增”预测作为掩码162,其全部具有对应于(在此示例中)4个向量长度的长度。子部分选择指示符155控制选择电路系统163,其致使该子部分的选定者被存储在目的地预测寄存器164中。
图9B示意性地示出根据各种示例的全真预测生成指令170,其包括指示指令类型的操作码171、目的地预测寄存器的指示172、元素大小指示173、和操作数(VL)174,该操作数指示待由此预测控制的向量的数目。此指令致使等值于活动元素的向量的经定义数目在预测作为计数编码中被生成。
图10示意性地示出根据各种示例的预测计数指令的使用。预测计数指令180包括指示指令类型的操作码181、目的地通用寄存器的指示182、源预测寄存器指示183、元素大小指示184、操作数(VL)185,该操作数指示待计数的元素的数目的限制,其对应于由此预测控制的向量的数目。预测数据值186(具有预测作为计数编码)是从源预测寄存器186检索的,并且形成预测解码187的主体(这是由图1所示的处理电路系统12执行)。接着,元素计数电路系统188(也形成图1所示的处理电路系统12的一部分)从经解码预测确定元素计数,并致使此标量计数值被存储在通用寄存器189中。此计数是考虑到所指示的向量数目中的元素大小。
上文已给出与预测作为计数相关的指令的各种示例。大致上,经断言的多向量指令采用预测作为计数作为管理预测。在那些指令中,考虑到预测作为计数编码中的活动元素的数目和该元素的宽度(大小)两者。这允许运算的宽度比在预测作为计数编码中的元素大小更窄或更宽。
图11示意性地示出可使用的模拟器实施方式。虽然稍早所述的实施方案以用于操作支持所关注技术的特定处理硬件的设备和方法来实施本发明,但还可能根据本文所述的实施方案提供指令执行环境,其是通过使用计算机程序实施。此类计算机程序常称为模拟器,因为它们提供硬件架构的基于软件的实施方式。模拟器计算机程序的种类包括仿真器、虚拟机、模型、和二进制转译器(包括动态二进制转译器)。一般来说,模拟器实施方式可在可选地运行主机操作系统210、支持模拟器程序220的主机处理器200上运行。在一些布置中,在硬件与所提供的指令执行环境和/或相同的主机处理器上提供的多个相异指令执行环境之间可有多层模拟。历史上,已需要强大的处理器来提供模拟器实施方式,其以合理速度执行,但此种方法在某些情况下可以是有正当理由的,例如当因为兼容性或再使用原因而需要运行另一处理器本体的码时。例如,模拟器实施方式可提供具有不为主机处理器硬件所支持的额外功能性的指令执行环境,或提供一般与不同的硬件架构相关联的指令执行环境。模拟的综述是于“一些有效率的架构模拟技术(Some Efficient ArchitectureSimulation Techniques)”中给出,罗伯特·贝迪切克(Robert Bedichek),1990年冬季USENIX会议(Winter 1990USENIX Conference),页数53至63。
在先前已参照特定硬件架构或特征来描述实施方案的情况下,在模拟实施方案中,可通过合适的软件架构或特征提供等效功能。例如,可在模拟实施方案中将特定电路系统实施为计算机程序逻辑。类似地,存储器硬件(例如寄存器或高速缓冲存储器)可在模拟实施方案中实施为软件数据结构。在先前描述的实施方案中提及的硬件元件的一者或多者存在于主机硬件(例如,主机处理器200)上的布置中,一些模拟实施方案可(在适当处)利用主机硬件。
模拟器程序220可存储在计算机可读存储介质(其可以是非暂时性介质)上,并提供程序接口(指令执行环境)给目标码230(其可包括应用程序、操作系统、和超管理器),该程序接口与通过模拟器程序220建模的硬件架构的程序接口相同。因此,目标码230的程序指令(其包括上文描述的用于生成和操控预测作为计数编码的预测的上文提及指令)可在指令执行环境内使用模拟器程序220执行,使得实际上不具有上文讨论的设备10的硬件特征的主机计算机200可模仿这些特征。
在简要的整体概述中,公开了与向量处理中的多个向量的预测相关的设备、方法和程序。公开了预测信息的编码,该编码包括元素大小和元素计数,其中该预测信息包括由该元素计数给出的连续相同预测指示00符的多重性,每个预测指示符对应于该元素大小。
在本申请中,用语“被配置成”是用以意指设备的元件具有能够实行所定义的操作的配置。在此背景下,“配置”意指硬件或软件的互连的布置或方式。例如,该设备可具有专用硬件,其提供所定义的操作,或者处理器或其它处理装置可被编程为执行该功能。“被配置成”并不意味着设备元件需要以任何方式改变以提供所定义的操作。
虽然本文已参照附图详细地描述说明性实施方案,但应了解本发明不限于该精确实施方案,并且所属领域的一般技术人员可于其中实行各种变化、补充和修改,而不脱离如随附权利要求书所定义的本发明的范围。例如,可用独立项的特征在不脱离本发明的范围的情况下作出与附属项的特征的各种组合。

Claims (25)

1.一种设备,包括:
解码电路系统,所述解码电路系统用以解码指令;和
处理电路系统,所述处理电路系统用以向输入数据向量应用由所述指令指定的向量处理运算,
其中所述解码电路系统响应于指定下列的向量处理指令:
向量处理运算;
一个或多个源操作数;和
源预测寄存器,
而生成控制信号,所述控制信号致使所述处理电路系统对于所述源操作数执行所述向量处理运算,其中所述控制信号进一步致使所述处理电路系统选择性地向由预测指示符预测的所述一个或多个源操作数的元素应用所述向量处理运算,所述预测指示符是从预测数据值解码的,所述预测数据值是从所述源预测寄存器检索的,
其中所述预测数据值具有编码,所述编码包括:
元素大小;和
元素计数,所述元素计数指示连续相同预测指示符的多重性,每个预测指示符对应于所述元素大小。
2.根据权利要求1所述的设备,其中所述处理电路系统被配置成解码所述预测数据值以生成所述连续相同预测指示符和另外的相同预测指示符序列,其中所述连续相同预测指示符和所述另外的相同预测指示符序列包括彼此反向的活动指示。
3.根据权利要求1所述的设备,其中所述处理电路系统响应于具有预定值的所述元素计数,以将所有预测指示符生成为所述连续相同预测指示符。
4.根据任一前述权利要求所述的设备,其中所述预测数据值的所述编码进一步包括反向位,其中形成所述连续相同预测指示符的重复活动指示取决于所述反向位。
5.根据任一前述权利要求所述的设备,其中所述预测数据值的所述编码使用元素大小编码以指示所述元素大小,其中所述元素大小编码包括下列中的至少一者的指示:
所述元素大小是字节长度;
所述元素大小是半字长度;
所述元素大小是字长度;
所述元素大小是双字长度;以及
所述元素大小是四字长度。
6.根据任一前述权利要求所述的设备,其中所述预测数据值的所述编码包括所述预测数据值的预定部分,所述预定部分用以指示所述元素大小和所述元素计数,
其中所述预测数据值的所述预定部分中在指示所述元素大小的第一子部分与指示所述元素计数的第二子部分之间的边界位置取决于所指示的所述元素大小。
7.根据权利要求6所述的设备,当依附于权利要求5时,其中所述第一子部分中的活动位的位位置指示所述元素大小,并且所述活动位的所述位位置限定所述边界位置。
8.根据任一前述权利要求所述的设备,其中所述预测数据值的所述编码局限于所述预测数据值的预定数目的位,
并且所述处理电路系统被配置成当从所述源预测寄存器读取所述预测数据值时忽视保持在所述源预测寄存器中超出形成所述预测数据值的所述预定数目的位的任何另外的位。
9.根据任一前述权利要求所述的设备,其中所述预测数据值的所述编码局限于所述预测数据值的预定数目的位,
并且所述处理电路系统被配置成当将新的预测数据值写入到目标预测寄存器时,将能够保持在所述目标预测寄存器中超出形成所述预测数据值的所述预定数目的位的任何另外的位设置成预定值。
10.根据任一前述权利要求所述的设备,其中所述解码电路系统响应于指定待生成预测和待由所述待生成预测控制的向量的数目的预测生成指令,而生成控制信号,所述控制信号致使所述处理电路系统生成指示对应元素大小和对应元素计数的预测数据值。
11.根据任一前述权利要求所述的设备,其中所述解码电路系统响应于指定全真待生成预测的全真预测生成指令,而生成控制信号,所述控制信号致使所述处理电路系统生成指示所述预测指示符的全活动元素的全真预测数据值。
12.根据任一前述权利要求所述的设备,其中所述解码电路系统响应于指定全假待生成预测的全假预测生成指令,而生成控制信号,所述控制信号致使所述处理电路系统生成指示所述预测指示符的全非活动元素的全假预测数据值。
13.根据任一前述权利要求所述的设备,其中所述解码电路系统响应于指定保持待转换预测数据值的源预测寄存器的预测转换指令,而生成控制信号,所述控制信号致使所述处理电路系统将所述待转换预测数据值解码并生成经转换预测数据值,
其中所述经转换预测数据值包括直接掩码式样表示,其中位位置处的位值指示主体数据项中的元素的预测。
14.根据权利要求13所述的设备,其中所述预测转换指令指定多于一个目的地预测寄存器,并且所述控制信号致使所述处理电路系统生成多于一个经转换预测数据值,其中所述多于一个经转换预测数据值的中每一者包括所述直接掩码式样表示,并且其中所述多于一个经转换预测数据值中的每一者对应于由所述待转换预测数据值表示的所述预测指示符的不同子集。
15.根据权利要求14所述的设备,其中所述预测转换指令指定待生成的所述多于一个经转换预测数据值的多重性。
16.根据权利要求13至15中任一项所述的设备,其中所述预测转换指令指定由所述待转换预测数据值表示的预测位的多个可能子集中的何者待被生成。
17.根据任一前述权利要求所述的设备,其中所述解码电路系统响应于指定保持待计数预测数据值的源预测寄存器的预测计数指令,而生成控制信号,所述控制信号致使所述处理电路系统将所述待转换预测数据值解码以确定由所述待转换预测数据值指示的预测指示符,并且存储对应于目的地通用寄存器中的所述预测指示符中的活动元素的数目的标量值。
18.根据权利要求17所述的设备,其中所述预测计数指令指定待计数的活动元素的所述数目的上限,其中所述上限对应于下列中的一者:
两个向量长度;和
四个向量长度。
19.根据任一前述权利要求所述的设备,其中所述一个或多个源操作数包括:
一个源向量寄存器;
两个源向量寄存器;或
三个源向量寄存器。
20.根据任一前述权利要求所述的设备,其中所述一个或多个源操作数包括:
存储器位置的范围。
21.根据权利要求20所述的设备,其中存储器位置的范围是由一组指针指示。
22.根据任一前述权利要求所述的设备,其中所述向量处理指令进一步指定目的地向量寄存器。
23.根据任一前述权利要求所述的设备,其中所述向量处理指令进一步指定目的地存储器位置。
24.一种数据处理的方法,包括:
解码指令;以及
控制处理电路系统,以向输入数据向量应用由所述指令指定的向量处理运算,
其中所述解码包括响应于指定下列的向量处理指令:
向量处理运算;
一个或多个源操作数;和
源预测寄存器,
而生成控制信号,所述控制信号致使所述处理电路系统对于所述源操作数执行所述向量处理运算,其中所述控制信号进一步致使所述处理电路系统选择性地向由预测指示符预测的所述一个或多个源操作数的元素应用所述向量处理运算,所述预测指示符是从预测数据值解码的,所述预测数据值是从所述源预测寄存器检索的,
其中所述预测数据值具有编码,所述编码包括:
元素大小;和
元素计数,所述元素计数指示连续相同预测指示符的多重性,每个预测指示符对应于所述元素大小。
25.一种计算机程序,所述计算机程序用于控制主机处理设备以提供指令执行环境,所述计算机程序包括:
解码逻辑,所述解码逻辑用以解码指令;和
处理逻辑,所述处理逻辑用以向输入数据向量应用由所述指令指定的向量处理运算,
其中所述解码逻辑响应于指定下列的向量处理指令:
向量处理运算;
一个或多个源操作数;和
源预测寄存器,
而生成控制信号,所述控制信号致使所述处理逻辑对于源操作数执行所述向量处理运算,其中所述控制信号进一步致使所述处理电路系统选择性地向由预测指示符预测的所述一个或多个源操作数的元素应用所述向量处理运算,所述预测指示符是从预测数据值解码的,所述预测数据值是从所述源预测寄存器检索的,
其中所述预测数据值具有编码,所述编码包括:
元素大小;和
元素计数,所述元素计数指示连续相同预测指示符的多重性,每个预测指示符对应于所述元素大小。
CN202280053705.2A 2021-07-21 2022-06-22 预测技术 Pending CN117795477A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2110500.2A GB2612010B (en) 2021-07-21 2021-07-21 Predication techniques
GB2110500.2 2021-07-21
PCT/GB2022/051586 WO2023002147A1 (en) 2021-07-21 2022-06-22 Predication techniques

Publications (1)

Publication Number Publication Date
CN117795477A true CN117795477A (zh) 2024-03-29

Family

ID=77443517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280053705.2A Pending CN117795477A (zh) 2021-07-21 2022-06-22 预测技术

Country Status (7)

Country Link
EP (1) EP4374250A1 (zh)
KR (1) KR20240027144A (zh)
CN (1) CN117795477A (zh)
GB (1) GB2612010B (zh)
IL (1) IL310119A (zh)
TW (1) TW202307653A (zh)
WO (1) WO2023002147A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080016320A1 (en) * 2006-06-27 2008-01-17 Amitabh Menon Vector Predicates for Sub-Word Parallel Operations
US9606803B2 (en) * 2013-07-15 2017-03-28 Texas Instruments Incorporated Highly integrated scalable, flexible DSP megamodule architecture
US9400651B2 (en) * 2013-09-24 2016-07-26 Apple Inc. Early issue of null-predicated operations

Also Published As

Publication number Publication date
IL310119A (en) 2024-03-01
WO2023002147A1 (en) 2023-01-26
KR20240027144A (ko) 2024-02-29
GB2612010A (en) 2023-04-26
GB202110500D0 (en) 2021-09-01
TW202307653A (zh) 2023-02-16
GB2612010B (en) 2023-11-08
EP4374250A1 (en) 2024-05-29

Similar Documents

Publication Publication Date Title
CN109643233B (zh) 具有带读取和读取/前进操作数编码的流引擎的数据处理设备
JP5646656B2 (ja) 複数の命令セットにより使用されるレジスタ間のマッピング
JP7465887B2 (ja) データ構造処理
US11307855B2 (en) Register-provided-opcode instruction
KR20200031150A (ko) 데이터 처리장치의 데이터 항목들 내의 성분들의 계수
CN115904501A (zh) 具有在每个维度上可选择的多维循环寻址的流引擎
KR20230042498A (ko) 데이터 전송 명령어를 위한 레지스터 어드레싱 정보
KR100972160B1 (ko) 데이터 액세스 프로그램 명령 인코딩
TWI791694B (zh) 向量帶進位加法指令
CN117795477A (zh) 预测技术
US20240028337A1 (en) Masked-vector-comparison instruction
KR20230162054A (ko) 회로부 및 방법
CN112602059A (zh) 生成矢量谓词摘要
WO2023148467A1 (en) Technique for performing memory access operations
CN116848506A (zh) 存储器复制大小确定指令和数据传送指令
TW202403546A (zh) 用於可擴縮向量指令集架構的子向量支援指令
WO2023242531A1 (en) Technique for performing outer product operations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication