-
公开(公告)号:DE102018006798A1
公开(公告)日:2019-04-04
申请号:DE102018006798
申请日:2018-08-28
Applicant: INTEL CORP
Inventor: VALENTINE ROBERT , CHARNEY MARK J , CORBAL JESUS , MADDURI VENKATESWARA , OULD-AHMED-VALL ELMOUSTAPHA
IPC: G06F9/38
Abstract: Eine Einrichtung und ein Verfahren zum Durchführen von dualen gleichzeitigen Multiplikationen, Subtraktion/Addition und Akkumulation von gepackten Datenelementen. Zum Beispiel weist eine Ausführungsform eines Prozessors Folgendes auf: einen Decodierer zum Decodieren eines Befehls zum Erzeugen eines decodierten Befehls; ein erstes Quellregister zum Speichern von ersten und zweiten gepackten Datenelementen; ein zweites Quellregister zum Speichern von dritten und vierten gepackten Datenelementen; eine Ausführungsschaltung zum Ausführen des decodierten Befehls, wobei die Ausführungsschaltung Folgendes aufweist: eine Multiplikatorschaltung zum Multiplizieren der ersten und dritten gepackten Datenelemente zum Erzeugen eines ersten temporären Produkts und zum gleichzeitigen Multiplizieren der zweiten und vierten gepackten Datenelemente zum Erzeugen eines zweiten temporären Produkts, wobei die ersten bis vierten gepackten Datenelemente alle eine erste Breite aufweisen; eine Schaltung zum Negieren des ersten temporären Produkts zum Erzeugen eines negierten ersten Produkts; eine Addiererschaltung zum Hinzufügen des ersten negierten Produkts zu einem ersten akkumulierten gepackten Datenelement von einem dritten Quellregister zum Erzeugen eines ersten Ergebnisses, wobei das erste Ergebnis eine zweite Breite aufweist, welche mindestens doppelt so groß wie die erste Breite ist; wobei die Addiererschaltung gleichzeitig das zweite temporäre Produkt zu einem zweiten akkumulierten gepackten Datenelement hinzufügt, um ein zweites Ergebnis mit der zweiten Breite zu erzeugen; wobei das erste und zweite Ergebnis in einer bestimmten ersten und zweiten Datenelementposition innerhalb eines Zielregisters gespeichert werden.
-
公开(公告)号:DE112017003337T5
公开(公告)日:2019-03-14
申请号:DE112017003337
申请日:2017-06-01
Applicant: INTEL CORP
Inventor: CHARNEY MARK J , VALENTINE ROBERT , GIRKAR MILIND B , JHA ASHISH , TOLL BRET L , OULD-AHMED-VALL ELMOUSTAPHA , CORBAL SAN ADRIAN JESUS , BRANDT JASON W
IPC: G06F9/30
Abstract: Ein Prozessor eines Aspekts enthält eine Decodiereinheit zum Decodieren einer Anweisung. Die Anweisung soll explizit ein erstes Architekturregister spezifizieren und implizit zumindest ein zweites Architekturregister angeben. Das zweite Architekturregister soll implizit eine höhere Registerzahl aufweisen als das erste Architekturregister. Der Prozessor enthält auch eine Architekturregisteraustauscheinheit, die mit der Decodiereinheit gekoppelt ist. Die Architekturregisteraustauscheinheit soll das erste Architekturregister durch ein drittes Architekturregister tauschen und soll das zweite Architekturregister durch ein viertes Architekturregister tauschen. Das dritte Architekturregister soll eine niedrigere Registerzahl aufweisen als das erste Architekturregister. Das vierte Architekturregister soll eine niedrigere Registerzahl aufweisen als das zweite Architekturregister. Es sind auch andere Prozessoren wie auch Verfahren und Systeme offenbart.
-
公开(公告)号:DE112016004351T5
公开(公告)日:2018-06-07
申请号:DE112016004351
申请日:2016-08-24
Applicant: INTEL CORP
Inventor: MISHRA ASIT K , GROCHOWSKI EDWARD T , PEARCE JONATHAN D , MARR DEBORAH T , COHEN EHUD , OULD-AHMED-VALL ELMOUSTAPHA , CORBAL SAN ADRIAN JESUS , VALENTINE ROBERT , CHARNEY MARK J , HUGHES CHRISTOPHER J , GIRKAR MILIND B
Abstract: Ein Prozessor enthält eine Decodiereinheit, um einen Befehl zu decodieren, der einen ersten gepackten Quelldatenoperanden angibt, der wenigstens vier Datenelemente enthält, einen zweiten gepackten Quelldatenoperanden angibt, der wenigstens vier Datenelemente enthält, und einen oder mehrere Zielspeicherorte angibt. Die Ausführungseinheit speichert in Reaktion auf den Befehl wenigstens einen Ergebnismaskenoperanden an dem (den) Zielspeicherort(en). Der wenigstens eine Ergebnismaskenoperand enthält für jedes entsprechende Datenelement in einem des ersten und des zweiten gepackten Quelldatenoperanden an derselben relativen Position ein anderes Maskenelement. Jedes Maskenelement gibt an, ob das entsprechende Datenelement in dem einen der gepackten Quelldatenoperanden gleich irgendeinem der Datenelemente in dem anderen der gepackten Quelldatenoperanden ist.
-
44.
公开(公告)号:SG11201704466QA
公开(公告)日:2017-07-28
申请号:SG11201704466Q
申请日:2015-12-14
Applicant: INTEL CORP
Inventor: VALENTINE ROBERT , HUGHES CHRISTOPHER J , CHARNEY MARK J , SPERBER ZEEV , GRADSTEIN AMIT , RUBANOVICH SIMON , GEBIL YURI , OULD-AHMED-VALL ELMOUSTAPHA
Abstract: Instructions and logic provide SIMD vector packed tuple cross-comparison functionality. Some processor embodiments include first and second registers with a variable plurality of data fields, each of the data fields to store an element of a first data type. The processor executes a SIMD instruction for vector packed tuple cross-comparison in some embodiments, which for each data field of a portion of data fields in a tuple of the first register, compares its corresponding element with every element of a corresponding portion of data fields in a tuple of the second register and sets a mask bit corresponding to each element of the second register portion, in a bit-mask corresponding to each unmasked element of the corresponding first register portion, according to the corresponding comparison. In some embodiments bit-masks are shifted by corresponding elements in data fields of a third register. The comparison type is indicated by an immediate operand.
-
公开(公告)号:BR102014005800A2
公开(公告)日:2015-08-25
申请号:BR102014005800
申请日:2014-03-13
Applicant: INTEL CORP
Inventor: LOKTYUKHIN MAXIM , VALENTINE ROBERT , HORN JULIAN C , CHARNEY MARK J
Abstract: Instruções de fusíveis e lógica para fornecer o teste-or e/ou o teste-and de funcionalidade usando várias fontes de teste. Instruções fusíveis e lógica podem fornecer teste-ar e teste-and de funcionalidade usando várias fontes de teste. Algumas formas de realização incluem uma etapa de decodificação do processador para decodificar uma instrução de teste para a execução, a instrução especificando primeiro, segundo e terceiro operandos de dados de origem, e um tipo de operação. As unidades de execução, que respondem às instruções de teste descodificados, executam uma operação lógica, de acordo com o tipo de operação especificada, entre os dados dos primeiros e segundos operandos de dados de origem, e executam uma segunda operação lógica entre os dados da terceira fonte de dados operando e o resultado da primeira operação lógica para definir um flag de estado. Algumas realizações geram a instrução de teste de forma dinâmica por meio da fusão uma instrução lógica com uma instrução de teste de estado de técnica. Outras realizações geram a instrução de teste de forma dinâmica através do compilador jit. Algumas formas de realização também fundem a instrução de teste com uma instrução de desvio condicional posterior e realizam um desvio de acordo com o modo em que a flag de estado esteja definida.
-
公开(公告)号:IN859CH2014A
公开(公告)日:2015-04-24
申请号:IN859CH2014
申请日:2014-02-21
Applicant: INTEL CORP
Inventor: LOKTYUKHIN MAXIM , VALENTINE ROBERT , HORN JULIAN C , CHARNEY MARK J
IPC: G06F20060101
Abstract: Methods and apparatus are disclosed for fusing instructions to provide OR-test and AND-test functionality on multiple test sources. Some embodiments include fetching instructions, said instructions including a first instruction specifying a first operand destination, a second instruction specifying a second operand source, and a third instruction specifying a branch condition. A portion of the plurality of instructions are fused into a single micro-operation, the portion including both the first and second instructions if said first operand destination and said second operand source are the same, and said branch condition is dependent upon the second instruction. Some embodiments generate a novel test instruction dynamically by fusing one logical instruction with a prior-art test instruction. Other embodiments generate the novel test instruction through a just-in-time compiler. Some embodiments also fuse the novel test instruction with a subsequent conditional branch instruction, and perform a branch according to how the condition flag is set.
-
公开(公告)号:GB2513467A
公开(公告)日:2014-10-29
申请号:GB201403993
申请日:2014-03-06
Applicant: INTEL CORP
Inventor: HUGHES CHRISTOPHER J , CHARNEY MARK J , CORBAL JESUS , GIRKAR MILIND B , OULD-AHMED-VALL ELMOUSTAPHA , TOLL BRET L , VALENTINE ROBERT
IPC: G06F9/30
Abstract: A zero mask before trailing (i.e. least significant) zero (KZBTZ) instruction is decoded and executed to find a least significant zero bit position in an first input mask 301 and sets an output mask 302 to have the values of the first input mask, but with all bit positions closer to the most significant bit position than the least significant zero bit position in the first input mask set to zero. In some embodiments, a second input mask 303 is used to determine which bit positions of the first input mask are considered in the least significant zero bit position calculation depending upon there being a 1 in a corresponding bit position in the second input mask. The masks are writemask operands and may be stored in write mask registers or general purpose registers.
-
48.
公开(公告)号:GB2512725A
公开(公告)日:2014-10-08
申请号:GB201402853
申请日:2014-02-18
Applicant: INTEL CORP
Inventor: VALENTINE ROBERT , LOKTYUKHIN MAXIM , HORN JULIAN C , CHARNEY MARK J
Abstract: Instruction queue 1511 by a fetch stage specifies test instructions TEST2, e.g. AND test or OR-test, and jump-condition-code JCC. TEST 2 fuses a logical AND or OR operation type acting on a first and second source data operand with prior art test instruction for comparing the results of the logical operation against a mask in a third data operand. An execution stage responsive to a decode stage performs the logical operation between first and second operands (where AND or OR tests whether the bits in either source are zero or one, respectively) and compares the results to the mask to set a condition flag CC. Conditional branching JCC, e.g. branching to a slower generic code sequence, is executed depending on the flag. TEST2 and JCC can be fused for execution as a single micro instruction 1526. Performance for frequently executed type testing instruction idioms generated by just-in-time (JIT) compilers is improved.
-
公开(公告)号:GB2502936A
公开(公告)日:2013-12-11
申请号:GB201317902
申请日:2011-09-30
Applicant: INTEL CORP
Inventor: VALENTINE ROBERT , ADRIAN JESUS CORBAL SAN , SANS ROGER ESPASA , CAVIN ROBERT D , TOLL BRET L , DURAN SANTIAGO GALAN , WIEDEMEIER JEFFREY , SAMUDRALA SRIDHAR , GIRKAR MILIND BABURAO , GROCHOWSKI EDWARD THOMAS , HALL JONATHAN CANNON , BRADFORD DENNIS R , OULD-AHMED-VALL ELMOUSTAPHA , ABEL JAMES C , CHARNEY MARK J , ABRAHAM SETH , SAIR SULEYMAN , FORSYTH ANDREW THOMAS , YOUNT CHARLES , WU LISA K
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.
-
公开(公告)号:ES3013609T3
公开(公告)日:2025-04-14
申请号:ES20216494
申请日:2019-10-08
Applicant: INTEL CORP
Inventor: HEINECKE ALEXANDER F , VALENTINE ROBERT , CHARNEY MARK J , SADE RAANAN , ADELMAN MENACHEM , SPERBER ZEEV , GRADSTEIN AMIT , RUBANOVICH SIMON
IPC: G06F9/30
Abstract: Las realizaciones descritas se refieren a un procesador, un sistema en un chip y un sistema para ejecutar una instrucción de conversión de formato. En un ejemplo, un procesador que tiene una pluralidad de núcleos, incluido un núcleo que, en respuesta a una instrucción de conversión de formato que tiene un primer operando de origen que incluye un primer elemento de datos de punto flotante de precisión simple de 32 bits y un segundo operando de origen que incluye un segundo elemento de datos de punto flotante de precisión simple de 32 bits, debe: convertir el primer elemento de datos de punto flotante de precisión simple de 32 bits en un primer elemento de datos de punto flotante de 16 bits, en donde, cuando el primer elemento de datos de punto flotante de precisión simple de 32 bits es un elemento de datos normal, la conversión se debe realizar de acuerdo con un modo de redondeo especificado por la instrucción de conversión de formato, y el primer elemento de datos de punto flotante de 16 bits debe tener un bit de signo, un exponente de 8 bits, siete bits de mantisa explícitos y un bit de mantisa implícito, y en donde, cuando el primer elemento de datos de punto flotante de precisión simple de 32 bits es un elemento de datos que no es un número, NaN, el primer elemento de datos de punto flotante de 16 bits debe tener una mantisa con un máximo bit significativo establecido en uno; convertir el segundo elemento de datos de punto flotante de precisión simple de 32 bits en un segundo elemento de datos de punto flotante de 16 bits, donde, cuando el segundo elemento de datos de punto flotante de precisión simple de 32 bits es un elemento de datos normal, la conversión se debe realizar de acuerdo con el modo de redondeo, y el segundo elemento de datos de punto flotante de 16 bits debe tener un bit de signo, un exponente de 8 bits, siete bits de mantisa explícitos y un bit de mantisa implícito, y donde cuando el segundo elemento de datos de punto flotante de precisión simple de 32 bits es un elemento de datos NaN, el segundo elemento de datos de punto flotante de 16 bits debe tener una mantisa con un bit más significativo establecido en uno; y almacenar el primer elemento de datos de punto flotante de 16 bits en una mitad de orden inferior de un registro de destino y el segundo elemento de datos de punto flotante de 16 bits en una mitad de orden superior del registro de destino. (Traducción automática con Google Translate, sin valor legal)
-
-
-
-
-
-
-
-
-