No sé si he entendido muy bien lo que acabas de poner, pero creo que no me has entendido bien

Si hay ROB, lo que sucede es lo siguiente:
Supón el ciclo 5, en que I2 está en ejecución, I5 en IF e I5 produce una interrupción. I5 registrará la petición en el ROB. En algún momento posterior, I2 termina. Igual sucede con I3 y con I4. Cuando están todas terminadas, (aunque I3 acabase antes que I2), se sacan del ROB -se hace commit- porque ya han finalizado, y se sacan en orden (esto me imagino que ya lo sabes, y aunque releyéndome creo que lo estoy explicando un poco mal, me entiendes

). Entonces, I5 queda en la cabecera del ROB, por lo que sabes fehacientemente que no es una instrucción especulada. Es entonces cuando reconoces la interrupción, porque cualquier instrucción anterior habrá finalizado. Por tanto, ninguna instrucción anterior puede provocar una excepción. Por eso, entre otras cosas (además de para rehacerse de los errores en predicción de saltos/especulación) es por lo que se introduce el ROB, para que el tratamiento de interrupciones sea preciso.
Espero haberme explicado mejor ahora. Antes, sin saber si habíais dado ROB o no, estaba especulando
![Que me parto! [qmparto]](/images/smilies/net_quemeparto.gif)
.
Y de nada, para esto estamos, ¿no? Siempre es de agradecer que alguien te eche un cable con estas cosas, que no es que sean triviales, precisamente. A mi me costó mi tiempo comprenderlo, ojalá alguien me hubiese ayudado con esto en su momento...

EDIT: Otra cosa que no te he dicho, la he dado por supuesta pero ahora me he dado cuenta que igual no lo has visto claro. Atender a la interrupción se hará únicamente si I5 está en la cabecera del ROB, no si está "finalizada". Imagina que I5 lanza la interrupción no en IF sino en ejecución, I2 está en la cabecera del ROB, que I3, I4 e I5 "han terminado", pero I2 era una división en punto flotante y son muchos ciclos, por lo que esa instrucción aún no "ha terminado". Puesto que I2 está en el ROB antes de I3, de I4 y de I5, ni I3 ni I4 ni I5 pueden hacer commit, de modo que no se trata de que I5 llegue a "finalizar" para reconocer la interrupción, sino de que esté en la cabecera.
Si tienes alguna otra duda, no dudes en preguntar, a ver si te la sé contestar