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

Cache control for concurrent access

Assignee: International Business Machines Corp
•
Filing: 1978-03-07
•
Granted: 1979-09-25
•
Expires: 1998-03-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The disclosure enables concurrent access to a cache by main storage and a processor by means of a cache control which provides two cache access timing cycles during each processor storage request cycle. The cache is accessible to the processor during one of the cache timing cycles and is accessible to main storage during the other cache timing cycle. No alternately accessible modules, buffering, delay, or interruption is provided for main storage line transfers to the cache.

Inventors

  • 👤 Spurgeon G. Hogan
  • 👤 Carleton E. Werve
  • 👤 Edward C. Wong

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 13:51
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0844; G06F12/0855; G06F12/0859

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 266 words
Means for controlling the overlapping of accessing of a cache during requests to the cache by a processor and by a storage entity transferring a line of data to the cache, each line being divided into a plurality of data groups, the cache having a single addressing means which sequentially receives addresses for all requests to the cache, comprising: means for timing request addresses to the cache during sub-cycles including: a first cache timing sub-cycle for timing each processor access request address to the addressing means, and a second cache timing sub-cycle for timing the address of each data group in a line being transferred to the cache, directory means operating within a sub-cycle for signalling whether a line of data for the processor request exists in the cache, the directory means indicating when the line does or does not exist in the cache, comparing means for receiving the line address for a line being fetched from the storage entity, the comparing means comparing the line address with each concurrent processor request address, first means for gating each requesting data group address to the cache during a second cache timing sub-cycle, and second means for gating each processor request address to the cache during a first cache timing sub-cycle when the directory indicates the processor request is in the cache and the comparing means indicates the processor request is for a different line in the cache than the line being fetched, whereby the transfer of a line from the storage entity to the cache proceeds without interruption while any concurrent processor request is accessing the cache.
Claim 2
Dependent Claim 266 words
Means for controlling the overlapping of accessing of a cache during requests to the cache by a processor and by a storage entity transferring a line of data to the cache, each line being divided into a plurality of data groups, the cache having a single addressing means which sequentially receives addresses for all requests to the cache, comprising: means for timing request addresses to the cache during sub-cycles including: a first cache timing sub-cycle for timing each processor access request address to the addressing means, and a second cache timing sub-cycle for timing the address of each data group in a line being transferred to the cache, directory means operating within a sub-cycle for signalling whether a line of data for the processor request exists in the cache, the directory means indicating when the line does or does not exist in the cache, comparing means for receiving the line address for a line being fetched from the storage entity, the comparing means comparing the line address with each concurrent processor request address, first means for gating each requesting data group address to the cache during a second cache timing sub-cycle, and second means for gating each processor request address to the cache during a first cache timing sub-cycle when the directory indicates the processor request is in the cache and the comparing means indicates the processor request is for a different line in the cache than the line being fetched, whereby the transfer of a line from the storage entity to the cache proceeds without interruption while any concurrent processor request is accessing the cache.
Claim 3
Dependent Claim 54 words
Cache access control means as defined in claim 1 further comprising: means for inhibiting the processor access request until completion of the line transfer when the comparing means indicates the processor access request is to the line being transferred, whereby the line transfer to the cache is allowed to continue without interruption or delay.
Claim 4
Dependent Claim 76 words
Cache access control means as defined in claim 2 further comprising: a first AND gate conditioned by the first cache timing sub-cycle and by the inhibiting means to pass each processor access request to the cache as long as the inhibiting means is not activated, and a second AND gate conditioned in response to the second cache timing cycle to pass each fetch group in each line being transferred from the storage entity to the cache.
Claim 5
Dependent Claim 35 words
Cache access control means as defined in claim 2 further comprising: control circuits for the storage entity for timing the outputting from the storage entity of each fetch group with the second cache timing sub-cycle.
Claim 6
Dependent Claim 38 words
Cache access control means as defined in claim 1 further comprising: clock means in the processor for generating the first cache timing sub-cycle and the second cache timing sub-cycle with different phases relative to a processor machine sub-cycle.
Claim 7
Independent Claim 218 words
A method of overlapping the accessing of a cache by a processor and by a storage entity transferring a line of data between the storage entity and the cache, the line including a plurality of data groups of bits in which each group is handled as a unit of data transfer, a cache address bus connecting the cache to the processor and to the storage entity to receive processor and storage access addresses, comprising the steps of: requesting a processor access to the cache during a processor machine cycle, providing at least two cache access timing sub-cycles during each processor machine cycle, a first cache timing sub-cycle timing the addressing of the cache by each processor request, a second cache timing sub-cycle timing the addressing of the cache by each data group in the line transfer, determining during the line transfer if a line of data exists in the cache for the processor request, and allowing on said buses on different sub-cycles, the tranfer of an address for a processor request if the determining step finds the line of data in the cache for the processor request, and the transfer of the address for a current data group in a line transfer, whereby a processor access to the cache is allowed during a line transfer to the cache.
Claim 8
Independent Claim 218 words
A method of overlapping the accessing of a cache by a processor and by a storage entity transferring a line of data between the storage entity and the cache, the line including a plurality of data groups of bits in which each group is handled as a unit of data transfer, a cache address bus connecting the cache to the processor and to the storage entity to receive processor and storage access addresses, comprising the steps of: requesting a processor access to the cache during a processor machine cycle, providing at least two cache access timing sub-cycles during each processor machine cycle, a first cache timing sub-cycle timing the addressing of the cache by each processor request, a second cache timing sub-cycle timing the addressing of the cache by each data group in the line transfer, determining during the line transfer if a line of data exists in the cache for the processor request, and allowing on said buses on different sub-cycles, the tranfer of an address for a processor request if the determining step finds the line of data in the cache for the processor request, and the transfer of the address for a current data group in a line transfer, whereby a processor access to the cache is allowed during a line transfer to the cache.
Claim 9
Dependent Claim 35 words
A method as defined in claim 6 further comprising: inhibiting the processor access request only if the determining step signals that the complete line of data for the processor request is not in the cache.

References Cited (Backward Citations)

US3588829A Cited
US3670307A Cited
US3670309A Cited
US4016541A Cited
US3858183A Cited
US4080652A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1982-09-24 1983-03-26 1983-09-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1986-09-24 1987-03-26 1987-09-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1990-09-24 1991-03-26 1991-09-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag