@@The_Real_Grand_Nagus It's not a matter of appreciation, but rather of comprehension. It's simply too complicated to understand and enjoy it, if you don't have electronic engineer background, or at least a massive interest on low level logic/electronic. Can't blame them. Try to understand how the AI type of LLM work. You will, but will take a lot of effort and focus.
If I had watched this video as a teen, I can't imagine how it would have blown my mind! I used to spend days in our backyard, chalk in hand, sketching out ideas in front of our yard shed, trying to figure out how to make a simple calculator with gates. I never quite succeeded-and I didn't even have the internet back then! Thanks, Cody!
Sounds like you have the mind to build cool things! Having the internet today defiantly allows us to have access to more information. It is never to late to start a project!
@@GlobalScienceNetwork Could I have the circuit diagram please and a pdf transcript of the explanation please? I'd like to build it myself. I'm a student in electronics engineering.
@@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.
Yeah, that would be great! When I took my first programming course this is what I thought we would be learning. Instead I found it to be more of a typing class where we use someone else's program. It would be good for students to understand how a computer actually works before learning a programing language!
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!"
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!
Sweet! Yeah, building circuits with individual transistors can be a good way to see/know exactly what is going on. If you built the 8-bit computer I bet you will be able to contribute when we start building artificial neural networks. I started with a simple computer before jumping into trying to build different types of computational devices. I have plans for some cool future projects. I am glad you found the channel!
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 .
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?
❤ this project! 👍 I'm an EE. I've been doing this since i was 16; 1982. Back then I took correspondence courses in electronics, then digital microprocessor: Cleveland Institute of Electronics. In one project we build a 4-bit computer using very simple ICs. We used a 4-bit ALU that greatly reduced the complexity. We used a 1kbit RAM memory chip to hold the data. We could either single step each clock by hand switch, or use a 1Hz clock. All that it did was add, subtract, xor and not. It used only a few breadboards. I would ❤ to build this huge design though! I like going down to the transistor level like this video shows. One suggestion though: surface mount parts on a cheap PCB fab. PCBs from China have become so cheap that it's better to do board layout. I would still keep each block separate though. This is perfect project for a young person wanting to learn more about how computers work. I think this channel should write a book on this. I already want a copy! 😂👍
Thanks! That sounds like a good course you took. Yeah, it would be cool to build this on a PCB! Making this into a course with a textbook is an interesting idea as well! Once we get a decent design for hardware based neural networks I will turn that into a PCB project when the design becomes to big for breadboards.
Bro you're the real men among others , this needs actual balls to make something like this , talking shit about this is easy but actually implementing it is an extraordinary skill 😊, keep it up brother ❤
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!!
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!
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 👏
Seriously impressive . . . not sure I would ever devote such effort to this sort of project, but it is amazing to behold, all with generic 2n2222 NPNs. So, imagine, just for a nanosecond, building a 32 bit version, and running Windows on it (OK, how about Windows 7) . . . with ancient germanium transistors. OK, it's a concept . . .
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.
Thanks, yeah depending on the interest level most people should be able to build this project. Just start with basic logic gates on a breadboard and then start building each section of the computer. It is a hybrid of a puzzle, art, and technical science.
My jaw dropped. Amazing job. I have seen the processor built with TTLs, but transistors? Never. From what I see, the space used by transistors is even smaller than that used by TTLs and that's odd since TTLs are more integrated than transistors. I already see it as an educational tool or project for bigger groups. Each group builds one component and then they join it into one system. Beautiful.
I am glad you see how it all comes together! Yeah, I think this is what should be taught in school before students learn to program. So they have a fundamental knowledge of how the computer works. If you have the vision follow along as we build new and more advanced computational projects!
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.
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!
@@wondersarfo9201 Yeah, it is computer engineering but it is also computer science. Computer science is the study of computation. While it is common to think of computer scientists as software developers, and programmers the term is broad and encompasses lots of different types of projects.
@@GlobalScienceNetwork well most computer scientists I know have less the slightest idea about Kirchhoffs laws and other circuit knowledge and also have less idea about solid states electronics.. It’s more of algorithms and coding
@@MustaphaRashiduddin-zx7rn I just went straight to building the computer with individual transistors. It makes more sense to me to be able to see all of the components. I would start with basic logic gates, then build the 4-bit calculator which will turn into the ALU. Once you get that done build the clock and it should start to make sense. I have another video where the computer is half done which is a good midpoint of the project. If you have any questions during the build, let me know.
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.
Absolutely astonishing. I’ve messed around with some basic microprocessor projects shown on my channel and I’d love to go this deep. How long has this taken you all to learn. Great job
Thanks! It is fun to build circuits at the transistor level! I stated with basic logic gates using transistors, then went on to flip-flops and building a 4-bit calculator. After I have the fundamentals down it took me three months to build the 4-bit computer.
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
As a kid, I wondered what it would be like to build one of these using wire-wrapped nails as relays/switches (instead of transistors) lol Either way, this is so cool! ...especially since you used raw transistors, which makes the whole thing just magical. Using raw transistors (no ICs) is like the assembly language of digital circuits.
Thanks! I am glad you appreciate the project. Yeah, it would be cool of you could build a simple computer out of relays/switches as well! Depending on when you were a kid that is how it all got started.
Using a finite state machine (FSM) that runs over multiple time steps could simplify the design of your 4-bit computer, the GSN477. Here's how it might work: Reduced Hardware Complexity: By introducing an FSM, you can sequentially manage operations that would otherwise require separate hardware components. For instance, instead of having dedicated hardware for each operation (like addition, subtraction, etc.), the FSM could handle these using a smaller set of shared components, reducing the total number of gates and flip-flops. Time-Multiplexed Operations: The FSM allows the computer to reuse the same hardware across multiple clock cycles for different tasks. For example, the same ALU could be used for both addition and subtraction, depending on the state of the FSM, reducing the need for separate units. Simplified Control Logic: The control matrix and opcode decoder could be streamlined by incorporating an FSM, which could manage instruction sequencing and execution steps more efficiently. This would minimize the complexity of combinational logic required for control. Trade-off: The trade-off with this approach is that the system would need more clock cycles to complete an instruction, as each step of the instruction might be handled in a separate state. However, for a simple 4-bit computer, this trade-off might be acceptable given the savings in hardware components. Overall, using an FSM in this way can make your design more efficient in terms of the number of components, even if it requires a bit more time to execute instructions. Minimal FSM Example: States: Fetch: Read the instruction from memory. Decode: Determine the type of instruction. Execute: Perform the operation (e.g., ALU computation, memory access). Write Back: Store the result. Increment PC: Move to the next instruction. Transitions: The FSM transitions from one state to the next on each clock cycle, progressing through the instruction cycle. Limitations: Instruction Complexity: The simpler the FSM and instruction set, the more limited the system's capabilities. However, even a very basic FSM can be Turing complete if it supports loops and conditional branching.
Recursive FSM for Multi-bit Processing Instead of building a full 4-bit (or more) wide data path in hardware, you can design a smaller, simpler FSM that processes one bit at a time, recursively or iteratively handling the entire multi-bit operation over several clock cycles. Concept: FSM Design: The FSM processes each bit sequentially, from the least significant bit (LSB) to the most significant bit (MSB). State Representation: The FSM would include states for each bit position, and the states would recursively process the current bit and then move to the next bit. Data Handling: The data registers store the current result, and the FSM updates these registers bit by bit as it processes each bit position. ALU Interaction: The ALU can remain simple, only handling single-bit operations at a time. The FSM will control the ALU to combine the results of these single-bit operations to produce the final multi-bit result. Operation Flow: Initialize: The FSM starts with the LSB (bit 0). The initial states prepare the system for the bitwise operation. Process Bit-by-Bit: Bit Fetch: The FSM reads the current bit from the operand(s). Bit Operation: The FSM performs the operation on the current bit using the ALU (e.g., adding two bits, logical operations). Accumulate Result: The result is accumulated in a register, potentially with a carry or overflow flag if needed. Advance: The FSM moves to the next bit position and repeats the process. Completion: After processing all bits, the FSM transitions to a final state where the complete result is available in the register. Result Handling: The result is either stored back in memory or used for further computation. Advantages: Component Reduction: The design reduces the number of required components, as the FSM and ALU only need to handle single-bit operations. Scalability: The same FSM design can handle any bit-width (4-bit, 8-bit, etc.) by simply extending the number of cycles it takes to process the data. Simplicity: Simplifies the control logic, as the FSM only needs to manage single-bit operations and move between states based on the bit position. Example Implementation: For example, in a 4-bit addition, the FSM would: State 0: Add bit 0 (LSB) of two numbers, store the result in a carry register. State 1: Add bit 1 with the carry from the previous step. State 2: Repeat for bit 2. State 3: Add the final bit (bit 3), considering the carry. Each state handles a single bit, and after all states are processed, the final 4-bit result is stored. Limitations: Speed: The main trade-off is speed. Processing one bit at a time increases the number of clock cycles required for each operation, which can slow down the system significantly compared to a parallel 4-bit or wider data path. Complexity in State Management: Although the hardware is simplified, the FSM needs careful design to manage state transitions and bit-level operations correctly, especially for operations like addition with carry. Conclusion: Using a recursive FSM to process one bit at a time is a viable approach to reduce hardware complexity in a 4-bit computer (or any n-bit system). This method leverages the FSM to handle multi-bit operations sequentially, which can be especially useful in environments where minimizing hardware resources is critical. The trade-off is slower operation, but for many applications, this can be acceptable given the simplicity and scalability of the design.
Isn’t he already using an FSM? There are 8 states for each instruction. There is one ALU, it does addition and subtraction, it isn’t separate. It is a requirement to add the xor gates for subtraction since there are no instructions for bitwise operations - that sort of hardware doesn’t exist anywhere else in this processor. Wouldn’t a FSM will end up looking like this when constructed out of transistors? Reusing hardware for multiple tasks results in the controller becoming more complex - the trace off is only worth it when the controller’s complexity increase causes less transistors to be added than the number of transistors that were removed due to removing hardware. In this case, what specifically do you propose should be removed?
Interesting, I had to think about this for bit. I think you could build a more simple FSM out of transistors. However, I think there is a reason that the Von Neumann architecture is what was adopted for most digital computing applications. As you stated a simpler FSM would take more clock cycles meaning slower computation times. Many advancements to computing where to find ways to make things more parallel even if that meant more components. There could be a case where high computational power is not needed and a system with less components meaning less point of failure would be advantageous. Also, if you built an even simpler computer or a demonstration it would be sweet project and I think you should give it a try. If you need any help, let me know.
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!
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 am glad you liked the project. You could try and build it or or follow along with the channel as we will be building hardware based neural networks next.
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.
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!
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.
@@adog3129 I'm much more on the software side now. About mid career I went back and got a masters in CS. But I still have my breadboards, tons of components, oscilloscope and other test equipment. I've never let go of my love of electronics.
Very cool. I am glad an experienced EE found the channel. Follow along and I bet you will be able to contribute valuable information to future projects! Was the 74LS181 also built with discrete components or did you build the computer around the IC?
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.
Very interesting. Truly a great piece of art! I was going to build the exact setup for a punch card computer but found it to be very cumbersome. So I just skipped building the computing part from scratch with transistors (or logic gates), instead I used an Arduino. My focus was more on building the punch-card reading functionality. Made a few videos of it. You can find them on my channel. I was wondering it will be very awesome if we can combine this 4-bit computer with a punch card reader.
Yeah, that would be cool if you could combine the punch card readers with the 4-bit computer. I also see building these types of projects as a work of art. Your punch card reader is sweet. Programing with punch cards was before my time! I like your soccer robots! Can you purchase those somewhere? I am looking for a good vehicle platform to control with artificial neurons for an upcoming video.
@@GlobalScienceNetwork Cody! Thanks for the attention! I'm trying hard to make a video on how to build one of these punch-card machines... Anyways, Regarding the soccer robots those are the robots we built for a competition called RoboCup. We participate in the Small Size League. The robot doesn't navigate alone. It blindly receives navigation signals from a central computer. The central computer is connected to a camera mounted above the soccer field and with that the computer knows where each robot is located. Pretty cool stuff! If you think that works for you I'd love to help!
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.
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.
Very cool... but it's actually not a full computer, more like a calculator, as I don't see any method of doing a comparison, supporting flags or jumps. Will that be an enhancement that you'll be making to it?
Thanks, I was just trying to build the simplest computer possible. I started with a 4-bit calculator and that was used as the logic for the ALU. Adding the jumps and flags would not be hard if you think that is important. I did think about adding if statements and loops into the program. That would be the next logical step in my opinion. Maybe sometime I will re-visit that if there is interest. Right now though I am trying to take what I have learned and am trying to build hardware based neural networks.
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!
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 UA-cam on the about tab.
I would have to see the circuit drawing to see why. You could email me. Did you try building the buffer on a breadboard and then draw it in LT spice? That would be helpful. I do have a video about how to use LT spice.
Obrigado por ter feito esse trabalho, estou extremamente feliz de entender melhor CPU, finalmente o REAL funcionamento de um processador de forma simples e objetiva, não existe 0 e 1 pois são abstrações, o que na realidade acontece são correntes eletricas passando (ou não) pelos compenentes. Uma dúvida, talvez tenha explicado no video mas não sou muito bom em ingles, como é definido o clock, ou seja, a velocidade que se realiza as operações ?
Fico feliz que você tenha achado o vídeo útil. O relógio cria uma onda quadrada que fica ligada e desligada por aproximadamente o mesmo período de tempo. Nesse caso, a taxa de clock era lenta, pois foi construída para fins de demonstração. Quando o clock fica alto ou baixo, ele pode ativar ou desativar partes do circuito e pode acionar travas e flip-flops para alterar seu estado e passar dados pelo computador.
This was *NOT* stolen from another UA-camr who already did a great job making this PC as well as kits for people to learn themselves. (edited to fix my mistake)
This was not stolen from another UA-camr. This is similar to the Intel 4004 that was built in 1971. The von Newman computer architecture used here was invented by John von Newman in 1945. If you watch the full video I say at the end no one that I know of in recent history has built a breadboard computer out of individual transistors other than Jerry Walker who built an 8-bit computer and wrote a book about it. Back in the early 1970s lots of people were learning to make computers this way. Today many people build breadboard computers out of ICs. These are fun projects and a processor even comes on a single IC so you can "build" the processor with just one chip if you wanted to. The idea behind this project was to build all the circuits for the simplest 4-bit computer at the transistor level. Some people may say this is not necessary but I think it is the best way for everyone to learn how computers work. I learned a lot in the process which I am now using to build hardware based neural networks, which is what I am most interested in.
@@GlobalScienceNetwork Your right, my mistake. The content I had in mind was Ben Eater's 8-bit computer. Thanks for the detailed explanation and sorry for wasting your time! Appreciate the original content. Subscribed.
@@beeasy247 Great thanks! No problem, it is pretty common for people to think that breadboard computers are all the same. Building them at the transistor level is the way to go in my opinion and it was a fun project that only required basic discrete components.
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?
That is cool you are trying to build a computer out of just transistors! Is your power supply 5V? That is what I used. From there if the logic gates are built properly the output should start at the full 5V. Did you watch my video on how to build logic gates and flip flops? If you use the same configurations it should work. Assuming that is the same, sometimes on a large breadboard circuit capacitors are needed on the power rails to ensure there is not a voltage drop across the breadboards. Sorry for the delayed response. If you have more questions, let me know.
Once I learned and made videos about the logic gates, flip-flops, and 4-bit calculator, it took about three months to build the entire computer. I spent about one week on each section and pieced the computer together as I went. I have another video with a similar title where you can see the computer build half way through the project. If you are interested in building the project I would start with logic gates and then build the 4-bit calculator. I drew the complete circuit diagram at the logic gate level after I built the computer and it only took a few days, mostly to check that the connections were correct. I also have a video where the 4-bit calculator is drawn at the discrete component level.
Hello I’m new to computers and want to start learning to someday build something great like this. What do I need to learn in order to create a project similar to yours? BTW this is awesome!
If you watch my videos starting with digital logic gates you should be able to build the entire computer. After you watch the logic gate video, try and build a full adder followed by the 4-bit calculator. From there you will have a good handle on things.
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 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.
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.
It would be cool to supply a little Arduino interface to allow the Arduino to be used to easily load programs and use it's own memory as the computer's memory
Yeah, that would be cool. I am working to build artificial neurons on breadboards now and I plan to wirelessly send the output to a little vehicle so I can control it with the circuits build on breadboards. This way I can change the circuit and not have to build a finalized design with a PCB that would fit on the vehicle.
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 have the complete circuit diagram drawn at the logic gate level in EasyEDA which I show near the beginning of this video. You need the component level for the simulation to run. I did build a 4-bit calculator which became the ALU at the component level which was able to be run as a simulation. I show this in the EasyEDA video on this channel. If you are good at making simulations it would be cool to have the entire computer built as a simulation.
Absolutely insane, this should have millions of views!
Thank you! Maybe someday it will! I am posting some more good content soon!
Definitively! But unfortunately only IT geeks like us look for this🙂
Yeah I don't think the average person really appreciates stuff like this.
@@The_Real_Grand_Nagus It's not a matter of appreciation, but rather of comprehension. It's simply too complicated to understand and enjoy it, if you don't have electronic engineer background, or at least a massive interest on low level logic/electronic. Can't blame them. Try to understand how the AI type of LLM work. You will, but will take a lot of effort and focus.
If I had watched this video as a teen, I can't imagine how it would have blown my mind! I used to spend days in our backyard, chalk in hand, sketching out ideas in front of our yard shed, trying to figure out how to make a simple calculator with gates. I never quite succeeded-and I didn't even have the internet back then! Thanks, Cody!
Sounds like you have the mind to build cool things! Having the internet today defiantly allows us to have access to more information. It is never to late to start a project!
@@GlobalScienceNetwork Could I have the circuit diagram please and a pdf transcript of the explanation please? I'd like to build it myself. I'm a student in electronics engineering.
So cool, less than 1000 transistors. Hard for me to wrap my head around modern chips with 8.5 billion transistors. THANK YOU!!!
Thank you, yeah that is interesting to think about! You would need over 100 million breadboards if you were building this way. ha ha
Just adding 1more bit of power to this computer will increase the number of transistors maybe by factor of 2 so imagine 32 or 64 bit computer.
@@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.
@@GlobalScienceNetworkwhy are ssd's so much cheaper even though they have more transistors?
@@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.
This should be teached every evening on TV for under graduate !! GREAT JOB !!
Yeah, that would be great! When I took my first programming course this is what I thought we would be learning. Instead I found it to be more of a typing class where we use someone else's program. It would be good for students to understand how a computer actually works before learning a programing language!
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!"
❤
Thanks Kiran! Getting other engineers interested and helping with these projects in the future is the goal. Thanks for watching!
Really cool stuff, understanding a basic computer from scratch is where its at.
Thanks! It is a fun project and makes you realize how many other cool things you can build with basic electronic components.
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!
Being an young electronics engineer myself, Just so beautiful to see, love it.
Thanks, glad you enjoyed the project. It was really fun to build!
I thought that breadboard computers with microcontrollers were impressive BUT THIS? AWESOME WORK!
Thank you! Building circuits at the transistor level is fun!
Transistor to Computer. This is the best explanation on UA-cam. Thank you!
Thank you, I am glad you found it helpful!
I built Ben's 8-bit breadboard computer, but I wanna go deeper. This looks like a really interesting project, I will check it out.
Sweet! Yeah, building circuits with individual transistors can be a good way to see/know exactly what is going on. If you built the 8-bit computer I bet you will be able to contribute when we start building artificial neural networks. I started with a simple computer before jumping into trying to build different types of computational devices. I have plans for some cool future projects. I am glad you found the channel!
This is the level of electronics understanding that I thrive to achieve one day. Thank you!
Thanks! You can get there! Start with logic gates and work your way to larger projects! Circuit projects can be super fun!
Unbelievable quality and clarity. Bravo!
Thanks! I am glad you liked it!
E pensar que isso é incrivelmente pequeno comparado aos antigos computadores... parabéns cara, você é top.
Obrigado!
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...
Thank you! The channel is still pretty new so hopefully, it gets a boost at some point!
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 .
Bro literally did what I can't even do in my dreams 😅.. Hats off man 👏👏
You can do it as well. Thank you!
Much respect for this build, this would rack my brain for sure.
Thanks, Jason! I was happy that it actually worked when it was finally all put together!
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?
@@GlobalScienceNetwork 1PCS 5.2x8.9cm Standard Permanent Breadboard Solder Pcb Board Prototype Board
❤ this project! 👍
I'm an EE. I've been doing this since i was 16; 1982.
Back then I took correspondence courses in electronics, then digital microprocessor: Cleveland Institute of Electronics.
In one project we build a 4-bit computer using very simple ICs. We used a 4-bit ALU that greatly reduced the complexity. We used a 1kbit RAM memory chip to hold the data.
We could either single step each clock by hand switch, or use a 1Hz clock.
All that it did was add, subtract, xor and not.
It used only a few breadboards.
I would ❤ to build this huge design though! I like going down to the transistor level like this video shows.
One suggestion though: surface mount parts on a cheap PCB fab.
PCBs from China have become so cheap that it's better to do board layout.
I would still keep each block separate though.
This is perfect project for a young person wanting to learn more about how computers work.
I think this channel should write a book on this. I already want a copy! 😂👍
Thanks! That sounds like a good course you took. Yeah, it would be cool to build this on a PCB! Making this into a course with a textbook is an interesting idea as well! Once we get a decent design for hardware based neural networks I will turn that into a PCB project when the design becomes to big for breadboards.
I had this exact same dream of making one when I was 13! It looks absolutely gorgeous, well done 😮
Thank you! You can still build it now! These types of circuit projects are fun and you learn a lot in the process.
Amazing your work. Congratulations for the competence, patience and goodwill to share.
Thank you!
Sure thing, I am glad you like the project!
This is the most amazing thing I've seen in a long time 🔥
Thank you! There will be more interesting projects coming soon!
Bro you're the real men among others , this needs actual balls to make something like this , talking shit about this is easy but actually implementing it is an extraordinary skill 😊, keep it up brother ❤
Ha ha thank you!
Congratulations!!! I love it without integrated circuits. Good Job !!!
Thank you! I am glad you like the project!
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!!
That sounds like a fun project as well. Thanks for the positive feedback! I am excited about upcoming projects!
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!
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 👏
Glad you found the information helpful!
Seriously impressive . . . not sure I would ever devote such effort to this sort of project, but it is amazing to behold, all with generic 2n2222 NPNs. So, imagine, just for a nanosecond, building a 32 bit version, and running Windows on it (OK, how about Windows 7) . . . with ancient germanium transistors. OK, it's a concept . . .
Yeah, that is cool to think about. It would millions of breadboards to build a modern processor with 2n2222 transistors.
This is awesome work Cody. Thanks for sharing. You are a real one.
I appreciate that! Thank you!
Another question... 5:40 Why not use a diode matrix for your ROM, wouldn't that be even simpler than transistors?
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.
Absolutely BRILLIANT! Thank you! Somehow I feel smarter just from watching this super basic system! Amazing. Thank you! :)
Thank you. I am glad you found it helpful! Yeah sometimes starting with the simplest design of a complex system is the best way to learn.
this is really the basic of basic in computing !! accessible to 14 year old children
Thanks, yeah depending on the interest level most people should be able to build this project. Just start with basic logic gates on a breadboard and then start building each section of the computer. It is a hybrid of a puzzle, art, and technical science.
My jaw dropped. Amazing job. I have seen the processor built with TTLs, but transistors? Never. From what I see, the space used by transistors is even smaller than that used by TTLs and that's odd since TTLs are more integrated than transistors.
I already see it as an educational tool or project for bigger groups. Each group builds one component and then they join it
into one system. Beautiful.
I am glad you see how it all comes together! Yeah, I think this is what should be taught in school before students learn to program. So they have a fundamental knowledge of how the computer works. If you have the vision follow along as we build new and more advanced computational projects!
Awesome video! The opcode decoder part might be easier to understand if there was a truth table shown alongside? Great work though!
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.
Damn, that Computer Architecture!!
Thanks! It is based on the von Neumann computer architecture!
Amazing! Thankyou for sharing - now to simulate it.
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!
An excellent channel for those interested in computer science. I subscribed, thank you.
Awesome, thank you!
This is computer engineering not computer science lol
@@wondersarfo9201 Yeah, it is computer engineering but it is also computer science. Computer science is the study of computation. While it is common to think of computer scientists as software developers, and programmers the term is broad and encompasses lots of different types of projects.
@@GlobalScienceNetwork well most computer scientists I know have less the slightest idea about Kirchhoffs laws and other circuit knowledge and also have less idea about solid states electronics..
It’s more of algorithms and coding
I'm in the process of building Ben Eater's IC breadboard computer, but this is so cool. I might have to try it out in the future
Sweet, yeah once you get it done the next challenge is to built it at the transistor level!
@@GlobalScienceNetwork do you recommend i do ben's ic breadboard computer first or do this first?
@@MustaphaRashiduddin-zx7rn I just went straight to building the computer with individual transistors. It makes more sense to me to be able to see all of the components. I would start with basic logic gates, then build the 4-bit calculator which will turn into the ALU. Once you get that done build the clock and it should start to make sense. I have another video where the computer is half done which is a good midpoint of the project. If you have any questions during the build, let me know.
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!
@@GlobalScienceNetwork Ok sensei
Yo bro, I have been waiting for you a lot
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.
What a great channel 😁 I hope you continue to post electronic and computer science videos!
Thank you! That is the plan!
Absolutely astonishing. I’ve messed around with some basic microprocessor projects shown on my channel and I’d love to go this deep. How long has this taken you all to learn. Great job
Thanks! It is fun to build circuits at the transistor level! I stated with basic logic gates using transistors, then went on to flip-flops and building a 4-bit calculator. After I have the fundamentals down it took me three months to build the 4-bit computer.
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
Glad it was helpful, good luck with your studies and future electronics projects!
As a kid, I wondered what it would be like to build one of these using wire-wrapped nails as relays/switches (instead of transistors) lol
Either way, this is so cool!
...especially since you used raw transistors, which makes the whole thing just magical.
Using raw transistors (no ICs) is like the assembly language of digital circuits.
Thanks! I am glad you appreciate the project. Yeah, it would be cool of you could build a simple computer out of relays/switches as well! Depending on when you were a kid that is how it all got started.
Using a finite state machine (FSM) that runs over multiple time steps could simplify the design of your 4-bit computer, the GSN477. Here's how it might work:
Reduced Hardware Complexity: By introducing an FSM, you can sequentially manage operations that would otherwise require separate hardware components. For instance, instead of having dedicated hardware for each operation (like addition, subtraction, etc.), the FSM could handle these using a smaller set of shared components, reducing the total number of gates and flip-flops.
Time-Multiplexed Operations: The FSM allows the computer to reuse the same hardware across multiple clock cycles for different tasks. For example, the same ALU could be used for both addition and subtraction, depending on the state of the FSM, reducing the need for separate units.
Simplified Control Logic: The control matrix and opcode decoder could be streamlined by incorporating an FSM, which could manage instruction sequencing and execution steps more efficiently. This would minimize the complexity of combinational logic required for control.
Trade-off: The trade-off with this approach is that the system would need more clock cycles to complete an instruction, as each step of the instruction might be handled in a separate state. However, for a simple 4-bit computer, this trade-off might be acceptable given the savings in hardware components.
Overall, using an FSM in this way can make your design more efficient in terms of the number of components, even if it requires a bit more time to execute instructions.
Minimal FSM Example:
States:
Fetch: Read the instruction from memory.
Decode: Determine the type of instruction.
Execute: Perform the operation (e.g., ALU computation, memory access).
Write Back: Store the result.
Increment PC: Move to the next instruction.
Transitions: The FSM transitions from one state to the next on each clock cycle, progressing through the instruction cycle.
Limitations:
Instruction Complexity: The simpler the FSM and instruction set, the more limited the system's capabilities. However, even a very basic FSM can be Turing complete if it supports loops and conditional branching.
Recursive FSM for Multi-bit Processing
Instead of building a full 4-bit (or more) wide data path in hardware, you can design a smaller, simpler FSM that processes one bit at a time, recursively or iteratively handling the entire multi-bit operation over several clock cycles.
Concept:
FSM Design: The FSM processes each bit sequentially, from the least significant bit (LSB) to the most significant bit (MSB).
State Representation: The FSM would include states for each bit position, and the states would recursively process the current bit and then move to the next bit.
Data Handling: The data registers store the current result, and the FSM updates these registers bit by bit as it processes each bit position.
ALU Interaction: The ALU can remain simple, only handling single-bit operations at a time. The FSM will control the ALU to combine the results of these single-bit operations to produce the final multi-bit result.
Operation Flow:
Initialize: The FSM starts with the LSB (bit 0). The initial states prepare the system for the bitwise operation.
Process Bit-by-Bit:
Bit Fetch: The FSM reads the current bit from the operand(s).
Bit Operation: The FSM performs the operation on the current bit using the ALU (e.g., adding two bits, logical operations).
Accumulate Result: The result is accumulated in a register, potentially with a carry or overflow flag if needed.
Advance: The FSM moves to the next bit position and repeats the process.
Completion: After processing all bits, the FSM transitions to a final state where the complete result is available in the register.
Result Handling: The result is either stored back in memory or used for further computation.
Advantages:
Component Reduction: The design reduces the number of required components, as the FSM and ALU only need to handle single-bit operations.
Scalability: The same FSM design can handle any bit-width (4-bit, 8-bit, etc.) by simply extending the number of cycles it takes to process the data.
Simplicity: Simplifies the control logic, as the FSM only needs to manage single-bit operations and move between states based on the bit position.
Example Implementation:
For example, in a 4-bit addition, the FSM would:
State 0: Add bit 0 (LSB) of two numbers, store the result in a carry register.
State 1: Add bit 1 with the carry from the previous step.
State 2: Repeat for bit 2.
State 3: Add the final bit (bit 3), considering the carry.
Each state handles a single bit, and after all states are processed, the final 4-bit result is stored.
Limitations:
Speed: The main trade-off is speed. Processing one bit at a time increases the number of clock cycles required for each operation, which can slow down the system significantly compared to a parallel 4-bit or wider data path.
Complexity in State Management: Although the hardware is simplified, the FSM needs careful design to manage state transitions and bit-level operations correctly, especially for operations like addition with carry.
Conclusion:
Using a recursive FSM to process one bit at a time is a viable approach to reduce hardware complexity in a 4-bit computer (or any n-bit system). This method leverages the FSM to handle multi-bit operations sequentially, which can be especially useful in environments where minimizing hardware resources is critical. The trade-off is slower operation, but for many applications, this can be acceptable given the simplicity and scalability of the design.
Isn’t he already using an FSM? There are 8 states for each instruction.
There is one ALU, it does addition and subtraction, it isn’t separate. It is a requirement to add the xor gates for subtraction since there are no instructions for bitwise operations - that sort of hardware doesn’t exist anywhere else in this processor.
Wouldn’t a FSM will end up looking like this when constructed out of transistors?
Reusing hardware for multiple tasks results in the controller becoming more complex - the trace off is only worth it when the controller’s complexity increase causes less transistors to be added than the number of transistors that were removed due to removing hardware. In this case, what specifically do you propose should be removed?
Interesting, I had to think about this for bit. I think you could build a more simple FSM out of transistors. However, I think there is a reason that the Von Neumann architecture is what was adopted for most digital computing applications. As you stated a simpler FSM would take more clock cycles meaning slower computation times. Many advancements to computing where to find ways to make things more parallel even if that meant more components. There could be a case where high computational power is not needed and a system with less components meaning less point of failure would be advantageous. Also, if you built an even simpler computer or a demonstration it would be sweet project and I think you should give it a try. If you need any help, let me know.
Please do more videos like this.
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!
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.
this is absolutely incredible...
I am glad you like the project!
the most amazing video on youtube ever!
Thank you! I am glad you liked the project. You could try and build it or or follow along with the channel as we will be building hardware based neural networks next.
"Everyone should know how to build a computer at the transistor level" 😂😂. Great vid
Ha ha Thank you! I do think it should be taught before learning to code.
I Admire this beautiful work. I just know i could never have pulled such a neat and clean job
Thank you very much! I bet you could do it. Just be patient and build it one section at a time!
Is modern CPU use resistor and capasitor inside it? Or just fully transistor?
and, is second generation of computers use logic gate like this too?
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.
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!
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.
Career EE here. I did something similar to this with SSI / MSI (college forty years ago). The center of it was the 74LS181 a very capable ALU.
what kind of stuff do u make now
@@adog3129 I'm much more on the software side now. About mid career I went back and got a masters in CS.
But I still have my breadboards, tons of components, oscilloscope and other test equipment. I've never let go of my love of electronics.
Very cool. I am glad an experienced EE found the channel. Follow along and I bet you will be able to contribute valuable information to future projects! Was the 74LS181 also built with discrete components or did you build the computer around the IC?
@@GlobalScienceNetwork used it directly
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.
@@GlobalScienceNetwork Thanks for explaining. The educational answers are appreciated👍🏻
Great job, thanks for sharing.
Sure thing, thanks for watching!
CooL 👍 its reminds me when i used to do similar projects using simple electronic components but i think you should have made 8 bit computer .
Yeah, an 8-bit computer would allow you to do some more useful programming. The goal was the simplest computer possible.
Very interesting. Truly a great piece of art!
I was going to build the exact setup for a punch card computer but found it to be very cumbersome. So I just skipped building the computing part from scratch with transistors (or logic gates), instead I used an Arduino. My focus was more on building the punch-card reading functionality.
Made a few videos of it. You can find them on my channel.
I was wondering it will be very awesome if we can combine this 4-bit computer with a punch card reader.
Yeah, that would be cool if you could combine the punch card readers with the 4-bit computer. I also see building these types of projects as a work of art. Your punch card reader is sweet. Programing with punch cards was before my time! I like your soccer robots! Can you purchase those somewhere? I am looking for a good vehicle platform to control with artificial neurons for an upcoming video.
@@GlobalScienceNetwork Cody! Thanks for the attention! I'm trying hard to make a video on how to build one of these punch-card machines...
Anyways, Regarding the soccer robots those are the robots we built for a competition called RoboCup. We participate in the Small Size League. The robot doesn't navigate alone. It blindly receives navigation signals from a central computer. The central computer is connected to a camera mounted above the soccer field and with that the computer knows where each robot is located. Pretty cool stuff! If you think that works for you I'd love to help!
Wow 😳 Sir Mind Blowing.
Thank you!
Lovely! 👍
Thank you!
Very perfect video I found . Be go far . Design DAC and ADC. With this.
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.
Pure epicness!
Thank you!
thankyou very much it is very useful for education
Sure thing, thanks for watching!
Is this an integrated circuits(IC) structure In the bread Board or outside the black silicon?
You could turn this into an IC like the intel 4004 series. Since it only has around 1,000 transistors you could also make it into a PCB.
you have the patient of a saint!!!!
Ha ha thanks!
great video! im planning on building something like this in the future, does it matter what breadboards i use, or is it fine to use cheap ones?
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 bet this guy is goat at factorio
Thanks! Factorio does look pretty sweet!
Really, really impressive!!! Don't know what else to say...
Thank you!
Very cool... but it's actually not a full computer, more like a calculator, as I don't see any method of doing a comparison, supporting flags or jumps. Will that be an enhancement that you'll be making to it?
Thanks, I was just trying to build the simplest computer possible. I started with a 4-bit calculator and that was used as the logic for the ALU. Adding the jumps and flags would not be hard if you think that is important. I did think about adding if statements and loops into the program. That would be the next logical step in my opinion. Maybe sometime I will re-visit that if there is interest. Right now though I am trying to take what I have learned and am trying to build hardware based neural networks.
Make a transistor computer is a dream for me.
Yeah, it is fun and you learn lots of good information in the process! Let me know if you have any questions when you build yours!
Cleveland Institute of Electronics used to do something similar for one of their classes.
Cool was that recently or back in the early days of computers?
This is supernatural 😮
Thank you, electrical engineering can be magic!
Well done!
Thank you!
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!
@@GlobalScienceNetwork Yes, of course, I see it now, Thanks!
Very nice video, it was really beautiful.
Thank you very much!
I tried building your inverting tri state buffer in LT spice but it doesn't seem to have the correct behaviour at all. Any help would be appreciated
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 UA-cam on the about tab.
I would have to see the circuit drawing to see why. You could email me. Did you try building the buffer on a breadboard and then draw it in LT spice? That would be helpful. I do have a video about how to use LT spice.
Obrigado por ter feito esse trabalho, estou extremamente feliz de entender melhor CPU, finalmente o REAL funcionamento de um processador de forma simples e objetiva, não existe 0 e 1 pois são abstrações, o que na realidade acontece são correntes eletricas passando (ou não) pelos compenentes.
Uma dúvida, talvez tenha explicado no video mas não sou muito bom em ingles, como é definido o clock, ou seja, a velocidade que se realiza as operações ?
Fico feliz que você tenha achado o vídeo útil. O relógio cria uma onda quadrada que fica ligada e desligada por aproximadamente o mesmo período de tempo. Nesse caso, a taxa de clock era lenta, pois foi construída para fins de demonstração. Quando o clock fica alto ou baixo, ele pode ativar ou desativar partes do circuito e pode acionar travas e flip-flops para alterar seu estado e passar dados pelo computador.
can you built this on a pcb along with a 7 segment display?
This was *NOT* stolen from another UA-camr who already did a great job making this PC as well as kits for people to learn themselves. (edited to fix my mistake)
This was not stolen from another UA-camr. This is similar to the Intel 4004 that was built in 1971. The von Newman computer architecture used here was invented by John von Newman in 1945. If you watch the full video I say at the end no one that I know of in recent history has built a breadboard computer out of individual transistors other than Jerry Walker who built an 8-bit computer and wrote a book about it. Back in the early 1970s lots of people were learning to make computers this way. Today many people build breadboard computers out of ICs. These are fun projects and a processor even comes on a single IC so you can "build" the processor with just one chip if you wanted to. The idea behind this project was to build all the circuits for the simplest 4-bit computer at the transistor level. Some people may say this is not necessary but I think it is the best way for everyone to learn how computers work. I learned a lot in the process which I am now using to build hardware based neural networks, which is what I am most interested in.
@@GlobalScienceNetwork Your right, my mistake. The content I had in mind was Ben Eater's 8-bit computer. Thanks for the detailed explanation and sorry for wasting your time! Appreciate the original content. Subscribed.
@@beeasy247 Great thanks! No problem, it is pretty common for people to think that breadboard computers are all the same. Building them at the transistor level is the way to go in my opinion and it was a fun project that only required basic discrete components.
Today i actually knew how computer works
Nice! That was the goal of the video!
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?
That is cool you are trying to build a computer out of just transistors! Is your power supply 5V? That is what I used. From there if the logic gates are built properly the output should start at the full 5V. Did you watch my video on how to build logic gates and flip flops? If you use the same configurations it should work. Assuming that is the same, sometimes on a large breadboard circuit capacitors are needed on the power rails to ensure there is not a voltage drop across the breadboards. Sorry for the delayed response. If you have more questions, let me know.
Just curious How much time did it take
1
For designing the circuit diagram
2
Actually executing it on breadboards
Once I learned and made videos about the logic gates, flip-flops, and 4-bit calculator, it took about three months to build the entire computer. I spent about one week on each section and pieced the computer together as I went. I have another video with a similar title where you can see the computer build half way through the project. If you are interested in building the project I would start with logic gates and then build the 4-bit calculator. I drew the complete circuit diagram at the logic gate level after I built the computer and it only took a few days, mostly to check that the connections were correct. I also have a video where the 4-bit calculator is drawn at the discrete component level.
This is so amazing this video made my life better exactly what I have been looking for thankyou me'lorde ❤❤❤❤❤❤❤
Great, I am glad you liked the project!
Hello I’m new to computers and want to start learning to someday build something great like this. What do I need to learn in order to create a project similar to yours? BTW this is awesome!
If you watch my videos starting with digital logic gates you should be able to build the entire computer. After you watch the logic gate video, try and build a full adder followed by the 4-bit calculator. From there you will have a good handle on things.
awesome video, and my clear dot
Thank you!
And that Guy built a Computer inside Minecraft was mind blowing
That was a cool project! It is done with the Redstone mechanics within Minecraft. I did not make that project but I know what you are talking about.
I love your videos, I wish I could follow you twice.
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!
Awesome!!
Thanks!
I was one of those people that built a computer in a breadboard using IC circuits, when I was in my 20s.
Sweet! It is defiantly a fun project!
Nice job, im the 1k's subscriber cool
That is awesome, thanks for subscribing!
Amazing project 👍👍
Thank you!
please explain how do you built all the parts off this computer with many videos
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.
great video
Thanks, I am glad you enjoyed it!
Impressive non the less
Thanks! Yeah even a simple computer is pretty interesting.
Sorry for another question but did you have struggle with inductivity?
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.
It would be cool to supply a little Arduino interface to allow the Arduino to be used to easily load programs and use it's own memory as the computer's memory
Yeah, that would be cool. I am working to build artificial neurons on breadboards now and I plan to wirelessly send the output to a little vehicle so I can control it with the circuits build on breadboards. This way I can change the circuit and not have to build a finalized design with a PCB that would fit on the vehicle.
Hello, would it be possible to connect to an LCD display?
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.
GOD DAMN!!!!! THATS SO COOL
Thanks!
By the way, have you tested this discrete CPU in a simulator?
I have the complete circuit diagram drawn at the logic gate level in EasyEDA which I show near the beginning of this video. You need the component level for the simulation to run. I did build a 4-bit calculator which became the ALU at the component level which was able to be run as a simulation. I show this in the EasyEDA video on this channel. If you are good at making simulations it would be cool to have the entire computer built as a simulation.