In this chapter we move on to consider a programmer's view of the Central Processing Unit (CPU) and how it interacts with memory.
The Raspberry Pi uses a Broadcom System on a Chip (SoC) , which is based on an ARM CPU. The specific ARM CPU depends on the Raspberry Pi model as shown on Table 8.0.1. The programming interface for each of these ARM CPUs is essentially the same for all the discussions in this book.
|Raspberry Pi||Broadcom SoC||ARM CPU||Size, bits|
|Pi 1 A+||BCM2835||ARM1176JZF-S||32|
|Pi 1 B+|
|Pi 2 B||BCM2836||Cortex-A7||32|
|Pi 3 B||BCM2837||Cortex-A53||32/64|
The 64-bit ARM processor in the Raspberry Pi 3 B can be run in either AARCH32 (32-bit) or AARCH64 (64-bit) state. In this book we describe the view of the CPU when running the 32-bit version of the Raspbian operating system, which runs the processor in AARCH32 state.