Pipelined serial ring bus
First Claim
Patent Images
1. An apparatus, comprising:
- a local ring bus that is implemented within a load/store unit in a processor core, wherein the local ring bus is communicatively coupled to a plurality of local registers within the load/store unit, and wherein the local ring bus is configured to convey an address of a first load or store operation associated with one of the plurality of local registers concurrently with data associated with the first load or store operation; and
a remote ring bus that is communicatively coupled to the load/store unit and a plurality of remote registers outside of the load/store unit, wherein the remote ring bus is configured to convey an address of a second load or store operation associated with one of the plurality of remote registers concurrently with data associated with the second load or store operation.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides embodiments of an apparatus used to implement a pipelined serial ring bus. One embodiment of the apparatus includes one or more ring buses configured to communicatively couple registers associated with logical elements in a processor. The ring bus(s) are configured to concurrently convey information associated with a plurality of load or store operations.
6 Citations
20 Claims
-
1. An apparatus, comprising:
-
a local ring bus that is implemented within a load/store unit in a processor core, wherein the local ring bus is communicatively coupled to a plurality of local registers within the load/store unit, and wherein the local ring bus is configured to convey an address of a first load or store operation associated with one of the plurality of local registers concurrently with data associated with the first load or store operation; and a remote ring bus that is communicatively coupled to the load/store unit and a plurality of remote registers outside of the load/store unit, wherein the remote ring bus is configured to convey an address of a second load or store operation associated with one of the plurality of remote registers concurrently with data associated with the second load or store operation. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus, comprising:
-
at least one ring bus configured to communicatively couple a plurality of registers associated with a corresponding plurality of logical elements in a processor, wherein said at least one ring bus is configured to concurrently convey information associated with a plurality of load or store operations, wherein the information comprises an address of one of the plurality of registers and data associated with said one of the plurality of registers, and wherein the address and the data are conveyed on to said at least one ring bus in a plurality of consecutive time intervals; a queue for storing a plurality of entries, wherein each entry is configured to store information associated with one of the plurality of load or store operations, said information comprising data associated with one of the plurality of registers and an address indicating said one of the plurality of registers; and a state machine for controlling operation of said at least one ring bus so that information stored in multiple entries of the queue are concurrently conveyed along said at least one ring bus, and wherein the information stored in each of the multiple entries is conveyed on to said at least one ring bus in separate pluralities of consecutive time intervals, wherein the state machine controls operation of said at least one ring bus so that an address from a first entry is provided to a first logical element during a first time interval, transmission of information from the queue to the first logical element is bypassed during a second time interval subsequent to the first time interval, and data from the first entry is provided to the first logical element during at least one third time interval subsequent to the second time interval, and wherein the first, second, and third time intervals are consecutive time intervals. - View Dependent Claims (7)
-
-
8. An apparatus, comprising:
-
at least one ring bus configured to communicatively couple a plurality of registers associated with a corresponding plurality of logical elements in a processor, wherein said at least one ring bus is configured to concurrently convey information associated with a plurality of load or store operations; a queue for storing a plurality of entries, wherein each entry is configured to store information associated with one of the plurality of load or store operations, said information comprising data associated with one of the plurality of registers and an address indicating said one of the plurality of registers; a state machine for controlling operation of said at least one ring bus so that information stored in multiple entries of the queue are concurrently conveyed along said at least one ring bus, wherein the state machine controls operation of said at least one ring bus so that an address from a first entry is provided to a first logical element during a first time interval, transmission of information from the queue to the first logical element is bypassed during a second time interval subsequent to the first time interval, and data from the first entry is provided to the first logical element during at least one third time interval subsequent to the second time interval, wherein the state machine controls operation of said at least one ring bus so that the address from the first entry and the data from the first entry are iteratively advanced to subsequent logical elements in subsequent time intervals until they are returned to the first entry in the queue, and wherein an address from a second entry is provided to the first logical element during a fourth time interval subsequent to said at least one third time interval, transmission of information from the queue to the first logical element is bypassed during a fifth time interval subsequent to the fourth time interval, and data from the second entry is provided to the first logical element during at least one sixth time interval subsequent to the fifth time interval so that information from the first and second entries is concurrently conveyed by said at least one ring bus.
-
-
9. A non-transitory computer readable media including instructions that when executed can configure a manufacturing process used to manufacture a semiconductor device comprising:
-
a local ring bus that is implemented within a load/store unit in a processor core, wherein the local ring bus is communicatively coupled to a plurality of local registers within the load/store unit, and wherein the local ring bus is configured to convey an address of a first load or store operation associated with one of the plurality of local registers concurrently with data associated with the first load or store operation; and a remote ring bus that is communicatively coupled to the load/store unit and a plurality of remote registers outside of the load/store unit, wherein the remote ring bus is configured to convey an address of a second load or store operation associated with one of the plurality of remote registers concurrently with data associated with the second load or store operation. - View Dependent Claims (10, 11)
-
-
12. A processing unit, comprising:
-
a processor core; a load/store unit implemented in the processor core; a local ring bus that is implemented within the load/store unit, wherein the local ring bus is communicatively coupled to a plurality of local registers within the load/store unit, and wherein the local ring bus is configured to convey an address of a first load or store operation associated with one of the plurality of local registers concurrently with data associated with the first load or store operation; and a remote ring bus that is communicatively coupled to the load/store unit and a plurality of remote registers outside of the load/store unit, wherein the remote ring bus is configured to convey an address of a second load or store operation associated with one of the plurality of remote registers concurrently with data associated with the second load or store operation. - View Dependent Claims (13, 14, 15)
-
-
16. A method, comprising:
-
concurrently conveying information associated with a plurality of load or store operations over at least one ring bus configured to communicatively couple a plurality of registers, wherein the plurality of registers are associated with a corresponding plurality of logical elements in a processor, wherein the information comprises an address of a first load or store operation, data associated with the first load or store operation, and at least one of an address of a second load or store operation or data associated with the second load or store operation, and wherein concurrently conveying information over said at least one bus comprises at least one of; concurrently conveying information over a local ring bus that is implemented in a load/store unit in a processor core, wherein the local ring bus is communicatively coupled to a plurality of local registers within the load/store unit;
orconcurrently conveying information over a remote ring bus that is communicatively coupled to the load/store unit and a plurality of remote registers outside of the load/store unit. - View Dependent Claims (17, 18)
-
-
19. A method, comprising:
concurrently conveying information associated with a plurality of load or store operations over at least one ring bus configured to communicatively couple the plurality of registers, wherein the plurality of registers are associated with a corresponding plurality of logical elements in a processor, wherein the information comprises an address of one of the plurality of registers and data associated with said one of the plurality of registers, and wherein the address and the data are conveyed on to said at least one ring bus in a plurality of consecutive time intervals, wherein concurrently conveying information over said at least one ring bus comprises providing an address from a first entry in a queue to a first logical element during a first time interval, bypassing transmission of information from the queue to the first logical element during a second time interval subsequent to the first time interval, and providing data from the first entry to the first logical element during at least one third time interval subsequent to the second time interval, wherein the queue is communicatively coupled to said at least one ring bus, and wherein the first, second, and third time intervals are consecutive time intervals.
-
20. A method, comprising:
-
concurrently conveying information associated with a plurality of load or store operations over at least one ring bus configured to communicatively couple the plurality of registers, wherein the plurality of registers are associated with a corresponding plurality of logical elements in a processor, wherein concurrently conveying information over said at least one ring bus comprises providing an address from a first entry in a queue to a first logical element during a first time interval, bypassing transmission of information from the queue to the first logical element during a second time interval subsequent to the first time interval, and providing data from the first entry to the first logical element during at least one third time interval subsequent to the second time interval, wherein the queue is communicatively coupled to said at least one ring bus; and providing an address from a second entry in the queue to the first logical element during a fourth time interval subsequent to said at least one third time interval, bypassing transmission of information from the queue to the first logical element during a fifth time interval subsequent to the fourth time interval, and providing data from the second entry to the first logical element during at least one sixth time interval subsequent to the fifth time interval so that information from the first and second entries is concurrently conveyed by said at least one ring bus.
-
Specification