Einrichtung und Verfahren für komplexe Multiplikation und Akkumulation

    公开(公告)号:DE102018125232A1

    公开(公告)日:2019-05-29

    申请号:DE102018125232

    申请日:2018-10-12

    Applicant: INTEL CORP

    Abstract: Eine Ausführungsform der Erfindung ist ein Prozessor mit einer Ausführungsschaltungsanordnung, um in Reaktion auf einen decodierten Befehl ein Ergebnis einer komplexen Multiplikation-Akkumulation einer ersten komplexen Zahl, einer zweiten komplexen Zahl und einer dritten komplexen Zahl zu berechnen. Die Berechnung umfasst eine erste Operation, um einen ersten Term einer realen Komponente des Ergebnisses und einen ersten Term der imaginären Komponente des Ergebnisses zu berechnen. Die Berechnung umfasst auch eine zweite Operation, um einen zweiten Term der realen Komponente des Ergebnisses und einen zweiten Term der imaginären Komponente des Ergebnisses zu berechnen. Der Prozessor umfasst auch einen Decodierer, um einen Befehl zu decodieren, um den decodierten Befehl zu erzeugen, und ein erstes Quellenregister, ein zweites Quellenregister und ein Quellen- und Zielregister, um die erste komplexe Zahl, die zweite komplexe Zahl bzw. die dritte komplexe Zahl bereitzustellen.

    Einrichtung und Verfahren zum Durchführen von dualer vorzeichenbehafteter und vorzeichenloser Multiplikation von gepackten Datenelementen

    公开(公告)号:DE102018006737A1

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

    申请号:DE102018006737

    申请日:2018-08-24

    Applicant: INTEL CORP

    Abstract: Eine Einrichtung und ein Verfahren zum Durchführen von dualen gleichzeitigen Multiplikationen von gepackten Datenelementen. Eine Ausführungsform eines Prozessors umfasst beispielsweise: einen Decodierer zum Decodieren eines ersten Befehls zum Erzeugen eines decodierten Befehls; ein erstes Quellregister zum Speichern einer ersten Vielzahl von gepackten Bytedatenelementen; ein zweites Quellregister zum Speichern einer zweiten Vielzahl von gepackten Bytedatenelementen; eine Ausführungsschaltungsanordnung zum Ausführen des decodierten Befehls, wobei die Ausführungsschaltungsanordnung Folgendes umfasst: eine Multipliziererschaltungsanordnung zum gleichzeitigen Multiplizieren jedes der gepackten Bytedatenelemente der ersten Vielzahl mit einem entsprechenden gepackten Bytedatenelement der zweiten Vielzahl zum Erzeugen von mehreren Produkten; eine Addiererschaltungsanordnung zum Addieren angegebener Sätze der Produkte zum Erzeugen von temporären Ergebnissen für jeden Satz von Produkten; Nullerweiterungs- oder Vorzeichenerweiterungsschaltungsanordnung zum Nullerweitern oder Vorzeichenerweitern der temporären Ergebnisse für jeden Satz zum Erzeugen eines erweiterten temporären Ergebnisses für jeden Satz; eine Akkumulationsschaltungsanordnung zum Kombinieren von jedem der erweiterten temporären Ergebnisse mit einem in einem dritten Quellregister gespeicherten ausgewählten gepackten Datenwert zum Erzeugen von mehreren endgültigen Ergebnissen; und ein Zielregister zum Speichern der mehreren endgültigen Ergebnisse als mehrere gepackte Datenelemente in angegebenen Datenelementpositionen.

    Einrichtung und Verfahren zum Durchführen einer dualen signierten und unsignierten Multiplikation von gepackten Datenelementen

    公开(公告)号:DE102018006807A1

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

    申请号:DE102018006807

    申请日:2018-08-28

    Applicant: INTEL CORP

    Abstract: Eine Einrichtung und ein Verfahren zum Durchführen von dualen gleichzeitigen Multiplikationen von gepackten Datenelementen. Zum Beispiel umfasst eine Ausführungsform eines Prozessors Folgendes: einen Decodierer zum Decodieren eines ersten Befehls zum Erzeugen eines decodierten Befehls; ein erstes Quellregister zum Speichern einer ersten Vielzahl von gepackten Doppelwortdatenelementen; ein zweites Quellregister zum Speichern einer zweiten Vielzahl von gepackten Doppelwortdatenelementen; und eine Ausführungsschaltung zum Ausführen des decodierten Befehls, wobei die Ausführungsschaltung Folgendes umfasst: eine Multiplikatorschaltung zum Multiplizieren eines ersten Doppelwortdatenelements von dem ersten Quellregister mit einem zweiten Doppelwortdatenelement von dem zweiten Quellregister zum Erzeugen eines ersten Quadwordprodukts und zum gleichzeitigen Multiplizieren eines dritten Doppelwortdatenelements von dem ersten Quellregister mit einem vierten Doppelwortdatenelement von dem zweiten Quellregister zum Erzeugen eines zweiten Quadwordprodukts; und ein Zielregister zum Speichern des ersten Quadwordprodukts und des zweiten Quadwordprodukts als erstes und zweites gepacktes Quadworddatenelement.

    Einrichtung und Verfahren zum Verschieben von Quadwords und Extrahieren von gepackten Wörtern

    公开(公告)号:DE102018006800A1

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

    申请号:DE102018006800

    申请日:2018-08-28

    Applicant: INTEL CORP

    Abstract: Eine Einrichtung und ein Verfahren zum Durchführen von Rechtsverschiebungsoperationen bei gepackten Quadword-Daten. Zum Beispiel umfasst eine Ausführungsform eines Prozessors: einen Decodierer zum Decodieren eines Rechtsverschiebungsbefehls zum Erzeugen eines decodierten Rechtsverschiebungsbefehls; ein erstes Quellregister zum Speichern von mehreren gepackten Quadword-Datenelementen; eine Ausführungsschaltung zum Ausführen des decodierten Rechtsverschiebungsbefehls, wobei die Ausführungsschaltung eine Verschiebungsschaltung zum Rechtsverschieben mindestens von ersten und zweiten gepackten Quadword-Datenelementen jeweils von ersten und zweiten gepackten Quadword-Datenelementorten in dem ersten Quellregister um einen Betrag, der in einem unmittelbaren Wert oder in einem Steuerwert in einem zweiten Quellregister spezifiziert ist, zum Erzeugen von ersten und zweiten nach rechts verschobenen Quadwords umfasst; wobei die Ausführungsschaltung die Auswahl von 16 höchstwertigen Bits der ersten und zweiten nach rechts verschobenen Quadwords veranlasst, die in die 16 niederwertigsten Bit-Regionen von jeweils ersten und zweiten Quadword-Datenelementorten eines Zielregisters zu schreiben sind; und das Zielregister die spezifizierte Gruppe der 16 höchstwertigen Bits der ersten und zweiten nach rechts verschobenen Quadwords speichert.

    EINRICHTUNG UND VERFAHREN ZUM DURCHFÜHREN EINER DUALEN VORZEICHENBEHAFTETEN UND VORZEICHENLOSEN MULTIPLIKATION VON GEPACKTEN DATENELEMENTEN

    公开(公告)号:DE102018006743A1

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

    申请号:DE102018006743

    申请日:2018-08-24

    Applicant: INTEL CORP

    Abstract: Eine Einrichtung und ein Verfahren zum Durchführen von dualen gleichzeitigen Multiplikationen von gepackten Datenelementen. 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 Datenelementen; ein zweites Quellregister zum Speichern einer zweiten Vielzahl von gepackten Datenelementen; eine Ausführungsschaltung zum Ausführen des decodierten Befehls, die Ausführungsschaltung umfassend: eine Multipliziererschaltung zum Durchführen von gleichzeitigen dualen Multiplikationen eines ersten gepackten Datenelements aus dem ersten Quellregister mit einem zweiten gepackten Datenelement aus dem zweiten Quellregister und eines dritten gepackten Datenelements aus dem ersten Quellregister mit einem vierten gepackten Datenelement aus dem zweiten Quellregister, um erste bzw. zweite Produkte zu erzeugen, wobei die ersten und dritten gepackten Datenelemente eine Breite aufweisen, die zweimal so groß ist wie eine Breite der zweiten und vierten gepackten Datenelemente; die Multipliziererschaltung zum Auswählen der ersten und dritten gepackten Datenelemente aus dem ersten Quellregister und der zweiten und vierten gepackten Datenelemente aus dem zweiten Quellregister gemäß dem unmittelbaren Element, um die ersten und zweiten Produkte zu erzeugen.

    SYSTEME, VORRICHTUNGEN UND VERFAHREN FÜR DUALEN KOMPLEX DURCH KOMPLEXE KONJUGATIONSMULTIPLIKATION VON VORZEICHENBEHAFTETEN WÖRTERN

    公开(公告)号:DE102018006013A1

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

    申请号:DE102018006013

    申请日:2018-07-30

    Applicant: INTEL CORP

    Abstract: Ausführungsformen von Systemen, Vorrichtungen und Verfahren für eine duale komplexe Zahl durch komplexe Konjugations-Multiplikation in einem Prozessor sind beschrieben. Zum Beispiel führt eine Ausführungsschaltung einen decodierten Befehl aus zum: Multiplexen von Datenwerten aus einer Mehrzahl von Positionen von gepackten Datenelementen in dem ersten und dem zweiten Quelloperanden für gepackte Daten zu mindestens einer Multiplikatorschaltung, wobei der erste und der zweite Quelloperand für gepackte Daten eine Mehrzahl von Paaren komplexer Zahlen aufweisen, wobei jedes Paar komplexer Zahlen Datenwerte an gemeinsamen Positionen von gepackten Datenelementen in dem ersten und dem zweiten Quelloperanden für gepackte Daten aufweist; Berechnen eines reellen Teils und eines imaginären Teils eines Produkts einer ersten komplexen Zahl und einer komplexen Konjugation einer zweiten komplexen Zahl; und Speichern des reellen Teils in einer ersten Position von gepackten Datenelementen in dem Zieloperanden und Speichern des imaginären Teils in einer zweiten Position von gepackten Datenelementen in dem Zieloperanden.

    UNTERBRECHUNGSFÄHIGE UND NEUSTARTFÄHIGE MATRIX-MULTIPLIKATIONSINSTRUKTIONEN, PROZESSOREN, VERFAHREN, UND SYSTEME

    公开(公告)号:DE112017003340T5

    公开(公告)日:2019-03-14

    申请号:DE112017003340

    申请日:2017-06-06

    Applicant: INTEL CORP

    Abstract: Ein Prozessor eines Aspekts enthält eine Decodiereinheit zum Decodieren einer Matrix-Multiplikationsinstruktion. Die Matrix-Multiplikationsinstruktion soll einen ersten Speicherort einer ersten Quellenmatrix angeben, soll einen zweiten Speicherort einer zweiten Quellenmatrix angeben, und soll einen dritten Speicherort angeben, wo eine Ergebnis-Matrix gespeichert werden soll. Der Prozessor enthält außerdem eine Ausführungseinheit, die mit der Decodiereinheit gekoppelt ist. Die Ausführungseinheit dient dazu, als Reaktion auf die Matrix-Multiplikationsinstruktion einen Abschnitt der ersten und zweiten Quellenmatrizes vor einer Unterbrechung zu multiplizieren und einen Vollendungsfortschrittsindikator als Reaktion auf die Unterbrechung zu speichern. Der Vollendungsfortschrittsindikator dient zu, einen Betrag des Fortschritts beim Multiplizieren der ersten und zweiten Quellenmatrizes und des Speicherns entsprechender Ergebnisdaten an dem dritten Speicherort, das vor der Unterbrechung vollendet sein soll, anzugeben.

    Vorrichtung und Verfahren für Beschleunigeraufruf mit geringer Latenz

    公开(公告)号:DE112013005338T5

    公开(公告)日:2015-07-23

    申请号:DE112013005338

    申请日:2013-06-20

    Applicant: INTEL CORP

    Abstract: Es werden eine Vorrichtung und ein Verfahren zum Bereitstellen von Beschleunigeraufruf mit geringer Latenz bereitgestellt. Zum Beispiel umfasst ein Prozessor gemäß einer Ausführungsform: ein Befehlsregister zum Speichern von Befehlsdaten, die einen auszuführenden Befehl identifizieren; ein Ergebnisregister zum Speichern eines Ergebnisses des Befehls oder von Daten, die einen Grund dafür angeben, warum der Befehl nicht ausgeführt werden konnte; Ausführungslogik zum Ausführen einer Mehrzahl von Anweisungen, die eine Beschleunigeraufrufanweisung zum Aufrufen eines oder mehrerer Beschleunigerbefehle umfassen; und einen oder mehrere Beschleuniger zum Auslesen der Befehlsdaten aus dem Befehlsregister und Versuchen in Reaktion darauf, den durch die Befehlsdaten identifizierten Befehl auszuführen.

    Instruction for shifting bits left with pulling ones into less significant bits

    公开(公告)号:GB2518104A

    公开(公告)日:2015-03-11

    申请号:GB201500433

    申请日:2013-06-25

    Applicant: INTEL CORP

    Abstract: A mask generating instruction is executed by a processor to improve efficiency of vector operations on an array of data elements. The processor includes vector registers, one of which stores data elements of an array. The processor further includes execution circuitry to receive a mask generating instruction that specifies at least a first operand and a second operand. Responsive to the mask generating instruction, the execution circuitry is to shift bits of the first operand to the left by a number of times defined in the second operand, and pull in a bit of one from the right each time a most significant bit of the first operand is shifted out from the left to generate a result. Each bit in the result corresponds to one of the data elements of the array.

Patent Agency Ranking