A method for indexing a cache includes searching on a cache index using a
partial physical address, the partial physical address including any bits
of the virtual address which are untranslated between the virtual address
and the physical address. The partial physical address is used to identify
a block of the cache index sets that might contain an address of requested
data. The identification is performed prior to translation of the virtual
address to the physical address. Once identified, the block is read out
into an auxiliary memory structure. After the full physical address
becomes available, the block is multiplexed down to one set, and a compare
is performed on the ways of the set to determine if the requested data is
in the cache and, if so, which way the data is in. A device for achieving
the method includes a cache index organized into two arrays, each having a
number of sets and a number of ways. One of the arrays may used to store
micro-tags for way prediction. In addition, the device includes an
auxiliary memory structure for receiving and storing intermediate search
results.
Une méthode pour classer une cachette inclut la recherche sur un index de cachette en utilisant une adresse physique partielle, l'adresse physique partielle comprenant n'importe quel peu de l'adresse virtuelle qui est non traduit entre l'adresse virtuelle et l'adresse physique. L'adresse physique partielle est employée pour identifier un bloc des ensembles d'index de cachette qui pourraient contenir une adresse des données demandées. L'identification est effectuée avant la traduction de l'adresse virtuelle à l'adresse physique. Une fois qu'identifié, le bloc est donné lecture dans une structure de mémoire auxiliaire. Après que la pleine adresse physique devienne disponible, le bloc est multiplexé vers le bas à un ensemble, et un comparer est effectué sur les manières de l'ensemble de déterminer si les données demandées sont dans la cachette et, si oui, dans laquelle la manière les données est. Un dispositif pour réaliser la méthode inclut un index de cachette organisé en deux rangées, chacun qui a un certain nombre d'ensembles et un certain nombre de manières. Une des rangées peut utilisé pour stocker des micro-étiquettes pour la prévision de manière. En outre, le dispositif inclut une structure de mémoire auxiliaire pour recevoir et stocker des résultats intermédiaires de recherche.