8-bit computer update
Skills:
Systems Design Basics80%
Key Takeaways
Ben Eater plans to build another 8-bit computer from scratch and create videos of the process, using the SAP1 architecture from the book Digital Computer Electronics as a model, with enhancements to the instruction set and components such as a decimal display and jump instructions.
Full Transcript
so ever since I uploaded a few videos of this 8bit programmable computer that I built a while ago gotten a lot of questions about it and I wanted to to answer a few of the the most common questions and definitely by far the most common question is can you show us how to build it or you know do you have schematics for this or or something along those lines and you know the answer is I you know believe it or not I don't actually have schematics uh for for this thing I uh never sat down and you know Drew out a full schematic you know because of how modular everything is uh how this how modular this architecture is you I was able to build kind of each piece of it uh you know by itself and and uh you know build it and test it and experiment with you know one module at a time before I had to put it all together and it wasn't really until all the pieces came together uh that I really had to you know be a little bit more thoughtful about how it was all going to work you know but for that um I had this really good model to follow in this book that I that I really recommend digital computer electronics by Albert Paul Malino unfortunately I think the book is out of print but hopefully you know if you if you want to find a copy of it you can find a use copy online or something uh but you know this book has a an architecture has a couple architectures one is the the sap1 which is simple as possible you know the goal of that is is to be you know a very simple computer architecture that demonstrates all you know all the crucial ideas behind computer operation without being you know any more complicated than it needs to be and so you can see the the architecture that they have in here is is basically the model that I followed on what what I based this computer on and so you can see all the all the same components are there there's a program counter here uh there's the memory address register the 16 bytes of of memory they used a programmable read only memory I've got Ram but same same difference as far as as far as the operations is concerned uh an instruction register uh the control unit which is kind of all this stuff down here and you can see they have all these signals going out that that come back into all the other components and that's what all these yellow wires are they're all the control signals that come from the control unit and go out to all the different pieces to sort of orchestrate everything uh the accumulator which is the a register here the ALU which is the arithmetic and logic unit which in this computer it just adds and subtracts those are the only arithmetic operations that it knows how to do um and then the B register so the A and the B register are the inputs for the arithmetic uh and then the output register and the you know they have a binary display I've got a decimal display which I thought was a little nicer um and you know that that's one enhancement that I made I made a few other enhancements to to this as well um primarily around the instruction set what you can actually do with it you know the uh model here in the book it talks about you know the instructions having a load a instruction and add instruction subtract output and halt uh and that's it and I you know I added a couple other things I added a a load immediate which uh just lets you save a little bit of memory if you want to load a particular value into the a register um and then a store a command which which which in addition to the the load a um which loads the accumulator from memory you can store what's in the accumulator to memory so that again let's you build a little bit more complex programs um and then I also added jump instructions which I thought were pretty important for a programmable computer and there's a a regular jump instruction and there's also a a conditional jump instruction that jumps when the carry bit is set um anytime the um the addition overflows and so you still might be wondering like okay can I just tell you how to build this thing already or where where you know can you write a draw up a schematic or something like that and well I've got some good news you know that is exactly what I plan to do is is to make a bunch of videos that go through every step of the process uh I I'm planning to to actually build a whole new copy of this computer from scratch um and have videos of of of all of it the bad news is it's going to take a while um you know I don't have a ton of uh free time unfortunately uh but my my personal goal is to is to make um uh one video a week at a minimum uh and so we we'll see how well how well that goes but even with that you know I want to make sure I'm covering everything from first principles and you know not leaving any mystery about why things work the way that they do um you know because I I don't want to ask you to take anything on faith um but uh you know going step by step probably means it's going to take a while to get to everything it's at least yeah at least a few months uh probably longer uh but but I hope it'll be worth the wait um you know cuz I'm I'm my my goal and and I'm convinced that that that anyone can you know can build this computer I mean as long as you're sort of patient enough to wire it all up carefully and and you have kind of the persistence to troubleshoot the inevitable wrong connections or you know broken connections or something I you know I'm convinced anyone can build this you know and and understand really understand at a very deep level uh how a computer works by by building this you know even if you don't have any experience with with this sort of thing with electronics um and and in fact I really hope I'm really looking forward to uh to that happening and people people building these things and improving on it even uh so um so I think for the next uh next videos uh I'm I'm going to be traveling over the next week so it may be it may be in a couple weeks before I can get the next video up uh but my my goal is to is to start focusing on the clock as as the first steps and uh and walk through uh you know 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 uh the timing of everything uh and you can in this case you can adjust the speed of the clock so you can see here I'm slowing it down and so everything else is running slower uh you can also stop the clock and then step one step at a time uh which is very useful for uh troubleshooting something if something isn't working which inevitably if you build build this you're going to run into a point where something isn't working and you need to kind of go step by step uh so a couple features there are the clock it uses the 555 timers and so we'll go through how those work and and they're being used in a couple different applications in the in the clock circuit so I think that's the next thing I'll do uh the next set of videos uh you can look forward to seeing those and so yeah I I you know I hope you're as excited as I am about this and I again I ask for your patience it's going to take a while to get through it all but I hope it'll be worth it and um you know if if this is exciting to you please you know give this video a thumbs up and subscribe to the channel tell all your friends um you know because if if you like what you see uh you know knowing knowing that people find these videos valuable is is really motivating to me so you know subscribing and watching the videos is is you know honestly is really the best way to make sure I keep working on them so so thanks for watching
Original Description
An update on my plans to build another 8-bit computer from scratch and make videos of the whole process! Buy a kit and build your own! https://eater.net/8bit/kits
Support me on Patreon: https://www.patreon.com/beneater
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Ben Eater · Ben Eater · 20 of 60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
▶
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
KA 60 Minutes Sep 2013 rerun (10x speed)
Ben Eater
Frame formats | Networking tutorial (6 of 13)
Ben Eater
TCP: Transmission control protocol | Networking tutorial (12 of 13)
Ben Eater
Clock synchronization and Manchester coding | Networking tutorial (3 of 13)
Ben Eater
TCP connection walkthrough | Networking tutorial (13 of 13)
Ben Eater
Lower layers of the OSI model | Networking tutorial (7 of 13)
Ben Eater
Hop-by-hop routing | Networking tutorial (11 of 13)
Ben Eater
Sending digital information over a wire | Networking tutorial (1 of 13)
Ben Eater
ARP: Mapping between IP and Ethernet | Networking tutorial (9 of 13)
Ben Eater
Analyzing actual Ethernet encoding | Networking tutorial (4 of 13)
Ben Eater
Intro to fiber optics and RF encoding | Networking tutorial (2 of 13)
Ben Eater
The Internet Protocol | Networking tutorial (8 of 13)
Ben Eater
Looking at ARP and ping packets | Networking tutorial (10 of 13)
Ben Eater
The importance of framing | Networking tutorial (5 of 13)
Ben Eater
Programming my 8-bit breadboard computer
Ben Eater
Programming Fibonacci on a breadboard computer
Ben Eater
Connecting to a mystery signal | Digital electronics (4 of 10)
Ben Eater
Using a transistor to solve our problem | Digital electronics (8 of 10)
Ben Eater
Inverting the signal with a transistor | Digital electronics (9 of 10)
Ben Eater
8-bit computer update
Ben Eater
Bus architecture and how register transfers work - 8 bit register - Part 1
Ben Eater
RAM module build - part 2
Ben Eater
Using an EEPROM to replace combinational logic
Ben Eater
Build an Arduino EEPROM programmer
Ben Eater
Build an 8-bit decimal display for our 8-bit computer
Ben Eater
8-bit CPU control logic: Part 2
Ben Eater
Reprogramming CPU microcode with an Arduino
Ben Eater
Update and PODCAST ANNOUNCEMENT!
Ben Eater
The case against Net Neutrality?
Ben Eater
Making a computer Turing complete
Ben Eater
CPU flags register
Ben Eater
Conditional jump instructions
Ben Eater
“Hello, world” from scratch on a 6502 — Part 1
Ben Eater
What is a stack and how does it work? — 6502 part 5
Ben Eater
RAM and bus timing — 6502 part 6
Ben Eater
Subroutine calls, now with RAM — 6502 part 7
Ben Eater
Why build an entire computer on breadboards?
Ben Eater
How assembly language loops work
Ben Eater
Binary to decimal can’t be that hard, right?
Ben Eater
Hardware interrupts
Ben Eater
What is error correction? Hamming codes in hardware
Ben Eater
Installing the world’s worst video card
Ben Eater
World's worst video card gets better?
Ben Eater
Breadboarding tips
Ben Eater
So how does a PS/2 keyboard interface work?
Ben Eater
Keyboard interface hardware
Ben Eater
Keyboard interface software
Ben Eater
How does a USB keyboard work?
Ben Eater
How does USB device discovery work?
Ben Eater
How does n-key rollover work?
Ben Eater
SPI: The serial peripheral interface
Ben Eater
Why was Facebook down for five hours?
Ben Eater
How do hardware timers work?
Ben Eater
The RS-232 protocol
Ben Eater
Hacking a weird TV censoring device
Ben Eater
Let's build a voltage multiplier!
Ben Eater
6502 serial interface
Ben Eater
RS232 interface with the 6551 UART
Ben Eater
Fixing a hardware bug in software (65C51 UART)
Ben Eater
Running Apple 1 software on a breadboard computer (Wozmon)
Ben Eater
More on: Systems Design Basics
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
You Are Not Behind. The World Is.
Medium · AI
Career choice with the advent of AI - pure Computer Science or learn software with a background of core engineering area
Dev.to AI
The AI Hype Cycle: Calm Before the Next Breakthrough?
Medium · Programming
AI won’t replace scientists. It will make the current model of science obsolete
Medium · Data Science
🎓
Tutor Explanation
DeepCamp AI