@@yankozlatanov Adding one bit would be one more set of flip-flops. Going from 4-bit to 8-bit would just about double the size of the computer. I know the point you are getting at though. I looked into it a found that a modern CPU has around 3 billion transistors, 35 billion transistors for 32GB of RAM, 7 billion transistors for a GPU, and around 3 trillion transistors for a 1tb SSD.
@@multiarray2320 that is a good question. Most CPUs today are built with EUV (Extreme Ultra Violet) lithography which allows the transistors to be really small, around 13.5 nanometers. A CPU design is going to be more complex than memory cells. For an SSD the architecture is single-cell, multi-level cell, or tri-level cells that are repeated to increase memory size. This makes the designs less complex and the transistors can be a bit larger. Due to the large number of transistors required, it took a long time for SSDs to be an affordable price for consumers. SSDs are still expensive but as you pointed out, cheaper per transistor than a transistor on a CPU.
Got a new sub here. Idk how everyone else is so confusing, you were explaining it and it made wayyy more sense. Great video and an even better teacher. Keep it up fr 👏
Being from a civil engineering background, I'm genuinely impressed by your in-depth knowledge, Your video was not only informative but also incredibly well-expressed. Keep up the fantastic work, you've definitely gained a new admirer!"
You should feel proud of the accomplishment of building a transistor computer, few people have actually done that especially these days, and its given you a deep understanding of how computers work at a very low level. Beyond that, you've done an excellent job of communicating that knowledge through your youtube channel, which is one of my favorite channels. So thank you and hats off to you! I hope you still have the completed project. If so, I have a suggestion. You can buy permanent breadboards that have the same pinout as solderless breadboards. If it were me, I think I would buy some of those and transfer your circuits to them. I would then mount them on a backing, add a frame, and plexiglass cover, and mount it on a wall to display it (perhaps running some continuous program). So not only would it be a personal achievement, but also a work of art on display.😊
Thank you! I do still have the completed project. I might still make some more detailed videos of how each section works. That is a good idea. I was actually planning to frame it eventually! I agree that it is a form of art! It took me a few months to build and I was happy with the results so it is worth the value in parts to keep as a completed project. What do you mean by permanent breadboards?
Of all the homebrew cpu projects I've seen on youtube, this has to have the lowest transistor count by a mile. Working with transistors is a vastly different beast than ICs, and I'm quite pleased to find novel solutions like those ring counters being used to keep things as simple as possible while remaining functional. When I saw the thumbnail in the SoME3 playlist, I thought this was going to be a Ben Eater kit build or similar, so I'm really impressed you got a pure transistor build in the same form factor! Well done all around!
Thank you for understanding this build! :) I really wanted to build a simple computer using only transistors! It was lots of work to figure out a good way to do this. Using the ring counters helped and using edge triggered flips flops for the ring counters helped reduce the size significantly. I learned tons in the process and still need to make more videos that I think people will find helpful! Right now I am trying to apply what I have learned to build some artificial neurons. Which should be pretty sweet! Thanks for watching!
It is really awesome to watch computer at transistor level. Eager to see more of your videos. Thank you for making this video. It is really helpful to understand computer at the lower level.
I am glad you found the video helpful! I am working on the next video right now! There should be some cool projects coming up soon. Thanks for following along!
I really don't know why youtube algorithm doesn't boost your videos. Just look at the amount of comments/ visualizations... keep it up, great work as always...
Oh, he’s a White male that isn’t a jew. So that is maybe why youtube hasn’t promoted that video so much. For example, lex fridman is a jew, so sadly jew-corrupted youtube boosted lex’s videos quickly .
Thank you! Yeah, that would have been a good idea. I do say that the NAND gate is off when all the inputs are on but maybe some people might not know that the NAND gate is on in all other cases.
WOW! I love hardware and some 30 years ago build really complicated circuits also on a quite low level (Well it was 74XX TTL ICs, so one level higher). It is really very impressive what you do and very well explained. Keep on going!! Thanks for a great vid!!
gracias por compartir tu genialidad, es justo lo que da sentido a mis estudios de electronica digital, soy auto didacta y estoy aprendiendo de pocos meses pero esta computadora es el puente entre el algebra de boole, verilog y una computadora fisica, gracias le das sentido a mis esfuerzos un abrazo desde Italia
Sir As an embedded systems Beginner (literal beginner) This Is really helping me ALOT I really wish If you would continue to Upload a detailed videos explaining the blocks of your computer and also provide some reference material for us noobs :)
Great! Understanding how a computer works is important for beginners! In my opinion, this should be taught before people learn to program. I actually already have posted videos about digital logic gates, latches, flip-flops, binary counters, and a 4-bit calculator. If you watch these then watch this video again I bet you will understand a lot more about what is going on. I will keep posting videos and if there's something in particular that is not clear, let me know!
Hopefully you found that it was worth the wait! I was trying to get the whole computer built and make the circuit diagram. Now I should be posting more regularly. If there is anything in particular you want me to make a video about, let me know.
Thanks, that would be cool! I show some of the simple circuits simulated in the how to use EasyEDA and how to use LTspice video. A simulation for the whole computer would be awesome!
I am glad you liked it! I will be adding some more videos about how this computer works. Then we will moving on to artificial neurons which will be more circuit projects, which I am really excited about!
Very cool example. Was expecting just a 4-bit CPU. Not a 4-bit computer. Can't wait for the next version with 7400 and 4000 IC, 8-bit register, and data bus. Maybe even binary and decimal LED outputs. This reminds me of the TTL Clock project.
Thanks! The goal was to build a computer at the transistor level to ensure we know the fundamentals of how a computer works. Now I am working on building hardware-based neural networks. The binary to seven-segment display would have been a good addition. The binary numbers are pretty low though so reading the binary is pretty straightforward.
This is a really cool build, I have wanted to do something similar for some time. Thank you for some ideas on how to build one of the greatest inventions.
Glad I could help! There are also tons of ways to make improvements. I might make a whole video talking about that. Let me know if you have any questions as you build yours!
Thanks, I will be building neural networks that use mostly analog inputs and outputs soon. We will likely build and interface to work with digital machines as well.
I looked into it briefly after you asked the question. I think you could use a diode matrix which would be even simpler read-only memory. One diode could be used rather than two transistors. The enable inputs/buffers would need to be changed as the bytes not being accessed would all need to be off. For non-read-only memory, you would need the simplified tri-state buffers to work with flip-flops as adding and removing diodes to set the bits would not be an option. It is always good to know a simpler way to build things, thanks for the comment! If I make a video about the memory I will have to build a little diode matrix to show.
Great work, I love it! One question I do have is why don't all the MS flip flops (e.g. registers) use the "capacitor trick" that the ring counter uses?
That is a great question! You should be able to for the opcode register and might be able to with the accumulator register. MS flips flops are used very often in real life so I thought they were good to use as an example. Also, MS flip flops are a bit more stable so I did not want to get too risky and find erratic behavior that might be hard to troubleshoot. I do not think many people even knew you could use a resistor and capacitor as a trigger in a breadboard setting. You would have to be careful doing this for the accumulator register though as the ALU updates almost instantaneously. I have it so the clock input is floating on so it latches at the end of the clock cycle for the MS flip flops. For the edge-triggered flip flops, it might work or it might change twice, I would have to think about it more. If it triggers twice you might be able to set the input to the clock gate from the inverse of the clock input. Let me know if that makes sense or if you have any other questions. Hopefully, you liked the 7 stage counters! I finally got around to showing them!
@@GlobalScienceNetwork I understand the "capacitor trick" is actually a capacitor and resistor in a high pass filter configuration (differentiator) and that this is a way to create an edge triggered pulse (since the derivative of the square wave and dv/dt at edge transition is large and so a spike results). I have used that technique before to convert a long pulse from a oneshot to a clock pulse required for the next stage, so I am familiar with the concept. But having said all that, I do think the MS FF is a more solid design, and I was simply just curious why you did both (which you answered above). And yes, I love the 7 stage counters, I plan on building a similar circuit at the transistor level to do frequency division for an "old school" project I have in mind, so I will adopt your design for that. Great content and thank you for your patient and detailed reply. I love your dedication to this project and look forward to future videos on your channel, it's a real gem!
@@Enigma758 That makes sense. And thanks for following along! I am excited about all the cool things we can build with some basic electronic components. It should continue to be a fun process. Let me know if you make a video about your "old school" project!
@@GlobalScienceNetwork If you google search for "Hackaday Transistor SCR Ring Counter Circuits", you should be able to find the beginnings of my project.
Thank you! I plan to be posting lots of new helpful content soon! Thanks for following along! These will be some interesting projects to be involved in!
i've been playing this game called turing complete recently where you have to do this kind of thing and now i'm tempted to go and spend large amounts of money on breadboards lol
Sweet, that game seems interesting! More people need to learn circuits at the transistor level. I say buy the breadboards! We will be building other novel circuits as well so there will be lots of ways to be creative with the circuits you build.
Nice! Saw now. Thanks for posting the educational video. Is that based on ben eater style breadboard computer? Have ported it to an SMT PCB design yet? That would be a useful educational tool and making an SMT PCB edition would make it vastly easier for robots to make them fast. I have done enough breadboarding to know that doing the wiring isn’t going to be any major learning experience, aside from being reminded to not do complex wiring on a breadboard. Haha. By the way, recommend adding a 7 segment display, if possible.
Yeah, showing how to make a PCB of the design would be educational. This computer is not based on Ben Eater's computer. I started building each section using basic logic gates and flip-flops. I used Jerry Walker's book, Computer Time Travel to help fill in knowledge gaps. He built a transistor-level computer based on the Zilog Z-80 8-bit microprocessor. This computer is not any specific computer so I called it the GSN477. Since it is 4-bit it would be most like the Intel-4004 but is a bit different then that. I might do a video sometime showing how the 4004 is designed.
Sure, I can try and help. I drew the circuit up in EasyEDA but I can use LT spice as well. You are talking about the simple inverting tri-state buffer not the open collector tri-state buffer correct? If so the expected behavior is for the output to be on when the input is ground and enable is ground. In the other cases the output should be off. If you want to share the circuit you can get my contact email from RU-vid on the about tab.
Hmm it would be cool to build a Turing machine! I am working on building artificial neurons next. It should be pretty interesting, it may be about two months before I make a video about it.
@@GlobalScienceNetwork I was also reading about Programmable Interrupt Controllers, which store a table of pointers to microprograms termed an "interrupt vector". It takes soft interrupts from its native processor core and hard interrupts from everywhere else, and sorts them according to priority, with the highest priority interrupts handled first. It saves its processor core's status all in one fell swoop when it gets such a signal, and loads the function's pointer into the PC (which it can modify) offset by a memory pointer which be a multiple of a certain power of two. When it receives an interrupt finish signal, it returns the processor to its previous state, writing all registers, again, in one fell swoop. The real challenge is the I/O controller, which maps I/O space either to memory or to a separate space called the "port". Memory-side interrupts to it act as "output" while peripheral-side interrupts are "input".
@@GlobalScienceNetwork I realised that such an instruction as "halt" happens to be more likely to be among a CISC architecture than in a RISC. The RISC equivalent would involve a system call or soft interrupt instruction that feeds a certain code to the PIC that pulls down the enable line to its native processor, halting it from further execution until it receives a hard interrupt. I also imagine an interrupt instruction can be used to return execution from a function call to the address where the call happened.
@@TheRojo387 that seems right. It is good that you are looking at more advanced concepts than just how the basic computer works. It can be upgraded and modified in lots of different ways!
Most of them will work but the BB830 by busboards are the best and worth the money if you have the funds! This was built with average quality boards and worked but I did have to swap about 4 of them out that had issues. So now I use the better breadboards.
I do have other videos about how all the parts of the computer work. Start with logic gates, then the 4-bit calculator/ALU. Then watch about flip flops. From there when you see the circuit diagram provided it should start making sense how it all works. It would be good to make a video about how each circuit works as you mentioned for further clarification. With the video I made you should be able to built the computer if you wanted to.
Hi again, at 4:29 I count 11 transistors per J-K FF. The FF consists of two 3 input NAND gates (3 transistors per gate) and two 2 input NAND gates (2 transistors per gate) for a total of 10 transistors. Yet I count 11 transistors per FF in the image. Why the extra transistor per FF?
Hi! You have the right idea but if you look at the logic gate-level circuit diagram there are three 3-input NAND gates (3 transistors per gate) which is 9 and just one 2-input NAND gate (2 transistors per gate) which is 2. So 9+2=11. The third three-input NAND gate is for the clear. This makes it so it is easy to reset the counters after startup where they would likely be at a random value. The clear feature option is also added to all the registers. In my videos about flip-flops, I might not have had a clear option cause it is not really needed for a stand-alone circuit. Great question!
Yeah, a modern computer will have resistors and transistors. Logic gates are used but MOSFET transistors are used rather than BJT transistors so the connections are made differently to achieve the logic gate types.
Not from the wires or components on the breadboard. If I powered the computer with a USB cable from the wall and an unshielded cable there was some noise on the incoming signal. Since this was a digital computer the noise was not enough to make the transistors not work. It is something to be careful of though when making analog designs.
Yeah, adding 7 segment displays would be a good addition to the project. Since the numbers are low it is pretty easy to read the numbers displayed in binary though. You could use an IC for the decoders or build them using individual transistors which would be the idea if the displays were added to this computer.
I'd love to build a condensed version of this with integrated circuits. But I do wonder: is it possible to write recursive programs for it? A Fibonacci calculator, for example. What would need to be done to make that work?
I like the way you are thinking. Pretty soon I will be uploading videos about building artificial neural networks. We will need to find ways to get a small network to do useful computations. Stay tuned!
Well, I just realized that it'll probably just do that on its own if I don't write a HALT instruction into the program anyway. In either case, I'll figure it out once I get there. I already have the ALU nearly complete.
Please consider doing this build again but with relays instead of transistors. The reason is relays are just copper and iron and you can also generate electricity, so this would show that a computer could have been built thousands of years ago. Whereas transistors require very sophisticated manufacturing process.
Interesting idea. I am not quite sure what you mean by generating electricity. It would still consume power. Do you know the part number of a relay you have in mind? I probably will not build an entire computer this way but my net project does use relays/optocouplers.
@@GlobalScienceNetwork the point is how would YOU make a computer eg if none existed and the year was 1750. You would get some copper wire and magnet and make a generator. And those are same materials to make a relay! So you could make full computer with stuff you could make in 1750 (ben franklin would be proud). and it's not so much about 'time travel' or 'apocalypse', but rather most people understand wire and magnets in a fundamental way, like water and dirt. so you show them a transistor, and it might as well be a microchip to them. it's impenetrable technology. but relays feel like every day objects if you see it's just a coil of wire and a magnet.
@@GlobalScienceNetwork you should dress up like benjamin franklin or michael faraday and and build a whole computer from just coper wires and magnets. that would be so cool. honestly this could have been done thousands of years ago. the hardest part is collecting magnets for the generator. getting copper and iron wires has been doable for thousands of years.
@@JamesAwokeKnowing ha ha that would be funny! Yeah with a little insight, lots of things could have been done sooner. Think about what we could be doing now but probably just do not realize it yet!
I am a CS major and have minor knowledge with electronics, besides some digital logic courses. I have been trying to build the SAP-1 out of just transistors, but keep running into issues where my output is not strong enough to carry through to the inputs of other logical operations. For example, I built an adder/subtractor unit, but when I place the unit in subtraction mode, the borrow bit does not get enough voltage through it to light up the led. Is there something that I could do to ensure the output of my logical operations are strong enough to power other logical operations?
Ola, estou gostando muito dos seus videos! Acabei de descobrir seu canal e estou muito feliz. Assisto e repito seus videos milhoes de vezes. Voce poderia fazer um video montando um circuito com transistores do circuito integrado CD4017?
Ótimo, obrigado por assistir os vídeos! Que tipo de contagem você está fazendo com o CD4017. Já tenho vídeos mostrando como fazer um contador binário e contadores de anéis com transistores individuais. Estes funcionam de forma semelhante ao CD4017.
@@vivavintage7940 A folha de dados do chip pode ter o layout do transistor. Eu não estava construindo os circuitos da maneira exata como eles são construídos no IC. No entanto, isso poderia ser feito.
Estou tentando ha mais ou menos 3 anos fazer esse circuito. Primeiramente estou me dedicando e tentado aprender os simbolos da eletronica digital e as portas logicas. Estou tendo dificuldade porque aqui no meu pais nao encontro pessoas com o conhecimento avançado, por isso tenho que recorrer ao conteudo internacional, onde achei seu canal e isso esta me ajudando muito. Muita gente nao gosta de compartilhar o conhecimento e isso atrapalha um pouco. Te desejo sucesso nos seus videos, estarei sempre aqui acompanhando suas postagens. Um abraço de seu amigo George.
You are einstien and should get a token of appreciation of your hardwork i am inspired by your project but i can't afford approx 1000 transistors plz tell xan we create them with vaccum tubes or there is any other way
Thanks! Well transistors are probably the cheapest way. You can get 1,000 transistors for around $30. All the other parts, breadboards, wire, batteries, etc. does add up. You can also build simulations of circuits for free on a computer. Or just build smaller circuits to get started.
That is a good question. I did not track the exact length. It is surprising how fast you go through a 30 ft spool or wire though. I would estimate about three 30-foot spools of red, three blue, three black, one white, and just a little bit of green were used. So around 300 feet of wire total.
Yeah near the beginning of the video I show the full logic gate level circuit diagram. It is in 4K so you should be able to read the details. If you email me I can also send it to you.
@@divyaswarupmishra5388 Those should work. I am pretty sure the orientation is backward though, the emitter-base collector is the collector base-emitter. This just means you have to rotate the transistor 180 degrees.
The values on the bus are all on by default and the values are set by grounding the ones that should be off. Data is loaded into the register with the Load A command. Data is sent from the register with the Enable A command. The values get latched high for high inputs and low for low inputs into the register. Load A is done with a high signal, enable A is done with a low signal. If you look at the circuit diagram it shows what type of signal is needed in each case coming out of the control matrix. I hope this makes sense for you!
Yeah, I am going to build most projects from discrete components such as transistors, resistors, capacitors, LEDs and wire. The next projects is artificial neurons, which should be pretty sweet!
You are taking science backward to the very difficult days. During the 1930s or 1940s world's first solid state electronic was achieved through vacuum valves. I am not sure because it is long time back they must be some short of vacuum valves or something short of that. Those were very bulky and they make a even a small transistor radio very big in size. Ground breaking innovation came in the form of a transistor hence valves or vacuum tubes became redundant they made the size very compact as well as switching very fast does high frequency switching was possible. After that came the ground breaking invention of integrated circuit. An integrated circuit is a small chip that has millions of transistors in it. The VLSI integrated circuits has more than billion trangisters. Then came the ground breaking invention of CPU that is central processing unit which has billions and billions of small switching transistors. When world's first computer was designed I think if I am not wrong they were made of vacuum valves and then computers were made of transistors. But nowadays computers are become so small and compact they are made of a central processing unit. Even innovation did not stopped at that stage and now a days came microcontrollers which is a central processing unit and random access memory and erasable reprogramble memory all in one chip. Only 4 bit computer requires so many transistors and breadboards. Try a little more faster one gigahertz computer 64 bit. You are basically taking science backwards next try a vacuum valve or vacuum tube computer😂😂😂
The Intel 4004 was built in 1971. The idea here was obviously not to utilize the computational power of the computer. The reason this was built was to explain how a computer works in the simplest terms possible. Most people only have a vague idea of how a computer works. We are going to be building hardware-based neurons which are the future. Having a community of people who understand the fundamentals of circuit design will be important. Watch my latest video on artificial neurons and you should get some sense of where we are headed. More videos coming soon!
What would you like clarified with the explanation? I show all the circuit diagrams. I have other videos about the logic gates, flip-flops, and adders.
@@vinigame7490 I think you mean the control matrix. My explanation was brief for the complexity of it. I was planning on making a detailed video of each section which I will likely do in the future. I have been working on work and on building artificial neurons which I will make videos of soon. The control matrix does have a logic gate level circuit diagram which is connected to the other circuits in the full computer circuit diagram. I explain one of the control matrix options in detail. If you follow where each line is connected and which gates are used you can likely make sense of it.