SYSTEME UND VERFAHREN ZUM BERECHNEN VON SKALAPRODUKTEN VON HALBBYTES IN OPERANDEN AUS ZWEI KACHELN

    公开(公告)号:DE102018125971A1

    公开(公告)日:2019-07-04

    申请号:DE102018125971

    申请日:2018-10-19

    Applicant: INTEL CORP

    Abstract: Offenbarte Ausführungsformen betreffen ein Berechnen von Skalarprodukten von Halbbytes in Kacheloperanden. In einem Beispiel enthält ein Prozessor Decodierverschaltung, um eine Kachel-Skalarproduktanweisung mit Feldern für einen Opcode, eine Zielkennung, um eine M-mal-N-Zielmatrix zu identifizieren, eine erste Quellenkennung, um eine erste M-mal-K-Quellenmatrix zu identifizieren, und eine zweite Quellenkennung, um eine zweite K-mal-N-Quellenmatrix zu identifizieren, wobei jede der Matrizen Doppelwortelemente beinhalten, und Ausführungsverschaltung, um die decodierte Anweisung auszuführen, um einen Ablauf für jedes Element (M,N) der identifizierten Zielmatrix K Mal durchzuführen, um acht Produkte durch Multiplizieren jedes Halbbytes eines Doppelwortelements (M,K) der identifizierten ersten Quellenmatrix mit einem entsprechenden Halbbyte eines Doppelwortelements (K,N) der identifizierten zweiten Quellenmatrix zu generieren und um die acht Produkte mit vorangehenden Inhalten des Doppelwortelements (M,N) zu akkumulieren und zu sättigen.

    Einrichtung und Verfahren zum Rechtsverschieben von gepackten Vierwörtern und Extrahieren von gepackten Wörtern

    公开(公告)号:DE102018129116A1

    公开(公告)日:2019-06-27

    申请号:DE102018129116

    申请日:2018-11-20

    Applicant: INTEL CORP

    Abstract: Einrichtung und Verfahren zum Durchführen von Rechtsverschiebeoperationen für gepackte Vierwortdaten. Beispielsweise umfasst eine Ausführungsform eines Prozessors: einen Dekodierer zum Dekodieren eines Rechtsverschiebungsbefehls, um einen dekodierten Rechtsverschiebungsbefehl zu generieren; ein erstes Quellregister zum Speichern von mehreren gepackten Vierwort-Datenelementen, wobei jedes der gepackten Vierwort-Datenelemente ein Vorzeichenbit aufweist; Ausführungsschaltungen zum Ausführen des dekodierten Rechtsverschiebungsbefehls, wobei die Ausführungsschaltungen Verschiebungsschaltungen mit Vorzeichenerhaltungslogik umfassen, um ein erstes und ein zweites gepacktes Vierwort-Datenelement von einer ersten bzw. zweiten Position für gepackte Vierwort-Datenelemente im ersten Quellregister um einen Betrag, der in einem Direktoperandenwert oder in einem Steuerwert in einem zweiten Quellregister spezifiziert ist, nach rechts zu verschieben, wobei das Rechtsverschieben ein erstes und ein zweites rechtsverschobenes Vierwort generieren soll, wobei die Vorzeichenerhaltungslogik das Vorzeichenbit an allen Bitpositionen einschieben soll, die durch das Rechtsverschieben des ersten und des zweiten Vierworts freigelegt werden; wobei die Ausführungsschaltungen eine Auswahl von 16 höchstwertigen Bits des ersten und des zweiten rechtsverschobenen Vierworts, einschließlich des Vorzeichenbits, bewirken sollen, die in 16 niedrigstwertige Bitregionen von ersten bzw. zweiten Vierwort-Datenelementpositionen eines Zielregisters geschrieben werden sollen.

    Einrichtung und Verfahren zum Durchführen von Transformationen von gepackten komplexen Daten mit echten und imaginären Komponenten

    公开(公告)号:DE102018006736A1

    公开(公告)日:2019-04-04

    申请号:DE102018006736

    申请日:2018-08-24

    Applicant: INTEL CORP

    Abstract: Eine Einrichtung und ein Verfahren zum Durchführen einer Transformation bei komplexen Daten. Zum Beispiel umfasst eine Ausführungsform eines Prozessors Folgendes: einen Decoder zum Decodieren eines ersten Befehls zum Erzeugen eines decodierten Befehls; ein erstes Quellregister zum Speichern einer ersten Vielzahl von gepackten echten und imaginären Datenelementen; ein zweites Quellregister zum Speichern einer zweiten Vielzahl von gepackten echten und imaginären Datenelementen; ein drittes Quellregister zum Speichern einer dritten Vielzahl von gepackten echten und imaginären Datenelementen; eine Ausführungsschaltung zum Ausführen des decodierten Befehls, die Ausführungsschaltung umfassend: eine Multipliziererschaltung zum Auswählen von echten und imaginären Datenelementen in den ersten und zweiten Quellregistern, um basierend auf einem unmittelbaren Element des ersten Befehls zu multiplizieren, wobei die Multipliziererschaltung erste gepackte Datenelemente aus dem ersten Quellregister mit zweiten gepackten Datenelementen aus dem zweiten Quellregister gemäß dem unmittelbaren Element multipliziert, um eine Vielzahl von echten und imaginären Produkten zu erzeugen, eine Addiererschaltung zum Auswählen von echten und imaginären Datenelementen in dem dritten Quellregister basierend auf dem unmittelbaren Element, wobei die Addiererschaltung ausgewählte echte und imaginäre Werte von den echten und imaginären Produkten addiert und subtrahiert, um erste echte und imaginäre Ergebnisse zu erzeugen; eine Skalierungs-, Rundungs- und/oder Sättigungsschaltung zum Skalieren, Runden und/oder Sättigen der ersten echten und imaginären Ergebnisse, um echte und imaginäre Enddatenelemente zu erzeugen; und ein Zielregister zum Speichern der echten und imaginären Enddatenelemente in vorgegebenen Datenelementpositionen.

    Einrichtung und Verfahren zur Durchführung von Multiplikationen mit Addition-Substraktion von reellen Komponenten

    公开(公告)号:DE102018006710A1

    公开(公告)日:2019-04-04

    申请号:DE102018006710

    申请日:2018-08-24

    Applicant: INTEL CORP

    Abstract: Einrichtung und Verfahren zum Durchführen einer Transformation an komplexen Daten. Beispielsweise umfasst eine Ausführungsform eines Prozessors: eine Multipliziererschaltung, um gepackte reelle N-Bit-Datenelemente im ersten Quellregister mit gepackten reellen M-Bit-Datenelementen im zweiten Quellregister zu multiplizieren und gepackte imaginäre N-Bit-Datenelemente im ersten Quellregister mit gepackten imaginären M-Bit-Datenelementen im zweiten Quellregister zu multiplizieren, um wenigstens vier reelle Produkte zu erzeugen, eine Addiererschaltung, um ein erstes ausgewähltes reelles Produkt von einem zweiten ausgewählten reellen Produkt zu subtrahieren, um ein erstes temporäres Ergebnis zu erzeugen, und ein drittes ausgewähltes reelles Produkt von einem vierten ausgewählten reellen Produkt zu subtrahieren, um ein zweites temporäres Ergebnis zu erzeugen, wobei die Addiererschaltung das erste temporäre Ergebnis zu einem ersten gepackten N-Bit-Datenelement aus dem dritten Quellregister addiert, um ein erstes vorskaliertes Ergebnis zu erzeugen, das erste temporäre Ergebnis von dem ersten gepackten N-Bit-Datenelement subtrahiert, um ein zweites vorskaliertes Ergebnis zu erzeugen, das zweite temporäre Ergebnis zu einem zweiten gepackten N-Bit-Datenelement aus dem dritten Quellregister addiert, um ein drittes vorskaliertes Ergebnis zu erzeugen, und das zweite temporäre Ergebnis von dem zweiten gepackten N-Bit-Datenelement subtrahiert, um ein viertes vorskaliertes Ergebnis zu erzeugen; eine Skalierungsschaltung, um das erste, zweite, dritte und vierte vorskalierte Ergebnis auf eine angegebene Bitbreite zu skalieren, um ein erstes, zweites, drittes und viertes Endergebnis zu erzeugen; und ein Zielregister, um das erste, zweite, dritte und vierte Endergebnis an angegebenen Datenelementorten zu speichern.

    SYSTEME, VORRICHTUNGEN UND VERFAHREN ZUR MULTIPLIKATION UND AKKUMULATION VON VEKTORGEPACKTEN VORZEICHENBEHAFTETEN WERTEN

    公开(公告)号:DE102018005976A1

    公开(公告)日:2019-04-04

    申请号:DE102018005976

    申请日:2018-07-27

    Applicant: INTEL CORP

    Abstract: Ausführungsformen von Systemen, Vorrichtungen und Verfahren zur Multiplikation und Akkumulation von vorzeichenbehafteten Datenwerten in einem Prozessor sind beschrieben. Zum Beispiel führt die Ausführungsschaltung einen decodierten Befehl aus, um ausgewählte vorzeichenbehaftete Datenwerte aus einer Mehrzahl von Positionen von gepackten Datenelementen in einem ersten und einem zweiten Quelloperanden für gepackte Daten zu multiplizieren, um eine Mehrzahl erster vorzeichenbehafteter Ergebniswerte zu erzeugen, die Mehrzahl erster vorzeichenbehafteter Ergebniswerte zu summieren, um einen oder mehrere zweite vorzeichenbehaftete Ergebniswerte erzeugen, den einen oder die mehreren vorzeichenbehafteten Ergebniswerte mit einem oder mehreren Datenwerten von einem Zieloperanden zu akkumulieren, um einen oder mehrere dritte vorzeichenbehafteter Ergebniswerte zu erzeugen, und den einen oder die mehreren vorzeichenbehafteten Ergebniswerte in einer oder mehreren Positionen für gepackte Datenelemente im Zieloperanden zu speichern.

    Einrichtung und Verfahren zur Multiplikation und Akkumulation von komplexen und reellen gepackten Datenelementen

    公开(公告)号:DE102018005908A1

    公开(公告)日:2019-04-04

    申请号:DE102018005908

    申请日:2018-07-26

    Applicant: INTEL CORP

    Abstract: Eine Einrichtung und ein Verfahren zum Multiplizieren von gepackten reellen und imaginären Komponenten von komplexen Zahlen. Zum Beispiel umfasst eine Ausführungsform eines Prozessors Folgendes: einen Decoder zum Decodieren eines ersten Befehls zum Erzeugen eines decodierten Befehls; ein erstes Quellregister zum Speichern einer ersten Vielzahl von gepackten reellen und imaginären Datenelementen; ein zweites Quellregister zum Speichern einer zweiten Vielzahl von gepackten reellen und imaginären Datenelementen; eine Ausführungsschaltung zum Ausführen des decodierten Befehls, die Ausführungsschaltung umfassend: eine Multipliziererschaltung zum Auswählen von reellen und imaginären Datenelementen im ersten Quellregister und zweiten Quellregister zum Multiplizieren, wobei die Multipliziererschaltung jedes ausgewählte imaginäre Datenelement im ersten Quellregister mit einem ausgewählten reellen Datenelement im zweiten Quellregister multipliziert, und zum Multiplizieren jedes ausgewählten reellen Datenelements im ersten Quellregister mit einem ausgewählten imaginären Datenelement im zweiten Quellregister zum Erzeugen einer Vielzahl von imaginären Produkten, eine Addiererschaltung zum Addieren eines ersten Teilsatzes der Vielzahl von imaginären Produkten zum Erzeugen eines ersten temporären Ergebnisses und zum Addieren eines zweiten Teilsatzes der Vielzahl von imaginären Produkten zum Erzeugen eines zweiten temporären Ergebnisses; eine Akkumulationsschaltung zum Kombinieren des ersten temporären Ergebnisses mit ersten Daten aus einem Zielregister zum Erzeugen eines ersten Endergebnisses und zum Kombinieren des zweiten temporären Ergebnisses mit zweiten Daten aus dem Zielregister zum Erzeugen eines zweiten Endergebnisses und zum Speichern des ersten Endergebnisses und des zweiten Endergebnisses zurück in das Zielregister.

    METHOD AND APPARATUS FOR PERFORMING A VECTOR BIT GATHER

    公开(公告)号:SG11201704324VA

    公开(公告)日:2017-07-28

    申请号:SG11201704324V

    申请日:2015-11-25

    Applicant: INTEL CORP

    Abstract: Apparatus, method, and system for performing a vector bit gather are describe herein. One embodiment of a processor includes: a first vector register storing one or more source data elements, a second vector register storing one or more control elements, and a vector bit gather logic. Each of the control elements includes a plurality of bit fields, each of which is associated with a plurality of corresponding bit positions in a destination vector register and is to identify a bit from the one or more corresponding source data element to be copied to each of the plurality of corresponding bit positions. The vector bit shuffle logic is to read the bit fields from the second vector register and, for each bit field, to identify a bit from the source data elements and responsively copy it to each of the plurality of corresponding bit positions in the destination vector register.

    METHOD AND APPARATUS FOR VECTOR INDEX LOAD AND STORE

    公开(公告)号:SG11201704243UA

    公开(公告)日:2017-07-28

    申请号:SG11201704243U

    申请日:2015-11-23

    Applicant: INTEL CORP

    Abstract: An apparatus and method for performing vector index loads and stores. For example, one embodiment of a processor comprises: a vector index register to store a plurality of index values; a mask register to store a plurality of mask bits; a vector register to store a plurality of vector data elements loaded from memory; and vector index load logic to identify an index stored in the vector index register to be used for a load operation using an immediate value and to responsively combine the index with a base memory address to determine a memory address for the load operation, the vector index load logic to load vector data elements from the memory address to the vector register in accordance with the plurality of mask bits.

    Limited range vector memory access instructions, processors, methods, and systems

    公开(公告)号:GB2513970B

    公开(公告)日:2016-03-09

    申请号:GB201403976

    申请日:2014-03-06

    Applicant: INTEL CORP

    Abstract: A processor of an aspect includes a plurality of packed data registers. The processor also includes a unit coupled with the packed data registers. The unit is operable, in response to a limited range vector memory access instruction. The instruction is to indicate a source packed memory indices, which is to have a plurality of packed memory indices, which are to be selected from 8-bit memory indices and 16-bit memory indices. The unit is operable to access memory locations, in only a limited range of a memory, in response to the limited range vector memory access instruction. Other processors are disclosed, as are methods, systems, and instructions.

Patent Agency Ranking