8-bit computer update

Ben Eater · Intermediate ·📰 AI News & Updates ·10y ago

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 KA 60 Minutes Sep 2013 rerun (10x speed)
KA 60 Minutes Sep 2013 rerun (10x speed)
Ben Eater
2 Frame formats | Networking tutorial (6 of 13)
Frame formats | Networking tutorial (6 of 13)
Ben Eater
3 TCP: Transmission control protocol | Networking tutorial (12 of 13)
TCP: Transmission control protocol | Networking tutorial (12 of 13)
Ben Eater
4 Clock synchronization and Manchester coding | Networking tutorial (3 of 13)
Clock synchronization and Manchester coding | Networking tutorial (3 of 13)
Ben Eater
5 TCP connection walkthrough | Networking tutorial (13 of 13)
TCP connection walkthrough | Networking tutorial (13 of 13)
Ben Eater
6 Lower layers of the OSI model | Networking tutorial (7 of 13)
Lower layers of the OSI model | Networking tutorial (7 of 13)
Ben Eater
7 Hop-by-hop routing | Networking tutorial (11 of 13)
Hop-by-hop routing | Networking tutorial (11 of 13)
Ben Eater
8 Sending digital information over a wire | Networking tutorial (1 of 13)
Sending digital information over a wire | Networking tutorial (1 of 13)
Ben Eater
9 ARP: Mapping between IP and Ethernet | Networking tutorial (9 of 13)
ARP: Mapping between IP and Ethernet | Networking tutorial (9 of 13)
Ben Eater
10 Analyzing actual Ethernet encoding | Networking tutorial (4 of 13)
Analyzing actual Ethernet encoding | Networking tutorial (4 of 13)
Ben Eater
11 Intro to fiber optics and RF encoding | Networking tutorial (2 of 13)
Intro to fiber optics and RF encoding | Networking tutorial (2 of 13)
Ben Eater
12 The Internet Protocol | Networking tutorial (8 of 13)
The Internet Protocol | Networking tutorial (8 of 13)
Ben Eater
13 Looking at ARP and ping packets | Networking tutorial (10 of 13)
Looking at ARP and ping packets | Networking tutorial (10 of 13)
Ben Eater
14 The importance of framing | Networking tutorial (5 of 13)
The importance of framing | Networking tutorial (5 of 13)
Ben Eater
15 Programming my 8-bit breadboard computer
Programming my 8-bit breadboard computer
Ben Eater
16 Programming Fibonacci on a breadboard computer
Programming Fibonacci on a breadboard computer
Ben Eater
17 Connecting to a mystery signal | Digital electronics (4 of 10)
Connecting to a mystery signal | Digital electronics (4 of 10)
Ben Eater
18 Using a transistor to solve our problem | Digital electronics (8 of 10)
Using a transistor to solve our problem | Digital electronics (8 of 10)
Ben Eater
19 Inverting the signal with a transistor | Digital electronics (9 of 10)
Inverting the signal with a transistor | Digital electronics (9 of 10)
Ben Eater
8-bit computer update
8-bit computer update
Ben Eater
21 Bus architecture and how register transfers work - 8 bit register - Part 1
Bus architecture and how register transfers work - 8 bit register - Part 1
Ben Eater
22 RAM module build - part 2
RAM module build - part 2
Ben Eater
23 Using an EEPROM to replace combinational logic
Using an EEPROM to replace combinational logic
Ben Eater
24 Build an Arduino EEPROM programmer
Build an Arduino EEPROM programmer
Ben Eater
25 Build an 8-bit decimal display for our 8-bit computer
Build an 8-bit decimal display for our 8-bit computer
Ben Eater
26 8-bit CPU control logic: Part 2
8-bit CPU control logic: Part 2
Ben Eater
27 Reprogramming CPU microcode with an Arduino
Reprogramming CPU microcode with an Arduino
Ben Eater
28 Update and PODCAST ANNOUNCEMENT!
Update and PODCAST ANNOUNCEMENT!
Ben Eater
29 The case against Net Neutrality?
The case against Net Neutrality?
Ben Eater
30 Making a computer Turing complete
Making a computer Turing complete
Ben Eater
31 CPU flags register
CPU flags register
Ben Eater
32 Conditional jump instructions
Conditional jump instructions
Ben Eater
33 “Hello, world” from scratch on a 6502 — Part 1
“Hello, world” from scratch on a 6502 — Part 1
Ben Eater
34 What is a stack and how does it work? — 6502 part 5
What is a stack and how does it work? — 6502 part 5
Ben Eater
35 RAM and bus timing — 6502 part 6
RAM and bus timing — 6502 part 6
Ben Eater
36 Subroutine calls, now with RAM — 6502 part 7
Subroutine calls, now with RAM — 6502 part 7
Ben Eater
37 Why build an entire computer on breadboards?
Why build an entire computer on breadboards?
Ben Eater
38 How assembly language loops work
How assembly language loops work
Ben Eater
39 Binary to decimal can’t be that hard, right?
Binary to decimal can’t be that hard, right?
Ben Eater
40 Hardware interrupts
Hardware interrupts
Ben Eater
41 What is error correction? Hamming codes in hardware
What is error correction? Hamming codes in hardware
Ben Eater
42 Installing the world’s worst video card
Installing the world’s worst video card
Ben Eater
43 World's worst video card gets better?
World's worst video card gets better?
Ben Eater
44 Breadboarding tips
Breadboarding tips
Ben Eater
45 So how does a PS/2 keyboard interface work?
So how does a PS/2 keyboard interface work?
Ben Eater
46 Keyboard interface hardware
Keyboard interface hardware
Ben Eater
47 Keyboard interface software
Keyboard interface software
Ben Eater
48 How does a USB keyboard work?
How does a USB keyboard work?
Ben Eater
49 How does USB device discovery work?
How does USB device discovery work?
Ben Eater
50 How does n-key rollover work?
How does n-key rollover work?
Ben Eater
51 SPI: The serial peripheral interface
SPI: The serial peripheral interface
Ben Eater
52 Why was Facebook down for five hours?
Why was Facebook down for five hours?
Ben Eater
53 How do hardware timers work?
How do hardware timers work?
Ben Eater
54 The RS-232 protocol
The RS-232 protocol
Ben Eater
55 Hacking a weird TV censoring device
Hacking a weird TV censoring device
Ben Eater
56 Let's build a voltage multiplier!
Let's build a voltage multiplier!
Ben Eater
57 6502 serial interface
6502 serial interface
Ben Eater
58 RS232 interface with the 6551 UART
RS232 interface with the 6551 UART
Ben Eater
59 Fixing a hardware bug in software (65C51 UART)
Fixing a hardware bug in software (65C51 UART)
Ben Eater
60 Running Apple 1 software on a breadboard computer (Wozmon)
Running Apple 1 software on a breadboard computer (Wozmon)
Ben Eater

