Placeholder Image

Subtitles section Play video

  • Ever since I uploaded a few videos of this 8-bit programmable computer,

  • that I built a while ago, I've gotten a lot of questions about it.

  • I wanted to answer a few of the most common questions,

  • and definitely by far the most common question,

  • is, "can you show us how to build it?" or "do you have schematics for this?"

  • Or something along those lines. The answer is, believe it or not, I actually don't have schematics

  • for this thing, I never sat down and drew out a full schematic.

  • Because of how modular everything is, or how modular this architecture is,

  • I was able to build each piece of it by itself, and build it, and test it, and experiment with

  • one module at a time, before I had to put it all together. It wasn't really until all the pieces came together

  • that I really had to be a little bit more thoughtful about how it was all going to work.

  • For that I had this really good model to follow in this book that I really recommend,

  • "Digital Computer Electronics", by Albert Paul Malvino.

  • Unfortunately, I think the book is out of print, but hopefully you can find a used copy online

  • or something. This book has an architecture... has a couple architectures.

  • One is the SAP-1, which is, "simple as possible". The goal is to be a very simple computer architecture,

  • that demonstrates all the crucial ideas behind computer operation

  • without being any more complicated than it needs to be.

  • The architecture that they have in here, is basically the model that I followed,

  • what I based this computer on. So you can see that all of the same components are there.

  • There's a program counter here, there's the memory address register,

  • the 16 bytes of memory that are used, programmable read only memory,

  • I've got RAM but, same difference, as far as the operation is concerned.

  • An instruction register, the control unit, which is all this stuff down here,

  • and you can see that they have all these signals going out, that come back in

  • to all the other components, and that's what all these yellow wires are.

  • They're all the control signals. They come from the control unit and go out

  • to all the different pieces to orchestrate everything.

  • The accumulator, which is the A register here. The ALU, which is the arithmetic

  • logic unit, which in this computer, just adds and subtracts.

  • Those are the only arithmetic operations it knows how to do.

  • And then the B register. The A and the B register are the inputs for the arithmetic.

  • And the output register, they have a binary display, I've got a decimal display

  • which I thought was a little nicer.

  • That's one enhancement that I made.

  • I made a few other enhancements to this as well, primarily around the instruction set

  • and what you can actually do with it.

  • The model here in the book, it talks about the instructions having a

  • "load A" instruction, an add instruction, subtract, output, and halt, and that's it.

  • I added a couple other things. I added a load immediate, which just lets you

  • save a little bit of memory, if you wanted to load a particular value into the A register.

  • And then a "store A" command, which in addition to the "load A," which loads the accumulator

  • from memory, you can store what's in the accumulator to memory.

  • So that let's you build a little bit more complex programs.

  • I also added jump instructions, which I thought were pretty important

  • for a programmable computer. There's a regular jump instruction,

  • there's also a conditional jump instruction, that jumps when the carry bit is set,

  • anytime the addition over flows.

  • So you might still be wondering, can I just tell you how to build this thing already,

  • can you draw up a schematic or something like that? Well, I've got some good news.

  • That is exactly what I plan to do, to make a bunch of videos, that go through every step of the process.

  • I am planning to actually build a whole new copy of this computer from scratch,

  • and have videos of all of it. The bad news is that it's going to take a while.

  • I don't have a ton of free time, unfortunately, but my personal goal is to make one video a week,

  • at a minimum. So we'll see how well that goes, but even with that, I want to make sure I'm covering

  • everything from first principles, not leaving any mystery about why things work the way that they do.

  • I don't wanna ask you to take anything on faith, but going step by step,

  • probably means it's going to take a while to get to everything. So at least...

  • at least a few months. Probably longer. I hope that it will be worth the wait. My goal, and I'm convinced that

  • anyone can build this computer. As long as you're patient enough to wire it all up, carefully,

  • and you have the persistence to troubleshoot the inevitable wrong connections,

  • or broken connections or something. I'm convinced that anyone can build this and really understand

  • at a very deep level, how a computer works, by building this. Even if you, don't have any experience with

  • this sort of thing, or with electronics. In fact I really hope, I'm really looking forward to that happening, and

  • people building these things, and improving on it even. So, I think for the next videos, I'm going to be

  • traveling over the next week, so it may be in a couple weeks before I can get the next video up.

  • My goal is to just start focusing on the clock, as the first steps, and walk through

  • building this, the clock circuit, from scratch. There's a couple interesting things going on here.

  • The clock, of course, coordinates everything in the computer, the timing of everything.

  • In this case, you can adjust the speed of the clock, you can see here I'm slowing it down,

  • so everything else is running slower. You can also stop the clock, and then step one step at a time,

  • which is very useful for troubleshooting something, if something isn't working, which inevitably,

  • if you build this you're going to run into a point where something isn't working, and you need to

  • go step by step. A couple features that are of the clock, is that it uses the 5-5-5 timers,

  • so I will go through how those work, and they're being used in a couple different applications,

  • in the clock circuit. So, I think that that's the next thing that I'll do, the next set of videos.

  • You can look forward to seeing those. I hope you're as excited as I am about this.

  • Again, I ask for your patience, it's going to take a while to get through it all,

  • but I hope it will be worth it. If this is exciting to you, please give this video a thumbs up,

  • and subscribe to the channel, tell all your friends, cause if you like what you see,

  • knowing that people find these videos valuable, is really motivating to me, so

  • subscribing and watching the videos, is honestly the best way to make sure that I

  • keep working on them. Thanks for watching.

Ever since I uploaded a few videos of this 8-bit programmable computer,

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it