Banked slice-target register file for wide dataflow execution in a microprocessor
US-2021072991-A1 · Mar 11, 2021 · US
US11960897B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11960897-B2 |
| Application number | US-202117389838-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 30, 2021 |
| Priority date | Jul 30, 2021 |
| Publication date | Apr 16, 2024 |
| Grant date | Apr 16, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
from multiple instruction streams, e.g. multistreaming · CPC title
controlled by a single instruction for multiple threads [SIMT] in parallel · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.