Handling Atomic Operations For A Non-Coherent Device
AssigneeIntel Corporation
InventorRamakrishna Saripalli
Life of this patent
Estimating the term…
Abstract
In one embodiment, the present invention includes a method for receiving a non-coherent atomic request from a device coupled to an agent via a non-coherent link, accessing a mapping table of the agent to convert the non-coherent atomic request into a coherent atomic request, and transmitting the coherent atomic request via a coherent link to a second agent coupled to the agent to cause the second agent to be a completer of the non-coherent atomic request. Other embodiments are described and claimed.
Claims20
A root complex comprising:
- receive logic configured to couple to a non-coherent link that is to couple to a device, the receive logic to receive from the device an incoming transaction that is to reference a non-coherent atomic operation;
- translation logic to map the non-coherent atomic operation to a coherent atomic operation in response to the receipt of the incoming transaction;
- and
- transmit logic configured to be coupled to a coherent link, the transmit logic to transmit an outgoing transaction that is to reference the coherent atomic operation to a processor that is to couple to the coherent link, in response to the translation logic mapping the non-coherent atomic operation to the coherent atomic operation, wherein the non-coherent atomic operation is of a protocol that calls for the root complex to be the completer of the incoming transaction.
A non-transitory machine-readable medium having stored thereon instructions, which if performed by a machine cause the machine to perform a method comprising:
- receiving a non-coherent atomic request in a root complex from a device coupled to the root complex via a non-coherent link;
- converting the non-coherent atomic request into a coherent atomic request in the root complex;
- and
- transmitting the coherent atomic request from the root complex to a second processor coupled to the root complex via a coherent link to cause the second processor to be a completer of the non-coherent atomic request, wherein the non-coherent atomic request is of a protocol that calls for the root complex to be the completer of the non-coherent atomic request.
A system comprising:
- a first processor including at least one first core and a first controller to communicate with a device coupled to the first processor via a non-coherent link, the first controller to receive an atomic request for a requested operation from the device and convert a non-coherent atomic operation code of the atomic request to a corresponding coherent atomic operation code, and to transmit the coherent atomic operation code to a second processor coupled to the first processor via a coherent link, to cause the second processor to perform the requested operation of the atomic request, wherein the atomic request is of a protocol that calls for the first controller to be the completer of the atomic request;
- the second processor including at least one second core and a second controller to receive the coherent atomic operation code, perform the requested operation responsive to the coherent atomic operation code to obtain a result, store the result in a second local memory, and provide a completion for the atomic request to the first controller;
- and
- the device coupled to the first processor via the non-coherent link, wherein the device is to generate the atomic request.
Dependencies are inferred from the claim text.