Liste des Groupes | Revenir à c arch |
MitchAlsup1 wrote:Every instruction needs a way to place itself before or afterOn Fri, 4 Oct 2024 18:11:23 +0000, EricP wrote:>On interrupt, if the core starts fetching instructions from the handler>
and
stuffing them into the instruction queue (ROB) while there are still
instructions in flight, and if those older instructions get a branch
mispredict, then the purge of mispredicted older instructions will also
purge the interrupt handler.
Not necessary, you purge all of the younger instructions from the
thread at retirement, but none of the instructions associated with
the new <interrupt> thread at the front.
That's difficult with a circular buffer for the instruction queue/rob
as you can't edit the order. For a branch mispredict you might be able
to mark a circular range of entries as voided, and leave the entries
to be recovered serially at retire.
>Can you make this statement again and use different words?
But voiding doesn't look like it works for exceptions or conflicting
interrupt priority adjustments. In those cases purging the interrupt
handler and rejecting the hand-off looks like the only option.
>You just have to cover the depth of the pipeline.
If one can live with the occasional replay of an interrupt hand-off and
handler execute due to mispredict/exception/interrupt_priority_adjust
then the interrupt pipelining looks much simplified.
Les messages affichés proviennent d'usenet.