Apparatus and methods employing a shared read post register file

US11960897B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11960897-B2
Application numberUS-202117389838-A
CountryUS
Kind codeB2
Filing dateJul 30, 2021
Priority dateJul 30, 2021
Publication dateApr 16, 2024
Grant dateApr 16, 2024

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.

In some implementations, a processor includes a plurality of parallel instruction pipes, a register file includes at least one shared read port configured to be shared across multiple pipes of the plurality of parallel instruction pipes. Control logic controls multiple parallel instruction pipes to read from the at least one shared read port. In certain examples, the at least one shared register file read port is coupled as a single read port for one of the parallel instruction pipes and as a shared register file read port for a plurality of other parallel instruction pipes.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor comprising: a plurality of parallel instruction pipes; a register file comprising at least one shared register file read port configured to be shared across the plurality of parallel instruction pipes; and control logic, operatively coupled to the register file, and configured to control the plurality of parallel instruction pipes to read from the at least one shared register file read port, and wherein at least one of the plurality of parallel instruction pipes are configured to read from a plurality of non-shared register file read ports of the register file and read from the at least one shared register file read port. 2. The processor of claim 1 wherein the at least one shared register file read port is coupled as a single read port for one of the plurality of parallel instruction pipes and as a shared register file read port for a plurality of other parallel instruction pipes. 3. The processor of claim 1 wherein the register file comprises shadow latch select logic configured to perform bit width reconfiguration for a group of nonshared read ports and the at least one shared register file read port, based on an instruction bit width being different from a register bit width of the register file. 4. The processor of claim 1 comprising register file bypass logic coupled to the plurality of parallel instruction pipes that share the at least one shared register file read port, and operative to feed a result generated by one of the plurality of parallel instruction pipes to an input of another of the plurality of parallel instruction pipes. 5. The processor of claim 1 wherein a first instruction pipe of the plurality of parallel instruction pipes is coupled to a first plurality of non-shared read ports and a second instruction pipe of the plurality of parallel instruction pipes is coupled to a second plurality of non-shared read ports and the first and second instruction pipes share a register file read port that is also coupled to a third instruction pipe of the plurality of parallel instruction pipes. 6. The processor of claim 5 wherein the control logic is operative to perform instruction based port sharing by making one of either the first or second instruction pipes available to use the shared register file read port of the third instruction pipe based on a multi-source operand instruction being eligible for use with non-shared and shared read ports. 7. The processor of claim 5 wherein the control logic is operative to perform read port sharing by flipping use of the first and second instruction pipes if both pipes are eligible to process a multi-source operand instruction using non-shared and shared read ports. 8. The processor of claim 5 wherein the control logic is operative to perform read port sharing by directing frequently used multi-source operand instructions on the first instruction pipe and infrequent multiple source operand instructions on the second instruction pipe. 9. The processor of claim 1 wherein a first group of instruction pipes are configured to share a first register file read port of a first different pipe and a second group of instruction pipes are configured to share a second register file read port of a second different pipe. 10. The processor of claim 2 wherein the control logic is operative to invalidate an instruction picked for one of the plurality of parallel instruction pipes in response to a read conflict of the shared register file read port with multiple other pipes of the plurality of parallel instruction pipes that share the shared register file read port. 11. A processor comprising: a floating point unit comprising: a plurality of parallel instruction pipes; a register file comprising a plurality of register file read ports wherein at least two register file read ports are configured to be shared across the plurality of parallel instruction pipes and other register file read ports are configured as non-shared read ports that are dedicated to a respective instruction pipe such that each of at least two instruction pipes is coupled to both at least one non-shared read port and at least one shared read port of the register file; and control logic, operatively coupled to the register file, and configured to control the at least two instructions pipes to read from respective shared register file read ports and non-shared register file read ports. 12. The processor of claim 11 comprising: a first group of instruction pipes comprising at least a first shared register file read port coupled as a single read port for a first parallel instruction pipe and as a shared register file read port for a first plurality of parallel instruction pipes also coupled to non-shared register file read ports; and a second group of instruction pipes comprising at least a second shared register file read port coupled as a single read port for a second parallel instruction pipe and as a shared register file read port for a second plurality of parallel instruction pipes also coupled to non-shared register file read ports. 13. The processor of claim 12 wherein the register file comprises shadow latch select logic configured to perform bit width reconfiguration for at least the first group of instruction pipes, based on an instruction bit width being different from a register bit width of the register file. 14. A method for instruction execution using a register file comprising: receiving one or more multi-source operand instructions for execution; and controlling execution of the one or more multi-source operand instructions by: controlling at least one of a plurality of parallel instruction pipes to read from at least one shared register file read port of a register file and read from non-shared register file read ports of the register file wherein the at least one shared register file read port is also coupled to a parallel instruction pipe different from the plurality of parallel instruction pipes. 15. The method of claim 14 comprising performing instruction based port sharing by making one of either a first or second parallel instruction pipe of the plurality of parallel instruction pipes available to use the shared register file read port of a third instruction pipe based on a multi-source operand instruction being eligible for use with non-shared and shared register file read ports. 16. The method of claim 14 comprising performing read port sharing by flipping use of a first instruction pipe and a second instruction pipe if both pipes are eligible to process a multi-source operand instruction using non-shared and shared register file read ports. 17. The method of claim 16 comprising performing read port sharing by directing frequently used multi-source operand instructions on the first instruction pipe and infrequent multiple source operand instructions on the second instruction pipe. 18. The method of claim 14 comprising invalidating an instruction picked for the parallel instruction pipe different from the plurality of parallel instruction pipes in response to a read conflict of the shared register file read port with the plurality of parallel instruction pipes that share the shared register file read port. 19. The method of claim 14 comprising performing bit width reconfiguration for a group of non-shared register file read ports and the shared register file read port, based on an instruction bit width being different from a register bit width of the register file. 20. A system comprising: a first processor; and a second processor, operative

Assignees

Inventors

Classifications

  • from multiple instruction streams, e.g. multistreaming · CPC title

  • controlled by a single instruction for multiple threads [SIMT] in parallel · CPC title

  • G06F9/3869Primary

    Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking · CPC title

  • according to context, e.g. thread buffers · CPC title

  • Implementation provisions of register files, e.g. ports · 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 US11960897B2 cover?
In some implementations, a processor includes a plurality of parallel instruction pipes, a register file includes at least one shared read port configured to be shared across multiple pipes of the plurality of parallel instruction pipes. Control logic controls multiple parallel instruction pipes to read from the at least one shared read port. In certain examples, the at least one shared registe…
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/3869. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 16 2024 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).