Tuesday, 28 August 2012

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.

  1. Instruction set format - fixed. Easier to decode but takes more memory. Simplicity is more important.
  2. Endian - big. Easier to read and more natural.
  3. 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.
  4. Number operands: 1 vs 2 vs 3 - simplest is 1 therefore will go with that for now.