Comprensión de la predicción de rama

Hay algunas consultas sobre la predicción de bifurcaciones que no puedo resolver con seguridad. Suponga que tengo que trabajar con un predictor de bifurcación estático.

¿En qué etapa de la tubería debe suceder la predicción de rama?¿Cómo saber que una predicción ha salido mal? ¿Cómo llega el datapath a saber que ha ocurrido una predicción errónea?Si llega a saber que ha ocurrido una predicción errónea, ¿cómo envía la señal para tomar la rama no tomada?Después de que haya salido mal, tengo que tomar esa dirección que no se tomó antes. Mientras tanto, ¿qué pasa si ha ocurrido algo de escritura de memoria o escritura de registro? ¿Cómo evitar que suceda?

Será muy útil incluso si se sugieren algunas referencias adecuadas con datapath en ellas. Gracias por adelantado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta