Skip to content

DenysSkobalo/silico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VM Silico

ARMv8-A

  • 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

Testing platform:

  • OS: macOS Darwin 23.6.0
  • Arch: arm64 (Apple M1)

Implementation Details

CPU Logic

  • 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

Memory Model

  • RAM: flat memory array 1MB
  • Access granularity: 32-bit words
  • Safety checks:
    • Alignmnet
    • Bounds

References

About

ARM64 Virtual Machine with Web UI Control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published