From Transistors To Tetris Part 1 : Computer Architecture

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 210

  • @jefftruck
    @jefftruck 3 роки тому +526

    Lev - at the expense of being long winded - here it goes. I found this video today. My face quickly grew a smile. I'm quite old by today's IT standards. Started out building a small micro computer in the 70's as a teenager. Grew up professionally in the mainframe space. Eventually made my way into client server and other related fields of IT. You might say full circle on many fronts. I have often feared that today's younger generation is missing out in understanding the low level world of computers. I myself have dealt with IT professionals today that do not even know what a CPU register is - yet they 'program'. I bought Ben Eater's kit in 2019, built it, brought out the old computer from the 70's got that running and I'm back in the game again with low level computing. Can't get enough of it. This brings me to your video and work. I can't express how happy I am to see that a young person (by my standard of age) is interested in this level of computing. I know from Ben Eater's Reddit that a lot of people are working on it, but I never really understood what the demographic spread of age was involved. I think it it AWESOME to see you getting into this low level stuff. If you don't already know, as a seasoned IT professional, this will open huge doors for you. Thank you so much and I look forward to watching your progress!

    • @yigita.3824
      @yigita.3824 2 роки тому +23

      This comment somehow made me nostalgic for a time and place I am far far away.

    • @ThatGuyDownInThe
      @ThatGuyDownInThe 2 роки тому +3

      that's why I'm here. I'm a programmer and so many I work with are comfortable just doing that, I need to go to the deepest level, I have to understand this stuff from A-Z, makes the job a lot easier too lol.

    • @davidcarlsson1396
      @davidcarlsson1396 2 роки тому +3

      I am 25 and really want to find time for these stuffs. My grandfather collected mechanical calculators, and I really want to know more about the early days of transistor and computer technology.
      Will probably buy a Ben Eaters kit, seems funnier and more productive than lego.
      I was the last class at uni to get tought these lowlevel stuff, the supervisor knew nothing and everything was stressed, really want to emerge and take my time to understand...
      Also to be able to teach my nephews and niece. And possibly other kids that want to listen to me when I turn 40 and speak about "the old days" that actually was 30 years before my birth XD

    • @theepicgamer275
      @theepicgamer275 Рік тому +1

      no

    • @Combinehuntsmanunit
      @Combinehuntsmanunit Місяць тому

      I want to do this stuff, I’m planning on making my own working computer soon but gathering the parts to build one of these is quite daunting.

  • @isbeb507
    @isbeb507 2 роки тому +35

    i laughed at "when i go to college" bud this was more ambitious than half the projects i did in college

  • @hgbugalou
    @hgbugalou Рік тому +5

    I fall somewhere between the computing OGs and the iphone zoomers. I grew up with dial up modems and AOL. In any case, I love to see young people getting in the trenches with this low level close to the hardware level of development. It's knowledge that needs to be retained. You will be changing the world by the time you are my age!

  • @Meowmix8088
    @Meowmix8088 9 місяців тому +3

    I built a 1 bit adder using discrete npn bjts. It took an entire weekend and was very hard for me. I am much older than you are also. This is all to say…. What you have done is just simply extraordinary.

    • @artahir123
      @artahir123 6 місяців тому +1

      how can i make a 1 bit adder
      whats the path you followed ?

  • @Randomdude-i8x
    @Randomdude-i8x 2 роки тому +25

    Very impressive that you learned this on your self. I got to learn these basics in my CS bachelor. Was fun and tedious and frustrating. But magical too. No simple feat to understand it, but even more impressive that you learned it yourself.

  • @adilsongoliveira
    @adilsongoliveira 2 роки тому +29

    When I was an intern, working at a steel foundry, the computer that ran one of the furnaces was almost all based on discreet NOR gates. I made hundreds of those boards to keep as spare parts.

    • @stachowi
      @stachowi 2 роки тому +7

      any computer can be built with ONLY NOR gates OR NAND gates... pretty amazing.
      There is a book called "NAND to Tetris"

    • @ophello
      @ophello 2 роки тому

      *discrete

    • @doctorbobstone
      @doctorbobstone Рік тому +2

      @@ophello You never know. Maybe his NOR gates are good at keeping secrets. As they say, "Loose bits sink ships."

  • @swirlingabyss
    @swirlingabyss 3 роки тому +9

    Ben Eater's series is great! After years of trying to learn computer architechture, it finally clicked when I watched Ben's series.

    • @skilz8098
      @skilz8098 Рік тому

      It's a bit dated but it's still great source material and the ideas and concepts are still quite relevant... There's a university channel that gets into ISA design - CPU Architecture and System Management... I think the later courses extend on this and even get into Operating System Design. I believe the University I seen before is called Bilkent Online Courses. Now they have a lot of courses for many different topics in software engineering, but there is some hardware engineering related material. I think the courses I watched was from around 2008 - 2012 era... It's really good source material. And the one professor explains things quite well.

  • @lauprellim
    @lauprellim 8 місяців тому +2

    What a fantastic and inspiring video. I have a ph.d. In an unrelated field and am a tenured professor, yet you make it all so elegant! Really enjoyed video 2 as well. Congratulations and keep it up!!

  • @fun3306603
    @fun3306603 4 роки тому +188

    As someone who love Ben's videos. This is awesome!

  • @ralphlouis2705
    @ralphlouis2705 3 роки тому +3

    You get the best intellectual men who never went to formal education yet they made the best

  • @AndrewErwin73
    @AndrewErwin73 Рік тому +2

    Very nice work. I am late to the party. I have been programming professionally since 1999. I am of that generation that had to know a little bit about how computers worked to write programs for them. And I have always tried to instill that into developers that I teach. It is pretty impressive that you would take that on yourself.

  • @PaymaanJafari
    @PaymaanJafari 2 роки тому +47

    This is great engineering. I started on C64 and 6510 assembly, and you designing all that ftom scratch means you have studied and learned all the fundamentals of it. It's a pitty you stopped making more videos on similar topics.

  • @cheeseman1153
    @cheeseman1153 2 роки тому +1

    I don't understand a single word he is saying but this is still on of the most entertaining youtube videos I've seen

    • @ophello
      @ophello 2 роки тому

      Dude watch Ben Eater’s videos on building a breadboard computer. It’s so straight forward that even a noob can understand.

  • @jitenanand4899
    @jitenanand4899 2 роки тому +1

    understanding the hardware is interesting but more interesting is how the different manufactures came togather to decide on specification standards. The evolution of architechtures, standards, specifications, apis is really interesting to know as those human decisions are key to understand how modern complex systems flawlessly works with themselves.

    • @shawnmuench
      @shawnmuench 2 роки тому +1

      I think about that too, but more in terms of competition fallout. Surely over the decades some people got burned and left out of the industry as their standard was suddenly made obsolete. I can't even guess the politics and plays that the big companies made to ensure their survival.

    • @AsusMemopad-us5lk
      @AsusMemopad-us5lk 2 місяці тому +1

      Came together to set standards? As I recall they just all write their own standards, and whoever wins the most market share gets to tax everyone else for the IP, or at least tax everyone who wants to sell anything compatible. It’s the American way.

  • @JSE52010
    @JSE52010 4 роки тому +5

    Looking forward to watching this develop

  • @tocodelray
    @tocodelray 4 роки тому +8

    Fantastic video. I am new to computer science and this type of project is very inspirational and exciting! I am looking forward to part 2!

  • @BalticLab
    @BalticLab 2 роки тому +6

    "I have no formal education in electrical engineering." -> Awesome, that - by my experience - correlates with good content. After watching the video, I would say that hypothesis proved itself to be true in your case as well. Good job!

  • @legendaryreaper2276
    @legendaryreaper2276 2 роки тому

    This is the best Video I have ever seen mentioning how computers work ❤❤

  • @richardsidler
    @richardsidler 2 роки тому

    We done, and we’ll written. Looks forward to further episodes. Best success!

  • @axelanderson2030
    @axelanderson2030 2 роки тому

    no joke, I've thought about Tetris on transistors before. Awesome video, thanks

  • @iDontProgramInCpp
    @iDontProgramInCpp 3 роки тому +5

    16:00 the code does work if you put `index` in RAM, `index` is just a regular variable

  • @jsmythib
    @jsmythib 10 місяців тому

    I was also infected by the Ben Eater series :) If i was to do it again I would like to try and feed my architecture into chat gpt. I think it could really speed up dev in a few areas. Your full transistor design is impressive. Fun stuff. You, like Ben are building a floor for people to stand on. Thankyou.

  • @MrMaxeemum
    @MrMaxeemum 2 роки тому +15

    I understand electronics and programing (including basic assembly) but in between those I find incredibly hard to understand (same like chemistry, it's just black magic), I have a lot of admiration for those who do. It all goes to show we all have a place in this world and that we are not all equal and the differences are what make the world go round. I am quite happy to not know how the screen is drawn while I type an Email to my friend about a funny cat video I saw the internet. Respect those who have gone before but realise they didn't know everything and there may be a better way of doing things. So long as we all move forward together we can't fail. Sorry for the rant, I have been drinking tonight.

  • @pawanchawla3205
    @pawanchawla3205 2 роки тому

    Thanks for the motivation. I wasn't sure if I could do it, but I might try it eventually.

  • @beentrill24
    @beentrill24 2 роки тому

    I'll say this much, as a student going to one of the top universities in the country as an Electrical Engineering student, especially learning as much in theory and concept about these components such as transistors or microprocessors I've learned just as much if not more in the first 45 seconds of this video than you could learn at a top tier university. Sad but true.

    • @beentrill24
      @beentrill24 2 роки тому

      Please by all means, learn as much as you can from the internet before wasting your money on a degree unless you absolutely need it. It's all a scam. please.

  • @3DSage
    @3DSage 2 роки тому +4

    really amazing project! :)

  • @gigachad2419
    @gigachad2419 2 роки тому +1

    Aah Yes
    I Love These Videos..... Ben Eater and Yours Channel is what I look forward to
    Keep going with your content!!

  • @ropersonline
    @ropersonline 2 роки тому +1

    16:15 and 16:50: A memory map so nice, you announced it twice! :)

  • @parihar786
    @parihar786 2 роки тому

    Wow! These guys have so much time. It was entertaining to listen to this dude. First few minutes ;)

  • @spiderjuice9874
    @spiderjuice9874 3 роки тому +25

    I like your ideas. Your commands are very reminiscent of the 6502, but that's an awesome chip so my comment is not a criticism.
    I was planning to build a *really* basic computer after watching Ben Eater's breadboard computer videos, mine would have a total memory of 256 bytes, with an ability to modify to stack size against free memory to give maximum convenience, depending on the program being designed. It is only a demonstration computer. When I get around to it. (Just need a decent lockdown to give me some time.)

  • @markb7084
    @markb7084 3 роки тому

    Very interesting (simple and effective) architecture. Have to implement it on my simulator.

  • @ARBB1
    @ARBB1 2 роки тому +3

    What fantastic work! I've dreamed of doing this, but never have done so. Great work.

    • @randomcuber230
      @randomcuber230 Рік тому

      same

    • @SebleBeyene-jp8hp
      @SebleBeyene-jp8hp 7 місяців тому

      Is it like Mans dream I'm 17 but i just want to build computer. I just start curious about computer since i was 12!

  • @colin351
    @colin351 Рік тому

    Excellent video/series, man. Very well explained and technical (in a good way)

  • @donwald3436
    @donwald3436 2 роки тому

    Young man, you are going to go far in life. Keep it up.

  • @antonnym214
    @antonnym214 2 роки тому +5

    Very nice work! I have been thinking of a design for a 12-bit Addr / Data computer. It was hard, but I was able to decide on a 16-instruction set. That's 4-bits for the opcode, and 8 bits for data all in the instruction. Originally, the plan was using relays, but I may end up going with transistors like you. This is very interesting stuff! All good wishes.

    • @deang5622
      @deang5622 2 роки тому +1

      Why not do it in an FPGA and use a hardware description language?

  • @tanjaweber-flohr6106
    @tanjaweber-flohr6106 10 місяців тому

    Bro was staring in my soul at the beginning 🥶 ( great video )

  • @yezariaelll
    @yezariaelll 4 роки тому +3

    Great stuff. Just saw your post at reddit. Hopefully this channel will get the attention it deserves soon! :)

  • @raymondhintz5457
    @raymondhintz5457 2 роки тому

    You can speed up the turn off time of a transistor by discharging the the capacitance in the base to collector junction by using a germanium diode.

  • @TF-km2ls
    @TF-km2ls 2 роки тому +1

    I think I never subscribed that fast to a channel

  • @yohannestz9893
    @yohannestz9893 3 роки тому

    this is so awesome after watching ben's videos

  • @aas_shortforsmthin
    @aas_shortforsmthin 2 роки тому

    0this my first time in this channel. 0:26 sec in and im ALL IN HERE

  • @theorphanobliterator
    @theorphanobliterator 2 роки тому +1

    I feel like 4 registers isn't enough. Especially because they are special purpose registers. Less memory accesses are needed in a CPU with more registers.
    In the few cpus I've built, I usually use 8 general purpose registers, convinced with the numerous special purpose registers. In programs like Tetris, this allows the cpu to not access memory as much; more data can be stored with the alu. One register for current falling brick x position, another for y position. The next for the current block type, and the fourth register for the next block type. things like these allow you to do constant operations on these operands very quickly without having to access memory (takes multiple cycles)

    • @DigitalViscosity
      @DigitalViscosity 2 роки тому +2

      The design is reminiscent of the 6502, it has zero page addressing which is just as fast as 256 registers.

    • @theorphanobliterator
      @theorphanobliterator 2 роки тому +1

      @@DigitalViscosity i still prefer the load/store architecture like that of the mips instruction set

  • @robertogudino1919
    @robertogudino1919 3 роки тому

    Congratulations! I am also working on a homemade 32 bit computer.

  • @presidentashleyadamaricruz9374
    @presidentashleyadamaricruz9374 4 роки тому +5

    THIS IS SO WELL DONE

  • @Theblaziken2000
    @Theblaziken2000 2 роки тому

    I definitely hope I can do something similar to this before I graduate. Having university resources will most definitely make such a process easier. It's more of the programming that I would struggle with because I'm not the most familiar with that stuff atm. Plus there's no gdb or valgrind when you're building your own cpu.

  • @arduinomaquinas
    @arduinomaquinas Рік тому

    Nice, like full 😉👍👏👏👏

  • @josephjensen8436
    @josephjensen8436 2 роки тому

    Simply impressive! 👍

  • @VikiLab
    @VikiLab 2 роки тому +1

    This great !! my question is how did you learn all this ?

    • @rkmag1141
      @rkmag1141 2 роки тому +1

      The references he said at the beginning are enough for those who are really interested in basic computer architecture

  • @ahmedsajeed1240
    @ahmedsajeed1240 4 роки тому +1

    brother , it would be great if you do a video on how you have started out in thus HOW THE COMPUTER WORKS and BUILDING ONE ON MY OWN journey , what books you've read , whom you've watched , how long it took , your advice for novice people like me and also what mistakes not to make .
    please say what u think , I'm waiting for your response...

  • @JournalKannada
    @JournalKannada 2 роки тому +1

    Ben Eater Jr. 🤩❤️🔥

  • @tomhankstomhanks2579
    @tomhankstomhanks2579 Рік тому

    Very good brother i like your channel

  • @sammelamed7311
    @sammelamed7311 2 роки тому

    Lev, great video!!

  • @JuanesChiwirosky
    @JuanesChiwirosky 2 роки тому

    Awesome project!

  • @JKTCGMV13
    @JKTCGMV13 2 роки тому

    “When I go to college” this is an insane project for a high schooler

    • @DigitalViscosity
      @DigitalViscosity 2 роки тому

      Nowadays it is, back in the 80s and 90s the computer "nerds" did stuff like this but with less access to information unfortunately. They got it nice nowadays.

  • @LoyalTreeFriend
    @LoyalTreeFriend 2 роки тому

    very impressive

  • @thecorruptedbit5585
    @thecorruptedbit5585 2 роки тому +1

    Have you checked out Usagi Electric's Vacuum Tube Computer project? It might be interesting to compare to your own goal (though the technologies are a bit different)

  • @rajkiran3989
    @rajkiran3989 2 роки тому +1

    Hell ya...i am gonna subscribe.

  • @TheUtuber999
    @TheUtuber999 2 роки тому +1

    2:37 I like the clever idea of reducing the number of required registers to keep the transistor count to a minimum, even if it means needing to tweak the code a bit to accommodate. I'm wondering if you might still be able to drive those 2N7002s at something like 1 - 10 mA because 200 mA seems ridiculously high. Have you tried that already?

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt Рік тому

      There seems to be a rather hard lower limit for the number of registers to still be able to implement 8086 microcode. We need PC. We need a stack to push away context. For MUL and REP we need CX to count. We need AX, DX for the values. For MOVS we need two addresses, let’s store them in BX and DX.
      On 6502 CX would be X. Y and Z would be the addresses is MOVS . DX would be B.

  • @millamulisha
    @millamulisha 2 роки тому

    Certified awesome. 😎

  • @devdylan6152
    @devdylan6152 3 роки тому +1

    really great project and the video is really well delivered! congrats.

  • @kgtuuhffmkk8907
    @kgtuuhffmkk8907 Рік тому

    Congratulations! You have re-invented 6502.

  • @markrussell5587
    @markrussell5587 4 роки тому +6

    I think you could have talked a bit slower, I feel that as someone who's here for the pleasure of it, your presentation was about twice the speed it needed to be lol. For me, the length of the video doesn't matter a long as the contents good, and if the contents good I'll keeping watching whatever the length. Keep up the good work!

    • @levkruglyak
      @levkruglyak  4 роки тому

      Thanks! I'll try to speak at a more reasonable pace next video.

    • @liviupatty
      @liviupatty 4 роки тому

      Yes, please do. Can’t wait for second part. Thanks

    • @cosmosaodyssey2188
      @cosmosaodyssey2188 3 роки тому

      @@levkruglyak you have to decide whether or not you're an educational channel or just wanting to show your work to others who might already understand most of it

    • @wafikiri_
      @wafikiri_ Рік тому

      ​@@levkruglyak
      As someone whose first language is not English, I can tell you this was fast talk indeed. I'm used enough to understand all that you said, but most of English-foreigner viewers will not.
      Even native English-speakers would also need some seconds to let technical concepts sink in before the next one is up. That all would slow down your videos, but that's the kind of patience you'll have to allow yourself in order to get more viewers.

  • @aewens
    @aewens 4 роки тому +1

    Seems similar to the “IntCode” implementation from the 2019 Advent of Code problems

  • @matthewsidaway1437
    @matthewsidaway1437 3 роки тому

    excellent video

  • @RixtronixLAB
    @RixtronixLAB 11 місяців тому

    Cool video, thanks :)

  • @saydron
    @saydron 2 роки тому

    Thanks Lev

  • @ianwalsh3868
    @ianwalsh3868 Рік тому

    I was actually thinking about transistor style login in Minecraft TODAY! I love Ben Eater’s videos, would you be interested in doing a video on your Minecraft version/sharing the world? That would be an excellent starting point, having seen Ben’s videos

  • @vanshjam3015
    @vanshjam3015 2 роки тому

    Thank you! Here's a request from ! Can you please make a tutorial on how to record your actual tutorial and input your own soft

  • @nariharicreations
    @nariharicreations 2 роки тому

    I found out why soft softs so different compared to Ableton. It is because there is a default limiter on the master that i didn't know about.

  • @adammontgomery7980
    @adammontgomery7980 2 місяці тому

    I know it seems kind of anachronistic to study retro-computing as a young person, but I don't know how else you can learn about how computers actually work. I don't think it's possible to study a modern processor in depth like you can with a 6502 or similar.

  • @crystalsheep1434
    @crystalsheep1434 Рік тому

    Pretty cool

  • @empatikokumalar8202
    @empatikokumalar8202 2 роки тому +1

    Hi Lev;
    Which country are you a citizen of and what is your education on the subject?

  • @ahmedabdelmonem2409
    @ahmedabdelmonem2409 2 роки тому

    Drag the volu for the setuper track that you're recording into all the way down.

  • @chrisskyr623
    @chrisskyr623 3 роки тому +1

    Awesome

  • @thatoyaonebogopa9483
    @thatoyaonebogopa9483 2 роки тому

    Do you have a part list so we can buy and follow along.

  • @mrdinoking6626
    @mrdinoking6626 4 роки тому +1

    Doesnt understood anything but it felt nice

  • @firashaidar1544
    @firashaidar1544 3 роки тому +1

    What transistors did you use?

  • @dr.ignacioglez.9677
    @dr.ignacioglez.9677 2 роки тому +1

    I LOVE C64 👍🥂🎩

  • @rahulshekhar8498
    @rahulshekhar8498 2 роки тому

    Thanks for tutorial

  • @kevinz1991
    @kevinz1991 3 роки тому

    phenomenal. thank you

  • @abdullahyousef3596
    @abdullahyousef3596 Рік тому

    Are there good UA-cam videos/Playlists I could study from to able to build similar stuff, also what are the topics I need to study to build similar things.

  • @williamsteele
    @williamsteele 3 роки тому +1

    So, when you're performing the JSR, are you pushing both the high and low bytes (8 bits) to the stack to get a full return address, or are you shortcutting it to within 256 bytes of the subroutine and just applying an offset?

    • @FF177-
      @FF177- 2 роки тому +1

      the stack is 16 bits wide, only the stack counter is 8 bits

  • @Frisky0563
    @Frisky0563 2 роки тому

    Do you have a logic analyzer say 64 channels ? I would be awesome to watch this in action. The fetching of opcodes and associate data. The result of an addiction instruction and so many things. I work with microcontrollers which is very similar in nature. I lately have been research a older Zilog Z8 series mpu which came out shortly after I graduated from Devry. I'm using a Z8613RS and a Z8681 in expanded mode. It's a lot of fun. I think that's awesome building a computer from discrete transistor. I just want to say Hi and wish you well.

  • @allyouwantserieshindi
    @allyouwantserieshindi 2 роки тому

    I’m overwheld it’s soooo much

  • @azariayehezkel9064
    @azariayehezkel9064 2 роки тому

    nice tutorial for young guy

  • @ehrenmurdick
    @ehrenmurdick Рік тому

    Are the 16bit instructions just literal control words? If so, do you break them up into more than one step in the instruction decoder logic?

  • @BIGRIP87
    @BIGRIP87 3 роки тому

    very very cool

  • @mathwithgui8303
    @mathwithgui8303 2 роки тому

    next video creating a two cpu motherboard homemade, do you think its possible?

  • @AliBaba-vw7mo
    @AliBaba-vw7mo 2 роки тому +1

    Hey there Lev, what subject are you going to pursue in college?

  • @varunahlawat9013
    @varunahlawat9013 8 місяців тому

    WTF! teach me all of this! subscribed

  • @TheRojo387
    @TheRojo387 Рік тому

    I was born back in the day of C64; I would sometimes hack my mum's C64 as a young child.

  • @technikfreaksmj5321
    @technikfreaksmj5321 3 роки тому +1

    which transistors are good for building a computer

    • @deang5622
      @deang5622 2 роки тому

      FETs. You can use bipolars but they will consume more power and you will need more of them.

  • @lordrahulcool
    @lordrahulcool 2 роки тому

    How are those yellow relay?
    Are they reliable?

  • @naikrovek
    @naikrovek 3 роки тому

    well this is awesome

  • @MhdAliAlashkar
    @MhdAliAlashkar 2 роки тому

    عمل رائع حياك الله

  • @astrixff
    @astrixff 3 роки тому

    Amazing!

  • @GCKteamKrispy
    @GCKteamKrispy 2 роки тому +1

    Занялся таким-же проектом, но решил использовать 74hc... для начала (4 бит), а выше уже хочу использовать FPGA
    Чистые транзисторы, это уже слишком для меня😂 Слишком много проводов и соединений

  • @chromosundrift
    @chromosundrift 4 роки тому

    Don't forget to add sound!

  • @ropersonline
    @ropersonline 2 роки тому +1

    2:41: I don't think something a little over a kilowatt of power is technically _unfeasible._ Electric kettles routinely exceed that. Even in the U.S., anything up to 1.7kW should be okay. Admittedly, it still might not be _preferable,_ and might make your air con and electricity bill scream for mercy.

  • @VGCCCCC
    @VGCCCCC 10 місяців тому

    I heard you went to college, please continue this when you get back