These are the main layers of abstraction for our SoCs:

Architecture (Instruction Set Architecture (ISA)):

  • A set of specifications that allows developers to write software and firmware
  • These include the instruction set, exceptions, memory models.
  • ARM architecture also define system registers, debug and trace architectures and details of the virtual memory system
  • Beyond the CPU, it is often helpful to define other components and interfaces that make it easier for hardware and software to interoperate

Microarchitecture:

  • The logical organization of the inner structure of the computer
  • Different microarchitectures may aim to make different trade-offs in terms of performance and cost (e.g., area, power consumption, or complexity). Other important aims beyond performance may include security, reliability, or predictable performance.

Hardware or Implementation:

  • The realization or the physical structure, i.e., logic design and chip packaging
  • Different implementations may also target and operate at different clock frequencies in favour of performance of power efficiency