- Instruction Set: AArch64 (A64 ISA)
- ISA Width: 32-bit instructions
- Register File: 31 * 64-bit GPR (General Purpose Registers) (
X0
-X30
) - PC/SP: 64-bit program counter & stack pointer
- Exception Levels: EL0-EL3 (currently
EL1
default) - System Registers: SPSR_EL1, ELR_EL1, TTBR, TCR, SCTLR (mocked)
- Memory Model: flat array
ram[RAM_SIZE]
with bounds & alignmenet checks
- OS:
macOS Darwin 23.6.0
- Arch:
arm64
(Apple M1)
- 31 general-purpose 64-bit registers (
X0
-X30
) - Special registers
SP
,PC
,PSTATE
- Execution cycle: fetch -> decode -> execute -> update_pc
- Control flags: halted, EL levels
- RAM: flat memory array 1MB
- Access granularity: 32-bit words
- Safety checks:
- Alignmnet
- Bounds
- https://developer.arm.com/documentation/ddi0487/fc/
- https://developer.arm.com/-/media/Arm%20Developer%20Community/PDF/Learn%20the%20Architecture/Armv8-A%20Instruction%20Set%20Architecture.pdf?revision=ebf53406-04fd-4c67-a485-1b329febfb3e
- https://documentation-service.arm.com/static/649ae5b238511951cb799288
- https://en.wikipedia.org/wiki/ARM_architecture_family
- https://developer.arm.com/documentation/ddi0488/h/programmers-model/armv8-a-architecture-concepts