armviz

MIDR_EL1

32-bitIdentification

The main implementer ID register: who made the chip and what model it is. Read-only from every level, and the first thing a program checks to work out what it is running on.

Field layout

Implementer[31:24]31:24
Variant[23:20]23:20
Architecture[19:16]19:16
PartNum[15:4]15:4
Revision[3:0]3:0
byte 3
byte 2
byte 1
byte 0

Current value hover a field to locate it

B3
B2
B1
B0

Fields

BitsFieldBitsValueDescription
31:24Implementer[31:24]8

A code assigned to the implementer by Arm.

0x41
Arm
0x42
Broadcom
0x43
Cavium
0x44
DEC
0x46
Fujitsu
0x48
HiSilicon
0x49
Infineon
0x4D
Motorola
0x4E
Nvidia
0x50
APM
0x51
Qualcomm
0x53
Samsung
0x56
Marvell
0x61
Apple
0x66
Faraday
0x69
Intel
0xC0
Ampere
23:20Variant[23:20]40x0

Variant number, used to distinguish stepping revisions of the same part.

19:16Architecture[19:16]4

Architecture version the processor implements.

0
Undefined
1
ARMv4
2
ARMv4T
3
ARMv5T
4
ARMv5TE
5
ARMv5TEJ
6
ARMv6
7
ARMv6KZ
8
ARMv6T2
9
ARMv6K
10
ARMv7
11
ARMv6-M
12
ARMv7-M
13
ARMv7E-M
14
ARMv8
15
ARMv8.1 and later
15:4PartNum[15:4]120x0 (0)

The implementer's part number for this core.

3:0Revision[3:0]40x0

Revision number of the part.