Cache line converter

   
   

A method and apparatus for purging data from a middle cache level without purging the corresponding data from a lower cache level (i.e., a cache level closer to the processor using the data), and replacing the purged first data with other data of a different memory address than the purged first data, while leaving the data of the first cache line in the lower cache level. In some embodiments, in order to allow such mid-level purging, the first cache line must be in the "shared state" that allows reading of the data, but does not permit modifications to the data (i.e., modifications that would have to be written back to memory). If it is desired to modify the data, a directory facility will issue a purge to all caches of the shared-state data for that cache line, and then the processor that wants to modify the data will request an exclusive-state copy to be fetched to its lower-level cache and to all intervening levels of cache. Later, when the data in the lower cache level is modified, the modified data can be moved back to the original memory from the caches. In some embodiments, a purge of all shared-state copies of the first cache-line data from any and all caches having copies thereof is performed as a prerequisite to doing this exclusive-state fetch. Also described is a method and apparatus for converting from a system-level cache line (e.g., in one embodiment, a 128-byte directory-based cache coherence model) to a different processor-level cache line (e.g., in one embodiment, a 64-byte, snoop-based cache-coherence model).

Um método e um instrumento para remover dados de um nível médio do esconderijo sem remover os dados correspondentes de um nível mais baixo do esconderijo (isto é, um nível do esconderijo mais perto do processador usando os dados), e substituir os primeiros dados removidos com outros dados de um endereço de memória diferente do que os primeiros dados removidos, ao deixar os dados do primeiro esconderijo alinham no nível mais baixo do esconderijo. Em algumas incorporações, a fim permitir tal remover mid-level, a primeira linha do esconderijo deve estar "no estado compartilhado" que permite a leitura dos dados, mas não permite modificações aos dados (isto é, as modificações que teriam que ser escritas para trás à memória). Se se desejar modificar os dados, uma facilidade do diretório emitirá uma remoção a todos os esconderijos dos dados do compartilh-estado para essa linha do esconderijo, e então o processador que quer modificar os dados pedirá uma cópia do exclusivo-estado para ser buscado a seu esconderijo lower-level e a todos os níveis de intervenção do esconderijo. Mais tarde, quando os dados no nível mais baixo do esconderijo são modificados, os dados modificados podem ser movidos para trás para a memória original dos esconderijos. Em algumas incorporações, remoção de todas as cópias do compartilh-estado da primeira esconderijo-linha dados de alguns e todos os esconderijos que têm cópias disso são executados enquanto um pré-requisito a fazer este exclusivo-estado busca. São descritos também um método e um instrumento para converter-se de uma linha system-level do esconderijo (por exemplo, em uma incorporação, em um modelo diretório-baseado 128-byte da coerência do esconderijo) a uma linha diferente do esconderijo do processador-nível (por exemplo, em uma incorporação, um 64-byte, modelo snoop-baseado da esconderijo-coerência).

 
Web www.patentalert.com

< TWEAK receptor

< Methods and compositions for diagnosing or monitoring auto immune and chronic inflammatory diseases

> Image formation on objective bodies

> Amine organoborane complex initiated polymerizable compositions containing siloxane polymerizable components

~ 00116