Local ordering of instructions in a computing system
US-10216430-B2 · Feb 26, 2019 · US
US10782896B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10782896-B2 |
| Application number | US-201916240104-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 4, 2019 |
| Priority date | Jul 1, 2015 |
| Publication date | Sep 22, 2020 |
| Grant date | Sep 22, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for managing an observed order of instructions in a computing system includes utilizing an overloaded memory barrier instruction to specify whether a global ordering constraint or a local ordering constraint is enforced.
Opening claim text (preview).
What is claimed is: 1. A method for managing an observed order of instructions in a computing system, the method comprising: executing a plurality of instructions at a first plurality of processing elements in the computing system, the executing including issuing at least a first instruction of the plurality of instructions at a first processing element, the first instruction being configured to access memory associated with a second plurality of processing elements in the computing system; and issuing a second instruction of the plurality of instructions at the first processing element, the second instruction causing the first processing element to pause issuance of further instructions for accessing memory in a first memory domain of a plurality of memory domains in the computing system until the first processing element receives one or more first acknowledgements that at least the first instruction of the plurality of instructions has reached a first location in circuitry of the first plurality of processing elements; wherein the second instruction is specified as being associated with the first memory domain of the plurality of memory domains in the computing system; and wherein the first processing element receives a second acknowledgement that at least the first instruction of the plurality of instructions has reached a second location in circuitry of the second plurality of processing elements. 2. The method of claim 1 further comprising issuing at least a third instruction of the plurality of instructions at a second processing element of the first plurality of processing elements, the third instruction configured to access the memory associated with the second plurality of processing elements, wherein at least the third instruction is constrained to issue after completion of the second instruction is observed by the first plurality of processing elements. 3. The method of claim 2 wherein the third instruction reaches the second location in the circuitry of the second plurality of processing elements prior to the first instruction reaching the first location in the circuitry of the first plurality of processing elements. 4. The method of claim 1 wherein the second instruction includes a memory barrier instruction. 5. The method of claim 1 wherein the first location in the circuitry of the first plurality of processing elements includes a first ordering point from which the one or more first acknowledgements originate and the second location in the circuitry of the second plurality of processing elements includes a second ordering point from which the second acknowledgement originates. 6. The method of claim 5 wherein instructions received at the first ordering point in a first received order are issued at the first plurality of processing elements in the first received order and instructions received at the second ordering point in a second received order are issued at the second plurality of processing elements in the second received order. 7. The method of claim 1 wherein at least some instructions of the plurality of instructions are memory access instructions. 8. The method of claim 7 wherein the at least some instructions of the plurality of instructions access memory addresses associated with memory mapped peripheral devices. 9. The method of claim 8 wherein the at least some instructions of the plurality of instructions access memory addresses associated with input/output devices. 10. The method of claim 9 wherein the first instruction is configured to access a memory address associated with an input/output device associated with the second plurality of processing elements. 11. The method of claim 1 wherein the first plurality of processing elements is associated with a first multi-element processing device located in a first CPU socket and the second plurality of processing elements is associated with a second multi-element processing device located in a second CPU socket. 12. The method of claim 1 wherein the first plurality of processing elements is associated with a first multi-element processing device located in a first CPU socket and the second plurality of processing elements is associated with the first multi-element processing device located in the first CPU socket. 13. The method of claim 1 wherein a first subset of the first plurality of processing elements is associated with a first multi-element processing device located in a first CPU socket and a second subset of the first plurality of processing elements is associated with a second multi-element processing device located in a second CPU socket. 14. The method of claim 13 wherein a first subset of the second plurality of processing elements is associated with the first multi-element processing device located in the first CPU socket and a second subset of the second plurality of processing elements is associated with the second multi-element processing device located in the second CPU socket. 15. The method of claim 1 further comprising executing a second plurality of instructions at a third plurality of processing elements in the computing system, the executing including issuing at least a third instruction of the second plurality of instructions at a third processing element of the third plurality of processing elements, the third instruction being configured to access memory associated with a fourth plurality of processing elements in the computing system; and issuing a fourth instruction of the second plurality of instructions at the third processing element, the fourth instruction causing the third processing element to pause issuance of further instructions for accessing memory in the computing system until the third processing element receives one or more third acknowledgements indicating that at least the third instruction has reached a third location in circuitry of the third plurality of processing elements. 16. An apparatus for managing an observed order of instructions in a computing system, the apparatus comprising: a first plurality of processing elements for executing a plurality of instructions, the first plurality of processing elements including a first processing element for: issuing at least a first instruction of the plurality of instructions, the first instruction being configured to access memory associated with a second plurality of processing elements in the computing system; and issuing a second instruction of the plurality of instructions, the second instruction causing the first processing element to pause issuance of further instructions for accessing memory in a first memory domain of a plurality of memory domains in the computing system until the first processing element receives one or more first acknowledgements that at least the first instruction of the plurality of instructions has reached a first location in circuitry of the first plurality of processing elements; wherein the second instruction is specified as being associated with the first memory domain of the plurality of memory domains in the computing system; and wherein the first processing element receives a second acknowledgement that at least the first instruction of the plurality of instructions has reached a second location in circuitry of the second plurality of processing elements. 17. The method of claim 1 wherein an address of memory accessed by the first instruction is included in the first memory domain. 18. The method of claim 1 wherein the second instruction is specified as enforcing one of either: (1) a local ordering constraint for instructions accessing m
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.