ARM does not manufacture processor hardware. Instead, ARM creates microprocessor designs that are licensed to our customers, who integrate them into System-on-Chip (SoC) devices.
To guarantee interoperability and to provide a common programmers model between different implementations, ARM defines architecture specifications that define how ARM products must operate. Additionally, some partners license the right to implement their own ARM processors conforming to the architecture specifications. This leads to a hierarchical split into three levels of specifications which together describe the behavior and programmers model of the entire SoC:
An architecture defines behavior that is common to many processor designs.
A processor is an implementation of an architecture, and can be integrated into several different designs.
A device contains a processor and additional components.
Developers who are new to this model can find it difficult to find information about system-level behavior. This is because the information can be divided between several documents:
the architecture reference manual
the processor technical reference manual
the device documentation.
This article identifies the borders between these levels of specification, and where to look for information.