| |||
Home > System Control > Register descriptions > Instruction Set Attributes Registers |
The processor has eight Instruction Set Attributes Registers, ISAR0 to ISAR7, but three of these are unused. This section describes:
The ID_ISAR0 characteristics are:
Provides information about the instruction set that the processor supports, beyond the basic set.
The ID_ISAR0 is:
a read-only register
accessible in Privileged mode only.
Available in all processor configurations.
See Table 4.14.
Figure 4.18 shows the ID_ISAR0 bit assignments.
Table 4.14 shows the ID_ISAR0 bit assignments.
Table 4.14. ID_ISAR0 Register bit assignments
Bits | Name | Function |
---|---|---|
[31:28] | - | SBZ |
[27:24] | Divide instructions | Indicates support for divide instructions:
|
[23:20] | Debug instructions | Indicates support for debug instructions:
|
[19:16] | Coprocessor instructions | Indicates support for coprocessor instructions other than separately attributed feature registers, such as CP15 registers and VFP:
|
[15:12] | Compare and branch instructions | Indicates support for combined compare and branch instructions:
|
[11:8] | Bitfield instructions | Indicates support for bitfield instructions.
|
[7:4] | Bit counting instructions | Indicates support for bit counting instructions.
|
[3:0] | Atomic instructions | Indicates support for atomic load and store instructions.
|
To access the ID_ISAR0, read CP15 with:
MRC p15, 0, <Rd>, c0, c2, 0 ; Read ID_ISAR0
The ID_ISAR1 characteristics are:
Provides information about the instruction set that the processor supports beyond the basic set.
The ID_ISAR1 is:
a read-only register
accessible in Privileged mode only.
Available in all processor configurations.
See Table 4.15.
Figure 4.19 shows the ID_ISAR1 bit assignments.
Table 4.15 shows the ID_ISAR1 bit assignments.
Table 4.15. ID_ISAR1 Register bit assignments
Bits | Name | Function |
---|---|---|
[31:28] | Jazelle instructions | Indicates support for Jazelle instructions:
For more information see Program status registers and Acceleration of execution environments. |
[27:24] | Interworking instructions | Indicates support for interworking instructions:
|
[23:20] | Immediate instructions | Indicates support for immediate instructions:
|
[19:16] | ITE instructions | Indicates support for If Then instructions:
|
[15:12] | Extend instructions | Indicates support for sign or zero extend instructions:
|
[11:8] | Exception 2 instructions | Indicates support for exception 2 instructions:
|
[7:4] | Exception 1 instructions | Indicates support for exception 1 instructions:
|
[3:0] | Endian instructions | Indicates support for endianness control instructions:
|
To access the ID_ISAR1 read CP15 with:
MRC p15, 0, <Rd>, c0, c2, 1 ; Read ID_ISAR1
The ID_ISAR2 is:
a read-only register
accessible in Privileged mode only.
The ID_ISAR2 characteristics are:
The ID_ISAR2 provides information about the instruction set that the processor supports beyond the basic set.
The ID_ISAR2 is:
a read-only register
accessible in Privileged mode only.
Available in all processor configurations.
See Table 4.16.
Figure 4.20 shows the ID_ISAR2 bit assignments.
Table 4.16 shows the ID_ISAR2 bit assignments.
Table 4.16. ID_ISAR2 Register bit assignments
Bits | Name | Function |
---|---|---|
[31:28] | Reversal instructions | Indicates support for reversal instructions:
|
[27:24] | PSR instructions | Indicates support for
|
[23:20] | Unsigned multiply instructions | Indicates support for advanced unsigned multiply instructions:
|
[19:16] | Signed multiply instructions | Indicates support for advanced signed multiply instructions:
|
[15:12] | Multiply instructions | Indicates support for multiply instructions:
|
[11:8] | Interruptible instructions | Indicates support for multi-access interruptible instructions.
|
[7:4] | Memory hint instructions | Indicates support for memory hint instructions.
|
[3:0] | Load/store instructions | Indicates support for additional load and store instructions.
|
To access the ID_ISAR2 read CP15 with:
MRC p15, 0, <Rd>, c0, c2, 2 ; Read ID_ISAR2
The ID_ISAR3 characteristics are:
Provides information about the instruction set that the processor supports beyond the basic set.
The ID_ISAR3 is:
a read-only registers
accessible in Privileged mode only.
Available in all processor configurations.
See Table 4.17.
Figure 4.21 shows the ID_ISAR3 bit assignments.
Table 4.17 shows the ID_ISAR3 bit assignments.
Table 4.17. ID_ISAR3 Register bit assignments
Bits | Name | Function |
---|---|---|
[31:28] | ThumbEE extension | Indicates support for ThumbEE Execution Environment extension:
|
[27:24] | True NOP instructions | Indicates support for true
|
[23:20] | Thumb copy instructions | Indicates support for Thumb copy instructions:
|
[19:16] | Table branch instructions | Indicates support for table branch instructions:
|
[15:12] | Synchronization primitive instructions | Indicates support for synchronization primitive instructions:
|
[11:8] | SVC instructions | Indicates support for
|
[7:4] | SIMD instructions | Indicates support for Single
Instruction Multiple Data (
|
[3:0] | Saturate instructions | Indicates support for saturate instructions:
|
To access the ID_ISAR3 read CP15 with:
MRC p15, 0, <Rd>, c0, c2, 3 ; Read ID_ISAR3
The ID_ISAR4 characteristics are:
Provides information about the instruction set that the processor supports beyond the basic set.
The ID_ISAR4 is:
a read-only register
accessible in Privileged mode only.
Available in all processor configurations.
See Table 4.18.
Figure 4.22 shows the ID_ISAR4 bit assignments.
Table 4.18 shows the ID_ISAR4 bit assignments.
Table 4.18. ISAR4 Register bit assignments
Bits | Name | Function |
---|---|---|
[31:28] | SWP_frac | RAZ because SWP/SWPB instruction support is indicated in ID_ISAR0. |
[27:24] | PSR_M_instrs | Indicates support for M-profile instructions for modifying the PSRs:
|
[23:20] | Exclusive instructions | Indicates support for Exclusive instructions:
|
[19:16] | Barrier instructions | Indicates support for Barrier instructions:
|
[15:12] | SMC instructions | Indicates support for Secure
Monitor Call (
|
[11:8] | Write-back instructions | Indicates support for write-back instructions:
|
[7:4] | With shift instructions | Indicates support for with-shift instructions:
|
[3:0] | Unprivileged instructions | Indicates support for Unprivileged instructions:
|
To access the ID_ISAR4 read CP15 with:
MRC p15, 0, <Rd>, c0, c2, 4 ; Read ID_ISAR4
The ID_ISAR5 characteristics are:
Provides additional information about the properties of the processor.
ID_ISAR5 is:
a read-only register
accessible in Privileged mode only.
Available in all processor configurations.
In the processor,
ID_ISAR5 is read as 0x00000000
.
To access the ID_ISAR5, read CP15 with:
MRC p15, 0, <Rd>, c0, c2, 5 ; Read ID_ISAR5
ID_ISAR6 and ID_ISAR7 are not implemented, and their positions in the register map are Reserved. They correspond to CP15 accesses with:
MRC p15, 0, <Rd>, c0, c2, 6 ; Read ID_ISAR6 MRC p15, 0, <Rd>, c0, c2, 7 ; Read ID_ISAR7
These registers are read-only, and are accessible in Privileged mode only.