Causality-based memory ordering in a multiprocessing environment
OwnerDeborah T. Marrinventor
Life of this patent
Estimating the term…
Abstract
Causality-based memory ordering in a multiprocessing environment. A disclosed embodiment includes a plurality of processors and arbitration logic coupled to the plurality of processors. The processors and arbitration logic maintain processor consistency yet allow stores generated in a first order by any two or more of the processors to be observed consistent with a different order of stores by at least one of the other processors. Causality monitoring logic coupled to the arbitration logic monitors any causal relationships with respect to observed stores.
Claims20
An apparatus comprising:
- multiprocessing circuitry to execute a plurality of processes;
- causality monitoring logic to transparently monitor potential causal relationships with respect to stores observed by one or more of the plurality of processes;
- and
- arbitration logic coupled with the causality monitoring logic to allow a plurality of stores generated in a first order of stores by two or more of the plurality of processes to be observed by at least one of the plurality of processes, the observation by said at least one of the plurality of processes indicating an order of stores different from the first order of stores.
An apparatus comprising:
- a plurality of processors;
- access optimization buffering circuitry;
- causality monitoring logic to monitor causal relationships with respect to observed stores;
- and
- arbitration logic coupled with the causality monitoring logic and said access optimization buffering circuitry and to allow a plurality of stores generated in a first order of stores by any two or more of the plurality of processors to be observed by at least one of said plurality of processors, wherein the observation indicates an order of stores different from said first order of stores.
A machine automated method comprising:
- receiving a plurality of stores generated in a first order of stores from a plurality of bus agents;
- allowing the plurality of stores to be observed by at least one other of said plurality of bus agents, said observation contradicting the first order of stores;
- dynamically determining if causality with respect to observed stores would be violated by allowing the plurality of stores to be observed contradictory with the first order of stores;
- and
- maintaining a processor consistency memory ordering model transparently to said plurality of bus agents.
A system comprising:
- a plurality of processors;
- store buffering circuitry to buffer stores received from at least one processor of the plurality of processors;
- causality monitoring logic coupled to said store buffering circuity, the causality monitoring logic to monitor, for said plurality of processors, causal relationships with respect to buffered stores;
- and
- store forwarding logic to forward data from a first store to a first memory location from a first one of said plurality of processors to a load of the first memory location from a second one of said plurality of processors if no causal relationship exists with respect to the first store and the second one of said plurality of processors.
Dependencies are inferred from the claim text.