← Back to Patent Explorer
US5043886A Expired / Lapsed US ⏱️ 0.0 years remaining

Load/store with write-intent for write-back caches

Assignee: Hewlett Packard Development Co LP
•
Filing: 1988-09-16
•
Granted: 1991-08-27
•
Expires: 2008-09-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for reading data blocks from main memory by central processing units in a multiprocessor system containing write-back caches. Load or gather instructions contain a write-intent flag. The status of the write-intent flag is determined. It is also determined whether a data block requested in the instruction by one of the processors is located in a corresponding cache, and if so, the requested data block is returned to the processor. If the data block is not in the cache and the write-intent flag indicates that the block will not be modified, the data block is read from main memory without obtaining a write privilege. The requested data block is subsequently returned from the cache to the processor. If the data block is not in the cache and the write-intent flag indicates the data block will be modified by the processor, then the data block is read from main memory while obtaining the write privilege. Subsequently, the requested data block is returned from the cache to the processor.

Inventors

  • 👤 Richard T. Witek
  • 👤 George M. Uhler

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 11:56
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0804; G06F12/0806; G06F12/0815

Claims Analysis

Total Claims: 4
Claim 1
Independent Claim 283 words
A method for acquiring data blocks from a shared main memory by central processing units in a multiprocessor system, the system having a separate write-back cache coupled between each central processing unit and the shared memory, the method comprising the steps of: (a) determining at one of the central processing units a state of a write-intent flag of an instruction to be executed by that one central processing unit; (b) executing the instruction by the one central processing unit and determining whether a data block requested by the instruction is located in the write-back cache associated with the one central processing unit; (c) sending the data block from the associated write-back cache to the one central processing unit when the data block is located in the associated write-back cache; (d) sending the data block without a write privilege from the shared main memory to the associated write-back cache when the data block is not located in the associated write-back cache and the state of the write-intent flag indicates that the data block is not to be later modified by the one central processing unit after execution of the instruction, and subsequently sending the data block from the associated write-back cache to the one central processing unit; and (e) sending the data block with a write privilege from the shared main memory to the associated write-back cache when the data block is not located in the associated write-back cache and the state of the write-intent flag indicates that the data block is to be later modified by the one central processing unit after execution of the instruction, and subsequently sending the data block from the associated write-back cache to the one central processing unit.
Claim 2
Independent Claim 283 words
A method for acquiring data blocks from a shared main memory by central processing units in a multiprocessor system, the system having a separate write-back cache coupled between each central processing unit and the shared memory, the method comprising the steps of: (a) determining at one of the central processing units a state of a write-intent flag of an instruction to be executed by that one central processing unit; (b) executing the instruction by the one central processing unit and determining whether a data block requested by the instruction is located in the write-back cache associated with the one central processing unit; (c) sending the data block from the associated write-back cache to the one central processing unit when the data block is located in the associated write-back cache; (d) sending the data block without a write privilege from the shared main memory to the associated write-back cache when the data block is not located in the associated write-back cache and the state of the write-intent flag indicates that the data block is not to be later modified by the one central processing unit after execution of the instruction, and subsequently sending the data block from the associated write-back cache to the one central processing unit; and (e) sending the data block with a write privilege from the shared main memory to the associated write-back cache when the data block is not located in the associated write-back cache and the state of the write-intent flag indicates that the data block is to be later modified by the one central processing unit after execution of the instruction, and subsequently sending the data block from the associated write-back cache to the one central processing unit.
Claim 3
Independent Claim 353 words
A method for acquiring data blocks from a shared main memory by central processing units in a multiprocessor system, the system having a separate write-back cache coupled between each central processing unit and the shared memory, the method comprising the steps of: (a) determining at one of the central processing units a state of a write-intent flag of an instruction to be executed by that one central processing unit; (b) executing the instruction by the one central processing unit and determining whether a data block requested by the instruction is located in the write-back cache associated with the one central processing unit; (c) sending the data block from the associated write-back cache to the one central processing unit when the data block is located in the associated write-back cache; (d) simultaneously with step (c), sending a copy of the data block with a write privilege from the shared main memory to the associated write-back cache when the data block is located in the associated cache and is without a write privilege, and when the state of the write-intent flag indicates that the data block will be later modified by the one central processing unit after execution of the instruction, (e) sending the data block without a write privilege from the shared main memory to the associated write-back cache when the data block is not located in the associated write-back cache and the state of the write-intent flag indicates that the data block is not to be later modified by the one central processing unit after execution of the instruction, and subsequently sending the data block from the associated write-back cache to the one central processing unit; and (f) sending the data block with a write privilege from the shared main memory to the associated write-back cache when the data block is not located in the associated write-back cache and the state of the write-intent flag indicates that the data block is to be later modified by the one central processing unit after execution of the instruction, and subsequently sending the data block from the associated write-back cache to the one central processing unit.
Claim 4
Independent Claim 353 words
A method for acquiring data blocks from a shared main memory by central processing units in a multiprocessor system, the system having a separate write-back cache coupled between each central processing unit and the shared memory, the method comprising the steps of: (a) determining at one of the central processing units a state of a write-intent flag of an instruction to be executed by that one central processing unit; (b) executing the instruction by the one central processing unit and determining whether a data block requested by the instruction is located in the write-back cache associated with the one central processing unit; (c) sending the data block from the associated write-back cache to the one central processing unit when the data block is located in the associated write-back cache; (d) simultaneously with step (c), sending a copy of the data block with a write privilege from the shared main memory to the associated write-back cache when the data block is located in the associated cache and is without a write privilege, and when the state of the write-intent flag indicates that the data block will be later modified by the one central processing unit after execution of the instruction, (e) sending the data block without a write privilege from the shared main memory to the associated write-back cache when the data block is not located in the associated write-back cache and the state of the write-intent flag indicates that the data block is not to be later modified by the one central processing unit after execution of the instruction, and subsequently sending the data block from the associated write-back cache to the one central processing unit; and (f) sending the data block with a write privilege from the shared main memory to the associated write-back cache when the data block is not located in the associated write-back cache and the state of the write-intent flag indicates that the data block is to be later modified by the one central processing unit after execution of the instruction, and subsequently sending the data block from the associated write-back cache to the one central processing unit.

References Cited (Backward Citations)

US4394731A Cited
US4445174A Cited
US4484267A Cited
US4442487A Cited
US4503497A Cited
US4691282A Cited
US4885680A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-08-26 1995-02-25 1995-08-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-08-26 1999-02-25 1999-08-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-08-26 2003-02-25 2003-08-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag