Lo siento si la siguiente pregunta parece una pregunta muy especializada (o de programación), pero espero que haya gente en este foro que haya realizado el modelado VHDL / Verilog y pueda responder:
Estoy escribiendo un modelo de simulación de un sistema de caché multiprocesador. Mi modelo de procesador es un procesador Sparc V8 de 32 bits. Estaba tratando de entender cómo se ve la interfaz del caché de datos del procesador L1. Tengo las siguientes dudas:
¿Qué tan ancha es la interfaz del procesador L1? Si tiene 32 bits de ancho, ¿cómo se manejan atómicamente los accesos de doble palabra? Ejemplo: si la instrucción DoubleWord se divide en dos accesos de palabra, ¿se puede invalidar el bloqueo en el caché entre el primer y el segundo acceso de palabra? ¿No significa que la instrucción no es atómica? ¿Es la instrucción de doble palabra de carga / almacenamiento requerida para ser atómica?
-
¿Cómo se implementan las instrucciones carga atómica / almacenamiento o intercambio en esta interfaz? ¿Hay una señal que vaya del procesador al caché que diga "detener todas las demás operaciones hasta que yo lo diga", y luego ejecutar una carga seguida de almacenamiento?
Agradecería cualquier enlace que apunte en esta dirección