Synchronized communication in a data processing system
First Claim
Patent Images
1. A data processing system, comprising:
- a plurality of processing units coupled for communication, said plurality of processing units including at least a local master processing unit and multiple local hub processing units each coupled to the local master processing unit by a respective one of a plurality of communication links, wherein said local master processing unit includes;
a master that initiates memory access requests;
a snooper that receives memory access requests; and
interconnect logic coupled to the plurality of communication links, wherein said interconnect logic includes request logic that synchronizes internal delivery of a memory access request of said master to said snooper with delivery, via the plurality of communication links, of the memory access request to snoopers in the plurality of local hub processing units, wherein the request logic synchronizes the internal delivery by applying a greater delay to the memory access request to be delivered to the snooper than to that to be delivered to the plurality of local hub processing units, wherein the request logic applies the delay to the memory access request to be delivered to the snooper after transmission by the request logic of the memory access request to the plurality of local hub processing units and prior to delivery of the memory access request to the snooper.
0 Assignments
0 Petitions
Accused Products
Abstract
A data processing system includes a plurality of processing units, including at least a local master and a local hub, which are coupled for communication via a communication link. The local master includes a master capable of initiating an operation, a snooper capable of receiving an operation, and interconnect logic coupled to a communication link coupling the local master to the local hub. The interconnect logic includes request logic that synchronizes internal transmission of a request of the master to the snooper with transmission, via the communication link, of the request to the local hub.
25 Citations
26 Claims
-
1. A data processing system, comprising:
a plurality of processing units coupled for communication, said plurality of processing units including at least a local master processing unit and multiple local hub processing units each coupled to the local master processing unit by a respective one of a plurality of communication links, wherein said local master processing unit includes; a master that initiates memory access requests; a snooper that receives memory access requests; and interconnect logic coupled to the plurality of communication links, wherein said interconnect logic includes request logic that synchronizes internal delivery of a memory access request of said master to said snooper with delivery, via the plurality of communication links, of the memory access request to snoopers in the plurality of local hub processing units, wherein the request logic synchronizes the internal delivery by applying a greater delay to the memory access request to be delivered to the snooper than to that to be delivered to the plurality of local hub processing units, wherein the request logic applies the delay to the memory access request to be delivered to the snooper after transmission by the request logic of the memory access request to the plurality of local hub processing units and prior to delivery of the memory access request to the snooper. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A data processing system, comprising:
-
a plurality of processing units coupled for communication, said plurality of processing units including at least a local master processing unit and a local hub processing unit coupled by a communication link characterized by a link latency, wherein said local master processing unit includes; a master that initiates a memory access request; a snooper that receives the memory access request; and interconnect logic coupled to the communication link, wherein said interconnect logic includes request logic that synchronizes internal transmission of the memory access request of said master to said snooper with transmission, via the communication link, of the memory access request to the local hub processing unit; response generation logic that generates a combined response of said data processing system to the memory access request of said master; wherein the interconnect logic includes combined response phase logic, coupled to the master and to the snooper, that transmits said combined response to the master and snooper and from said local master processing unit to said local hub processing unit, wherein said combined response phase logic presents the combined response to said snooper approximately the link latency later than presentation of the combined response to said master.
-
-
10. A processing unit for a data processing system, said processing unit comprising:
-
a master that initiates memory access requests; a snooper that receives memory access requests; and interconnect logic coupled to a plurality of communication links each coupling the processing unit to a respective one of multiple local hub processing units within the data processing system, wherein said interconnect logic includes request logic that synchronizes internal delivery of a memory access request of said master to said snooper with delivery, via the plurality of communication links, of the memory access request to snoopers in the plurality of local hub processing units, wherein the request logic synchronizes the internal delivery by applying a greater delay to the memory access request to be delivered to the snooper than to that to be delivered to the plurality of local hub processing units, wherein the request logic applies the delay to the memory access request to be delivered to the snooper after transmission by the request logic of the memory access request to the plurality of local hub processing units and prior to delivery of the memory access request to the snooper. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A processing unit for a multi-processor data processing system, said processing unit comprising:
-
a master that initiates a request; a snooper that receives the request; and interconnect logic coupled to a plurality of communication links each coupling the processing unit to a respective one of multiple local hub processing units of the data processing system, wherein said interconnect logic includes request logic that synchronizes internal delivery of a request of said master to said snooper with delivery, via the communication link, of the request in the plurality of local hub processing units; request logic including a launch buffer including; a first ordered data structure that orders requests generated by said master; multiple second ordered data structure each ordering requests received from one of the multiple local hub processing units; and an arbiter that selects requests for transmission to by reference to the first and the second ordered data structures; wherein said launch buffer further comprises map logic that routes requests from said processing unit to said first ordered data structure and routes requests of said multiple local hub processing units to said multiple second ordered data structures by reference to relative physical positions of said processing unit and said multiple local hub processing units.
-
-
17. A method of data processing in a data processing system including a plurality of processing units coupled for communication, said plurality of processing units including at least a local master processing unit and multiple local hub processing units, said method comprising:
-
initiating, by a master within said local master processing unit, an operation by issuing a memory access request; and transmitting, by request logic within said local master, said memory access request to an internal snooper of said local master processing unit and transmitting the memory access request to each of said multiple local hub processing units via a respective one of a plurality of external communication links, wherein said request logic synchronizes internal delivery of said memory access request to said snooper with transmission of the memory access request to the multiple local hub processing units, wherein the request logic synchronizes the internal delivery by applying a greater delay to the memory access request to be delivered to the snooper than to that to be delivered to the plurality of local hub processing units, wherein the request logic applies the delay to the memory access request to be delivered to the snooper after transmission by the request logic of the memory access request to the plurality of local hub processing units and prior to delivery of the memory access request to the snooper. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of data processing in a data processing system including a plurality of processing units coupled for communication, said plurality of processing units including at least a local master processing unit and a local hub processing unit, said method comprising:
-
initiating, by a master within said local master processing unit, an operation by issuing a first request that identifies a memory block with a request address, wherein the plurality of processing units includes an owning processing unit that holds coherency ownership of said memory block immediately prior to receipt by the owning processing unit of said first request; transmitting, by request logic within said local master processing unit, the request to an internal snooper of said local master processing unit and transmitting the request to the local hub processing unit via an external communication link, wherein said request logic synchronizes internal delivery of said request to said snooper with delivery of the request in the local hub, generating, by response generation logic, a combined response of said data processing system to the first request; and communicating said combined response to said plurality of processing units such that a latency of a second request for access to said memory block from any competing processing unit among said plurality of processing units to said owning processing unit is no greater than the sum of a latency of the second request from the competing processing unit to the local master processing unit plus a latency from a time said combined response is observed at the local master processing unit to a time said combined response is observed at said owning processing unit.
-
-
26. The data processing system, comprising:
a plurality of processing units coupled for communication, said plurality of processing units including at least a local master processing unit and multiple local hub processing units each coupled to the local master processing unit by a respective one of a plurality of communication links, wherein said local master processing unit includes; a master that initiates memory access requests; a snooper that receives memory access requests; and interconnect logic coupled to the plurality of communication links, wherein said interconnect logic includes; means for synchronizing internal delivery of a memory access request of said master to said snooper with delivery, via the plurality of communication links, of the memory access request to snoopers in the plurality of local hub processing units, wherein the means for synchronizing synchronizes the internal delivery by applying a greater delay to the memory access request to be delivered to the snooper than to that to be delivered to the plurality of local hub processing units, wherein the means for synchronizing applies the delay to the memory access request to be delivered to the snooper after transmission of the memory access request to the plurality of local hub processing units and prior to delivery of the memory access request to the snooper.
Specification