Curious caching improves upon cache snooping by allowing a snooping cache
to insert data from snooped bus operations that is not currently in the
cache and independent of any prior accesses to the associated memory
location. In addition, curious caching allows software to specify which
data producing bus operations, e.g., reads and writes, result in data
being inserted into the cache. This is implemented by specifying "memory
regions of curiosity" and insertion and replacement policy actions for
those regions. In column caching, the replacement of data can be
restricted to particular regions of the cache. By also making the
replacement address-dependent, column caching allows different regions of
memory to be mapped to different regions of the cache. In a
set-associative cache, a replacement policy specifies the particular
column(s) of the set-associative cache in which a page of data can be
stored. The column specification is made in page table entries in a TLB
that translates between virtual and physical addresses. The TLB includes a
bit vector, one bit per column, which indicates the columns of the cache
that are available for replacement.
Caching curioso melhora em cima do esconderijo que snooping permitindo que um esconderijo snooping introduza os dados de snooped operações do barras-ônibus que não estão atualmente no esconderijo e no independent de nenhuns acessos prévios à posição de memória associada. Além, caching curioso permite que o software especifique que dados produzindo operações do barras-ônibus, por exemplo, lê e escreve, resultam nos dados que estão sendo introduzidos no esconderijo. Isto é executado especificando de "regiões memória da curiosidade" e das ações da política da inserção e da recolocação para aquelas regiões. Na coluna que caching, a recolocação dos dados pode ser restringida às regiões particulares do esconderijo. Também fazendo a recolocação dirij-dependente, caching da coluna permite que as regiões diferentes da memória sejam traçadas às regiões diferentes do esconderijo. Em um esconderijo ajust-associativo, uma política da recolocação especifica o column(s) particular do esconderijo ajust-associativo em que uma página dos dados pode ser armazenada. A especificação da coluna é feita em entradas de tabela de página em um TLB que traduza entre endereços virtuais e do exame. O TLB inclui um vetor do bocado, um bocado por a coluna, que indica as colunas do esconderijo que estão disponíveis para a recolocação.