Bacharel
Arquitetura e Organização de Computadores I
Nome: Ricardo Mendonça Oliveira R.A.: 2013.1.08.030
Nome: Alisson José Oliveira de Faria R.A.: 2013.1.08.002
Coerência de Cache
Sistemas multiprocessados são sistemas com dois ou mais processadores que funcionam como um único sistema computacional. Esses sistemas surgiram inicialmente para resolver problemas que necessitavam de cálculos complexos. Com o advento da rede mundial de computadores, os sistemas multiprocessados passaram a bastante utilizados em grandes servidores. O uso de memória compartilhada em sistema multiprocessados surgiu como uma maneira de reduzir o custo e aumentar a eficiência do sistema, através de compartilhamento de código e dados, permitindo que os processadores se comuniquem e sincronizem.
Em um sistema monoprocessado, o uso da memória é lento e em um sistema multiprocessado, devido a competição entre os processadores por esse recurso, a latência media de acesso à memória tende a ser maior. Isso faz com que o uso de hierarquia de memória seja necessário.
Na hierarquia de um sistema monoprocessado, utiliza-se uma memória cache para reduzir a latência media de acesso a memória. A memória cache uma memória relativamente pequena de resposta rápida que fica entre a memória principal e o processador e que, através do uso do princípio da localidade (temporal e espacial), reduz extraordinariamente o tempo médio de acesso a memória.
Nos sistemas multiprocessados, o princípio da localidade também é válido. Por isso,e interessante usar uma organização em que cada processador possui uma cachê local. Assim, reduz-se drasticamente o tempo e acesso a memória e a competição por esse recurso.
A existência de memórias cache para cada processador trás para o sistema a possibilidade de existir múltiplas copias de um mesmo dado em diferentes caches. Assim, modificando-se esse dado em uma ou mais dessas caches pode levar a um estado incoerente do dado. Esse problema é