Ben Eater plans to build another 8-bit computer from scratch and create videos of the process, covering the SAP1 architecture, components, and instruction set, with the goal of helping viewers understand how a computer works at a deep level.

Key Takeaways
  1. Build the clock circuit from scratch
  2. Understand the 555 timers and their applications
  3. Design and build the control unit and arithmetic and logic unit
  4. Implement the instruction set and components such as the accumulator and binary display
  5. Test and troubleshoot the computer
  6. Improve and enhance the design
💡 Building a simple computer from scratch can help deepen understanding of computer architecture and programming concepts, and with patience and persistence, anyone can build and understand a basic computer.

Related AI Lessons

You Are Not Behind. The World Is.
You're not behind, the world is still adapting to AI, and it's okay to take your time to learn and grow
Medium · AI
Career choice with the advent of AI - pure Computer Science or learn software with a background of core engineering area
Learn how to choose between a Computer Science and Engineering career path or combining programming with a core engineering background in the age of AI
Dev.to AI
The AI Hype Cycle: Calm Before the Next Breakthrough?
Understand the AI hype cycle to anticipate the next breakthrough and make informed decisions
Medium · Programming
AI won’t replace scientists. It will make the current model of science obsolete
AI is not replacing scientists, but rather making the current model of science obsolete, enabling new forms of discovery and collaboration
Medium · Data Science
Up next
Motorist saved by human chain | 9 News Australia
9 News Australia
Watch →