发明名称 Posting multiple reservations with a conditional store atomic operations in a multiprocessing environment
摘要 Using this invention, more than one variable that is shared in a multiprocessing environment can be updated atomically. Each computer processor operating in the multiprocessing environment contains more than one reservation register which, along with this novel method, are used to place reservations on each of more than one shared variable. During the execution of a program, a plurality of shared variables can be reserved, each by its respective reservation register. A reservation is placed on a shared variable by means of a special instruction. The reservation register keeps track of: the address of the shared variable that it is reserving, the value of the modified results that are to be updated in the shared variable address, whether the variable has been updated, whether the reservation is valid, and whether the processor containing the reservation register has a privilege to update the shared variable. A reservation can be invalidated if a second processor tries to read the address of the reserved shared variable. When an instruction is encountered that tries to update a shared variable, the set of reserved modified shared variables designated by that instruction that have unupdated modified results are updated atomically if and only if all the reservations in the designated set are valid. If any of the reservations in the set are invalid, no shared variable in the set is updated. A condition code reports if the update was successful or did not occur. The condition code can be tested so that the sequence of instructions can be repeated until it is successful.
申请公布号 US5742785(A) 申请公布日期 1998.04.21
申请号 US19950562539 申请日期 1995.11.20
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 STONE, HAROLD STUART;STONE, JANICE MURPHY
分类号 G06F9/32;G06F9/38;G06F9/46;G06F9/52;G06F12/08;G06F15/16;G06F15/177;(IPC1-7):G06F15/16 主分类号 G06F9/32
代理机构 代理人
主权项
地址