distaff
distaff copied to clipboard
Add support for random access memory
Currently, stack is the only place to store values. This is rather limiting, and can be improved by introducing random access memory. Adding RAM would require:
- Implementing ALT stack #19
- Limiting total constraint degree to 7. This can be achieved by splitting instructions into high-degree and low-degree instructions #18
- Implementing instruction mirroring
- Adding an extra register to store root of the RAM state
- Adding
LOAD
andSTORE
instructions to access RAM state register
Overall performance impact of the above changes would probably result in over 50% execution slowdown with instruction mirroring being the biggest driver.