CHAPTER 4The Arm Architecture
In this chapter you will learn about Arm's architecture profiles, exception levels, and the two execution states supported by the Armv8‐A architecture: AArch64 and AArch32.
Architectures and Profiles
Dozens of different processors exist across the Arm ecosystem, each with different features, performance, power consumption, and other characteristics. To provide consistency across these processors and allow existing compiled applications to run on new processors when they are released, each processor in the Arm ecosystem conforms to an architecture and a profile.
The architecture specifies the supported instruction sets, the available set of registers, and the different levels of privilege as part of the exception model, programmer's model, and memory model of the system. It defines the core functionality that processors must support, as well as features that they may optionally support.
You have probably heard the term micro‐architecture and are wondering about the difference between an architecture and a micro‐architecture. When you reverse engineer an executable from an Arm‐based device, there are two things you need to determine before you start digging through the assembly code.
- What is the micro‐architecture of the processor?
- Which architecture does the processor implement?
The architecture is the behavioral description of a processor and defines components like the instruction set. The micro‐architecture defines how the processor is built. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access