-
公开(公告)号:AU2015357677A1
公开(公告)日:2017-03-09
申请号:AU2015357677
申请日:2015-10-30
Applicant: IBM
Inventor: BRADBURY JONATHAN DAVID , JACOBI CHRISTIAN , SLEGEL TIMOTHY , GSCHWIND MICHAEL KARL
Abstract: A method for accessing data in a memory coupled to a processor comprising: receiving a memory reference instruction for accessing data of a first size at an address in the memory; determining an alignment size of the address in the memory; and accessing the data of the first size in one or more groups of data by accessing each group of data block concurrently. The groups of data have sizes that are multiples of the alignment size.
-
公开(公告)号:AU2015238632A1
公开(公告)日:2016-08-04
申请号:AU2015238632
申请日:2015-03-19
Applicant: IBM
Inventor: GREINER DAN , FARRELL MARK , OSISEK DAMIAN LEO , SCHMIDT DONALD WILLIAM , BUSABA FADI YUSUF , KUBALA JEFFREY PAUL , BRADBURY JONATHAN DAVID , HELLER LISA CRANTON , SLEGEL TIMOTHY , GAINEY JR CHARLES , JACOBI CHRISTIAN
Abstract: Embodiments relate to dynamic enablement of multithreading. According to an aspect, a computer system includes a configuration with a core configurable between a single thread (ST) mode and a multithreading (MT) mode. The ST mode addresses a primary thread, and the MT mode addresses the primary thread and one or more secondary threads on shared resources of the core. The computer system also includes a multithreading facility configured to control the configuration to perform a method. The method includes executing in the primary thread in the ST mode, an MT mode setting instruction. A number of threads requested is obtained from a location specified by the MT mode setting instruction. Based on determining that the number of threads requested indicates multiple threads, the MT mode is enabled to execute the multiple threads including the primary thread and the one or more secondary threads.
-
公开(公告)号:AU2012373734B2
公开(公告)日:2016-06-02
申请号:AU2012373734
申请日:2012-11-15
Applicant: IBM
Inventor: BRADBURY JONATHAN DAVID , GSCHWIND MICHAEL KARL , SLEGEL TIMOTHY , SCHWARZ ERIC MARK , JACOBI CHRISTIAN
IPC: G06F12/10
Abstract: A Load to Block Boundary instruction is provided that loads a variable number of bytes of data into a register while ensuring that a specified memory boundary is not crossed. The boundary may be specified a number of ways, including, but not limited to, a variable value in the instruction text, a fixed instruction text value encoded in the opcode, or a register based boundary.
-
公开(公告)号:ZA201406611B
公开(公告)日:2016-05-25
申请号:ZA201406611
申请日:2014-09-09
Applicant: IBM
Inventor: SLEGEL TIMOTHY , GSCHWIND MICHAEL KARL , JACOB CHRISTIAN , SCHWARZ ERIC MARK , BRADBURY JONATHAN DAVID
Abstract: A Load Count to Block Boundary instruction is provided that provides a distance from a specified memory address to a specified memory boundary. The memory boundary is a boundary that is not to be crossed in loading data. The boundary may be specified a number of ways, including, but not limited to, a variable value in the instruction text, a fixed instruction text value encoded in the opcode, or a register based boundary; or it may be dynamically determined.
-
公开(公告)号:ES2552175T3
公开(公告)日:2015-11-26
申请号:ES13761350
申请日:2013-03-07
Applicant: IBM
Inventor: BRADBURY JONATHAN DAVID , SLEGEL TIMOTHY , SCHWARZ ERIC MARK , GSCHWIND MICHAEL KARL
Abstract: Un método para ejecutar una instrucción máquina en una unidad central de proceso que comprende los pasos de: obtener, mediante un procesador, una instrucción máquina (310) para ejecución, la instrucción máquina que se define para ejecución de ordenador según una arquitectura de ordenador, la instrucción máquina que comprende: al menos un campo de código de operación (302a, 302b) para proporcionar un código de operación, el código de operación que identifica una operación Encontrar Elemento Igual de Vector; un campo de extensión (314) a ser usado en la designación de uno o más registros; un primer campo de registro (304) combinado con una primera parte del campo de extensión (314) para designar un primer registro, el primer registro que comprende un primer operando, el primer operando que es un operando de vector que comprende un número predefinido de elementos; un segundo campo de registro (306) combinado con una segunda parte del campo de extensión (314) para designar un segundo registro, el segundo registro que comprende un segundo operando, el segundo operando que es un operando de vector que comprende un número predefinido de elementos; un tercer campo de registro (308) combinado con una tercera parte del campo de extensión (314) para designar un tercer registro, el tercer registro que comprende un tercer operando, el tercer operando que es un operando de vector que comprende un número predefinido de elementos; un campo de máscara (310), el campo de máscara que comprende uno o más controles a ser usados durante la ejecución de la instrucción máquina; y ejecutar la instrucción máquina, caracterizada por la ejecución que comprende: determinar si el campo de máscara incluye un control de elemento cero fijado para indicar una búsqueda de un vector para un elemento cero (400); basado en el campo de máscara que incluye el control de elemento cero fijado para indicar la búsqueda del vector para un elemento cero (402), buscar el segundo operando para un elemento cero (402), la búsqueda que proporciona un índice nulo (403), el índice nulo que incluye uno de un índice de un elemento cero encontrado en la búsqueda o un tamaño del vector si no se encuentra un elemento cero; comparar cada elemento del segundo operando con cada elemento del tercer operando en paralelo (404), por igualdad, la comparación que proporciona un índice de comparación (410, 412), el índice de comparación que se basa en una dirección de la búsqueda (408) y un tamaño de los elementos del vector y que incluye uno de un índice de un elemento igual en base a la comparación que encuentra un elemento igual o un tamaño del vector en base a la comparación que encuentra elementos no iguales; y proporcionar un resultado (416, 418), el resultado basado en si se realizó (414) la búsqueda para el elemento cero, en donde el resultado incluye uno de: en base a no realizar la búsqueda del elemento cero (414), el resultado incluye el índice de comparación (416); o en base a realizar la búsqueda del elemento cero (414), el resultado incluye un mínimo del índice de comparación o el índice nulo (418).
-
公开(公告)号:GB2525356A
公开(公告)日:2015-10-21
申请号:GB201514700
申请日:2014-01-07
Applicant: IBM
Inventor: BRADBURY JONATHAN DAVID , SCHWARZ ERIC MARK
IPC: G06F9/30
Abstract: A Vector Floating Point Test Data Class Immediate instruction is provided that determines whether one or more elements of a vector specified in the instruction are of one or more selected classes and signs. If a vector element is of a selected class and sign, an element in an operand of the instruction corresponding to the vector element is set to a first defined value, and if the vector element is not of the selected class and sign, the operand element corresponding to the vector element is set to a second defined value.
-
公开(公告)号:CA2940990A1
公开(公告)日:2015-10-01
申请号:CA2940990
申请日:2015-03-16
Applicant: IBM
Inventor: GREINER DAN , FARRELL MARK , OSISEK DAMIAN LEO , SCHMIDT DONALD WILLIAM , BUSABA FADI YUSUF , KUBALA JEFFREY PAUL , BRADBURY JONATHAN DAVID , HELLER LISA CRANTON , SLEGEL TIMOTHY , GAINEY CHARLES JR
IPC: G06F9/46
Abstract: A computer system includes a configuration with a core configurable between a single thread (ST) mode and a multithreading (MT) mode. The ST mode addresses a primary thread and the MT mode addresses the primary thread and one or more secondary threads on shared resources of the core. A multithreading facility is configured to control utilization of the configuration to perform a method that includes accessing the primary thread in the ST mode using a core address value and switching from the ST mode to the MT mode. The primary thread or one of the one or more secondary threads is accessed in the MT mode using an expanded address value, where the expanded address value includes the core address value concatenated with a thread address value.
-
公开(公告)号:MX2015009459A
公开(公告)日:2015-09-24
申请号:MX2015009459
申请日:2014-01-07
Applicant: IBM
Inventor: BRADBURY JONATHAN DAVID
IPC: G06F9/30
Abstract: Una instrucción de Multiplicar, Sumar y Acumular el Campo Vectorial de Galois. Cada elemento de un segundo operando en la instrucción se multiplica en un campo de Galois con el elemento correspondiente del tercer operando para proporcionar uno o más productos. Uno o más productos son sometidos a la operación OR exclusiva unos con otros, y son sometidos a la operación OR exclusiva con un elemento correspondiente de un cuarto operando de la instrucción. Los resultados se colocan en un operando seleccionado.
-
公开(公告)号:GB2524440A
公开(公告)日:2015-09-23
申请号:GB201513183
申请日:2013-12-11
Applicant: IBM
IPC: G06F9/30
Abstract: A Vector Generate Mask instruction. For each element in the first operand, a bit mask is generated. The mask includes bits set to a selected value starting at a position specified by a first field of the instruction and ending at a position specified by a second field of the instruction.
-
公开(公告)号:MX2014010947A
公开(公告)日:2014-10-13
申请号:MX2014010947
申请日:2012-11-15
Applicant: IBM
Inventor: SLEGEL TIMOTHY , SCHWARZ ERIC MARK , BRADBURY JONATHAN DAVID , GSCHWIND MICHAEL KARL , JACOBI CHRISTIAN
IPC: G11C11/00
Abstract: Se provee una instrucción del conteo de carga a frontera de bloque que provee una distancia de una dirección de memoria especificada a una frontera de memoria especificada. La frontera de memoria es una frontera que no es cruzada en la carga de datos. La frontera puede ser especificada de una diversidad de maneras, incluyendo pero limitado a un valor variable en el texto de instrucción, un valor de texto de instrucción fijo codificado en el código de operación o una frontera a base de registro o puede ser determinada dinámicamente.
-
-
-
-
-
-
-
-
-