Abstract:
A physically distributed cache memory system includes an interconnection network, first level cache memory slices, and second level cache memory slices. The first level cache memory slices are coupled to the interconnection network to generate tagged ordered store requests. Each tagged ordered store requests has a tag including requestor identification and a store sequence token. The second level cache memory slices are coupled to the interconnection network to execute ordered store requests in-order across the physically distributed cache memory system in response to each tag of the tagged ordered store requests.
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.
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.
Abstract:
A vector friendly instruction format and execution thereof. According to one embodiment of the invention, a processor is configured to execute an instruction set. The instruction set includes a vector friendly instruction format. The vector friendly instruction format has a plurality of fields including a base operation field, a modifier field, an augmentation operation field, and a data element width field, wherein the first instruction format supports different versions of base operations and different augmentation operations through placement of different values in the base operation field, the modifier field, the alpha field, the beta field, and the data element width field, and wherein only one of the different values may be placed in each of the base operation field, the modifier field, the alpha field, the beta field, and the data element width field on each occurrence of an instruction in the first instruction format in instruction streams.
Abstract:
Hier dargelegte Ausführungsformen betreffen Systeme und Verfahren zum Laden eines Kachelregisterpaars. In einem Beispiel umfasst ein Prozessor Decodierschaltkreise zum Decodieren einer Ladematrixpaaranweisung mit Feldern für einen Opcode und Quellen- und Zielkennungen zum Identifizieren von Quellen- bzw. Zielmatrizen, wobei jede Matrix einen PAIR-Parameter gleich TRUE aufweist; und Ausführungsschaltkreise zum Ausführen der decodierten Ladematrixpaaranweisungen zum Laden jedes Elements linker und rechter Kacheln der identifizierten Zielmatrix aus entsprechenden Elementpositionen von linken bzw. rechten Kacheln der identifizierten Quellenmatrix, wobei das Ausführen beginnend mit der ersten Zeile an einer Zeile der identifizierten Zielmatrix auf einmal operiert.
Abstract:
Eine Vorrichtung und ein Verfahren zum Durchführen einer Umkehrung. Zum Beispiel umfasst eine Ausführungsform eines Prozessors: einen Decodierer, um einen Umkehrbefehl zu decodieren, um einen decodierten Umkehrbefehl zu generieren; ein Quellenregister, um mindestens ein gepacktes Eingabedatenelement zu speichern; ein Zielregister, um ein Ergebnisdatenelement zu speichern; und eine reziproke Ausführungsverschaltung, um den decodierten Umkehrbefehl auszuführen, wobei die reziproke Ausführungsverschaltung einen ersten Abschnitt des gepackten Eingabedatenelements als einen Index für eine Datenstruktur zu verwenden hat, die eine Vielzahl von Sätzen von Koeffizienten enthält, um einen ersten Satz von Koeffizienten aus der Vielzahl der Sätze zu identifizieren, wobei die reziproke Ausführungsverschaltung unter Verwendung einer Kombination der Koeffizienten und eines zweiten Abschnitts des gepackten Eingabedatenelements eine Umkehrung des gepackten Eingabedatenelements zu erzeugen hat.
Abstract:
Eine Vorrichtung und ein Verfahren zum Durchführen einer Summe von absoluten Differenzen mit Akkumulation. Zum Beispiel umfasst eine Ausführungsform eines Prozessors: einen Decoder zum Decodieren eines Befehls zum Erzeugen eines decodierten Befehls; ein erstes Quellenregister, um eine erste Vielzahl von gepackten Bytes zu speichern; ein zweites Quellenregister, um eine zweite Vielzahl von gepackten Bytes zu speichern; Ausführungsverschaltung, um die decodierte Anweisung auszuführen, wobei die Ausführungsverschaltung umfasst: Additionsverschaltung, um eine Differenz zwischen jedem Byte im ersten Quellenregister und einem entsprechenden Byte im zweiten Quellenregister zu ermitteln, Absolutbetragsverschaltung, um einen Absolutbetrag jeder Differenz zu ermitteln, wobei die Additionsverschaltung Paare der Absolutbeträge zu addieren hat, um eine Vielzahl von temporären Ergebnissen zu generieren, und Erweiterungsverschaltung, um die temporären Ergebnisse in temporäre Wörter zu erweitern; und Akkumulatorverschaltung, um jedes temporäre Wort zu einem Wort aus einem dritten Quellenregister zu addieren, um eine Vielzahl von akkumulierten Wörtern zu generieren; und ein Zielregister, um die akkumulierten Wörter als gepackte Wörter zu speichern.
Abstract:
Eine Ausführungsform der Erfindung ist ein Prozessor, umfassend eine Ausführungsschaltungsanordnung zum Berechnen, in Reaktion auf einen decodierten Befehl, eines Ergebnisses einer komplexen Multiplikation einer ersten komplexen Zahl mit einer zweiten komplexen Zahl. Die Berechnung umfasst eine erste Operation zum Berechnen eines ersten Terms eines Realteils des Ergebnisses und eines ersten Terms des Imaginärteils des Ergebnisses. Die Berechnung umfasst auch eine zweite Operation zum Berechnen eines zweiten Terms des Realteils des Ergebnisses und eines zweiten Terms des Imaginärteils des Ergebnisses. Der Prozessor umfasst auch einen Decodierer, ein erstes Quellregister und ein zweites Quellregister. Der Decodierer dient zum Decodieren eines Befehls zum Erzeugen des decodierten Befehls. Das erste Quellregister dient dazu, die erste komplexe Zahl bereitzustellen, und das zweite Quellregister dient dazu, die zweite komplexe Zahl bereitzustellen.
Abstract:
Hier dargelegte Ausführungsformen betreffen Systeme und Verfahren zum Nullen eines Kachelregisterpaars. In einem Beispiel umfasst ein Prozessor Decodierschaltkreise zum Decodieren einer Matrixpaar-Nullungsanweisung mit Feldern für einen Opcode und einer Kennung zum Identifizieren einer Zielmatrix mit einem PAIR-Parameter gleich TRUE; und Ausführungsschaltkreise zum Ausführen der decodierten Matrixpaar-Nullungsanweisung zum Nullen jedes Elements einer linken Matrix und einer rechten Matrix der identifizierten Zielmatrix.
Abstract:
Vorrichtung und Verfahren zum Ausführen von Linksverschiebungsoperationen an gepackten Quadword-Daten. Beispielsweise umfasst eine Ausführungsform eines Prozessors Folgendes: einen Dekodierer zum Dekodieren eines Linksverschiebungsbefehls zum Erzeugen eines decodierten Linksverschiebungsbefehls; ein erstes Quellregister zum Speichern einer Vielzahl von gepackten Quadword-Datenelementen, wobei jedes der gepackten Quadword-Datenelemente ein Vorzeichenbit aufweist; Ausführungsschaltung zum Ausführen des dekodierten Linksverschiebungsbefehls, wobei die Ausführungsschaltung eine Verschiebeschaltung mit Vorzeichenerhaltungslogik zum Linksverschieben erster und zweiter gepackter Quadword-Datenelemente von ersten bzw. zweiten gepackten Quadword-Datenelementpositionen im ersten Quellregister um einen Betrag, der in einem Direktwert oder in einem Steuerwert in einem zweiten Quellregister spezifiziert ist, umfasst, wobei die Linksverschiebung zum Erzeugen erster und zweiter links verschobener Quadwords erfolgt, wobei die Verschiebeschaltung zum Schreiben von Nullen in Bitpositionen dient, die durch das Linksverschieben der gepackten Quadword-Datenelemente freigelegt werden; wobei die Vorzeichenerhaltungslogik eine Kopie des Vorzeichenbits behält, während die Verschiebeschaltung die Linksverschiebungsoperationen durchführt; wobei die Ausführungsschaltung eine Auswahl von 16 höchstwertigen Bits des ersten und zweiten linksverschobenen Quadwords, einschließlich des Vorzeichenbits, bewirkt, die in 16 niedrigstwertige Bitbereiche der ersten bzw. zweiten Quadword-Datenelementpositionen eines Zielregisters zu schreiben sind, wobei das Vorzeichenbit in die höchstwertige Bitposition von jedem der 16 niedrigstwertigen Bitbereiche geschrieben wird.