0

Could someone please explain the meaning of CP15_reg1_Ubit as used in the ARM architecture reference manual (LDR instruction and others too)?

I just can't seem to find/understand it.

Thanks

1 Answers1

1

There is a register file called the System Control coprocessor registers. These are used to configure and control the Memory Management Unit (MMU). They are also called the CP15 registers. They're accessible only if the processor is running with kernel privilege.

Within the file, Register 1 is a control register for the MMU. The U bit is bit 22 of that register.

It's used together with the A and E bits to determine whether and how the MMU performs alignment checks and the endianess of data words.

If alignment checks are on (due to A and E settings), the U bit determines whether they look for mod 4 or mod 8 byte alignment.

You can read about this in section 3.4.7. of the ARM 11 Core reference here.

Earlier ARM versions have different alignment control semantics. The U-bit turns unaligned access support on when it's 1 and off when it's zero. This is discussed in the MPCore reference.

Gene
  • 46,253
  • 4
  • 58
  • 96
  • It's worth noting the configuration aspect only applies to ARMv6 - from v7 onwards the U bit is always 1 since the architecture no longer supports the old (rotated word) unaligned access model. – Notlikethat Jun 13 '14 at 08:19