This paper introduced predicated execution to reduce branch instructions
in an instruction stream. If the specified predicate register of an
instruction has value 0, this instruction need to be suppressed. The
paper
gave out 2 ways to the perform the suppression of an instruction. One
is to disable the write-back stage of the pipeline. But the disadvantage
of this way is that the instruction is still executed and it will occupy
execution source. The worst thing is that it may cause some exception
such
as page fault. I am not sure if this will affect the execution. A process
may be blocked by an unuseful instruction. We have another way to do
the
suppression. The instruction could be suppressed during decode/issue
stage.
But this will introduce longer latency and larger dependence distance.
I
think this could be studied more to reduce the mispredicte penalty.
Maybe
to combine the 2 way properly.
--
Zhining Huang