The first step was coming up with an architecture that made sense. Initially, I was thinking to build a replica of the SAP-1 8-bit architecture using tubes, but that was going to require thousands of tubes and my wallet wasn't prepared for that much of an investment.
The answer came in the form of the MC14500 1-bit Industrial Control Unit, which is a very unique little 1-bit microprocessor. Here's the block diagram for it:
What I like best about this design is that it offloads memory and program control to other aspects, which means it has the flexibility to be used with any memory or program control design you want. That was particularly useful because I had no idea how I was going to go about implementing those aspects.
To make sure that this was going to work out well, I decided to build up a simplified IC computer of sorts based around this chip on the breadboard. The result was this very awesome looking collection:
This worked excellently and was a ton of fun to build, but had one major flaw. The Logic Unit was atrocious! In order to add two 1-bit numbers together took 12-steps. A simple 8-bit increment program had over 100 steps in it, which is ridiculous.
So, I got to work redesigning the LU into an ALU all while staying within the confines of the original architecture.
Originally, the LU had the following operations:
The new ALU has these operations:
The only operation that will be missed is the load complement, but the proper arithmetic operations will let me make up for it in other regards. I feel this is a much more capable design now! Here's the new block diagram:
That's it for this first build log!
I'll add more logs as I get more time!