The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Oct. 19, 2010
Filed:
Aug. 22, 2008
Matthias A. Blumrich, Ridgefield, CT (US);
Dong Chen, Croton On Hudson, NY (US);
Paul W. Coteus, Yorktown Heights, NY (US);
Alan G. Gara, Mount Kisco, NY (US);
Mark E. Giampapa, Irvington, NY (US);
Philip Heidelberger, Cortlandt Manor, NY (US);
Dirk Hoenicke, Ossining, NY (US);
Martin Ohmacht, Brewster, NY (US);
Burkhard D. Steinmacher-burow, Mount Kisco, NY (US);
Todd E. Takken, Mount Kisco, NY (US);
Pavlos M. Vranas, Bedford Hills, NY (US);
Matthias A. Blumrich, Ridgefield, CT (US);
Dong Chen, Croton On Hudson, NY (US);
Paul W. Coteus, Yorktown Heights, NY (US);
Alan G. Gara, Mount Kisco, NY (US);
Mark E. Giampapa, Irvington, NY (US);
Philip Heidelberger, Cortlandt Manor, NY (US);
Dirk Hoenicke, Ossining, NY (US);
Martin Ohmacht, Brewster, NY (US);
Burkhard D. Steinmacher-Burow, Mount Kisco, NY (US);
Todd E. Takken, Mount Kisco, NY (US);
Pavlos M. Vranas, Bedford Hills, NY (US);
International Business Machines Corporation, Armonk, NY (US);
Abstract
A low latency memory system access is provided in association with a weakly-ordered multiprocessor system. Bach processor in the multiprocessor shares resources, and each shared resource has an associated lock within a locking device that provides support for synchronization between the multiple processors in the multiprocessor and the orderly sharing of the resources. A processor only has permission to access a resource when it owns the lock associated with that resource, and an attempt by a processor to own a lock requires only a single load operation, rather than a traditional atomic load followed by store, such that the processor only performs a read operation and the hardware locking device performs a subsequent write operation rather than the processor. A simple prefetching for non-contiguous data structures is also disclosed. A memory line is redefined so that in addition to the normal physical memory data, every line includes a pointer that is large enough to point to any other line in the memory, wherein the pointers to determine which memory line to prefetch rather than some other predictive algorithm. This enables hardware to effectively prefetch memory access patterns that are non-contiguous, but repetitive.