EXTEND 11110 |
00011 |
0 |
00000 |
SHIFT 00110 |
000 |
000 |
sel = 4 |
SLL 00 |
5 |
5 |
1 |
5 |
5 |
3 |
3 |
3 |
2 |
EHB |
MIPS16e2 |
Execution Hazard Barrier Extended |
Execution Hazard Barrier Extended
To stop instruction execution until all execution hazards have been cleared.
EHB is used to denote execution hazard barrier. The actual instruction is interpreted by the hardware as SLL r0, r0, 3.
This instruction alters the instruction issue behavior on a pipelined processor by stopping execution until all execution hazards have been cleared. Other than those that might be created as a consequence of setting StatusCU0, there are no execution hazards visible to an unprivileged program running in User Mode. All execution hazards created by previous instructions are cleared for instructions executed immediately following the EHB, even if the EHB is executed in the delay slot of a branch or jump. The EHB instruction does not clear instruction hazards-such hazards are cleared by the JALR.HB, JR.HB, and ERET instructions.
Unpredictable prior to MIPS16e2.
ClearExecutionHazards()
None
This instruction resolves all execution hazards.