Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories
Reexamination Certificate
2000-06-30
2002-08-20
Thai, Tuan V. (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Hierarchical memories
C711S118000, C711S143000
Reexamination Certificate
active
06438658
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates generally to an integrated microprocessor system having a cache memory. In particular, the present invention relates to an apparatus and method for invalidation of all cache lines within the cache memory within a single clock cycle.
BACKGROUND OF THE INVENTION
In an Integrated Microprocessor system, for example, as described in U.S. patent application Ser. No. 09/1031,318 entitled Cache Divided for Processor Core and Pixel Engine Uses filed Feb. 25, 1998 by Gary Peled et al (“cache sharing patent”) now abandoned;, the level-two cache memory is shared between the CPU (Central Processing Unit) and the graphics engine. Referring to
FIG. 1
, an Integrated Microprocessor System
100
in accordance with the teaching of the cache sharing patent includes a CPU
102
, a main memory controller
104
and a graphics engine
108
, which are all integrated on a single die. The microprocessor
102
, the graphics engine
108
, the cache
110
, and a DRAM (Dynamic Random Access Memory) main memory
106
are all coupled to a bus
114
in order to communicate information back and forth between the various components of the system
100
. Also coupled to the bus
114
is an I/O controller
116
which, as shown in
FIG. 1
supports two input/output devices
118
and
120
. Conventionally, the cache
110
, which is sometimes referred to as a level-two cache (L
2
cache), and the cache
112
, which is sometimes referred to as a level-one cache (L
1
cache), may be used to store a small subset of the information resident in the DRAM
106
in order to speed up the operation of the system
100
.
However, in accordance with the cache sharing patent, a shared cache array
110
in the Integrated Microprocessor System
100
is the cache farthest from the processor core, that is shared between the CPU requests and the graphics requests. The shared cache
110
can be in CPU only mode or in a dual CPU/Graphics mode. During CPU only mode, the entire cache is available for CPU access. While during dual CPU/Graphics mode, a predetermined portion of the shared cache
110
is available for the CPU and the remainder of the shared cache
110
is utilized for graphics requests. A process for switching from CPU only mode to the dual CPU/Graphics mode or vice versa is referred to as Context Switching. These concepts are used in the background and discussion of embodiments of the present invention, and apply to both.
Unfortunately, Context Switching can be a very time consuming process depending on the size of the shared cache
110
. Conventionally, a context switch requires write back of all the modified cache lines to the main memory
106
and invalidation of all the cache lines in the shared cache
110
. The same thing is true for a graphics request like FLUSH. For a graphics request like CLEAR, invalidation of all the lines in the shared cache
110
is required. CPU instructions WBINVD (Write Back Invalidate) writes back all the cache lines and then invalidates the entire cache
110
whereas the instruction INVD (Invalidate) just invalidates the entire cache
110
.
Normally, writing back all the modified cache lines to the main memory and invalidating the entire cache
110
is done either with microcode routines or with dedicated hardware like Finite State Machines (FSM). Both of these methods use micro operations that take multiple CPU clock cycles per cache line. Unfortunately, the disadvantage with these methods is that invalidating each line takes a few clock cycles and invalidating the entire cache can take thousands of clock cycles or more depending on the cache size.
Therefore, there remains a need to overcome the limitations in the above described existing art, which is satisfied by the inventive structure and method described hereinafter.
REFERENCES:
patent: 5155824 (1992-10-01), Edenfield et al.
patent: 5241664 (1993-08-01), Ohba et al.
patent: 5603005 (1997-02-01), Bauman et al.
patent: 5657472 (1997-08-01), Loo et al.
patent: 5664149 (1997-09-01), Martinez, Jr. et al.
patent: 5684977 (1997-11-01), Loo et al.
patent: 5737756 (1998-04-01), White et al.
patent: 5860111 (1999-01-01), Martinez, Jr. et al.
patent: 5905998 (1999-05-01), Ebrahim et al.
patent: 6038645 (2000-03-01), Nanda et al.
patent: 6266743 (2001-07-01), Carpenter et al.
patent: 6269048 (2001-07-01), Kano et al.
Baliga Harikrishna B.
Maiyuran Subramaniam
Palanca Salvador
Blakely , Sokoloff, Taylor & Zafman LLP
Intel Corporation
Thai Tuan V.
LandOfFree
Fast invalidation scheme for caches does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Fast invalidation scheme for caches, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Fast invalidation scheme for caches will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2923753