Virtual CPU Instruction Set
Design goals[editovat]
- Simple to implement in other programming languages
- Efficient to execute by emulator
- Future extensibility (to support 128-bit data/address width or more)
- Single instruction code for any data/address width
- Register based load-store architecture rather than stack based machine or accumulator based machine
Other interesting instruction sets[editovat]
| CPU | Instruction count | Instruction size [bits] | Data size [bits] | Addressable memory [bits] | Registers |
|---|---|---|---|---|---|
| Tiny CPU Instruction Set | 22 | 8-16 | 8 | 10 | PC, SP, A, X, SR |
| A Quick Introduction to the ZipCPU Instruction Set | 29 | 32 | 32 | 32 | R0-R13, PC, CC |
| MINI-CPU Instruction Set Specification | 12 | 4-12 | 8 | 8 | PC, ACC, R |
| Simple Virtual Machine | 18 | 8 | 32 | 32 | PC, SP, FP |
| Simple virtual machine which interprets bytecode. | 36 | 16-32 | 16-32 | 16-32 | IP, FLAGS, R0-R9, SP |
| VAM Virtual Assembler Machine | 58 | 16-32 | 16-32 | 16-32 | R0-Rn (IP, SP) |
| Simple 8-bit Assembler Simulator | 60 | 8 | 8 | 8 | PC, SP, A, B, C, D |
| The RiSC-16 Instruction-Set Architecture | 8 | 16 | 16 | 16 | PC, R0-R7 |
| TOY Machine | 16 | 16 | 16 | 8 (256 words) | PC, R0-R15 |
| MU0 | 8 | 16 | 16 | 12 | PC, ACC |
| LC-3 | 15 | 16 | 16 | 16 | PC, R0-R7 |
| TOY/2 - a minimalist 16 bit CPU | 15 | 16 | 16 | 16 | PC, A, T |
| MARIE: An Introduction to a Simple Computer | 9 | 16 | 16 | 12 | PC, ACC |
| Building a 4-Bit Computer: The Instruction Set | 16 | 4 | 4 | 12 | R0-R5, S0, S1, PC, SP, IX, IV, TA |
| How to create your own virtual machine | 35 | 8 | 8 | 16 | A, B, X, Y, D |
| Little Man Computer | 10 | 12 | 8 | 8 | A |
| CRISC | 32 | struct | 64 | 16-64 | |
| CHIP-8 | 35 | 16 | 8 | 12 | V0-V15, I |
| Toy CPU | 14 | 8 | 8 | 8 | A |