isb
Instruction Synchronization Barrier (Thumb)
ISB <option>
Instruction barrier (Thumb).
Details
Instruction Synchronization Barrier flushes the processor pipeline and ensures that all instructions that follow are fetched from cache or memory after the ISB completes. The option field is typically SY (full system) and is the only valid value in most implementations. No condition flags are affected. ISB is available in all privilege levels and is essential for self-modifying code.
Pseudocode Operation
if option == SY then
InstructionSynchronizationBarrier()
else
InstructionSynchronizationBarrier()
Example
ISB option
Encoding
Binary Layout
111100111011
1
1
1
1
10
0
0
1
1
1
1
0110
option
Operands
-
option
SY
Reference (Arm AArch32 ISA)
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0xF57FF060 | ISB{<c>}{<q>} {<option>} | A32 | 111101010111 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0110 | option | ||
| 0xF3BF8F60 | ISB{<c>}{<q>} {<option>} | T32 | 111100111011 | 1 | 1 | 1 | 1 | 10 | 0 | 0 | 1 | 1 | 1 | 1 | 0110 | option |
Description
Instruction Synchronization Barrier flushes the pipeline in the PE and is a context synchronization event. For more information, see Instruction Synchronization Barrier (ISB).
Operation
if ConditionPassed() then
EncodingSpecificOperations();
InstructionSynchronizationBarrier();