¿Qué es la coherencia de la memoria?

La coherencia de memoria es un problema que ocurre en una computadora cuando un procesador intenta mirar un sector de la memoria. Este problema solo ocurre en sistemas multinúcleo o computadoras que tienen más de una unidad de procesamiento central (CPU). Cuando los múltiples procesadores miran el mismo sector de la memoria y uno actualiza el sector, el otro puede quedarse con una versión anterior de la memoria de la computadora. Para solucionar este problema, las reglas de consistencia se utilizan para garantizar que los procesadores no accedan a la misma memoria o que las actualizaciones sean consistentes entre ellas. Existen varios modelos de consistencia diferentes, por lo que los programadores y los desarrolladores de computadora deben conocer el modelo exacto utilizado.

El problema de coherencia de memoria es uno que solo ocurre en las computadoras que usan al menos dos CPU debido a la forma en que acceden a la memoria. Cuando una CPU accede a un sector de la memoria, puede tomar, usar y alterar la memoria sin ningún conflicto, porque no hay otras piezas de hardware que compitan por la memoria. Si se usan dos CPU, entoncesLas dos CPU pueden obtener el mismo sector de memoria. Si bien no hay problemas con las dos CPU que comparten la memoria, surge un problema si una CPU actualiza la memoria. Esto deja la segunda CPU con memoria obsoleta que, si no se controla, puede hacer que toda la computadora tenga dos versiones separadas y conflictivas de la memoria de la computadora.

Hay esquemas de programación hechos específicamente para corregir la coherencia de la memoria, lo que puede ser un problema importante. Se conocen colectivamente como reglas de consistencia de memoria, y hay muchas versiones. En general, cada versión le dice a las CPU múltiples cómo compartir correctamente la memoria de la computadora sin causar el problema de coherencia de memoria. Esto se puede hacer actualizando ambas versiones de la memoria cuando se cambia una versión o evitando que las CPU accedan a la misma memoria al mismo tiempo.

Si bien el uso de reglas de consistencia ayuda a evitar el problema de coherencia de memoria, otro ProBlem surge de esto. Cada conjunto de consistencia tiene diferentes programas y diferentes reglas, por lo que los programadores que están haciendo programas o código de escritura que traten directamente con las CPU tendrán que adaptar la codificación de las reglas de consistencia exacta. De lo contrario, esto puede anular la consistencia o causar un conflicto importante entre la codificación del programador y las reglas de consistencia, y la computadora puede dejar de funcionar.

OTROS IDIOMAS