Encoding:

EXTEND

11110

00011

0

00000

SHIFT

00110

000

000

sel = 4

SLL

00

5

5

1

5

5

3

3

3

2

Format:

EHB 

MIPS16e2

Execution Hazard Barrier Extended

Purpose:

Execution Hazard Barrier Extended

To stop instruction execution until all execution hazards have been cleared.

Description:

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.

Restrictions:

Unpredictable prior to MIPS16e2.

Operation:

ClearExecutionHazards()

Exceptions:

None

Programming Notes:

This instruction resolves all execution hazards.