Getting started and some big initial decisions
Keep it simple
I started this blog to record the design and build of Juno a homebrew pc made out of discrete logic components inspired by the early mini computers.
I have always been fascinated by how computers really work ever since messing around with my ZX spectrum and Acorn computers and 100-in-1 electronics kit as a kid. As a professional programmer I had experience with programming embedded systems but that was over 9 years ago before moving on to systems design, then enterprise architecture and consulting. I've not directly logged onto a console in a professional capacity for over 7 years but for along time have had the urge to build a homebrew cpu and computer. Finally, I am going to put my ideas down on paper and have a go.
Firstly, some basic design decisions to get started.
- Instruction set format - fixed. Easier to decode but takes more memory. Simplicity is more important.
- Endian - big. Easier to read and more natural.
- Internal memory: stack vs accumulator vs General Purpose Registers (GPR) - accumulator is simpler but GPR is hugely tempting. Think I will stick with accumulator to keep things simple and improve the chances of success. Besides can always add more registers as the design evolves.
- Number operands: 1 vs 2 vs 3 - simplest is 1 therefore will go with that for now.