Previous - Up - Next

SIM_instruction_status()

NAME
SIM_instruction_status — get instruction status

SYNOPSIS
instruction_status_t
SIM_instruction_status(instruction_id_t ii);

DESCRIPTION
Returns the instruction status of the instruction identified by ii. instruction_status_t is a bit field of the following values:

Sim_IS_Ready means that the instruction have all its input ready and can be executed (for the first time or after a stalling period), Sim_IS_Waiting means that the instruction is waiting for its dependences to be ready, Sim_IS_Stalling indicates that the instruction is stalling and does not have its output ready, Sim_IS_Faulting means that the instruction has raised an exception, Sim_IS_Trap on x86 means that the instruction has raised a trap, Sim_IS_Interrupt on x86 means that the interrupt received must be handled before executing further instructions, see SIM_instruction_phase), Sim_IS_Branch_Taken means that the branch was taken for a branch instruction.

If both Sim_IS_Stalling and Sim_IS_Ready are set it indicates that the instruction has completed its stalling period and needs to be executed (proceeded) again to make another call to the memory hierarchy, which this time presumably will "unstall" the instruction.

EXCEPTIONS
Index Thrown if ii is illegal.
RETURN VALUE
The status of the instruction in the instruction queue.

Previous - Up - Next