Verfahren, Vorrichtungen, Befehle und Logik zum Bereitstellen von Vektoradressenkonflikt-Detektionsfunktionalität

    公开(公告)号:DE112013005416T5

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

    申请号:DE112013005416

    申请日:2013-06-30

    Applicant: INTEL CORP

    Abstract: Befehle und eine Logik stellen eine SIMD-Adressenkonflikt-Detektionsfunktionalität bereit. Einige Ausführungsformen umfassen Prozessoren mit einem Register mit einer variablen Anzahl von Datenfeldern, wobei jedes der Datenfelder einen Versatz für ein Datenelement in einem Speicher speichern soll. Ein Zielregister hat entsprechende Datenfelder, wobei jedes dieser Datenfelder eine variable zweite Anzahl von Bits speichern soll, um eine Konfliktmaske mit einem Maskenbit für jeden Versatz zu speichern. Als Antwort auf die Decodierung eines Vektorkonfliktbefehls vergleichen Ausführungseinheiten den Versatz in jedem Datenfeld mit jedem niedrigerwertigen Datenfeld, um zu bestimmen, ob sie einen übereinstimmenden Versatz tragen, und setzen in entsprechenden Konfliktmasken in dem Zielregister jegliche Maskenbits, die einem niedrigerwertigen Datenfeld entsprechen, das einen übereinstimmenden Versatz aufweist. Eine Vektoradressenkonfliktdetektion kann mit Elementen variabler Größe verwendet werden und zum Erzeugen von Konfliktmasken verwendet werden, um Abhängigkeiten in Sammeln-Modifizieren-Verteilen-SIMD-Operationen zu lösen.

    Systems, apparatuses, and methods for zeroing of bits in a data element

    公开(公告)号:GB2514885A

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

    申请号:GB201404575

    申请日:2014-03-14

    Applicant: INTEL CORP

    Abstract: Embodiments of systems, methods and apparatuses for execution a VPBZHI instruction are described. The execution of a VPBZHI causes, on a per data element basis of a second source, a zeroing of bits higher (more significant) than a starting point in the data element. The starting point is defined by the contents of a data element in a first source. The resultant data elements are stored in a corresponding data element position of a destination.

    BEREICHSBEGRENZTE VEKTORSPEICHERZUGRIFFSINSTRUKTIONEN, PROZESSOREN, VERFAHREN und SYSTEME

    公开(公告)号:DE102014003706A1

    公开(公告)日:2014-09-18

    申请号:DE102014003706

    申请日:2014-03-13

    Applicant: INTEL CORP

    Abstract: Ein Prozessor eines Aspekts enthält mehrere Packdatenregister. Der Prozessor enthält außerdem eine Einheit, die mit den Packdatenregistern gekoppelt ist. Die Einheit ist betriebsfähig, in Reaktion auf eine bereichsbegrenzte Vektorspeicherzugriffsinstruktion. Die Instruktion soll einen quellengepackten Speicherindex anzeigen, der mehrere gepackte Speicherindizes aufweisen soll, die aus 8-Bit-Speicherindizes und 16-Bit-Speicherindizes ausgewählt werden sollen. Die Einheit ist dafür geeignet, auf Speicherorte in nur einem begrenzten Bereich eines Speichers in Reaktion auf die bereichsbegrenzte Vektorspeicherzugriffsinstruktion zuzugreifen. Es werden noch andere Prozessoren offenbart, wie auch Verfahren, Systeme und Instruktionen.

    Befehle und Logik zur Vektorisierung von bedingten Schleifen

    公开(公告)号:DE102013021221A1

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

    申请号:DE102013021221

    申请日:2013-12-17

    Applicant: INTEL CORP

    Abstract: Befehle und Logik stellen eine Vektorisierung von bedingten Schleifen bereit. Ein Vektorerweiterungsbefehl weist einen Parameter zur Bestimmung eines Quellenvektors, einen Parameter zur Bestimmung eines Bedingungsmaskenregisters und einen Destinationsparameter zur Bestimmung eines Destinationsvektors zum Halten von n fortlaufenden Vektorelementen auf, wobei jedes der Vielzahl von n fortlaufenden Vektorelementen eine gleiche variable Unterteilungsgröße von m Bytes aufweist. Als Reaktion auf den Prozessorbefehl werden Daten von fortlaufenden Vektorelementen in dem Quellenvektor kopiert und in unmaskierte Vektorelemente des bestimmten Destinationsvektors erweitert, ohne dass Daten in maskierte Vektorelemente des Destinationsvektors kopiert werden, wobei sich n als Reaktion auf den ausgeführten Prozessorbefehl verändert. Der Quellenvektor kann ein Register sein, und der Destinationsvektor kann sich im Speicher befinden. Einige Ausführungsformen speichern Zählwerte der Bedingungsentscheidungen. Alternative Ausführungsformen können andere Daten speichern, zum Beispiel etwa Zieladressen oder den Tabellenversatz oder Indikatoren von Verarbeitungsanweisungen usw.

    Vorrichtung und Verfahren für eine effiziente Vektor-Roll-Operation

    公开(公告)号:DE102013020834A1

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

    申请号:DE102013020834

    申请日:2013-12-12

    Applicant: INTEL CORP

    Abstract: Ein maschinenlesbares Speichermedium, das Programmcode umfasst, ist beschrieben, der, wenn er von einem Prozessor verarbeitet wird, verursacht, dass ein Verfahren durchgeführt wird. Das Verfahren weist ein Erzeugen einer resultierenden gerollten Version eines Eingabevektors durch Formen eines ersten Zwischenvektors, Formen eines zweiten Zwischenvektors und Formen einer resultierenden gerollten Version eines Eingabevektors auf. Der erste Zwischenvektor wird durch Tonnen-Rollen von Elementen des Eingabevektors entlang einer ersten von zwei Spuren geformt, die durch eine obere Hälfte und eine untere Hälfte des Eingabevektors definiert sind. Der zweite Zwischenvektor wird durch Tonnen-Rollen von Elementen des Eingabevektors entlang einer zweiten der zwei Spuren geformt. Die resultierende gerollte Version des Eingabevektors wird durch Einarbeiten von oberen Abschnitten einer oberen und unteren Hälfte eines der Zwischenvektoren als obere Abschnitte einer oberen und unteren Hälfte der Resultanten und durch Einarbeiten von unteren Abschnitten einer oberen und unteren Hälfte des anderen Zwischenvektors als untere Abschnitte der oberen und unteren Hälfte der Resultanten geformt.

    Aparatos y métodos para una arquitectura de procesador

    公开(公告)号:ES2895266T3

    公开(公告)日:2022-02-18

    申请号:ES16923787

    申请日:2016-12-12

    Applicant: INTEL CORP

    Abstract: Un procesador que comprende: un descodificador (140, 314) para descodificar una instrucción para configurar una línea de memoria caché para indicar todo ceros; una unidad de ejecución (162), acoplada al descodificador y en respuesta a la descodificación de la instrucción, para emitir una orden de escritura para iniciar una escritura de ceros de tamaño de línea de memoria caché en una dirección de memoria; una memoria caché coherente (3904), acoplada a la unidad de ejecución, para recibir la orden de escritura, para determinar si hay un acierto en la memoria caché coherente en respuesta a la orden de escritura, para determinar si un estado de protocolo de coherencia de memoria caché (4065) de la línea de memoria caché (4070) acertada es un estado modificado o un estado exclusivo, para configurar una línea de memoria caché para indicar todo ceros cuando el estado de protocolo de coherencia de memoria caché es el estado modificado o el estado exclusivo, y para emitir la orden de escritura hacia una interconexión (3920) cuando hay una recepción de respuesta a fallo a la orden de escritura; el procesador comprende además la interconexión, en donde la interconexión, en respuesta a la recepción de la orden de escritura, está configurada para emitir un sondeo a cada una de una pluralidad de otras memorias caché coherentes para las que se ha de determinar si hay un acierto, en donde la interconexión, o la unidad de ejecución en respuesta a un mensaje desde la interconexión, está configurada para hacer que una línea de memoria caché en una de las memorias caché coherentes indique todo ceros cuando la orden de escritura y el sondeo no hicieron que se realizara la escritura de ceros de tamaño de línea de memoria caché.

Patent Agency Ranking