naivety_core
This is an old revision of the document!
Naivety Core
This is the custom 16-bit CPU design used in Naivety Project.
Overview
This processor is a 16-bit data / address design, with fixed-width instructions. The processor is based around a finite state machine, with most instructions completing in four cycles. Most operations (math, logic) are register-register only and do not support operation with immediates due to limited instruction width. At the moment, the processor does not support flags of any sort. Conditionals are done only via direct register comparison.
Registers
The processor has 16x 16-bit wide registers, shown in the following table:
| Register Name | Register Number | Description |
|---|---|---|
| r0 | 0 | General purpose |
| r1 | 1 | |
| r2 | 2 | |
| r3 | 3 | |
| r4 | 4 | |
| r5 | 5 | |
| r6 | 6 | |
| r7 | 7 | |
| r8 | 8 | |
| r9 | 9 | |
| r10 | 10 | |
| r11 | 11 | |
| rpc | 12 | Program counter |
| rsp | 13 | Stack pointer |
| rlr | 14 | Link register |
| rir | N/A | Instruction register |
naivety_core.1778694663.txt.gz · Last modified: by iliketech
