Prefix computer instruction for compatibly extending instruction functionality

US9311093B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9311093-B2
Application numberUS-201314100184-A
CountryUS
Kind codeB2
Filing dateDec 9, 2013
Priority dateOct 3, 2011
Publication dateApr 12, 2016
Grant dateApr 12, 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 prefix instruction is executed and passes operands to a next instruction without storing the operands in an architected resource such that the execution of the next instruction uses the operands provided by the prefix instruction to perform an operation, the operands may be prefix instruction immediate field or a target register of the prefix instruction execution.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer system for executing instructions, the system comprising: a processor configured to communicate with a main storage, the processor comprising an instruction fetcher, an instruction optimizer and one or more execution units for executing optimized instructions, the processor configured to perform a method comprising: obtaining a first instruction and a second instruction for execution, the first instruction preceding the second instruction in program order; determining, by the processor, that the first instruction is a prefix instruction, the prefix instruction specifying a first value to be used as a result operand in executing the first instruction and a location for storing the result operand, the second instruction specifying a value to be used as a source operand in executing the second instruction and a location for fetching the source operand, wherein the result operand of the first instruction is the source operand of the second instruction; executing the first instruction without storing the result operand at the location specified by the first instruction; and executing the second instruction using the first value without fetching the source operand from the location specified by the second instruction. 2. The system according to claim 1 , the determining further comprising determining that there is no intervening interruption event between the execution of the first instruction and the second instruction. 3. The system according to claim 2 , wherein the first value to be used in executing the second instruction is identified as a result register of the first instruction, wherein the result register of the first instruction is a source register of the second instruction. 4. The system according to claim 3 , wherein the result register is an architected register associated with an architected instruction set, consisting of any one of a general register or a floating point register. 5. The system according to claim 2 , wherein the locations specified by the first and second instructions are main storage locations. 6. The system according to claim 1 , wherein the first value to be used comprises a result of executing the first instruction and an immediate field of the first instruction, the executing the second instruction further comprising using a concatenated value of at least part of the immediate field of the first instruction and an immediate field of the second instruction. 7. The system according to claim 1 , the method further comprising: forming a single internal instruction based on the first instruction and second instruction, wherein the executing comprises executing the single internal instruction. 8. A computer program product for executing instructions, the computer program product comprising a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: obtaining a first instruction and a second instruction for execution, the first instruction preceding the second instruction in program order; determining, by a processor, that the first instruction is a prefix instruction, the prefix instruction specifying a first value to be used as a result operand in executing the first instruction and a location for storing the result operand, the second instruction specifying a value to be used as a source operand in executing the second instruction and a location for fetching the source operand, wherein the result operand of the first instruction is the source operand of the second instruction; executing the first instruction without storing the result operand at the location specified by the first instruction; and executing the second instruction using the first value without fetching the source operand from the location specified by the second instruction. 9. The computer program product according to claim 8 , the determining further comprising determining that there is no intervening interruption event between the execution of the first instruction and the second instruction. 10. The computer program product according to claim 9 , wherein the first value to be used in executing the second instruction is identified as a result register of the first instruction, wherein the result register of the first instruction is a source register of the second instruction. 11. The computer program product according to claim 10 , wherein the result register is an architected register associated with an architected instruction set, consisting of any one of a general register or a floating point register. 12. The computer program product according to claim 9 , wherein the locations specified by the first and second instructions are main storage locations. 13. The computer program product according to claim 8 , wherein the first value to be used comprises a result of executing the first instruction and an immediate field of the first instruction, the executing the second instruction further comprising using a concatenated value of at least part of the immediate field of the first instruction and an immediate field of the second instruction. 14. The computer program product according to claim 8 , the method further comprising: forming a single internal instruction based on the first instruction and second instruction, wherein the executing comprises executing the single internal instruction.

Assignees

Inventors

Classifications

  • Register renaming · CPC title

  • Instruction analysis, e.g. decoding, instruction word fields · CPC title

  • according to one or more bits in the instruction, e.g. prefix, sub-opcode · CPC title

  • Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage · CPC title

  • Arrangements for executing machine instructions, e.g. instruction decode (for executing microinstructions G06F9/22) · 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 US9311093B2 cover?
A prefix instruction is executed and passes operands to a next instruction without storing the operands in an architected resource such that the execution of the next instruction uses the operands provided by the prefix instruction to perform an operation, the operands may be prefix instruction immediate field or a target register of the prefix instruction execution.
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/30145. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 12 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).