A coherency technique for multiprocessor systems in which threads perform
atomic read or atomic write transactions pursuant to memory-to-memory copy
instructions or memory-to-memory compare-and-exchange instructions.
Although the source reads and target writes are each atomic, the
instruction is not required to be atomic from the read through the write
operation. Accordingly, once a first thread reads source data pursuant to
a read, for example, it may allow other threads to access that data prior
to completing its own target write. The data may include a version stamp.
After the first thread operates on the data, software may read in the
version stamp a second time. If the two version stamps agree, the results
of the thread's operation may be considered valid for lookup operations.
For a compare and exchange operation, a thread may read data from a source
location. Subsequently, the thread may read atomically a current copy of a
version stamp from a target address, compare it to a version of the same
version stamp obtained earlier, and, if the two version stamps agree,
write the source data to the target address.
Eine Kohärenztechnik für Mehrprozessorsystemsysteme, in denen Gewinde Atomgelesen durchführen oder ein Atom schreiben Verhandlungen gemäß Gedächtnis-zu-Gedächtnis Kopie Anweisungen, oder Gedächtnis-zu-Gedächtnis vergleichen-und-tauschen Anweisungen aus. Obgleich die Quelle liest und Ziel sind Atom jedes schreibt, wird die Anweisung nicht, von atomar zu sein gelesen durch den schreibenbetrieb angefordert. Dementsprechend sobald ein erstes Gewinde Quelldaten gemäß gelesen z.B. liest kann sie andere Gewinde zugänglich machen lassen, daß Daten vor dem Durchführen seines eigenen Ziels schreiben. Die Daten können einen Versionsstempel einschließen. Nachdem das erste Gewinde an die Daten laufen läßt, kann Software den Versionsstempel ein zweites Mal innen lesen. Wenn die zwei Versionsstempel zustimmen, können die Resultate des Betriebes des Gewindes als gültig gelten für Nachschlagenbetriebe. Für einen vergleichen und Austauschbetrieb kann ein Gewinde gelesene Daten von einer Quellposition. Nachher kann das Gewinde eine gegenwärtige Kopie eines Versionsstempels von einer Zieladresse atomar lesen, vergleicht sie mit einer Version des gleichen Versionsstempels, der früh erreicht wird und, wenn die zwei Versionsstempel zustimmen, schreibt die Quelldaten zur Zieladresse.