Cache having virtual cache controller queues
First Claim
1. A cache, comprising:
- a plurality of data entries;
a cache directory that, for a particular data entry among said plurality of data entries, stores an address and a coherency status indication;
at least one shadow register;
means, responsive to receipt of a cache operation request specifying said address, for determining whether to update said coherency status indication;
means, responsive to determining to update said coherency status indication, for copying said coherency status indication into said shadow register;
means for updating said coherency status indication within said shadow register; and
means for thereafter writing said updated coherency status indication from said shadow register into said cache directory.
0 Assignments
0 Petitions
Accused Products
Abstract
According to the present invention, a data processing system includes a cache having a cache directory. A status indication indicative of the status of at least one of a plurality of data entries in the cache is stored in the cache directory. In response to receipt of a cache operation request, a determination is made whether to update the status indication. In response to the determination that the status indication is to be updated, the status indication is copied into a shadow register and updated. The status indication is then written back into the cache directory at a later time. The shadow register thus serves as a virtual cache controller queue that dynamically mimics a cache directory entry without functional latency.
-
Citations
11 Claims
-
1. A cache, comprising:
-
a plurality of data entries;
a cache directory that, for a particular data entry among said plurality of data entries, stores an address and a coherency status indication;
at least one shadow register;
means, responsive to receipt of a cache operation request specifying said address, for determining whether to update said coherency status indication;
means, responsive to determining to update said coherency status indication, for copying said coherency status indication into said shadow register;
means for updating said coherency status indication within said shadow register; and
means for thereafter writing said updated coherency status indication from said shadow register into said cache directory. - View Dependent Claims (2, 3, 4)
means, responsive to a second cache operation request, for again updating said coherency status indication in said shadow register prior to writing said updated coherency status indication into said cache directory.
-
-
4. The cache of claim 1, wherein said cache operation request is a first cache operation request, and said cache further comprises means, responsive to a second cache operation request specifying said address, for determining a coherency status of said particular data entry from said shadow register in response to a determination that said coherency status indication is to be updated and for otherwise determining said status from said cache directory.
-
5. A method of managing a cache including a plurality of data entries and a cache directory, said method comprising:
-
storing, within said cache directory, an address and a coherency status indication for a particular data entry among said plurality of data entries;
in response to receipt of a cache operation request specifying said address, determining whether to update said coherency status indication; and
in response to said determination, copying said coherency status indication into a shadow register, updating said coherency status indication within said shadow register, and thereafter writing said updated coherency status indication from said shadow register into said cache directory. - View Dependent Claims (6, 7)
in response to a second cache operation request, again updating said coherency status indication in said shadow register prior to writing said updated coherency status indication into said cache directory.
-
-
7. The method of claim 5, said cache operation request comprising a first cache operation request, and said method further comprising:
in response to a second cache operation request, determining a coherency status of said particular data entry from said shadow register in response to a determination that said coherency status indication is to be updated and for otherwise determining said coherency status from said cache directory.
-
8. A cache, comprising:
-
a plurality of data entries;
a cache directory that, for a particular data entry among said plurality of data entries, stores an address and a coherency status indication;
at least one shadow register;
a cache controller that, responsive to receipt of a cache operation request specifying said address that requires an update to said coherency status indication, copies said coherency status indication into said shadow register, updates said coherency status indication within said shadow register, and thereafter writes said updated coherency status indication from said shadow register into said cache directory. - View Dependent Claims (9, 10, 11)
-
Specification