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