As the years went on, my old smlCPU-Project got more and more complicated, so I wanted to clean it up - this didn't work. So I took pencil and paper and thoroughly thought about what my processor should be able to do. After a lot of theoretical thinking, especially during spring 2020, I now (summer 2020) started programming a simulator which will behave like the theoretical planned processor.
What I want the design to be:
- simple architecture without weird behaviour
- easy to understand machine code and assembly
- reading and especially writing RAM (my old processor could not do this reliably)
- scaleable design (usable as 8BIT and bigger, goal is to get a functional 64BIT processor)
What are my goals?:
- deeper understanding of computer/processor design
- implementing multicore
- doing computer-"science"
- functioning real world model
The Simulator is usable for easy math programs and simple algorithms. I programmed a simple add program and the fibonacci program to demonstrate. It can also give simple ASCII output with a "Terminal". I now want to program the simulated CPU to support loading from and writing to any address in memory. With this I would be able to continue work on my already started native assembler for the simulator. Multicore is still also planned... I would be very happy if some of you guys give it a try on github, if you have any questions I'd be happy to answer them.
I now finished a first raw simulator. I am not quite happy with the overall design yet. I will research for some improvements for the architecture before continuing to design. Already have some improvement ideas but it takes more time.