Aunque la mayoría de las respuestas se enfocan desde el lado del modelo de software y / o hardware, la forma más limpia es considerar cómo funcionan los chips RAM físicos. (El caché está ubicado entre el procesador y la memoria, y simplemente usa el mismo bus de direcciones, y su funcionamiento es completamente transparente para el procesador). Los chips RAM tienen un decodificador de una sola dirección, que recibe la dirección de la celda de memoria, llegando al el bus de direcciones (y de manera similar un bus de datos, ya sea dentro o fuera). Las memorias actuales se construyen en el "enfoque de procesador único", es decir, un procesador está conectado a través de un bus a un chip de memoria. En otras palabras, este es el "cuello de botella de von Neumann", ya que cada instrucción debe hacer referencia a la memoria al menos una vez. Debido a esto, en un cable (o cables, también conocido como bus) solo puede existir una señal a la vez, entonces el chip RAM puede recibir una dirección de celda a la vez. Hasta que pueda asegurarse de que los dos núcleos pongan la misma dirección en el bus de direcciones, físicamente no es posible el acceso simultáneo al bus por parte de dos conductores de bus diferentes (como los núcleos). (Y, si es lo mismo, es redundante).
El resto es la llamada aceleración de hardware. El bus de coherencia, el caché, el acceso SIMD, etc. son solo algunas fachadas agradables frente a la RAM física, su pregunta fue sobre. Los aceleradores mencionados pueden cubrir la lucha por usar el bus de direcciones exclusivamente, y los modelos de programación no tienen mucho que ver con su pregunta. También tenga en cuenta que el acceso simultáneo también estaría en contra de la abstracción "espacio de direcciones privadas".
Entonces, a sus preguntas: el acceso simultáneo directo a RAM no es posible, ni con las mismas direcciones ni con las mismas. El uso de caché podría cubrir este hecho y permitir el acceso aparentemente simultáneo en algunos casos. Depende del nivel de caché y la construcción, así como de la localidad espacial y temporal de sus datos. Y sí, tiene razón: el procesamiento múltiple (núcleo) sin acceso RAM mejorado, no ayudará mucho para las aplicaciones intensivas en RAM.
Para una mejor comprensión: solo recuerde cómo funciona el Acceso directo a la memoria. Tanto la CPU como el dispositivo DMA pueden poner dirección al bus, por lo que deben excluirse mutuamente del uso simultáneo del bus.