NON-SERIALIZED PUSH INSTRUCTION FOR PUSHING A MESSAGE PAYLOAD FROM A SENDING THREAD TO A RECEIVING THREAD
1 Assignment
0 Petitions
Accused Products
Abstract
In at least some embodiments, a processor core executes a sending thread including a first push instruction and a second push instruction subsequent to the first push instruction in a program order. Each of the first and second push instructions requests that a respective message payload be pushed to a mailbox of a receiving thread. In response to executing the first and second push instructions, the processor core transmits respective first and second co-processor requests to a switch in the data processing system via an interconnect fabric of the data processing system. The processor core transmits the second co-processor request to the switch without regard to acceptance of the first co-processor request by the switch.
12 Citations
20 Claims
-
1-7. -7. (canceled)
-
8. A processing unit for a data processing system including a switch, the processing unit comprising:
-
a memory; and a processor core coupled to the memory, wherein the processor core includes at least one execution unit that executes, in a sending thread, a first push instruction and a second push instruction subsequent to the first push instruction in a program order, wherein each of the first and second push instructions requests that a respective message payload be pushed to a mailbox of a receiving thread; wherein the processor core, in response to executing the first and second push instructions, transmits respective first and second co-processor requests to the switch in the data processing system via an interconnect fabric of the data processing system, wherein the processor core transmits the second co-processor request to the switch without regard to acceptance of the first co-processor request by the switch. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A data processing system, comprising:
-
a memory; an interconnect fabric; a processor core coupled to the memory and to the interconnect fabric, wherein the processor core includes at least one execution unit that executes, in a sending thread, a first push instruction and a second push instruction subsequent to the first push instruction in a program order, wherein each of the first and second push instructions requests that a respective message payload be pushed to a mailbox of a receiving thread, and wherein the processor core, in response to executing the first and second push instructions, transmits respective first and second co-processor requests to the switch in the data processing system via an interconnect fabric of the data processing system; and a switch, coupled to the interconnect fabric, that responsive to acceptance of the first co-processor request, injects the respective message payload of the first co-processor request into the mailbox of the receiving thread, and that, responsive to acceptance of the second co-processor request, injects the respective message payload of the second co-processor request into the mailbox of the receiving thread, wherein the processor core transmits the second co-processor request to the switch without regard to acceptance of the first co-processor request by the switch. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification