COHERENCIA DE CACHE
- Juan Angel Ortiz Contreras
- 23 abr 2015
- 2 Min. de lectura
Los MultiProcesadores Simetricos (SMP) utilizan una modalidad de procesamiento en paralelo en la que todos los procesadores son tratados como iguales. Los SMP esan basados en el Modelo de NUMA, donde la memoria fisica esta uniformemente compartida por todos los procesadores, lo cual implica que todos ellos posean los mismos tiempos de acceso a todas las memorias. Estos sitemas poseen una red de interconexión entre los distintos procesadores y la memoria, habitualmente en forma de bus.
Cabe destacar que en los sitemas SMP todos los procesadores tienen el mismo acceso a los perifericos, los cual implica que todos los procesadores tienen la misma capacidad para ejecutar programas.

El principal problema que se presenta en los SMP en cuanto a su arquitectura de memoria es la coherencia de cache, ya que los distintos procesadores pueden mantener su propio cache, por lo tanto si uno de ellos modifica un dato de la memoria compartida otros pueden mantener copias en su propia cache incoherentes.

Hay tres niveles diferentes de chorencia de caché
* Cada operación de escritura parece ocurrir instantaneamente
* Todos los procesadores ven exactamente la misma secuencia de los cambios de los valores para cada operando separado.
* Diferentes procesadores pueden ver una operación y asumir diferentes secuencias de valores
Existen Mecanismos de coherencia de cache:
Coherencia basada Directory: En un sistema basado en directorios, que los datos sean compartidos se coloca en un directorio común que mantiene la coherencia entre los cachés. El directorio actúa como un filtro a través del cual el procesador debe pedir permiso para cargar una entrada de la memoria principal a la memoria caché. Cuando se modifica una entrada del directorio ni actualizaciones o invalida las otras cachés con esa entrada.
IGMP es el proceso en el que los cachés individuales monitorear las líneas de dirección para los accesos a los lugares de memoria que tienen en caché. Se llama un protocolo de invalidación de escritura cuando se observa una operación de escritura en un lugar que una caché tiene una copia y el controlador de memoria caché invalida su propia copia de la posición de memoria snooped.
Snarfing es donde un controlador de memoria caché observa tanto la dirección y los datos en un intento de actualizar su propia copia de una ubicación de memoria cuando un segundo maestro modifica una ubicación en la memoria principal. Cuando se observa una operación de escritura en un lugar que una caché tiene una copia, el controlador de memoria caché actualiza su propia copia de la posición de memoria snarfed con los nuevos datos.
Actualmente se traba en protocolos de no coherencia de cache tales como protocolo MSI, protocolo MESI, protocolo MOSI, y el protocolo MOESI. Los modelos de coherencia difieren en rendimiento y escalabilidad, por lo que deben de ser evaluados para cada sistema de diseño.
FUENTE: http://www.dea.icai.upco.es/jarm/Asignaturas/ArquitecturaOrdenadores/Transparencias/Dmulticache.pdf
Commenti