Generation-based memory synchronization in a multiprocessor system with weakly consistent memory accesses
First Claim
Patent Images
1. A multiprocessor system adapted to carry out parallel threads of instructions and comprising:
- a plurality of processors and a memory device coupled to the processors;
a plurality of messaging units for issuing and queuing memory access requests associated with the memory device; and
a central synchronization controller communicating synchronization control information to or from the messaging units via point to point communication rather than via a bus, the synchronization control information including independently operable instructions which comprises;
a first instruction and a second instruction;
one or more of the plurality of processors issuing memory write commands;
the central synchronization controller issuing the first instruction after the issuance of the memory write commands, wherein before the issuance of the first instruction, the issued memory write commands are not visible to all the plurality of processors, wherein after the issuance of the first instruction, the issued memory write commands are visible to all the plurality of processors; and
the central synchronization controller issuing the second instruction which enables a data location update of the memory device and a guard (flag) location update of the memory device to be performed at separate times by the one or more of the plurality of processors.
5 Assignments
0 Petitions
Accused Products
Abstract
In a multiprocessor system, a central memory synchronization module coordinates memory synchronization requests responsive to memory access requests in flight, a generation counter, and a reclaim pointer. The central module communicates via point-to-point communication. The module includes a global OR reduce tree for each memory access requesting device, for detecting memory access requests in flight. An interface unit is implemented associated with each processor requesting synchronization. The interface unit includes multiple generation completion detectors. The generation count and reclaim pointer do not pass one another.
34 Citations
17 Claims
-
1. A multiprocessor system adapted to carry out parallel threads of instructions and comprising:
-
a plurality of processors and a memory device coupled to the processors; a plurality of messaging units for issuing and queuing memory access requests associated with the memory device; and a central synchronization controller communicating synchronization control information to or from the messaging units via point to point communication rather than via a bus, the synchronization control information including independently operable instructions which comprises;
a first instruction and a second instruction;one or more of the plurality of processors issuing memory write commands; the central synchronization controller issuing the first instruction after the issuance of the memory write commands, wherein before the issuance of the first instruction, the issued memory write commands are not visible to all the plurality of processors, wherein after the issuance of the first instruction, the issued memory write commands are visible to all the plurality of processors; and the central synchronization controller issuing the second instruction which enables a data location update of the memory device and a guard (flag) location update of the memory device to be performed at separate times by the one or more of the plurality of processors. - View Dependent Claims (2)
-
-
3. A multiprocessor system adapted to carry out parallel threads of instructions and comprising:
-
a plurality of processors and at least one memory device coupled to the processors; a plurality of messaging units for issuing and queuing memory access requests; and a central synchronization controller supplying a generation tag to the memory access requests and communicating synchronization control information to or from the messaging units via point to point communication rather than via a bus, the synchronization control information including independently operable instructions which comprises;
a first instruction and a second instructionone or more of the plurality of processors issuing memory write commands; the central synchronization controller issuing the first instruction after the issuance of the memory write commands, wherein before the issuance of the first instruction, the issued memory write commands are not visible to all the plurality of processors, wherein after the issuance of the first instruction, the issued memory write commands are visible to all the plurality of processors; and the central synchronization controller issuing the second instruction which enables a data location update of the memory device and a guard (flag) location update of the memory device to be performed at separate times by the one or more of the plurality of processors. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification