发明名称 SUPPORTING SPECULATIVE EXECUTION BY SELECTIVELY VERSIONING MEMORY UPDATES
摘要 <p>One embodiment of the present invention provides a system that facilitates speculative execution through selective versioning of memory elements located in a system heap. The system includes a primary thread that executes program instructions and a speculative thread that speculatively executes program instructions in advance of the primary thread. The primary thread generally accesses a primary version of a memory element, and the speculative thread generally accesses a corresponding speculative version of the memory element. During a write operation by the primary thread, the system performs the write operation to the primary version of the memory element. It also checks status information associated with the memory element to determine if the memory element has been read by the speculative thread. If so, the system causes the speculative thread to roll back so that the speculative thread can read a result of the write operation. If not, the system performs the write operation to the speculative version of the memory element if such speculative version exists. In a variation on the above embodiment, during a read operation by the speculative thread, the system determines if the speculative version of the memory element exists. If so, the system reads the speculative version of the memory element. If not, the system reads the primary version of the memory element. The system next updates status information associated with the memory element to indicate that the memory element has been read by the speculative thread.</p>
申请公布号 WO2000070450(A1) 申请公布日期 2000.11.23
申请号 US2000012499 申请日期 2000.05.05
申请人 发明人
分类号 主分类号
代理机构 代理人
主权项
地址