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:
Dec. 26, 1995
Filed:
Mar. 11, 1994
Earl A Killian, Los Altos, CA (US);
Silicon Graphics Inc., Mountain View, CA (US);
Abstract
A cache memory system includes a primary cache characterized by a virtual index and physical tags, and a secondary cache characterized by a physical index and physical tag. Thus, the cache system forms a hybrid of physical-cache and virtual-cache characteristics. Further, the secondary cache includes a primary index segment for each line of secondary cache. The primary index segment corresponds to a portion of the virtual address for the contents stored at the respective secondary-cache line. Further, primary cache is maintained as a subset of secondary cache. To maintain the primary cache in such a way, the primary index segment is used to generate an index into primary cache to identify each potential primary-cache block which may be a subset of a secondary-cache block to be changed. When a secondary-cache block is to be invalidated, flushed or overwritten, the corresponding primary-cache blocks are identified and invalidated. The primary index segment also serves as a virtual tag for assuring that at any given time primary cache stores no more than one valid block corresponding to the same physical locations. When a secondary-cache hit occurs in response to a secondary-cache physical tag check, the primary index segment is compared to a portion of the virtual address. If the segment does not match, then primary cache may already have a word stored which corresponds to the desired physical location. As a result, the corresponding block in primary cache is invalidated and the primary index segment in secondary cache is changed to the current virtual address segment.