Multi-addressable register files and format conversions associated therewith

US9411585B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9411585-B2
Application numberUS-201113234520-A
CountryUS
Kind codeB2
Filing dateSep 16, 2011
Priority dateSep 16, 2011
Publication dateAug 9, 2016
Grant dateAug 9, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A multi-addressable register file is addressed by a plurality of types of instructions, including scalar, vector and vector-scalar extension instructions. It may be determined that data is to be translated from one format to another format. If so determined, a convert machine instruction is executed that obtains a single precision datum in a first representation in a first format from a first register; converts the single precision datum of the first representation in the first format to a converted single precision datum of a second representation in a second format; and places the converted single precision datum in a second register.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for executing a machine instruction, said computer program product comprising: a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: obtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising: at least one field used to specify a first register; at least one other field used to specify a second register; and at least one opcode field including an operation code to identify a format conversion instruction, wherein the operation code explicitly specifies a format of information in the first register and a format of information to be placed in the second register; and executing, by the processor, the machine instruction, the executing comprising: obtaining from the first register a single-precision binary floating point datum in a first representation in a first format; converting the single-precision binary floating point datum of the first representation in the first format to a converted single-precision binary floating point datum of a second representation in a second format, wherein the first format is of a different size than the second format and wherein at least one of the first format or the second format is 64-bit; and placing the converted single-precision binary floating point datum in the second register, wherein the single-precision binary floating point datum obtained from the first register comprises a signaling Not-a-Number (SNaN) as defined by a standard for representing the floating point datum, and wherein the SNaN is preserved as a SNaN in the second register. 2. The computer program product of claim 1 , wherein the method further comprises: determining that the single-precision binary floating point datum of the first representation in the first format is to be converted to a single-precision binary floating point datum of the second representation in the second format; and obtaining the format conversion instruction, based on the determining. 3. The computer program product of claim 2 , wherein the determining is performed by a compiler executing on the processor or on another processor. 4. The computer program product of claim 1 , wherein at least one of the first register and the second register is a register of a multi-addressable register file. 5. The computer program product of claim 4 , wherein the multi-addressable register file comprises a plurality of registers, and wherein a first subrange of bits of one or more registers of the plurality of registers is defined for data of a first format, a second subrange of bits of the one or more registers of the plurality of registers is defined for data of one or more second formats, and an entire range of bits of the one or more registers of the plurality of registers is defined for data of a third format. 6. The computer program product of claim 5 , wherein each of the plurality of registers is defined to include 64-bit scalar single-precision floating point data and 32-bit vector single-precision floating point data. 7. The computer program product of claim 1 , wherein the machine instruction is inserted between a first instruction and a second instruction, the second instruction having a dependence on the first instruction, and the first instruction to produce data having a different format than a format used by the second instruction. 8. The computer program product of claim 7 , wherein the first register includes a datum of the first instruction to be converted. 9. The computer program product of claim 1 , wherein (i) the first representation comprises a vector representation and the first format is 32-bit and the second representation comprises a scalar representation and the second format is 64-bit, or (ii) the first representation comprises a scalar representation and the first format is 64-bit and the second representation comprises a vector representation and the second format is 32-bit. 10. The computer program product of claim 1 , wherein the format conversion instruction includes a replication function. 11. A computer system for executing a machine instruction, said computer system comprising: a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising: obtaining, by the processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising: at least one field used to specify a first register; at least one other field used to specify a second register; and at least one opcode field including an operation code to identify a format conversion instruction, wherein the operation code explicitly specifies a format of information in the first register and a format of information to be placed in the second register; and executing, by the processor, the machine instruction, the executing comprising: obtaining from the first register a single-precision binary floating point datum in a first representation in a first format; converting the single-precision binary floating point datum of the first representation in the first format to a converted single-precision binary floating point datum of a second representation in a second format, wherein the first format is of a different size than the second format and wherein at least one of the first format or the second format is 64-bit; and placing the converted single-precision binary floating point datum in the second register, wherein the single-precision binary floating point datum obtained from the first register comprises a signaling Not-a-Number (SNaN) as defined by a standard for representing the floating point datum, and wherein the SNaN is preserved as a SNaN in the second register. 12. The computer system of claim 11 , wherein the method further comprises: determining that the single-precision binary floating point datum of the first representation in the first format is to be converted to a single-precision binary floating point datum of the second representation in the second format; and obtaining the format conversion instruction, based on the determining. 13. The computer system of claim 11 , wherein at least one of the first register and the second register is a register of a multi-addressable register file, and wherein the multi-addressable register file comprises a plurality of registers, and wherein a first subrange of bits of one or more registers of the plurality of registers is defined for data of a first format, a second subrange of bits of the one or more registers of the plurality of registers is defined for data of one or more second formats, and an entire range of bits of the one or more registers of the plurality of registers is defined for data of a third format. 14. The computer system of claim 13 , wherein each of the plurality of registers is defined to include 64-bit scalar single-precision floating point data and 32-bit vector single-precision floating point data. 15. The computer system of claim 11 , wherein the machine instruction is inserted between a first instruction and a second instruction, the second instruction having a dependence on the first instruction, and the first instruction to produce data having a different format than a format used by the second instruction. 16. The computer system of claim

Assignees

Inventors

Classifications

  • Register arrangements · CPC title

  • Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion · CPC title

  • Instructions to perform operations on packed data, e.g. vector, tile or matrix operations · CPC title

  • Decoding the operand specifier, e.g. specifier format · CPC title

  • with variable precision · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9411585B2 cover?
A multi-addressable register file is addressed by a plurality of types of instructions, including scalar, vector and vector-scalar extension instructions. It may be determined that data is to be translated from one format to another format. If so determined, a convert machine instruction is executed that obtains a single precision datum in a first representation in a first format from a first r…
Who is the assignee on this patent?
Gschwind Michael K, Olsson Brett, IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/30025. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 09 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).