Entry replacement within a data store
First Claim
1. Apparatus for processing data comprising:
- a data store having a plurality of storage locations;
an entry profile store of profile data in respect of candidate entries to be stored in storage locations of said data store, said entry profile store serving to store profile data in respect of more candidate entries than there are storage locations within said data store; and
an entry replacer responsive to said profile data stored in said entry profile store in respect of at least a candidate entry and an existing entry to control whether said candidate entry replaces said existing entry within a storage location of said data store;
whereinsaid profile data includes performance gain data indicative of performance gains associated with use of respective candidate entries stored within said data store and said entry replacer preferentially stores candidate entries with a high associated performance gain when stored within said data store;
further comprisinga profile data updater to update said performance gain data in dependence upon cycle counts associated with actual use of a candidate entry when not stored within said data store, and to update updates said performance gain data in dependence upon cycle counts associated with actual use of a candidate entry when stored within said data store.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing system 2 includes a data store 14 having storage locations storing entries which can be used for a variety of purposes, such as operand value prediction, branch prediction, etc. An entry profile store 16 stores profile data in respect of more candidate entries than there are storage locations within the data store 14. The profile data is used to determine replacement policy for entries within the data store 14. The profile data 16 can include hash values used to determine whether or not predictions associated with candidate entries were or were not correct without having to store the full predictions within the profile data.
35 Citations
20 Claims
-
1. Apparatus for processing data comprising:
-
a data store having a plurality of storage locations; an entry profile store of profile data in respect of candidate entries to be stored in storage locations of said data store, said entry profile store serving to store profile data in respect of more candidate entries than there are storage locations within said data store; and an entry replacer responsive to said profile data stored in said entry profile store in respect of at least a candidate entry and an existing entry to control whether said candidate entry replaces said existing entry within a storage location of said data store;
whereinsaid profile data includes performance gain data indicative of performance gains associated with use of respective candidate entries stored within said data store and said entry replacer preferentially stores candidate entries with a high associated performance gain when stored within said data store;
further comprisinga profile data updater to update said performance gain data in dependence upon cycle counts associated with actual use of a candidate entry when not stored within said data store, and to update updates said performance gain data in dependence upon cycle counts associated with actual use of a candidate entry when stored within said data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of processing data comprising the steps of:
-
storing entries within a data store having a plurality of storage locations; within an entry profile store, storing profile data in respect of candidate entries to be stored in storage locations of said data store, said entry profile store serving to store profile data in respect of more candidate entries than there are storage locations within said data store; and in response to said profile data stored in said entry profile store in respect of at least a candidate entry and an existing entry, controlling whether said candidate entry replaces said existing entry within a storage location of said data store;
whereinsaid profile data includes performance gain data indicative of performance gains associated with use of respective candidate entries stored within said data store and said controlling preferentially stores candidate entries with a high associated performance gain when stored within said data store; and
further comprisingupdating said performance gain data in dependence upon cycle counts associated with actual use of a candidate entry when not stored within said data store; and updating said performance gain data in dependence upon cycle counts associated with actual use of a candidate entry when stored within said data store.
-
-
20. Apparatus for processing data comprising:
-
data store means having a plurality of storage location means; entry profile store means for storing profile data in respect of candidate entries to be stored in storage location means of said data store means, said entry profile store means serving to store profile data in respect of more candidate entries than there are storage location means within said data store means; and entry replacer means responsive to said profile data stored in said entry profile store in respect of at least a candidate entry and an existing entry for controlling whether said candidate entry replaces said existing entry within a storage location means of said data store means;
whereinsaid profile data includes performance gain data indicative of performance gains associated with use of respective candidate entries stored within said data store and said controlling preferentially stores candidate entries with a high associated performance gain when stored within said data store;
further comprisinga profile updating means for updating said performance gain data in dependence upon cycle counts associated with actual use of a candidate entry when not stored within said data store; and
for updating said performance gain data in dependence upon cycle counts associated with actual use of a candidate entry when stored within said data store.
-
Specification