Method and apparatus for communicating over a resource interconnect
First Claim
Patent Images
1. A data processing system, comprising:
- a first interconnect coupled between multiple different resources and configured to be shared between the multiple different resources for sending and receiving descriptors, wherein the descriptors are used by the different resources for communicating across the first interconnect, the descriptors including a destination identifier configured to identify one of the resources receiving the descriptors sent on the first interconnect and a source identifier configured to identify one of the resources sending the descriptors on the first interconnect;
a second interconnect separate from the first interconnect and separately coupled from the first interconnect between the multiple different resources, wherein the second interconnect is configured to be shared between the multiple different resources for sending and receiving the descriptors independently of the first interconnect; and
a processor configured to send a request in a first one of the descriptors to a first resource from among the multiple different resources over the first interconnect, wherein the first resource is configured to receive the request via the first interconnect and communicate over the second interconnect with a second resource from among the multiple different resources using a second one of the descriptors, wherein the second resource is configured to respond back to the processor using a third one of the descriptors over one of the first or second interconnect pursuant to the request.
1 Assignment
0 Petitions
Accused Products
Abstract
A resource interconnect architecture and associated descriptor protocol provides more efficient communication between different resources in a data processing system. One embodiment uses a backdoor interconnect that allows some resources to communicate without using a central resource interconnect. Another embodiment uses nested descriptors that allow operations by different resources to be chained together without having to communicate back to an originating descriptor resource. In another embodiment, the descriptors are generated in hardware or in software. Other embodiments assign priority or privilege values to the descriptors that optimize processing and error handling performance.
-
Citations
29 Claims
-
1. A data processing system, comprising:
-
a first interconnect coupled between multiple different resources and configured to be shared between the multiple different resources for sending and receiving descriptors, wherein the descriptors are used by the different resources for communicating across the first interconnect, the descriptors including a destination identifier configured to identify one of the resources receiving the descriptors sent on the first interconnect and a source identifier configured to identify one of the resources sending the descriptors on the first interconnect; a second interconnect separate from the first interconnect and separately coupled from the first interconnect between the multiple different resources, wherein the second interconnect is configured to be shared between the multiple different resources for sending and receiving the descriptors independently of the first interconnect; and a processor configured to send a request in a first one of the descriptors to a first resource from among the multiple different resources over the first interconnect, wherein the first resource is configured to receive the request via the first interconnect and communicate over the second interconnect with a second resource from among the multiple different resources using a second one of the descriptors, wherein the second resource is configured to respond back to the processor using a third one of the descriptors over one of the first or second interconnect pursuant to the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for operating a data processing device, comprising:
-
generating descriptor requests including source identifiers, destination identifiers and commands, wherein at least one of the descriptor requests is a nested descriptor comprising; a first descriptor located within the nested descriptor that has a first destination identifier identifying a primary resource and an associated first command configured to be executed by the primary resource; and a second separate descriptor located within the same nested descriptor that has a second destination identifier identifying a secondary resource and an associated second command configured to be executed by the secondary resource; using the first destination identifier to send the nested descriptor over a resource interconnect to the primary resource, the primary resource executing the first command in the nested descriptor; using the second destination identifier to send the nested descriptor from the primary resource to the secondary resource, wherein the secondary resource executes the second command in the nested descriptor; and using a source identifier in the nested descriptor to send a response descriptor from the secondary resource over the resource interconnect to a third one of the resources. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An apparatus, comprising:
-
a first interconnect coupled between multiple different resources and configured to be shared between the multiple different resources for sending and receiving messages; a second interconnect separately coupled between the same multiple different resources, wherein the second interconnect is configured to be shared between the multiple different resources for sending and receiving messages independently of the messages sent and received over the first interconnect; and a processor configured to send a first message to a first one of the resources over the first interconnect, wherein; the first resource is configured to both receive the first message over the first interconnect and send a second message to a second one of the resources over the second interconnect at the same time, and the second resource is configured to process the second message received over the second interconnect and send a third message back to the processor over the first interconnect responsive to the second message received from the first resource over the second interconnect. - View Dependent Claims (28, 29)
-
Specification