US5146603A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Copy-back cache system having a plurality of context tags and setting all the context tags to a predetermined value for flushing operation thereof
Assignee: Fujitsu Services Ltd
•
Filing: 1989-05-16
•
Granted: 1992-09-08
•
Expires: 2009-05-16
Abstract
Abstract A data memory system includes a main memory and a copy-back cache. Each line of the cache has a context tag, which is compared with a current context number to test whether the line contains the required data. The cache can be flushed simply by resetting all the context tags to a null value, which ensures that the data cannot be accessed. However, it remains physically in the cache, and will eventually be copied back to the main memory when it is about to be overwritten with different data or when the physical address is next used.
Inventors
- 👤 Adrian R. Frost
- 👤 Karl M. Henson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-27 13:57
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0842; G06F12/0815; G06F12/0831; G06F12/0891
Claims Analysis
Total Claims: 7
Claim 1
Independent Claim
251 words
A data processing system comprising: (a) a main memory (b) a cache, having a plurality of locations, each location having a context tag, and a status indicator, (c) data processing means for executing a plurality of processes, and for allocating one of a predetermined set of values excluding a predetermined reserved value to each of the processes as a context number for that process, (d) context means coupled to said data processing means for storing a current context number equal to the context number of the process currently being executed by the data processing means, (e) loading means coupled to the main memory, the cache, and the context means for loading a data item from the main memory into a location of the cache, overwriting any data item already in that location, and setting the context tag of that location equal to the current context number, (f) setting means coupled to the cache for setting the status indicator of a location in the cache to indicate when a data item held in that location has been modified, (g) copyback means coupled to the main memory and the cache for copying back modified data items from the cache to the main memory when they are about to be overwritten in the cache, and (h) flushing means couple to the cache and the data processing means and operative when all of said predetermined set of values have been allocated, for setting all the context tags in the cache to said predetermined reserved value.
Claim 2
Dependent Claim
251 words
A data processing system comprising: (a) a main memory (b) a cache, having a plurality of locations, each location having a context tag, and a status indicator, (c) data processing means for executing a plurality of processes, and for allocating one of a predetermined set of values excluding a predetermined reserved value to each of the processes as a context number for that process, (d) context means coupled to said data processing means for storing a current context number equal to the context number of the process currently being executed by the data processing means, (e) loading means coupled to the main memory, the cache, and the context means for loading a data item from the main memory into a location of the cache, overwriting any data item already in that location, and setting the context tag of that location equal to the current context number, (f) setting means coupled to the cache for setting the status indicator of a location in the cache to indicate when a data item held in that location has been modified, (g) copyback means coupled to the main memory and the cache for copying back modified data items from the cache to the main memory when they are about to be overwritten in the cache, and (h) flushing means couple to the cache and the data processing means and operative when all of said predetermined set of values have been allocated, for setting all the context tags in the cache to said predetermined reserved value.
Claim 3
Dependent Claim
28 words
A data processing system according to claim 1, comprising a plurality of processing units, each with a separate cache, said main memory being shared between said processing units.
Claim 4
Dependent Claim
29 words
A data processing system according to claim 2, wherein each processing unit comprises a snoop logic unit for monitoring accesses to the main memory from the other processing units.
Claim 5
Dependent Claim
43 words
A data processing system according to claim 1, including means operative when a data location in the cache is accessed, for comparing the context tag of that location with the current context number and for indicating a cache miss if they are unequal.
Claim 6
Independent Claim
201 words
A method of processing data comprising the steps of: (a) storing data items in a main memory and in a cache, the cache having a plurality of locations, each location having a context tag, and a status indicator, (b) executing a plurality of processes, (c) allocating one of a predetermined set of values to each of the processes as a context number for that process, (d) storing a current context number equal to the context number of the process currently being executed, (e) loading data items from the main memory into a location of the cache, overwriting any data items already in those locations, and setting the context tags of those locations equal to the current context number, (f) modifying selected data items in the cache and setting the status indicators of the cache locations to indicate which items have been modified, (g) copying back modified data items from the cache to the main memory when they are about to be overwritten in the cache, and (h) when all of said predetermined set of values have been allocated, resetting all the context tags in the cache to a predetermined reserved value not equal to any of said predetermined set of values.
Claim 7
Independent Claim
201 words
A method of processing data comprising the steps of: (a) storing data items in a main memory and in a cache, the cache having a plurality of locations, each location having a context tag, and a status indicator, (b) executing a plurality of processes, (c) allocating one of a predetermined set of values to each of the processes as a context number for that process, (d) storing a current context number equal to the context number of the process currently being executed, (e) loading data items from the main memory into a location of the cache, overwriting any data items already in those locations, and setting the context tags of those locations equal to the current context number, (f) modifying selected data items in the cache and setting the status indicators of the cache locations to indicate which items have been modified, (g) copying back modified data items from the cache to the main memory when they are about to be overwritten in the cache, and (h) when all of said predetermined set of values have been allocated, resetting all the context tags in the cache to a predetermined reserved value not equal to any of said predetermined set of values.
References Cited (Backward Citations)
US4086629A
Cited
US4053948A
Cited
US4322815A
Cited
US4426682A
Cited
US4714990A
Cited
US4819154A
Cited
US4713755A
Cited
US4811209A
Cited
US5025366A
Cited
US4977498A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1995-09-08 | 1996-03-09 | 1996-09-08 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1999-09-08 | 2000-03-09 | 2000-09-08 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2003-09-08 | 2004-03-09 | 2004-09-08 | $7700.00 | Window Closed / Lapsed |