What do we mean by architecture?

When we use the term architecture, we mean a functional specification. In the case of the Arm architecture, we mean a functional specification for a processor. An architecture specifies how a processor will behave, such as what instructions it has and what the instructions do.

You can think of an architecture as a contract between the hardware and the software. The architecture describes what functionality the software can rely on the hardware to provide. Some features are optional, as we will discuss later in the section on micro-architecture.

The architecture specifies:

Instruction set
  • The function of each instruction.
  • How that instruction is represented in memory (its encoding).
Register set
  • How many registers there are.
  • The size of the registers.
  • The function of the registers.
  • Their initial state.
Exception model
  • The different levels of privilege.
  • The types of exceptions.
  • What happens on taking or returning from an exception.
Memory model
  • How memory accesses are ordered.
  • How the caches behave, when and how software must perform explicit maintenance.
Debug, trace, and profiling
  • How breakpoints are set and triggered.
  • What information can be captured by trace tools and in what format.

Previous Next