Register files for storing data operated on by instructions of multiple widths

US9740486B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9740486-B2
Application numberUS-201414574644-A
CountryUS
Kind codeB2
Filing dateDec 18, 2014
Priority dateSep 9, 2014
Publication dateAug 22, 2017
Grant dateAug 22, 2017

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 processor core includes even and odd execution slices each having a register file. The slices are each configured to perform operations specified in a first set of instructions on data from its respective register file, and together configured to perform operations specified in a second set of instructions on data stored across both register files. During utilization, the processor receives a first instruction of the first set specifying an operation, a target register, and a source register. Next, a second instruction upon which content of the source register depends is identified as being of the second set. In response, the first instruction is dispatched to the even slice. In accordance with the operation specified in the first instruction, the even slice uses content of the source register in its register file to produce a result. Copies of the result are written to the target register in both register files.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for processing instructions in a processor core that includes an architecture with an even execution slice having an even physical register file and an odd execution slice having an odd physical register file, the even and odd execution slices each configured to perform operations specified in a first set of instructions on data from its respective physical register file, and together configured to perform operations specified in a second set of instructions on data stored across both the even and odd physical register files, the method comprising: receiving a first instruction specifying an operation, a target register, and at least one source register, the first instruction being of the first set of instructions; identifying a second instruction upon which content of the at least one source register depends; determining that the second instruction is of the second set of instructions; dispatching, in response to the determining, the first instruction to the even execution slice; performing, using the even execution slice, the operation using content of the at least one source register in the even physical register file to produce a result; writing a first copy of the result to the target register in the even physical register file; writing a second copy of the result to the target register in the odd physical register file; setting an indicator; receiving a third instruction specifying a second set of operations, and a second at least one source register, the second at least one source register being the target register; determining that the third instruction is of the second set of operations; dispatching, in response to the determining that the third instruction is of the second set of operations, the third instruction to the even execution slice and the odd execution slice; detecting that the indicator is set; treating, in response to the detecting, content of the second at least one source register in the odd physical register file as an undefined value for the purposes of the second operation, the content of the second at least one source in the odd physical register file being the second copy of the result; and performing, using the even execution slice and the odd execution slice, the second operation using content of the second at least one source register in the even physical register file and the undefined value to produce a second result. 2. The method of claim 1 , wherein the second instruction specifies a second operation and a second target register, the second target register being the at least one source register, the method further comprising: receiving the second instruction; performing, using the even execution slice and the odd execution slice, the second operation to produce a second result; writing a copy of a lower portion of the second result to the second target register in the even physical register file, the copy of the lower portion being the content of the at least one source register in the even physical register file; and writing a copy of an upper portion of the second result to the second target register in the odd physical register file. 3. The method of claim 2 further comprising: clearing, in association with writing the copy of the upper portion, an indicator, the indicator corresponding with the target register in the odd physical register file. 4. The method of claim 1 further comprising: receiving a fourth instruction specifying a second at least one source register, the second at least one source register being the target register; determining that the first instruction and the fourth instruction are both of the first set of instructions; and dispatching, in response to the determining that the first instruction and the fourth instruction are both of the first set of instructions, the fourth instruction to one of the even execution slice and the odd execution slice. 5. The method of claim 1 further comprising: setting, in association with writing the first copy of the result, an indicator, the indicator corresponding with the target register in the odd physical register file. 6. The method of claim 1 , wherein the indicator is at least one bit which corresponds with the target register in the odd physical register file. 7. A method for processing instructions in a processor core that includes an architecture with an even execution slice having an even physical register file and an odd execution slice having an odd physical register file, the even and odd execution slices each configured to perform operations specified in a first set of instructions on data from its respective physical register file, and together configured to perform operations specified in a second set of instructions on data stored across both the even and odd physical register files, the method comprising: receiving an instruction specifying an operation and at least one source register, the instruction being of the second set of instructions; detecting that an indicator is set; treating, in response to the detecting, content of the at least one source register in the odd physical register file as an undefined value for the purposes of the operation; and performing, using the even execution slice and the odd execution slice, the operation using content of the at least one source register in the even physical register file and the undefined value to produce a result. 8. The method of claim 7 further comprising: receiving a second instruction specifying a second operation and a target register, the second instruction being of the first set of instructions, and the target register being the at least one source register; performing the second operation using one of the even execution slice and the odd execution slice to produce a second result; writing a first copy of the second result to the target register in the even physical register file, the first copy being the content of the at least one source register in the even physical register file; writing a second copy of the second result to the target register in the odd physical register file, the second copy being the content of the at least one source register in the odd physical register file; and setting the indicator. 9. The method of claim 7 , wherein the indicator is at least one bit which corresponds with the at least one source register in the odd physical register file. 10. The method of claim 7 , wherein the instruction further specifies a second source register, wherein the indicator corresponds with the at least one source register in the odd physical register file, and wherein the performing the operation further uses content of the second source register in the even physical register file and content of the second source register in the odd physical register file to produce the result, the method further comprising: detecting that a second indicator is clear, the second indicator corresponding with the second source register in the odd physical register file; and treating, in response to the detecting that the second indicator is clear, content of the second source register in the odd physical register file as itself for the purposes of the operation. 11. The method of claim 7 , wherein the architecture further includes a second even execution slice having a second even physical register file and a second odd execution slice having a second odd physical register file, wherein the second even execution slice is configured to perform operations specified in the first set of instructions on data from the second even physical register file, wherein the second even and second odd execution slices are together configured to perform operations specifie

Assignees

Inventors

Classifications

  • Extension of register space, e.g. register cache · CPC title

  • Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · CPC title

  • comprising data of variable length · CPC title

  • with global bypass, e.g. between pipelines, between clusters · CPC title

  • organised in groups of units sharing resources, e.g. clusters · 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 US9740486B2 cover?
A processor core includes even and odd execution slices each having a register file. The slices are each configured to perform operations specified in a first set of instructions on data from its respective register file, and together configured to perform operations specified in a second set of instructions on data stored across both register files. During utilization, the processor receives a…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/30105. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 22 2017 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).