-
公开(公告)号:DE102016221968A1
公开(公告)日:2017-06-01
申请号:DE102016221968
申请日:2016-11-09
Applicant: IBM
Inventor: GSCHWIND MICHAEL
IPC: G06F9/38
Abstract: Ein Rotator stellt eine Adresse und eine Datengröße bereit. Der Rotator speichert auf der Grundlage der Adresse und der Datengröße ein Datenelement an einem Speicherort mit einer definierten Anzahl von Positionen. Das Datenelement enthält eine oder mehrere Dateneinheiten, und die eine oder mehreren Dateneinheiten werden auf der Grundlage einer zuvor definierten Position am Speicherort korrekt in einer oder mehreren Positionen des Speicherorts angeordnet, um eine ausgewählte Dateneinheit der einen oder mehreren Dateneinheiten zu empfangen. Der Rotator kopiert einen Wert einer ausgewählten Dateneinheit der einen oder mehreren Dateneinheiten auf eine oder mehrere andere Positionen des Speicherorts.
-
公开(公告)号:DE112012003716T5
公开(公告)日:2014-07-31
申请号:DE112012003716
申请日:2012-10-01
Applicant: IBM
Inventor: GSCHWIND MICHAEL , SALAPURA VALENTINA
IPC: G06F9/45
Abstract: Objektcode wird aus einer internen Darstellung erzeugt, die eine Vielzahl von Quellenoperanden enthält. Das Erzeugen enthält für jeden Quellenoperanden in der internen Darstellung ein Ausführen einer Ermittlung, ob eine Zuletztverwendung für den Quellenoperanden stattgefunden hat. Die Ermittlung enthält ein Zugreifen auf einen Datenflussgraphen, um zu ermitteln, ob alle Verwendungen eines aktiven Bereichs ausgegeben worden sind. Wenn ermittelt wird, dass eine Zuletztverwendung für den Quellenoperanden stattgefunden hat, wird eine in einer Architektur angeordnete Ressource, die dem Quellenoperanden zugehörig ist, für eine Zuletztverwendungsangabe gekennzeichnet. Dann wird für die in einer Architektur angeordnete Ressource eine Zuletztverwendungsangabe erzeugt. Anweisungen und die Zuletztverwendungsangaben werden in den Objektcode ausgegeben.
-
公开(公告)号:DE112012003714T5
公开(公告)日:2014-05-22
申请号:DE112012003714
申请日:2012-09-14
Applicant: IBM
Inventor: GSCHWIND MICHAEL , BLAINEY ROBERT , MCINNES JAMES , MUNROE STEVEN
IPC: G06F9/45
Abstract: Kompilieren von Code für eine erweiterte binäre Anwendungsschnittstelle (ABI), der ein Identifizieren einer Codefolge durch einen Computer enthält, die so konfiguriert ist, dass sie eine Variablenadress-Referenztabellenfunktion ausführt, einschließlich eines Zugriffs auf eine Variable an einer relativen Adresse außerhalb eines Speicherorts in einer Variablenadress-Referenztabelle. Die Codefolge enthält eine IR (IR) einer ersten Anweisung und eine IR einer zweiten Anweisung. Die zweite Anweisung ist von der ersten Anweisung abhängig. Eine Planerkostenfunktion, die mindestens einer der IR der ersten Anweisung und der IR der zweiten Anweisung zugehörig ist, wird modifiziert. Das Modifizieren enthält ein Erzeugen einer modifizierten Planerkostenfunktion, die so konfiguriert ist, dass sie die erste Anweisung neben die zweiten Anweisung stellt. Eine Objektdatei wird in Reaktion auf die modifizierte Planerkostenfunktion erzeugt. Die Objektdatei enthält die erste Anweisung, die neben die zweiten Anweisung gestellt ist. Die Objektdatei wird ausgegeben.
-
公开(公告)号:ES2675512T3
公开(公告)日:2018-07-11
申请号:ES12871181
申请日:2012-11-15
Applicant: IBM
Inventor: BRADBURY JONATHAN , GSCHWIND MICHAEL , SCHWARZ ERIC , SLEGEL TIMOTHY , JACOBI CHRISTIAN
Abstract: Un producto de programa informático para ejecutar una instrucción de máquina en una unidad central de procesamiento, comprendiendo el producto de programa informático: un medio de almacenamiento legible con ordenador, legible por medio de un circuito de procesamiento, e instrucciones de almacenamiento para su ejecución por el circuito de procesamiento para llevar a cabo un método que comprende: obtener, mediante el procesador, una instrucción de máquina para su ejecución, estando la instrucción de máquina definida para su ejecución con ordenador conforme a una arquitectura de ordenador, comprendiendo la instrucción de máquina (300): al menos un campo de opcode (302a) para proporcionar un opcode; un campo de registro (304) para ser usado a efectos de designar un registro (R1), comprendiendo el registro un primer operando, y al menos un campo (306) para indicar una posición de un segundo operando, comprendiendo el segundo operando una dirección de inicio del bloque de memoria principal, y caracterizado porque el opcode identifica una operación de Conteo de Carga hasta Límite de Bloque, siendo la operación de Conteo de Carga hasta Límite de Bloque para calcular una distancia desde una posición en la memoria principal hasta un límite de un bloque de memoria principal, y porque el método comprende además ejecutar la instrucción de máquina para realizar la operación de Conteo de Carga hasta Límite de Bloque, comprendiendo la ejecución: determinar la distancia desde la posición del segundo operando hasta el límite del bloque de memoria principal, comprendiendo la determinación de la distancia contar mediante el procesador el número de bytes desde la posición del segundo operando hasta el límite del bloque de memoria, y disponer un valor que representa la distancia en el primer operando, siendo este valor un resultado de ejecutar la operación de Conteo de Carga hasta Límite de Bloque.
-
公开(公告)号:GB2520909A
公开(公告)日:2015-06-03
申请号:GB201506442
申请日:2013-10-07
Applicant: IBM
Inventor: GSCHWIND MICHAEL
IPC: G06F12/10
Abstract: A system configuration is provided that includes multiple partitions that have differing translation mechanisms associated therewith. For instance, one partition has associated therewith a single level translation mechanism for translating guest virtual addresses to host physical addresses, and another partition has a nested level translation mechanism for translating guest virtual addresses to host physical addresses. The different translation mechanisms and partitions are supported by a single hypervisor. Although the hypervisor is a paravirtualized hypervisor, it provides full virtualization for those partitions using nested level translations.
-
公开(公告)号:DE112012003780T5
公开(公告)日:2014-06-18
申请号:DE112012003780
申请日:2012-10-01
Applicant: IBM
Inventor: MUNROE STEVEN , BLAINEY ROBERT , GSCHWIND MICHAEL , MCINNES JAMES , MEISSNER MICHAEL
IPC: G06F9/45
Abstract: Eine Codefolge, die aus mehreren Anweisungen besteht und eine relative Adresse von einer Basisadresse angibt, wird in einer Objektdatei identifiziert. Die relative Adresse von der Basisadresse entspricht einem Speicherort einer relativen Adresse in einem Speicher, der konfiguriert ist, um eine Variablen- oder eine Datenadresse zu speichern. Die identifizierte Codefolge ist so konfiguriert, dass sie eine Speicherreferenz-Funktion oder eine Speicheradressberechnungs-Funktion ausführt. Es wird ermittelt, dass sich der Speicherort der relativen Adresse in einem angegebenen Abstand von der Basisadresse befindet, und dass eine Ersetzung der identifizierten Codefolge durch eine neue Codefolge die Programmsemantik nicht ändert. Die identifizierte Codefolge in der Objektdatei wird durch die neue Codefolge ersetzt, die eine Nulloperations-(NOP)Anweisung oder weniger Anweisungen als die identifizierte Codefolge enthält. Ein verknüpfter ausführbarer Code wird auf der Grundlage der Objektdatei erzeugt, und der verknüpfte ausführbare Code wird ausgegeben.
-
公开(公告)号:DE112010003330T5
公开(公告)日:2012-06-21
申请号:DE112010003330
申请日:2010-07-19
Applicant: IBM
Inventor: EICHENBERGER ALEXANDRE , GARA ALAN , GSCHWIND MICHAEL , OHMACHT MARTIN
Abstract: Es werden Mechanismen zur Erstellung von Prüfpunkten (1030) in einem Cachespeicher für die spekulative Versionierung (310, 1210) eines Datenverarbeitungssystems (100) bereitgestellt. Die Mechanismen führen Code innerhalb des Datenverarbeitungssystems (100) aus, wobei der Code auf Cachespeicherzeilen im Cachespeicher für die spekulative Versionierung (310, 1210) zugreift. Durch die Mechanismen wird weiterhin festgestellt (1350), ob eine erste Bedingung eintritt, die auf die Notwendigkeit des Einrichtens eines Prüfpunkts (1030) im Cachespeicher für die spekulative Versionierung (310, 1210) hinweist. Bei dem Prüfpunkt (1030) handelt es sich um eine spekulative Cachespeicherzeile, die bei Eintreten einer zweiten Bedingung, welche ein Zurückrollen der Änderungen an einer der spekulativen Cachespeicherzeile entsprechenden Cachespeicherzeile erfordert, nichtspekulativ gemacht wird. Durch die Mechanismen wird außerdem ein Prüfpunkt (1310) im Cachespeicher für die spekulative Versionierung (310, 1210) erstellt, wenn festgestellt wird, dass die erste Bedingung eingetreten ist.
-
公开(公告)号:GB2486117A
公开(公告)日:2012-06-06
申请号:GB201204358
申请日:2010-07-19
Applicant: IBM
Inventor: EICHENBERGER ALEXANDRE , GARA ALAN , GSCHWIND MICHAEL
IPC: G06F9/45
Abstract: Mechanisms are provided for inserting indicated instructions for tracking and indicating exceptions in the execution of vectorized code. A portion of first code (620) is received for compilation. The portion of first code (620) is analyzed to identify non-speculative instructions performing designated non-speculative operations in the first code (620) that are candidates for replacement by replacement operation-and-indicate instructions that perform the designated non-speculative operations and further perform an indication operation for indicating any exception conditions corresponding to special exception values (840) present in vector register inputs to the replacement operation-and-indicate instructions (1020). The replacement is performed (1080) and second code (630) is generated based on the replacement of the at least one non-speculative instruction. The data processing system (100) executing the compiled code (630) is configured to store special exception values (840) in vector output registers (1130), in response to a speculative instruction generating an exception condition, without initiating exception handling.
-
公开(公告)号:LT3532921T
公开(公告)日:2021-04-12
申请号:LT17791010
申请日:2017-10-17
Applicant: IBM
Inventor: BRADBURY JONATHAN , SCHWARZ ERIC , MUELLER SILVIA , GSCHWIND MICHAEL , OLSSON BRETT
-
20.
公开(公告)号:ES2779033T3
公开(公告)日:2020-08-13
申请号:ES12871580
申请日:2012-11-15
Applicant: IBM
Inventor: GSCHWIND MICHAEL
Abstract: Un producto de programa informático para emular instrucciones en un entorno informático, comprendiendo el producto de programa informático: un medio de almacenamiento legible por ordenador legible por un circuito de procesamiento y que almacena instrucciones para su ejecución por el circuito de procesamiento para realizar un método que comprende: determinar a partir de una primera instrucción definida para una primera arquitectura informática que la primera instrucción incluye un especificador de operando de registro no contiguo que tiene una primera porción y una segunda porción, no contigua con la primera porción; obtener (750) el especificador de operando de registro no contiguo a partir de la primera instrucción que comprende obtener la primera porción de un primer campo (V1) de la primera instrucción y la segunda porción de un segundo campo (RXB) de la primera instrucción, estando el primer campo separado del segundo campo por al menos un campo intermedio, en donde una porción del opcode de la primera instrucción especifica el primer campo y el segundo campo usados para designar el especificador no contiguo; generar (752) un especificador de operando de registro contiguo usando la primera porción y la segunda porción obtenidas de la primera instrucción, usando la generación una o más reglas almacenadas en memoria o almacenamiento externo dependiendo del formato de la instrucción especificado por el opcode de la primera instrucción; usar (754) el especificador de operando de registro contiguo en lugar del especificador de operando de registro no contiguo para indicar un recurso a usar en la ejecución de una segunda instrucción, estando la segunda instrucción definida para una segunda arquitectura informática diferente de la primera arquitectura informática y emular una función de la primera instrucción; y ejecutar la segunda instrucción para emular la función de la primera instrucción, usando la ejecución el recurso indicado por el especificador de operando de registro contiguo sin tener más en cuenta el especificador de operando de registro no contiguo.
-
-
-
-
-
-
-
-
-