ARM as a company make Architecture, sell the Architecture and companies like STM, TI uses these architectures to develop their own chips and release them into market.
- A-Class
- Application grade Arch
- Used to run OS (linux, Mac), and also runs applications like chrome
- Arch is simple (RISC based arch / load and store arch)
- R-Class
- Used in Real time systems (time-constrant applications)
- M-Class
- Used in microcontrollers, single targeted applications
- Arch is simple (RISC based arch / load and store arch)
- Simple specification of what CPU should do or behave is called Architecture
- Implementation of the Arch is called Micro-Architecture
flowchart RL
subgraph B[Memory]
C[Instruction]
D[Data]
end
A[CPU] -- Store --> D
D -- Load --> A
flowchart TD
A(CPU) --> B((Programmer's Model))
A --> C((Exception Model))
A --> D((Memory Model))
A --> E((Debug Model))
- Programmer's Model - Details out mode of operation of cpu & internal registers
- Exception Model - Exception is internal to cpu
- Memory Model - Imagination about how cpu interact with memory, talks about features
- Debug Model - Here CPU is connected to external piece of hardware called debugger, and it's connected to OS where we can run GDB
CPU will do data processing by control unit
-
ARM Cortex-A CPU contains
- GPR (General Purpose registers)
- ALU (Arthematic logic unit)
- CFRS (Configuration and Status registers)
-
CPU can be ON/OFF based on Status registers, Based on these on/off states CPUhas different Execution Levels
- EL0
- EL1
- EL2
- EL3
- From EL0 to EL3 more hardware capabilites are activated (Less num less functionality high num high functionality)