Patent ID: 6463526
Filing Date: 2002-10-08
Classification: G06F

Abstract:
A method for updating information associated with a memory element in a system that supports multi-dimensional space and time dimensional execution, the system having a head thread that executes program instructions and a series of speculative threads that execute program instructions in advance of the head thread, each speculative thread in the series executing program instructions in advance of preceding speculative threads in the series, the head thread accessing a primary version of the memory element and the series of speculative threads accessing space-time dimensioned versions of the memory element, the method comprising:initiating a memory access to the memory element; and if the memory access is a write operation by the head thread or a speculative thread, determining if a version of the memory element associated with the head thread or the speculative thread exists; if the version of the memory element does not exist, creating a version of the memory element; performing the write operation to the version of the memory element, checking status information associated with the memory element to determine if the memory element has been read by a following speculative thread in the series of speculative threads, if the memory element has been read by a following speculative thread, causing the following speculative thread and any successive speculative threads in the series to roll back so that the following speculative thread and any successive speculative threads in the series can read a result of the write operation, and if the memory element has not been read by a following speculative thread, performing the write operation to all successive space-time dimensioned versions of the memory element.