¿Qué tipo de caché es mejor para observar el autobús?

1

Estoy estudiando para un examen sobre la memoria (principalmente caché) y me encontré con una pregunta de opción múltiple de hace unos años:

Which cache type is recommended for bus watching and is also used in multiprocessor systems?

 a. write-through cache
 b. write-back cache

Entiendo que la observación del bus significa que cada caché busca al bus para ver qué solicitudes se envían desde otros cachés a la memoria principal, pero realmente no entiendo cuál es la respuesta correcta.

El primer tipo (escritura directa) solo actualizaría todo en la memoria cada vez que se actualice algo y el último mantendría los datos en el caché para que sea más rápido y para mí parece que ambos podrían funcionar.

Cualquier ayuda es apreciada.

    
pregunta Xzenon

2 respuestas

1

Obviamente, en un sistema multiprocesador es imposible utilizar una memoria caché de escritura. La memoria caché de escritura solo actualiza los datos en la memoria caché y no en la memoria. La actualización en la memoria se realiza solo cuando los datos en el caché deben ser desalojados. Digamos que dos procesadores tienen la misma dirección de memoria reflejada en sus cachés respectivos. Cada uno de ellos decide cambiar los contenidos del caché. Aquí comienza el problema, hay dos datos diferentes para las mismas direcciones de memoria. Por lo tanto, es imposible usar cachés de escritura no simultánea para el sistema multiprocesador a menos que se agreguen mecanismos adicionales para garantizar la coherencia de la caché entre los diferentes procesadores del sistema multiprocesador.

    
respondido por el Claudio Avi Chami
0

Esta pregunta parece un poco anticuada ya que la mayoría de las CPU multiprocesador ya no tienen un "bus".

Write-back (WB) es la metodología de almacenamiento en caché estándar para las arquitecturas multiprocesador en la actualidad. La escritura directa (WT) básicamente duplica las transacciones al enviar todo a la memoria y al caché al mismo tiempo. Para visibilidad / depuración, desearía ver cada transacción en tantos lugares a la vez. Entonces, si estamos llamando a la ruta a la memoria el "bus", entonces WT le permitiría ver cada transacción que ocurre en los cachés en la memoria. Sospecho que esta es probablemente la respuesta que están buscando. Aunque WT se puede usar en una CPU multiprocesador, generalmente solo se usa para rangos de direcciones muy pequeños para cosas específicas. El resto de la memoria caché en el multiprocesador moderno de CPU utiliza WB en lugar de sus beneficios de rendimiento.

    
respondido por el horta

Lea otras preguntas en las etiquetas