Befehl und Logik zum Bereitstellen von Vektor-Lade-OP/Speicher-OP mit Schritt-Funktionalität

    公开(公告)号:DE112011105666T5

    公开(公告)日:2014-07-10

    申请号:DE112011105666

    申请日:2011-09-26

    Applicant: INTEL CORP

    Abstract: Befehle und eine Logik stellen Vektor-Lade-Op und/oder Speicher-Op mit Schritt-Funktionalität bereit. In einigen Ausführungsformen, als Reaktion auf einen Befehl, der Folgendes spezifiziert: einen Satz von Ladevorgängen, eine zweite Operation, ein Zielregister, ein Operandenregister, eine Speicheradresse und eine Schrittlänge; lesen Ausführungseinheiten Werte in einem Maskenregister, wobei Felder in dem Maskenregister Schrittlängenvielfachen von der Speicheradresse zu Datenelementen im Speicher entsprechen. Ein erster Maskenwert gibt an, dass das Element nicht aus dem Speicher geladen worden ist, und ein zweiter Wert gibt an, dass das Element nicht geladen werden muss oder bereits geladen worden ist. Für jedes mit dem ersten Wert wird das Datenelement aus dem Speicher in die entsprechende Zielregisterstelle geladen und der entsprechende Wert in dem Maskenregister wird auf den zweiten Wert geändert. Die zweite Operation wird dann unter Verwendung von entsprechenden Daten in dem Ziel- und Operandenregister durchgeführt, um Ergebnisse zu generieren. Der Befehl kann nach Fehlern neu gestartet werden.

    INSTRUCTION AND LOGIC TO PROVIDE VECTOR LOAD-OP/STORE-OP WITH STRIDE FUNCTIONALITY
    2.
    发明申请
    INSTRUCTION AND LOGIC TO PROVIDE VECTOR LOAD-OP/STORE-OP WITH STRIDE FUNCTIONALITY 审中-公开
    指令和逻辑提供矢量负载/存储 - 功能与功能

    公开(公告)号:WO2013048369A9

    公开(公告)日:2013-10-03

    申请号:PCT/US2011053331

    申请日:2011-09-26

    Abstract: Instructions and logic provide vector load-op and/or store-op with stride functionality. Some embodiments, responsive to an instruction specifying: a set of loads, a second operation, destination register, operand register, memory address, and stride length; execution units read values in a mask register, wherein fields in the mask register correspond to stride-length multiples from the memory address to data elements in memory. A first mask value indicates the element has not been loaded from memory and a second value indicates that the element does not need to be, or has already been loaded. For each having the first value, the data element is loaded from memory into the corresponding destination register location, and the corresponding value in the mask register is changed to the second value. Then the second operation is performed using corresponding data in the destination and operand registers to generate results. The instruction may be restarted after faults.

    Abstract translation: 指令和逻辑提供矢量加载操作和/或存储操作与步幅功能。 一些实施例,响应于指令:一组负载,第二操作,目的地寄存器,操作数寄存器,存储器地址和步幅长度; 执行单元读取掩码寄存器中的值,其中掩码寄存器中的字段对应于从存储器地址到存储器中的数据元素的跨距长度倍数。 第一个掩码值表示元素尚未从内存中加载,第二个值表示元素不需要或已经被加载。 对于具有第一个值的每一个,数据元素从存储器加载到相应的目标寄存器位置,并且掩码寄存器中的对应值被改变为第二值。 然后使用目的地和操作数寄存器中的相应数据执行第二个操作,以生成结果。 指令可能在故障后重新启动。

    INSTRUCTION AND LOGIC TO PROVIDE VECTOR LOADS AND STORES WITH STRIDES AND MASKING FUNCTIONALITY
    3.
    发明申请
    INSTRUCTION AND LOGIC TO PROVIDE VECTOR LOADS AND STORES WITH STRIDES AND MASKING FUNCTIONALITY 审中-公开
    指令和逻辑提供矢量负载和存储带有条件和屏蔽功能

    公开(公告)号:WO2013048367A9

    公开(公告)日:2013-11-14

    申请号:PCT/US2011053321

    申请日:2011-09-26

    Abstract: Instructions and logic provide vector loads and/or stores with stride and mask functionality. Some embodiments, responsive to an instruction specifying: a set of loads, destination register, mask register, memory address, and stride length; execution units read values in the mask register, wherein fields in the mask register correspond to stride-length multiples from the memory address to data elements in memory. A first mask value indicates the element has not been loaded from memory and a second value indicates that the element does not need to be, or has already been loaded. For each having the first value, the corresponding multiple of said stride length is generated according to the data field's position in the mask register to load the data element from memory into the corresponding destination register location, and the corresponding value in the mask register is changed to the second value. These instructions can restart after faults.

    Abstract translation: 指令和逻辑提供带有步幅和掩码功能的向量加载和/或存储。 一些实施例,响应于指令:一组负载,目的地寄存器,掩码寄存器,存储器地址和步幅长度; 执行单元读取掩码寄存器中的值,其中掩码寄存器中的字段对应于从存储器地址到存储器中的数据元素的跨距长度倍数。 第一个掩码值表示元素尚未从内存加载,第二个值表示该元素不需要或已经被加载。 对于具有第一值的每一个,根据数据字段在屏蔽寄存器中的位置产生所述步幅长度的对应倍数,以将数据元素从存储器加载到相应的目的地寄存器位置,并且屏蔽寄存器中的对应值被改变 到第二个值。 这些说明可以在故障后重新启动。

    Instruktion und Logik zum Bereitstellen einer Vektorstreuungs-Op- und -Hol-Op-Funktionalität

    公开(公告)号:DE112011105664T5

    公开(公告)日:2014-08-21

    申请号:DE112011105664

    申请日:2011-09-26

    Applicant: INTEL CORP

    Abstract: Instruktionen und Logik stellen eine Vektorstreuungs-Op- und/oder -Hol-Op-Funktionalität bereit. In einigen Ausführungsformen lesen Ausführungseinheiten in Reaktion auf eine Instruktion, die eine Hol- und eine zweite Operation, ein Zielregister, ein Operandenregister und eine Speicheradresse spezifiziert, Werte in einem Maskenregister, wobei Felder in dem Maskenregister Versatzindizes in dem Indizesregister für Datenelemente im Speicher entsprechen. Ein erster Maskenwert gibt an, dass das Element nicht aus dem Speicher geholt wurde, und ein zweiter Wert gibt an, dass das Element nicht geholt zu werden braucht oder bereits geholt wurde. Für jedes mit dem ersten Wert wird das Datenelement aus dem Speicher in die entsprechende Zielregisterposition geholt, und der entsprechende Wert in dem Maskenregister wird zu dem zweiten Wert geändert. Wenn alle Maskenregisterfelder den zweiten Wert haben, so wird die zweite Operation unter Verwendung entsprechender Daten in den Zielort- und Operandenregistern ausgeführt, um Ergebnisse zu generieren.

    Befehl und Logik zum Liefern von Vektorladen und -speichern mit Schritt- und Maskierfunktionalität

    公开(公告)号:DE112011105665T5

    公开(公告)日:2014-08-21

    申请号:DE112011105665

    申请日:2011-09-26

    Applicant: INTEL CORP

    Abstract: Befehle und Logik liefern Vektorladen und/oder -speichern mit Schrittlängen- und Maskierfunktionalität. Einige Ausführungsformen spezifizieren als Antwort auf einen Befehl: einen Satz Laden, Zielregister, Maskenregister, Speicheradresse und Schrittlänge; Ausführungseinheiten lesen Werte in dem Maskenregister, wobei Felder in dem Maskenregister Schrittlängenvielfachen von der Speicheradresse zu Datenelementen in Speicher entsprechen. Ein erster Maskenwert gibt an, dass das Element noch nicht aus dem Speicher geladen worden ist, und ein zweiter Wert gibt an, dass das Element nicht geladen werden muss oder bereits geladen worden ist. Für jeden mit dem ersten Wert wird das korrespondierende Vielfache der Schrittlänge gemäß der Position des Datenfeldes in dem Maskenregister zum Laden des Datenelements aus dem Speicher in den korrespondierenden Zielregisterplatz erzeugt und der korrespondierende Wert in dem Maskenregister wird auf den zweiten Wert geändert. Diese Befehle können nach Fehlern neu gestartet werden.

    VECTOR FREQUENCY EXPAND INSTRUCTION
    7.
    发明公开
    VECTOR FREQUENCY EXPAND INSTRUCTION 审中-公开
    ANWEISUNGFÜRVEKTORERWEITERUNGSFREQUENZ

    公开(公告)号:EP2798476A4

    公开(公告)日:2016-06-29

    申请号:EP11878535

    申请日:2011-12-30

    Applicant: INTEL CORP

    Abstract: A processor core that includes a hardware decode unit and an execution engine unit. The hardware decode unit to decode a vector frequency expand instruction, wherein the vector frequency compress instruction includes a source operand and a destination operand, wherein the source operand specifies a source vector register that includes one or more pairs of a value and run length that are to be expanded into a run of that value based on the run length. The execution engine unit to execute the decoded vector frequency expand instruction which causes, a set of one or more source data elements in the source vector register to be expanded into a set of destination data elements comprising more elements than the set of source data elements and including at least one run of identical values which were run length encoded in the source vector register.

    Abstract translation: 包括硬件解码单元和执行引擎单元的处理器核心。 用于解码向量频率扩展指令的硬件解码单元,其中所述向量频率压缩指令包括源操作数和目的地操作数,其中所述源操作数指定源向量寄存器,其包括一对或多对值和游程长度, 根据运行长度将其扩展为该值的运行。 执行引擎单元执行解码的向量频率扩展指令,其使得源向量寄存器中的一个或多个源数据元素的集合被扩展为包括比该源数据元素集合更多的元素的一组目的地数据元素,以及 包括在源向量寄存器中运行长度编码的至少一个相同值的运行。

    VECTOR FREQUENCY COMPRESS INSTRUCTION
    8.
    发明公开
    VECTOR FREQUENCY COMPRESS INSTRUCTION 审中-公开
    ANWEISUNGFÜREINE VEKTORKOMPRIMIERUNGSFREQUENZ

    公开(公告)号:EP2798480A4

    公开(公告)日:2016-06-29

    申请号:EP11879023

    申请日:2011-12-30

    Applicant: INTEL CORP

    Abstract: A processor core that includes a hardware decode unit to decode a vector frequency compress instruction that includes a source operand and a destination operand. The source operand specifying a source vector register that includes a plurality of source data elements including one or more runs of identical data elements that are each to be compressed in a destination vector register as a value and run length pair. The destination operand identifies the destination vector register. The processor core also includes an execution engine unit to execute the decoded vector frequency compress instruction which causes, for each source data element, a value to be copied into the destination vector register to indicate that source data element's value. One or more runs of the source data elements equal are encoded in the destination vector register as the predetermined compression value followed by a run length for that run.

    Abstract translation: 一种处理器核心,其包括用于解码包括源操作数和目的地操作数的向量频率压缩指令的硬件解码单元。 源操作数指定源向量寄存器,其包括多个源数据元素,其包括在目的地向量寄存器中作为值和游程长度对而被压缩的相同数据元素的一个或多个游程。 目标操作数标识目标向量寄存器。 处理器核心还包括执行引擎单元,用于执行解码的向量频率压缩指令,其对于每个源数据元素,其将被复制到目的地向量寄存器中的值指示源数据元素的值。 源数据元素相等的一个或多个运行在目标向量寄存器中被编码为预定压缩值,后跟该运行的运行长度。

    EFFICIENT ZERO-BASED DECOMPRESSION
    9.
    发明公开
    EFFICIENT ZERO-BASED DECOMPRESSION 审中-公开
    高效从零开始减压术

    公开(公告)号:EP2798478A4

    公开(公告)日:2016-12-21

    申请号:EP11878962

    申请日:2011-12-30

    Applicant: INTEL CORP

    CPC classification number: G06F9/30018 G06F9/30036 H03M7/46

    Abstract: A processor core including a hardware decode unit to decode vector instructions for decompressing a run length encoded (RLE) set of source data elements and an execution unit to execute the decoded instructions. The execution unit generates a first mask by comparing set of source data elements with a set of zeros and then counts the trailing zeros in the mask. A second mask is made based on the count of trailing zeros. The execution unit then copies the set of source data elements to a buffer using the second mask and then reads the number of RLE zeros from the set of source data elements. The buffer is shifted and copied to a result and the set of source data elements is shifted to the right. If more valid data elements are in the set of source data elements this is repeated until all valid data is processed.

Patent Agency Ranking