Multiprocesadores de Memoria Compartida
Se trata de arquitecturas compuestas por un conjunto de procesadores que acceden a una única memoria común a través de una red de interconexión. Utilizan memorias cache locales para las que hay que resolver el problema de su coherencia con respecto a la memoria principal y entre sí. Las soluciones que se adoptan tienen un mayor o menor soporte hardware y dependen mucho de la red de interconexión.
Otro problema que plantean estas arquitecturas es el de la sincronización de los diferentes procesadores cuando participan de una tarea común. Para ello es necesario disponer del soporte hardware en forma de instrucciones máquina del tipo TEST&SET, TEST&AND, etc. que permiten implementar secciones críticas y otros mecanismos de sincronización a nivel del sistema operativo.
Fuente: Estructura de Computadores, Facultad de Informática, UCM