In one embodiment of the invention, each data value which is provided to a
non-tagged, n-way cache is hashed with a number of bits which correspond
to the data value, thereby producing a hashed data value. Preferably, the
bits which are hashed with the data value are address bits. The hashed
data value is then written into one or more ways of the cache using index
hashing. A cache hit signal is produced using index hashing and voting. In
a cache where data values assume only a few different values, or in a
cache where many data values which are written to the cache tend to assume
a small number of data values, data hashing helps to reduce false hits by
insuring that the same data values will produce different hashed data
values when the same data values are associated with different addresses.
In another embodiment of the invention, data values which are provided to
a non-tagged, n-way cache are written into the cache in a non-count form.
Whereas a counter tends to quickly saturate to one extreme or the other
(e.g., all zeros or all ones), or briefly take on a value which approaches
an extreme, a non-count data value (e.g., branch prediction history bits)
tend to assume a wider variety of values. Both embodiments of the
invention help to reduce false cache hits. Apparatus for implementing the
methods is also disclosed.
В одном воплощении вымысла, каждое значение которое снабжено нон-markirovat6, тайник данных н-dorogi находится hashed при несколько биты которые соответствуют к значению данных, таким образом производя а hashed значение данных. Предпочтительн, битами которые hashed с значением данных будут биты адреса. Hashed значение данных после этого пишет в one or more дороги тайника использующ хэширование индекса. Произведен сигнал удара тайника использующ хэширование и голосовать индекса. В тайник где значения данных принимают только немного по-разному значений, или в тайник где много значений данных которые написаны к тайнику клонат принять немного значений данных, хэширование данных помогает уменьшить ложные удары путем обеспечение что такие же значения данных произведут по-разному hashed значения данных когда такие же значения данных будут связаны с по-разному адресами. В другом воплощении вымысла, значения которые снабжены нон-markirovat6, тайник данных н-dorogi написаны в тайник в нон-podscityvaht форму. Тогда как счетчик клонит быстро насытить к одному весьма или другому (например, все нули или все одни), или кратко принимает на значение которое причаливает крайности, нон-podscita1te значение данных (например, биты истории прогноза ветви) клоните принять широкий выбор значений. Оба воплощения вымысла помогают уменьшить ложные удары тайника. Прибор для снабжать методы также показан.