Closed-loop reading of index registers using wide read and narrow write for multi-threaded system
AssigneeNeoMagic Corp.
InventorMichael Man Lok Lai
Life of this patent
Estimating the term…
Loading patent…
AssigneeNeoMagic Corp.
InventorMichael Man Lok Lai
Estimating the term…
Indexed registers in controller chips are read in a two-step process. First, an 8-bit write instruction writes an index into an index register in the controller chip. Secondly, a 16-bit read instruction reads both the index register and a data register selected by the index from the index register. When index registers are read in a multi-threaded system, programs in two different threads could access the same index register, each writing a different index into the index register. When another thread over-writes an index written by a current thread, the wrong index and the wrong data are read by the current thread. The current thread detects that the index was overwritten by another thread by extracting the index from the 16-bit read and comparing it to the desired index. When the extracted index mis-matches, the current thread retries, again writing the index and reading back both the index and data. Additional slow I/O operations are only needed when both threads access the same index register, when the wrong data and index are read. The 16-bit read provides closed-loop feedback to the software reading the index register.
A method for reading indexed registers comprising:
A configurable computer system comprising:
A computer-program product comprising:
Dependencies are inferred from the claim text.