Idle Mode
SPARCv8 processors trigger idle mode in the following cases:
-
Unconditional branch to itself
-
Write to power down register
There are two unconditional branch sequences detected:
Annulled Unconditional Branch To Self
loop: ba,a loop
Non-Annulled Unconditional Branch To Self
loop: ba loop
nop
In the non-annulled case, idle will only be detected if the following conditions hold:
-
Both instructions are on the same page
-
%pc
points at the branch instruction -
%npc
points at the nop-instruction