CPU specification structure - kammyfur/vixen GitHub Wiki
For reference purposes, memory range 00000000
to 000001ff
contains read-only information about the CPU some program is running on. This information may be used for UI context or to enable/disable specific features depending on the CPU supported feature set.
The size of the specification structure is not static as it depends on the size of the encoded information.
Reference
Size | ID | Name | Description |
---|---|---|---|
1 byte | name_length |
Name Length | Length of the CPU name in characters |
Variable | name |
Name | The name of the CPU as an ASCII string |
2 bytes | id |
ID | A unique model identifier |
1 byte | microarchitecture_length |
Microarchitecture Length | Length of the microarchitecture name in characters |
Variable | microarchitecture |
Microarchitecture | The name of the microarchitecture the CPU is based on |
1 byte | microarchitecture_name_length |
Microarchitecture Name Length | Length of the microarchitecture codename in characters |
Variable | microarchitecture_name |
Microarchitecture Name | The codename of the microarchitecture the CPU is based on |
1 byte | data_width |
Data Width | The number of bytes the CPU can process at once |
1 byte | address_width |
Address Width | The number of bytes the CPU can address |
2 bytes (VXAv2)4 bytes (VXAv2+) | available_ram |
System RAM | The amount of RAM installed on the system |
2 bytes4 bytes (VXAv2+) | microcode |
Microcode Version | A unique version number for the CPU microcode |
4 bytes (VXAv2+) | last_byte |
Last Virtual Memory Byte | The address of the end of the virtual memory area |