8-bit CPU reset circuit and power supply tips

  Рет қаралды 169,045

Ben Eater

Ben Eater

Күн бұрын

Пікірлер: 245
@fweephokus
@fweephokus 4 жыл бұрын
This deep into the series, I'm starting to come up with ideas before Ben presents them. While watching the previous video, I was thinking "I'd wire up a reset button for everything," and now he's doing that. I also had an idea for what to do with the unused control line, and then he started alluding to a future use for it. It's a testament to what a phenomenal teacher Ben is. I'm not just watching, I'm learning, because I have a great teacher. These videos are priceless!
@Crushnaut
@Crushnaut 7 жыл бұрын
building myself a copy of this computer, bought the pieces on the weekend and built the clock today thanks for making these videos, so far this is a lot of fun and has reinvigorated my interest in electronics
@JohnnyPhoenix
@JohnnyPhoenix 7 жыл бұрын
Crushnaut good luck! Planning to do the same myself. Quick question; how much did all the parts come around costing? Bought them online?
@Crushnaut
@Crushnaut 7 жыл бұрын
+Johnny Phoenix​ I have a local electronics store called Sayal. They had almost everything, plus I got some extras. The parts were about $220 CAD. I haven't got all the breadboards yet, or the EEPROMs. That'll probably get me up to $300 ish. *edit see my comment below. I bought a lot of extra parts and lots of wire and such. You can probably do this a lot cheaper if you stick to just the requirements on Ben's blog. I put together the parts for this project + a lot of starter parts of a hobby electrical kit.
@LearnElectronicsCanada
@LearnElectronicsCanada 7 жыл бұрын
Aw wow Crushnaut, I know Sayal may be convenient but the cost buying from them (components, not the breadboards/wire) will be alot higher than just placing a Digikey.ca (or .com) order. The parts would have shipped 2 day (for free >$100 order). I'm going to make a BOM from his videos on Digikey and then give a more accurate cost. I'll let either Ben know, or just post a comment in one of his latest videos. Considering doing this myself, but I'm considering the PCB route... I'm not a breadboard type of guy ;-)
@NL-tq1yr
@NL-tq1yr 7 жыл бұрын
Crushnaut does your computer as clean as Ben's computer? or do you have jumpers all over the place?
@Crushnaut
@Crushnaut 7 жыл бұрын
I did some comparisons. The prices weren't THAT different. Sometimes Sayal was cheaper. For instance on the SN74LS00N Digikey is $1.78 CAD. I got mine for $0.50 each. Another thing to consider for my costs was that I got 100 feet of 6 colours of 22 AWG wire. That was $20 a roll which was $120. Compared to the recommended product on Ben's site for 6 colours @ 25 feet each for $22 USD I think I did alright. The other reason I am estimating is because I also bought a multimeter, needle nose pliers, wire cutters, and wire strippers (I guessed when I removed the cost of these tools). I also got some jumper pin headers and extra parts. For instance you only need 7 74LS173 registers. I bought 10. I got large packs multipacks capacitors, and resistors (over kill but a good starter set up as I have nothing). Finally, I also got 100 packs of LEDs in 4 colours. Those we like $15 each (I think). Again over kill but I was building a starter pack for electronics. I think if I just bought the parts for this PC I could have got everything in at around $200.
@jtsiomb
@jtsiomb 7 жыл бұрын
Speaking of power tips, I think this computer is in desperate need of bypass caps. I think this will help a lot of people who are facing power distribution issues. Btw I'm a big fan of this series; you're doing an excellent job presenting every step of the way with great clarity.
@bretthaupt1019
@bretthaupt1019 7 жыл бұрын
Exactly what I was thinking. Just putting a cap on each power rail pair will prevent noise or high peak draws (as evidenced on the benchtop power supply). Not doing so could cause a lot of issues if you ramp up speed as the noise in the power rail could induce ic failure/nonperformance.
@crocellian2972
@crocellian2972 7 жыл бұрын
John Tsiombikas - A lot of that is Ben' religious use of the Fairchild DM series of 74LSxx TTL. They were much more tolerant than modern ICs. I am guessing it is the lower speed, but have done bench work to confirm.
@cmuller1441
@cmuller1441 6 жыл бұрын
He could also add resistors in series with his leds... some are clearly driven a bit hard and are quite bright. He could reduce the power consumption a lot, reducing stress on the psu caps and wires...
@AnneJan
@AnneJan 6 жыл бұрын
Breadboards have nice capacitance between all the plates. Shrinking a breadboard project down to PCB has in the past made me wonder why things would work on breadboard but not on PCB . . capacitance
@MattRose30000
@MattRose30000 Жыл бұрын
@@AnneJan I was gonna build this whole computer eventually on prototype boards. That's a good tip.
@barmetler
@barmetler 5 жыл бұрын
soo many blinking lights, soo satisfying @10:50
@Orxenhorf
@Orxenhorf 5 жыл бұрын
Thanks loads. You just solved some of my confusion. I've been watching this whole series and decided to get a breadboard kit to play around with. I also finally got around to assembling the Three Fives kit and was trying to use that to make a LED blinker as a first project. Aside from the breadboard kit coming with "100 nF" capacitors that measure out as 47 nF, I hadn't realized yet that this breadboard had split power rails.
@LemoUtan
@LemoUtan 7 жыл бұрын
Excellent! Also - a note on the cheap MB-102s - there may be two 'flavours' of them, one packaged with a black top (which has the weird numbering, the power rail breaks, the reverse printing, the difficult insertion) and one packaged with a blue top (which has none of these issues).
@jozef_kascak
@jozef_kascak 7 жыл бұрын
Man, you gave me more about this things than CS university ... Thanks
@alexandermaasland3494
@alexandermaasland3494 3 жыл бұрын
I just have to say: I am in awe... These videos you made about building a computer from scratch are quite inspirational and make me understand how a cpu can be build and customized. Please keep up the good work!
@crashmatrix
@crashmatrix 7 жыл бұрын
That dip switching speed tho
@lightdark00
@lightdark00 7 жыл бұрын
I always wondered why the first vacuum tube based computers had so many lights. Now I understand.
@kaitlyn__L
@kaitlyn__L Жыл бұрын
Yep, no circuit budget for heavy decode circuitry, just directly viewing lots of bits. Though my favourite was some early ones which used a CRT as RAM instead of a mercury delay line, and so you could also directly observe the rows of dots as they flickered on the tube!
@nil2k
@nil2k 7 жыл бұрын
I'm really enjoying this series, but one thing I keep hoping you're going to do is to use that spare bit in your microcode rom to implement a microinstruction counter reset signal so that at the last step of each instruction, your microcode rom signals that counter to reset so that architecturally when you're done with an instruction you're back at T0 again (giving you instructions that complete in differing numbers of clock cycles as well as no need to ever manually reset the microinstruction counter since HLT will do it as well and simplifying your reset logic overall).
@miron__
@miron__ 7 жыл бұрын
thats a long sentence
@julian4064
@julian4064 7 жыл бұрын
dAcid lol
@johncochran8497
@johncochran8497 6 жыл бұрын
I agree that would be quite nice. And I see two ways of doing such a counter reset. The first is use an unused control bit from the microcode ROM such as your suggestion. The second is to perform an OR operation on all of the control lines.... And if the result of the OR operation is 0, then reset the microcode counter.
@John-Smith-999
@John-Smith-999 6 жыл бұрын
I was wondering if you could rest the T counter using the same signal as incrementing the instruction counter. The microcode wouldn't have to do this in parallel with the last step, but 3 step instructions would run 33% faster.
@campbellstarky2144
@campbellstarky2144 4 жыл бұрын
john smith One disadvantage of that is that I have been thinking about multi-byte instructions. For example, LDA could be instruction 0001xxxx (disregarding the low order bits) and the address could be the next byte. The microcode might look like FETCH, CE, RO AI, AO MI, RO AI. You could then address 256 bytes of memory by my counting. But you would need to have a CE micro-op that does NOT reset T. No idea if that actually works, but I can’t imagine why it wouldn’t work. But crucially, you need a CE that does not reset T. BTW the reason I temporarily park the address at the A register is that I would be worried that if you transfer directly from RO to MI, the RO might update too quickly and then MI would be changed via the bus, and then RO would change, and then.... I might be being overcautious, good edge detection could probably avoid that and reduce the number of cycles a little.
@311Firefly
@311Firefly 5 жыл бұрын
Every time I have been doing some projects with " TTL logic " I have allways used decoupling capacitors, mainly to avoid power starvation. It's a Really nice Tutorial You got put together there, I enjoyed it wery much. Thank You wery much. Keep up the good work
@benthere8051
@benthere8051 4 жыл бұрын
YOU DON'T NEED POWER DISTRIBUTION PROBLEMS. They can give you wildly unrepeatable results. I recommend running power on bus bars outside of the grid with power and ground delivered to the prototyping boards with the 0.025" square pins as you mentioned. You can make bus bars with 0.062" double-clad FR-4 PC board material which will slide down easily between the rows of your 0.025" square pins. This also gives you an excellent platform for mounting bypass capacitors, which I see a few on your board.
@younessamr6802
@younessamr6802 7 жыл бұрын
can you add an IO module, to see how the computer interact with the outside world. keep the good work ^^
@trellend
@trellend 5 жыл бұрын
That would be another register (C), 2 control lines, and now you got 8 outputs. Need some bit math instructions though.
@QuintarFarenor
@QuintarFarenor 5 жыл бұрын
@@trellend Or do it like "real 8-Bit computers" and just use a part of RAM as a screen Memory
@trellend
@trellend 5 жыл бұрын
@@QuintarFarenor Then you have that annoying screen blanking thing going on.
@davidmcgill1000
@davidmcgill1000 5 жыл бұрын
@@trellend Not necessarily another register. It can exist on the bus with an output enable, but being latched on clock would improve stability, what with bits not being changed while attempting to read it.
@prathamkalgutkar7538
@prathamkalgutkar7538 4 жыл бұрын
@@davidmcgill1000 I'm Starting to build my one 16-Bit Upgraded Version of Ben Eater's Computer, and I guess Instead of using The Bus Directly, we can use the Same Output Register used for Decimal Display. My Plans are just to use the Port using Arduino to Monitor and Possibly Input Data Aswell
@koolatrimr2211
@koolatrimr2211 6 жыл бұрын
This was a great journey. I enjoyed every bit of it. Thanks for putting all things togeter in a consistent way, so it was easy to folow through. Good luck with other projects.
@GazzJ82
@GazzJ82 7 жыл бұрын
Thank you for these fantastic videos. I am an electrical contractor, built many control panels etc and spent many years as a kid writing basic programs for the C64 and the BBC micro. Never managed to really blur these lines and understand electronics and the basic principals of how computers work. Until now. I plan to order the bits and probably build this on boards and put in a nice case with lots of flashing lights and switches on the front :) Thanks again for your fantastic work.
@JasonMasters
@JasonMasters 7 жыл бұрын
It's interesting that the MB-102 boards you received are the low-quality boards with breaks in the middle, because the latest boards I purchased are exactly the same brand and even came in exactly the same package with exactly the same brand markings, but they're better quality than the ones you're showing and with continuous power rails and more consistent printing (although the numbers are still not quite aligned properly). The boards I got still aren't the best quality, but they're acceptable if you're willing to overlook their shortcomings. I posted a link to the eBay listing on a previous video. The seller offers boards, a power supply plugin board and jumper cables, and offers them in a few combinations too.
@vierikristianto1334
@vierikristianto1334 9 ай бұрын
If possible, Im going to give you 2 likes for each of your videos. Nice series Ben! It is really that good and educating, while also being interactive.
@jamescaperelliiii4620
@jamescaperelliiii4620 7 жыл бұрын
Ben thank you for the series. This is one of my favorites on KZbin. Next installment, boot monitor, GPIO, I2C, keypad w/hardware & software...? I guess I am getting nostalgic about my old KIM II SBC. The advice about breadboards is very helpful, especially when buying them online. I have noticed a huge difference in quality and spent a lot of time troubleshooting issues that ultimately were not my design or programming, but rather flaky connections (especially with signals that have critical timing).
@mannhansen9337
@mannhansen9337 5 жыл бұрын
I'm a KIM-1owner. Still in working condition but not used every day. Faulty breadboards almost made me going bananas. 6 years ago I started to experiment with a PIC16F628A , blinky LED example. The LED was blinking sometimes , 2 Hz and sometimes there was a 3-15 sec. delay. To make a long story short. Faulty breadboard. Dupont wires badly crimped can cause strange problems. With new designs I test every breadboard and cable.Start simple with a blinky LED an increase complexity.
@EdwinNoorlander
@EdwinNoorlander 7 жыл бұрын
Nice Julian👍🏻, you added something good to the computer from Ben.
@CafeBikeGirl
@CafeBikeGirl 7 жыл бұрын
It is totally amazing that something half that complex is running on a breadboard!
@gelatinocyte6270
@gelatinocyte6270 7 жыл бұрын
It's been fun watching your videos Ben Eater. Keep it up!
@jetraid
@jetraid 7 жыл бұрын
I can't wait for the next chapter, I don't have idea what next but allways something excelent and with an perfect explanation. Maybe the next step could be to add more instructions but I think is time to make a new programming system, maybe with a keypad.
@duncang55
@duncang55 4 жыл бұрын
I MISS RADIO SHACK! (And GREAT series, Ben!). The old plans are getting dug out next day off I have, see if my old DTL stuff is still doable...
@TDk-ob2ew
@TDk-ob2ew 7 жыл бұрын
Thanks again for the slow pace and the detailed explanations, Ben! Regarding breadboards, I've got exactly the same cheap brand, for less than 2€ a piece. They are a bit difficult to use, but they don't have upside-down numbers or split power rails on them - I guess yours are even cheaper copies of a cheap model. The cheapness of the boards can be a bit annoying, but once your components are placed it's not an issue anymore. - And now for something completely different, I saw someone else solder all their power connections together, using pinheaders for each breadboard connection. Anyway, thanks again, I'm looking forward to the jump circuit! =)
@alangilman2015
@alangilman2015 5 жыл бұрын
I like that you use the answer to Life, The Universe, and Everything for your calculation :-)
@Mr_ToR
@Mr_ToR 5 жыл бұрын
I was really hoping that the resetting of the control logic instruction step counter would be done in the EEPROM instead of hard-wiring to T5. This would have enabled real various length operations and allowed a bit of cycle optimization. This could be done with the second EPROM which has an unused IO pin and that could be connected to the instruction microcode step counter reset line. You would program the EEPROM accordingly and this would allow, for example , LDA microcode to reset/finish at T4 and ADD to end/reset at T5. Basically just put a 1 in the EPROM at the end of each instruction microcode to reset the instruction step counter.
@Android480
@Android480 Жыл бұрын
I think part of genius of this series is to let people have ideas like this themselves. He left ample room for us to have ideas, and have the knowledge to implement them.
@Mr_ToR
@Mr_ToR Жыл бұрын
@@Android480 best series ever. universities should learn from him.
@thomasre8073
@thomasre8073 6 жыл бұрын
I like it, to watch you messing around with this computer.
@vitaliimakarov6181
@vitaliimakarov6181 Жыл бұрын
I really can’t wrap my head around this series. How we started with only one LED in the circuit and internal structure of the transistor to the whole 8 bit computer!
@mikedelosier95
@mikedelosier95 7 жыл бұрын
Hello Ben, LoneRegister, Just watched LoneRegister Micro Code Reset Circuit video, My two bits. I am going to try coding my EEPROM using the 16th open instruction decoder output pin as an "Instruction Micro Code Step Counter Reset" signal so your final Micro Code step instruction will reset the Micro Code counter to eliminate wasted instruction T Cycles. Remember NOP is 00 Keep up the good work :) Thanks, Mike DeLosier
@SteveYoung359
@SteveYoung359 2 жыл бұрын
For the asynchronous reset on the step-counter, you could tie all the inputs to LOW, and use "load" as the reset, which makes this synchronous to the clock too :) - Then you have a "step counter reset line" to work with.
@tusharmaurya1668
@tusharmaurya1668 7 жыл бұрын
Sorry man I can't afford to be your pateron because i am a kid. But i swear when i earn money I'l firstly donate it to you. Thanks for giving us details on those computers, helped me a lot.
@aameen951
@aameen951 5 жыл бұрын
What does "... these signals will be buffered ..." (at 4:23) means?
@RichSr40
@RichSr40 6 жыл бұрын
Excellent Instructions. Keep up the Good Work!
@tehaxor69
@tehaxor69 7 жыл бұрын
I've made CPUs in FPGAs before, but my instruction decoders were done in a case block and the micro code was also done in a descriptor language. After watching these videos, I want to try this with the schematic designer with nothing but gate logic, no IP cores except for the M9K blocks.
@stepsvideos
@stepsvideos 7 жыл бұрын
After watching these videos I decided to give it a try using a CPLD. Being new to FPGA and CPLD my first hurdle was finding out that 3-state outputs were not available inside the chip. Next problem was finding out how much of the chip resources get used up when implementing memory with just flip-flops, and had to limit the memory to just 8 bytes. So far I have built some of the blocks individually, but I'm sure it's going to be a challenge fitting them all in together. I'm using an Max II with only 240 logic blocks. It does have a built in memory block of 1k, which I will use eventually, but for right now I'm having fun trying to use only logic gates and ff. One disappointment was finding out that the max number of program/erase cycles is 100. However the chip and board, plus programmer, were under $10, so can't complain too much. It's been like re-experiencing childhood, playing with Legos, except it's arranging gates and flip-flops to make a circuit. Have to thank Ben for rekindling the interest in digital logic.
@tehaxor69
@tehaxor69 7 жыл бұрын
I'm using a Cyclone V E with 25K LEs. I got around the tri-state outputs by making a multiplexer/de-mux, I made eight 8 bit inputs and eight 8 bit outputs with a 3 bit selector for it. This kind of does remind me of my childhood, LEGO blocks, K'NEX, and I had a dozed of those multi in one kits from Radio Shack, 1000s of LEDs, Resistors, Caps, Transistors, and 100s of IC parts for glue logic.
@JP-gs3jw
@JP-gs3jw 7 жыл бұрын
Thank you very much, I always learn something from your videos.
@AyariMakrem
@AyariMakrem 7 жыл бұрын
Big thanks for this great work and effort and good explanation.
@williefleete
@williefleete 7 жыл бұрын
Awesome series, I've been slowly building my own version of this with some changes including adding a 1Mhz clock circuit and using solderable boards and IDC cables etc, still waiting on the memory chips and a supply of EEPROMs that will actually program on my eprom burner, some used ones I got off eBay have bad cells and I put in a request to get more with a local supplier which seemed to work. I am wondering if you will eventually release a binary dump of the EEPROMs, the display one I managed to modify the arduino program and dump out into a bin file the microcode might be more of a challenge. So far I have completed and tested the clock, PC and output, and ALU and I'm in the process of wiring the IR and control board, which leaves just the memory once I get the RAM chips
@beopstek
@beopstek 7 жыл бұрын
Thanks for the tips. I use the lower cost breadboards for my own build (a computer that also does video, see my videos). I bought these because you need so many of them. I can confirm that the insert can be difficult. Once you understand how the pins work internally, you know what is happening. They are not always well-aligned underneath the hole, and the mouth or funnel is not as good. There are videos that tear them open and compare. Just don't force them, wiggle a lot, and it should be fine. I believe I have forgotten about the power rail gap many times already, very annoying. I suppose they are intended so you can do different projects. But bridging them also causes an unnecessary additional resistance.
@DrRChandra
@DrRChandra 7 жыл бұрын
In the beginning of this series, you talked about decoupling. Perhaps that would add stability too. All those millisecond breaks-makes from wiggling the power feed connector would be "filled in" by extra capacitance. Plus it'd serve its usual role of making sure the chips don't glitch due to action of the other chips. I was wondering...with these EEPROMs, have you in essence been using the equivalent of an FPGA; is that the sort of thing FPGAs are for?
@LucS0042
@LucS0042 5 жыл бұрын
I'd love to see you make a PCB with something like easyeda and put it together on pcb
@jsmythib
@jsmythib 4 жыл бұрын
I have been having good luck with the mb-102's I bought on ebay. So far my only issues have been user derived. For anyone interested :)
@caroman4102
@caroman4102 5 жыл бұрын
Thank you i finally inderstood how pc really works.
@blazaniterules289
@blazaniterules289 6 жыл бұрын
I ordered a MB-102 breadboard and it was just like the BB830. There wasn't a break in the power lines and the printing of the letters and numbers was accurate and not flipped on the opposite end. It also had good connections. So they have either improved there breadboards, or i was sent a better breadboard in MB-102 packaging.
@leoq4498
@leoq4498 5 жыл бұрын
I think the whole reset circuit could be made out of the extra gates that are not being used from the logic of the clock and save one chip. Anyway, thanks Ben for the great videos!! You're awesome!!
@64jcl
@64jcl 7 жыл бұрын
Should consider adding some sort of card-reader so it becomes easier to program the machine. :)
@allmycircuits8850
@allmycircuits8850 5 жыл бұрын
Punch-card-reader :) for authenticity
@supernenechi
@supernenechi 4 жыл бұрын
@@allmycircuits8850 Programming it into argol
@bas8036
@bas8036 7 жыл бұрын
It would be so awesome to have a follow-up series on how to build an interactive simple calculator with this breadboard computer. 0-9 buttons, +, -, /, *, = and CE. We would have to add some components but not too bad. The dream...
@MAProsper
@MAProsper 7 жыл бұрын
I still want my previous suggestion: "You should add a Micro-instruction for Reset to T0 and Reset Instruction Register, it will save the space of multiple Fetch versions and Time!" and now non-volatile memory; but that I don't know how it works, the other two I think would know how to implement them. Again Great Video! :)
@SiliconSet
@SiliconSet 7 жыл бұрын
Great video! Many thanks!
@idjles
@idjles 7 жыл бұрын
if you used 100kΩ pulldown resistors instead of 10kΩ on your switches, would you would reduce pulldown leaking power by 10fold?
@bitblaster66
@bitblaster66 6 жыл бұрын
Great videos, BUT as to your power supply issues, You should have notices it when you were testing with the multimeter. It was reading 4.7 volts which is under rated. Keep up the good work.
@Joshuahall228
@Joshuahall228 5 жыл бұрын
Alard Eales It’s possible to notice something without addressing it right then; as neither of us did and he did. 😂
@St3venAU
@St3venAU 7 жыл бұрын
I was quite surprised at the 1.2A current draw. I'm wondering if the majority of that is all of the LEDs.
@mamelukok
@mamelukok 7 жыл бұрын
if one LED needs around 20 mA, then 1200 mA / 20 mA = 60 LEDs also the ICs themselves use some power, so this is one hungry beast of a computer ;) I am getting components to built this myself, it is fun and very, very educational. Ben is doing a wonderful job by explaining all the inner workings in very simple and easy to understand way.
@KX36
@KX36 7 жыл бұрын
LEDs used for indicators shouldn't draw anywhere near 20mA.
@LearnElectronicsCanada
@LearnElectronicsCanada 7 жыл бұрын
The original design I believe was more around the 700mA range with the power supply design, so Yes the LEDs are adding a fair bit of current draw on the design. I would probably look to reduce that by lowering the current on the LEDs, more like the 5-10 mA, most bright diffused LED can easily be visible in that range. Especially when a resistor on the Logic Gate's transistor is what is limiting the current... has anyone taking the time to measure the current to the LEDs hooked up in this way, or know the internal resistors value? (as you can see I'm a voyeur and not currently building one lol)
@EDToasty
@EDToasty 6 жыл бұрын
I mean... 5w doesn't seem much, considering the scale.
@GRBtutorials
@GRBtutorials 6 жыл бұрын
By using CMOS chips, you might be able to reduce power consumption. Of course, that might mean putting resistors on the LEDs.
@knodelcrafter6888
@knodelcrafter6888 7 жыл бұрын
You probably got this question a few times now, but how are you making these cables? Are you building the episode beforehand, destroy it and use the cables from bevore?
@danidiaz9510
@danidiaz9510 6 жыл бұрын
I've passed sleepless nights thinking about it. I can now honestly say I have no idea, he's probably sold his soul to the devil.
@casarek
@casarek 5 жыл бұрын
(my thinking) He pauses filming, measures and bends the cables, strips the ends and then films himself putting it in place.
@SiggyPony
@SiggyPony 5 жыл бұрын
For mine I use toenail clippers to strip the wires and then tweasers to bend each one individually to shape on the board then taking them off to straighten them out and putting them back in place so they fit perfect. That said, I've been working on mine for over a year now slowly so everything is perfectly aligned
@RoamingAdhocrat
@RoamingAdhocrat 4 жыл бұрын
I mean you can count the breadboard holes the wire has to cover, and prep it on an empty board… But he's clearly rehearsed all these videos except the troubleshooting one.
@CheeseDiablo
@CheeseDiablo 4 жыл бұрын
If you go back to the first videos, you can notice that he had this computer built before. So maybe he just disassembled it and he already has all wires bent in a right way
@damisimsanii544
@damisimsanii544 7 жыл бұрын
thank you so much Ben..great video
@kryptocat4240
@kryptocat4240 4 жыл бұрын
What is the perpose of buffer gate
@NeverSnows
@NeverSnows 4 жыл бұрын
what a fancy calculator you have there sir.....
@jtasrtrash
@jtasrtrash 3 жыл бұрын
Thank you for your great videos! :) If instruction codes for mem operations like LDA would consist of two bytes instead of one (first (half) byte instruction, second byte address), you could even use one of the 2K EEPROMs for memory instead of the (poor) 16 Byte Memory and therefore use the whole 8 bit bus to address, not only the lower 4 bits, to be able to address 256 bytes without too much change and your program code would even be saved. At a first guess, the only thing you would have to change is the memory unit, extend the microcode counter to four bit and update the microcode. Even using 3 byte LDA like instructions to be able to address even up to 64K would be possible by only more clock cycles and some small changes (you would need a second memory register). But in both cases, with a lot more memory, you could write fairly interesting code for that processor, although the microcode needed more clock cycles on the mem operations and would be slower.
@TDk-ob2ew
@TDk-ob2ew 7 жыл бұрын
I'm currently reproducing the control logic counter in my build. I hooked up the green LEDs driven by the 138 to 5v, not ground, so only one of them is active and i presumably save a few milliamps. This also makes more sence to indicate on which step the computer is.
@fzigunov
@fzigunov 7 жыл бұрын
Can't stop watching!
@jack82822005
@jack82822005 4 жыл бұрын
why do we need a buffer for reset?
@minecraftermad
@minecraftermad 6 жыл бұрын
it running at full speed the stopping makes me the happiest person on the planet
@mistervoldemort7540
@mistervoldemort7540 7 жыл бұрын
As usual, great work!
@fiskusmati
@fiskusmati 5 жыл бұрын
why you have your program on volatile memoty? couldnt you just use flash or eeprom to store program?
@Isacvd
@Isacvd 7 жыл бұрын
Can't we use the non inverted reset, before the first nand gate?
@twistedsim
@twistedsim 7 жыл бұрын
Not really, voltage will probably drop a bit with current. It's better to use a buffer to keep the right logic level. But in this case there is not many outputs so it might works well anyway.
@patrickjeromeobaldo2450
@patrickjeromeobaldo2450 2 жыл бұрын
This is the only time I'd like to operate a slow computer.
@gogogooner
@gogogooner 7 жыл бұрын
Thank you for a great series! It was very interresting.
@GaryCameron780
@GaryCameron780 4 жыл бұрын
~16:00 regarding breadboards: As with most things you get what you pay for.
@camiz3994
@camiz3994 7 ай бұрын
Thank you Ben!-
@nickhuber5476
@nickhuber5476 7 жыл бұрын
how do you make the wires so perfectly
@stevenriofrio7963
@stevenriofrio7963 2 жыл бұрын
Will you make a video on how to implement interrupt control?
@lolshoc5755
@lolshoc5755 7 жыл бұрын
Hi, I love this series, and am probably going to build one for myself. Maybe you could add some sort of "jump if" op code to the computer, so you can do slightly more complex programs.
@EJOsis
@EJOsis 7 жыл бұрын
Do you have a jig or method for making your small jumpers. Or have you just made enough for muscle memory to kick in.
@p4pagaio180
@p4pagaio180 3 жыл бұрын
Carai pivete, tudo isso por uma calculadora, tu é foda viu, para bens
@zakariarizvi8003
@zakariarizvi8003 7 жыл бұрын
upgrade the alu so that it can also perform AND, OR and NOT operations ...
@georgegardei340
@georgegardei340 5 жыл бұрын
I want to build this... and then figure out on my own how to add a multiply, device, subtract, and or not, etc
@georgegardei340
@georgegardei340 5 жыл бұрын
oh, and save my programs onto eprom
@andreyrumming6842
@andreyrumming6842 4 жыл бұрын
@@georgegardei340 Subtract is already done for you :). Multiplying is gonna take awhile, as binary multiplication is quite complex. Dividing is EXTREMELY complex and you would need like 2 breadboards just for division alone. Multiplication maybe you can get away with one. The AND, OR, NOT, etc operations however are super easy to do. You'll just have to change how the ALU functions from "Add or subtract depending on if this signal is high or low" to "I can set the ALU function register (Doesn't exist currently) to the command ADD (0001), SUBTRACT (0010), AND (0011), NAND (0100), etc". Can be done, you'll just have to make some alterations to how the ALU functions. I can help you with that if you still want help on it.
@andreyrumming6842
@andreyrumming6842 4 жыл бұрын
As for EPROM, you can build a simple enough circuit to take the output of the internal program memory and save it to an EEPROM or EPROM chip (Either would work), as well as have it load from the EEPROM/EPROM and save it to the running program memory. Can be done, and would be quite fun to have like 10 different EEPROM chips offboard in a container or something with different programs pre-programmed into them. Just swap out the correct EEPROM chip into the save/loader circuit, hit "Load", and off you go
@bobdagamer640
@bobdagamer640 4 жыл бұрын
Andrey Rumming couldn’t you just add multiple times like how the micro instruction thing works
@thepvporg
@thepvporg 5 ай бұрын
Maybe a better design would add another set of strips to the bus and it is a reset signal bus which carries both types of RESET.
@SiggyPony
@SiggyPony 5 жыл бұрын
I had some stability issues on my control lines and address bus especially when working on the control logic because for some reason if the control lines ever floated weird shit started happening. My biggest issue was with the 74LS32 in the clock circuit almost burning itself out because of the floating HLT line as I was working on the control logic. I also encountered erratic behaviour from the computer when the clock is running at full speed (the program the counts to 42 is instant at full speed, and I have to use an oscilliscope for debugging). My solution was to all 1k pulldown resisters to the system bus as oppose to the 10k ones and to add a seperate 1k pulldown resister at each module directly where the control signal connects. I found that 10k pulldown resisters didn't pull the voltage low enough to cause the signals to count as low in some places and caused the address bus to float at 1.4v oftern when nothing was connecting it to ground. I also added some big electrolytic caps at varying places along the power rails for higher power draw situations and decoupling caps on the rails also. Now my processor runs at full speed flawlessly completing calculations right at the instant you press the button, right now thats about 450Hz according to my scope, but I might try increase the speed eventually
@AnalogDude_
@AnalogDude_ 6 жыл бұрын
Hey Ben Eater, you could try and add another 555 timer and PWM the leds and cut power consum in half, depending on the frequency by the 555 timer.
@thewhoareyouperson2774
@thewhoareyouperson2774 7 жыл бұрын
Have you ever thought about adding some sort of serial connection to it, so you could 'control' it from your computer? After jmp/etc is implemented of course, but it would be neat to make it do a simple game, or 2+8=whatever somewhere other than hardcoding it in
@amrkhaled9203
@amrkhaled9203 4 жыл бұрын
I have power issues and I noticed that the VCC on my breadboards is between 4.19v-4.6v which is less than VCC required by chips to operate properly . Some chips operate properly though ,but program counter is counting in a weird behavior . So my question is: Can I connect a power supply to the right half of the computer and another power supply to the left half of the computer ? If so, will this have a bad effect on modules connected to the bus from the right and left halves of the computer ?
@lukasrussell5905
@lukasrussell5905 7 жыл бұрын
I LOVE THESE VIDEOS!!!!
@JarppaGuru
@JarppaGuru 11 ай бұрын
4:15 even get simpler. remove nand gate after /ts. use reset and TS for last nand. vola! and add that TS to control roms 2x vola.
@farukyldrm8498
@farukyldrm8498 Жыл бұрын
does he have a compiler and a loader for that computer? or similar functionality with an easier use than filling memory cells by hand
@paulcarter7238
@paulcarter7238 5 жыл бұрын
if you did not clear the A buffer it could run again and add to that until it goes past 255...thanks very much
@cogwheel42
@cogwheel42 7 жыл бұрын
Jameco offers breadboards with a 1 year warranty. I'm waiting for a pack of them because the Elegoo ones I got off Amazon were total crap. Dip Switches won't stick in them at all, tactile switches barely stay in... plus the same problems you show with the cheap one here. I've made some progress on my Brainfuck CPU but the breadboards can cause some real problems if you skimp.
@ferencakosjambor1144
@ferencakosjambor1144 5 жыл бұрын
The numbers to be added are given by the last four bits of the programmed program in the ram?
@EdwinNoorlander
@EdwinNoorlander 7 жыл бұрын
So Ben, what are you going to do in the next video? More op-codes?
@erniepasveer8027
@erniepasveer8027 7 жыл бұрын
Yes, I'm very interested in "what's next". I just love this series of videos.
@Crushnaut
@Crushnaut 7 жыл бұрын
I am building this computer myself. I am thinking about adding audio out, just a little speaker. I was thinking instruction would be first four bits for audio out, next four for an address. The tone played would then be the value of the memory address with the first 4 bits being the tone, and the second 4 bits being duration (maybe in increments of 1/8th of a second). That would give it 16 different notes, that can be played for 0-2 seconds in 1/8th of a second increments. I also want to figure out a way to expand the capacity of the memory. That will be very challenging though. *edit ... oh and a keyboard to program the memory would be cool
@palpatinewasright
@palpatinewasright 7 жыл бұрын
I'm hoping for a simple jump instruction, so we can get some simple loops.
@404Anymouse
@404Anymouse 7 жыл бұрын
Crushnaut Normal approach is to memory map the io, that means as far as software is concerned, you control peripherals by writing control word to certain address of memory. The peripheral's enable pin is then activated via combinatorial logic in case the right address appears on address bus. Not having separate address and data bus complicates it a little but you can use what you already have for accessing actual memory
@palpatinewasright
@palpatinewasright 7 жыл бұрын
Memory mapping is great, but when you only have 16 bytes of address space you can run out very quickly.
@richard6768
@richard6768 7 жыл бұрын
Have you had any problems not using smoothing capacitors on the TTL chips? Mine was behaving very wonky until I started putting capacitors on all the chips.
@Shyssiryxius
@Shyssiryxius 6 жыл бұрын
After hooking up the reset signal to the program counter and removing the permanent wire to ground on the master reset on the chip my program counter acts weird and resets after a few counts. Ideas?
@xc_gwpl
@xc_gwpl 5 жыл бұрын
Try adding a register for memory banking, and increasing the amount of memory.
@israeldlr4365
@israeldlr4365 7 жыл бұрын
this is beautiful
@vitaliimakarov6181
@vitaliimakarov6181 Жыл бұрын
Can someone explain why we need to reprogram the top memory every time, but the memory on the bottom somehow persists forever?
@EebstertheGreat
@EebstertheGreat 4 жыл бұрын
What are the green and yellow jumpers still connected?
@samwe8977
@samwe8977 7 жыл бұрын
Hey .. very delightful work keep going :).... and I have questions please .... I have 7400 and ,or, xor,nad and I wanna connect the output of a gate to another gate input but when I tried to do so nothing work please can you tell why?
@peterchen6462
@peterchen6462 7 жыл бұрын
Great Ben
@damiandassen7763
@damiandassen7763 7 жыл бұрын
are you going to make more videos upgrading this computer?
@Defianthuman
@Defianthuman 4 жыл бұрын
The iPad charger is 5.2 volts. That would explain the brighter lights.
@dachew57
@dachew57 5 жыл бұрын
Hi Ben. How are limiting current to the LEDs? That power usage seems high for that few chips. Maybe I'm missing something tho?
@jamesrivettcarnac
@jamesrivettcarnac 3 жыл бұрын
What are the push buttons you use? I've had such mixed luck with them.
@martandrmc
@martandrmc 7 жыл бұрын
Where are the JMP (Jump) and JIF (Jump If Carry) instructions?
@JarppaGuru
@JarppaGuru 11 ай бұрын
3:12 /TS could be 1bit on roms last opcode step you set it 0 rest address its 1. or invert that thing so its control signal TS. all is there ready setup xD and would save clock cycles in your 16 address computer(cpu) bcoz output is just register c LOL
Reprogramming CPU microcode with an Arduino
31:14
Ben Eater
Рет қаралды 230 М.
How does n-key rollover work?
37:20
Ben Eater
Рет қаралды 241 М.
Trick-or-Treating in a Rush. Part 2
00:37
Daniel LaBelle
Рет қаралды 46 МЛН
The IMPOSSIBLE Puzzle..
00:55
Stokes Twins
Рет қаралды 148 МЛН
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 45 МЛН
ZX Spectrum build, No ULA.
18:33
DrMattRegan
Рет қаралды 21 М.
I Designed My Own 16-bit CPU
15:46
AstroSam
Рет қаралды 2,1 МЛН
8-bit CPU control logic: Part 1
27:52
Ben Eater
Рет қаралды 1,4 МЛН
Why build an entire computer on breadboards?
28:43
Ben Eater
Рет қаралды 3,1 МЛН
Fixing my counter's bouncy button
27:18
BigZaphod
Рет қаралды 8 М.
Breadboarding tips
20:16
Ben Eater
Рет қаралды 444 М.
Build an 8-bit decimal display for our 8-bit computer
32:47
Ben Eater
Рет қаралды 969 М.
8-bit computer RAM intro
13:45
Ben Eater
Рет қаралды 305 М.
The world's worst video card?
32:47
Ben Eater
Рет қаралды 6 МЛН
8-bit computer build: Connecting the bus
19:11
Ben Eater
Рет қаралды 257 М.
Trick-or-Treating in a Rush. Part 2
00:37
Daniel LaBelle
Рет қаралды 46 МЛН