System for achieving atomic non-sequential multi-word operations in shared memory
AssigneeDigital Equipment Corporation
InventorsMaurice Herlihy, J. Eliot B. Moss
Life of this patent
Estimating the term…
Loading patent…
AssigneeDigital Equipment Corporation
InventorsMaurice Herlihy, J. Eliot B. Moss
Estimating the term…
A computer system provides transactional memory operations, in which a selected data item in a shared memory is referenced by a CPU in local storage (such as a write-back cache). The CPU performs some operation to alter or use the data item while it is in local memory, and meanwhile monitors the bus to the shared memory to see if another processor references the selected location (as by a snoop mechanism); if so, a status bit is toggled to indicate that the transaction must be scrubbed. When the operation has been completed by the CPU, it attempts to "commit" the transaction, and this includes checking the status bit; if the bit has been toggled, the transaction aborts, the data item is invalidated in local memory, and the selected location in shared memory is not affected. If the status bit has not been toggled, the transaction is committed and the altered data item becomes visible to the other processors, and may be written back to the shared memory. To distinguish these transactional memory operations from standard loads and stores to memory, an indication of "transactional" or "not transactional" is added to the local storage, i.e., to a cache line. The transactional memory operations have the characteristics of serializability and atomicity.
A method of operating a computer system having a CPU, local storage for said CPU, a shared memory, and at least one other processor accessing said shared memory, comprising the steps of:
A computer system having a CPU, a local storage for said CPU, a shared memory, and at least one other processor accessing said shared memory, comprising:
A method of operating a computer system having a CPU, a cache for said CPU, a shared memory, and at least one other processor accessing said shared memory, comprising the steps of:
A method of managing access by multiple processors to memory shared by the processors, wherein each processor accesses the shared memory by performing steps comprising:
Dependencies are inferred from the claim text.