The Fetch-Execute Cycle: What's Your Computer Actually Doing?

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 2.2K

  • @TomScottGo
    @TomScottGo  5 ปีที่แล้ว +2000

    And away we go with another season of three computer-science videos! A whole team made this happen: pull down the description for all the details! And thanks to Dashlane for sponsoring: you can find more about them at www.dashlane.com/tomscott

    • @smug_slime
      @smug_slime 5 ปีที่แล้ว +36

      Why is your comment is a week old? I mean I know how but why?

    • @vivekpanchagnula815
      @vivekpanchagnula815 5 ปีที่แล้ว +4

      @@smug_slime same

    • @vivekpanchagnula815
      @vivekpanchagnula815 5 ปีที่แล้ว +1

      ???????

    • @MrFreakydeakydutch
      @MrFreakydeakydutch 5 ปีที่แล้ว +22

      Tom Scott The original rollercoaster tycoon (and I think maybe the second one too) was coded in assembly by only one guy. More impressive than the prince of Persia if I might say.

    • @buzzlightyear6960
      @buzzlightyear6960 5 ปีที่แล้ว +2

      Bruh

  • @gallavanting2041
    @gallavanting2041 5 ปีที่แล้ว +6841

    You literally just made this so you could flex on us with your Thanos tier snapping, I see you.

    • @vaclav_fejt
      @vaclav_fejt 5 ปีที่แล้ว +41

      I thought the comments will be referring Bono, alas, times have changed.

    • @gallavanting2041
      @gallavanting2041 5 ปีที่แล้ว +51

      @@vaclav_fejt wasn't bono clapping instead of snapping?

    • @vaclav_fejt
      @vaclav_fejt 5 ปีที่แล้ว +22

      @@gallavanting2041 Oh yes, you're right. My bad.

    • @connora9
      @connora9 5 ปีที่แล้ว +12

      He’s just snapping his fingers

    • @gumunduringigumundsson9344
      @gumunduringigumundsson9344 5 ปีที่แล้ว +33

      @Steve Mclean That my fellow human is no "just snapping fingers".. that is something different entirely. It is hyper cybersnap or even Thanos level snapping indeed. I will still hear it when I wake up tomorrow.

  • @ericpeterson6520
    @ericpeterson6520 5 ปีที่แล้ว +1610

    Rollercoaster Tycoon was also programmed in assembly, which is why it runs so amazingly and was so outstanding technologically at the time

    • @naufalap
      @naufalap 5 ปีที่แล้ว +142

      damn I used to love drowning people there

    • @spooky6703
      @spooky6703 5 ปีที่แล้ว +330

      I learned this in my Assembly course last semester, and having used Assembly, I'd never in a million years do anything like that, no thank you.

    • @poiiihy
      @poiiihy 5 ปีที่แล้ว +5

      wow

    • @SolidRoot
      @SolidRoot 5 ปีที่แล้ว +7

      NBA Jam too, apparently.

    • @TheXev
      @TheXev 5 ปีที่แล้ว +76

      For many years, the ZSNES emulator for Super Nintendo (Super Famicom) was also programmed in assembly. This is why you could play SNES games on a Pentium 166. It wasn't until many years later, when the devs decided to open source it, it was converted to Cpp.

  • @AuthenTech
    @AuthenTech 5 ปีที่แล้ว +2383

    Geez, that's a strong snap!

  • @12tone
    @12tone 5 ปีที่แล้ว +1748

    It will never not surprise me to relearn that CPU isn't actually just short for "ComPUter".

    • @yuhyi0122
      @yuhyi0122 4 ปีที่แล้ว +40

      Ofc not they would just use comp for that 🤣

    • @JohnDoe-pz4nk
      @JohnDoe-pz4nk 4 ปีที่แล้ว +35

      Are you dumb?
      How doesnt "Central Prosessing Unit" make more sense?

    • @craniumtea5137
      @craniumtea5137 4 ปีที่แล้ว +187

      @@JohnDoe-pz4nk it's a joke you troglodyte

    • @iHIMMA
      @iHIMMA 4 ปีที่แล้ว +114

      @@JohnDoe-pz4nk Who hurt you?

    • @sayanghosh6996
      @sayanghosh6996 4 ปีที่แล้ว +53

      who thinks CPU is short for ComPUter😂

  • @Mrjcraft00
    @Mrjcraft00 2 ปีที่แล้ว +397

    I've recently found a game online called "Turing Complete" that models this sorta CPU in the late game, and you build it from the ground up using logic gates, I figure someone might find it cool too.

    • @ibemper1850
      @ibemper1850 2 ปีที่แล้ว +39

      there is a similar thing called nandgame, its very nice, it doesnt give any hints you completely figure out how computers work yourself, though it does do conversion of binary to decimal for you for some components like adders or stuff

    • @SpeaksYourWord
      @SpeaksYourWord 2 ปีที่แล้ว +4

      Thanks

    • @mockingjayu2210
      @mockingjayu2210 2 ปีที่แล้ว

      Hey thanks for sharing :)

    • @pmknmash
      @pmknmash ปีที่แล้ว +5

      I just started playing Turing Complete today! what a coincidence. such a cool game :)

    • @a_39442b
      @a_39442b ปีที่แล้ว +2

      We did that with logisim as a final lab assignment in one of the courses in my CS programme some time ago. Fascinating stuff!

  • @Elren
    @Elren 5 ปีที่แล้ว +7187

    So every computer has a billion tiny Tom's, snapping their fingers in synchronicity.... Neat!

    • @mynewaccount2361
      @mynewaccount2361 4 ปีที่แล้ว +464

      Technically, it actually has only one Tom and a massive speaker network that transfers the snap

    • @Calebe311
      @Calebe311 4 ปีที่แล้ว +93

      @@mynewaccount2361 how about multi-core processors?

    • @jakethewolfie119
      @jakethewolfie119 4 ปีที่แล้ว +225

      @@Calebe311 Tom has more limbs for more hands to snap more

    • @mattjw16
      @mattjw16 4 ปีที่แล้ว +21

      *Toms

    • @kornsuwin
      @kornsuwin 4 ปีที่แล้ว +2

      r/meirl

  • @marlonb1852
    @marlonb1852 5 ปีที่แล้ว +702

    4:21 I love how your snapping is totally in sync with the Lights in the Backround

    • @laurinneff4304
      @laurinneff4304 4 ปีที่แล้ว +25

      Maybe they hooked the computer up in a way that a clock cycle happens every time a loud sound occurs

    • @marlonb1852
      @marlonb1852 4 ปีที่แล้ว +7

      @@laurinneff4304 could be

    • @ehsandawran
      @ehsandawran 4 ปีที่แล้ว +10

      Didn't notice that!

    • @rabidL3M0NS
      @rabidL3M0NS 3 ปีที่แล้ว +12

      @@laurinneff4304 if that were the case the lights would always be in sync with his snaps

  • @kalebbruwer
    @kalebbruwer 5 ปีที่แล้ว +1715

    I can't imagine writing an entire game in assembly, hats off to the people who did that.

    • @dIancaster
      @dIancaster 3 ปีที่แล้ว +213

      Evidently, Rollercoaster Tycoon was also done in Assembly and that's why they were able to milk the hardware for every last ounce of performance they could get.

    • @MarieAmeliaFreyaAster
      @MarieAmeliaFreyaAster 2 ปีที่แล้ว +5

      It really depends on what you're doing and why you're doing it

    • @articlefound2052
      @articlefound2052 2 ปีที่แล้ว +28

      Yes the fact that super mario bross 1 and 3 and all ness games had been written in assembly language blows my mind!!!

    • @newuser689
      @newuser689 2 ปีที่แล้ว +65

      Wait until you hear about how Pong was made. They literally hooked up the transistors by hand, no coding or keyboard involved, just straight up messing with the hardware itself.

    • @chengyinyao1937
      @chengyinyao1937 2 ปีที่แล้ว +10

      writing in assembly is not that hard, it is just that you have to do the same things a lot of times

  • @MikeMozzaro
    @MikeMozzaro 2 ปีที่แล้ว +243

    I will never hate the fact that even in a video as simplified, streamlined and clear as this one... I still cannot wrap my head around this process...

    • @kakyoindonut3213
      @kakyoindonut3213 ปีที่แล้ว +17

      so anyway I played with a program called Logisim that simulate the fundamental components of the computer like the logic gates and such.
      I still can't wrap my head around this process

    • @upsidedownChad
      @upsidedownChad ปีที่แล้ว +15

      If you fail at a CS exam about this subject and have to study for the finals it's much easier to learn this process

    • @MaryamKamaly08
      @MaryamKamaly08 ปีที่แล้ว

      This and networks are something ill never understand in computer science

    • @nielskoomans
      @nielskoomans 11 หลายเดือนก่อน +10

      it's the same when you get assignments in school:
      - you're having math and open your textbook
      - your teacher tells you what chapter you have to work on
      - you open your textbook to the chapter you have to work on, and load all the assignments inside this chapter into your memory
      - every asssignment you do, you fetch the question, decode it (think about the answer and the steps you're taking towards it), and execute it.
      - you write down your answer into your memory, and next to the assigment.
      - when you finish your assignments, and have them checked by the teacher, and the teacher tells you it's okay, you (try) release it from memory
      load -> [fetch -> decode -> execute (loop till finished)] -> release

    • @DanielRodrigues-bx6lr
      @DanielRodrigues-bx6lr 8 หลายเดือนก่อน +1

      ​@@MaryamKamaly08 What parts of it did you guys find confusing? CPU/OS and networking are two of my most favourite CS topics alongside AI, so maybe I can point you to some more in-depth instructional material if you want.

  • @vincentpol
    @vincentpol 3 ปีที่แล้ว +93

    Fun fact, the original rollercoaster tycoon was also written completely in assembly. Which is why the game runs at interactive rates even on an old Pentium II even with 1000s of guests in your park and lots of animations. It was optimized like crazy. It's by far the largest game I can think of that was still written in assembly.

    • @emperor8716
      @emperor8716 8 หลายเดือนก่อน +3

      iirc it was made by 1 person too.

    • @peka2478
      @peka2478 8 หลายเดือนก่อน +6

      i have written a simplified version of chess in Assembly.
      Hearing Rollercoaster Tycoon was written like that makes me want to cry.
      And hug the person / all the people involved, forever.
      They need it.

  • @TotalElipse
    @TotalElipse 5 ปีที่แล้ว +2428

    2 minutes in and I can already tell that this video will be shown in every GCSE Computer Science classroom for the remainder of human existence.

    • @WarioNumberOne
      @WarioNumberOne 5 ปีที่แล้ว +129

      Computer Engineering here but I had a course exactly on this (but in waaay more detail) two semesters ago. I could see this video being shown at the start

    • @kumquatery
      @kumquatery 5 ปีที่แล้ว +200

      This video condensed about 50 pages of my old textbook into less than 7 minutes. And was more understandable.

    • @migkillerphantom
      @migkillerphantom 5 ปีที่แล้ว +58

      @@kumquatery textbooks exist not to teach but to keep the riffraff out

    • @codygarland6365
      @codygarland6365 5 ปีที่แล้ว +6

      Such a shame had just finished mine when this came out

    • @jackivison276
      @jackivison276 5 ปีที่แล้ว +1

      Already watched it

  • @exm3266
    @exm3266 5 ปีที่แล้ว +2614

    I have a completely different mental image of a Snapdragon now.

    • @infernocaptures8739
      @infernocaptures8739 5 ปีที่แล้ว +113

      😂😂😂 underrated comment

    • @TMengozzi
      @TMengozzi 5 ปีที่แล้ว +9

      Wahey !

    • @PatrikKron
      @PatrikKron 5 ปีที่แล้ว +6

      👏👏👏

    • @Dorumin
      @Dorumin 5 ปีที่แล้ว +39

      Up you go, remember me when you're top comment

    • @alexhancock9738
      @alexhancock9738 5 ปีที่แล้ว +8

      rated comment

  • @enig2783
    @enig2783 5 ปีที่แล้ว +2197

    A Tom Scott video that last for longer than 5 minutes??? Impossible.

    • @Tik_taalik
      @Tik_taalik 5 ปีที่แล้ว +8

      Addah r This is blasphemy!

    • @MisterAppleEsq
      @MisterAppleEsq 5 ปีที่แล้ว +35

      Citation Needed and other game shows are quietly crying in a corner.

    • @lilpeach101
      @lilpeach101 5 ปีที่แล้ว +55

      Well, ~3 minutes of it are an ad

    • @chrisneedham5803
      @chrisneedham5803 5 ปีที่แล้ว +6

      My brain started hurting after only 2.30 mins.

    • @brendankapp5237
      @brendankapp5237 5 ปีที่แล้ว +4

      *10 hours of garlic bread footage cries alone*

  • @RobSwizz1e
    @RobSwizz1e 3 ปีที่แล้ว +10

    I have watched about 13 well made videos from different instructors and youtubers on explaining this cycle. I didn't understand any of them. And then here comes Tom with this no brainer approach to explaining the cycle, and I was able to follow along and fully understand what this all meant. Now I can get back to my homework with a clearer sense of the process. Thank you for this explanation!

  • @msthalamus2172
    @msthalamus2172 5 ปีที่แล้ว +28

    On of my CS assignements in college actually was to code something (very small) in binary. Gives one a great appreciation of what's happening under the hood!

  • @BioBush
    @BioBush 5 ปีที่แล้ว +434

    4:41 Tom's CPU overclocks to about 3.6 Hz.
    PS - Thanks for this helpful introductory video! I did not know the fetch-decode-execute sequence.

    • @MrCrininer
      @MrCrininer 5 ปีที่แล้ว +42

      Now just imagine a billion Tom Scotts snapping their fingers like that and it's a modern day CPU!

    • @Byefriendo
      @Byefriendo 5 ปีที่แล้ว +45

      3.6Hz. Not great, not terrible

    • @satibel
      @satibel 5 ปีที่แล้ว +17

      @@MrCrininer and you need at least 4 of those to equal a modern CPU.

    • @MikkoRantalainen
      @MikkoRantalainen 3 ปีที่แล้ว +6

      Modern CPUs have also register renaming, speculative execution and branch predection. Those are interesting but really complex things that allow CPUs to run as fast as they actually do.

    • @death_parade
      @death_parade 3 ปีที่แล้ว +2

      @@Byefriendo Its not 3.6 Hz. Its 15 MHz.

  • @hxhuang9306
    @hxhuang9306 5 ปีที่แล้ว +780

    Very educational, I'm searching finger snapping tips now.

    • @CubeDaWoop
      @CubeDaWoop 5 ปีที่แล้ว +19

      I can't even snap my fingers

    • @Oldccount
      @Oldccount 5 ปีที่แล้ว +1

      @Clorox Bleach try to tense up the bit your middlefinger hits with your ringfinger

    • @themennissvids
      @themennissvids 5 ปีที่แล้ว +13

      The snapping sound comes from when your middle finger hits the meaty part of your hand where your thumb is connected.
      The trick is to stop your middle finger from moving with your thumb, and then let it go.

    • @kolibri5861
      @kolibri5861 4 ปีที่แล้ว +6

      @@themennissvids now i get to understand it thanks buddy i can snap my fingers in exam and teachers can sing along with me fetch decode execute

    • @TechSupportDave
      @TechSupportDave 4 ปีที่แล้ว

      Here's a tip: smear your fingers in wood sap. makes clicking so much easier.

  • @GermaphobeMusic
    @GermaphobeMusic 5 ปีที่แล้ว +805

    i feel like tom is flexing on me with those snaps

    • @bestpseudonym1693
      @bestpseudonym1693 5 ปีที่แล้ว +40

      I feel like those snaps were prerecorded and then added in post in order to get a crisp consistent sound

    • @RUNDNB85
      @RUNDNB85 5 ปีที่แล้ว +1

      @@bestpseudonym1693 don't be daft.

    • @wreynolds1995
      @wreynolds1995 5 ปีที่แล้ว +3

      @@bestpseudonym1693 It wasn't actually all that consistent.

  • @Arbiter099
    @Arbiter099 5 ปีที่แล้ว +103

    I'm not sure what sort of cooler to use when overclocking my Tom Scott, there's no mounting brackets and I don't think he's rated for LN2

  • @DMS3TV
    @DMS3TV 5 ปีที่แล้ว +3

    unrelated to the video subject but just wanted to say that I REALLY appreciate the production quality of this. The lighting, colors, and lens choice all look fantastic.

  • @renzpaulo14
    @renzpaulo14 5 ปีที่แล้ว +528

    Was that a real snapping sound at 0:55? If so, that was the most satisfying snap I've ever heard.

    • @erikwithak6555
      @erikwithak6555 5 ปีที่แล้ว +107

      It’s like the Nintendo switch snap

    • @guyliver1056
      @guyliver1056 5 ปีที่แล้ว +48

      Thanos will be proud

    • @Emil-yd1ge
      @Emil-yd1ge 5 ปีที่แล้ว +31

      Wearing a red t-shirt, you could call him a red snapper ( ͡° ͜ʖ ͡° )

    • @S1M91NG
      @S1M91NG 5 ปีที่แล้ว +22

      Top 10 snaps thanos was afraid to diss

    • @mx.r.taylorlindsey838
      @mx.r.taylorlindsey838 5 ปีที่แล้ว

      Sounds real enough to me

  • @Michaelonyoutub
    @Michaelonyoutub 5 ปีที่แล้ว +104

    roller coaster tycoon is an amazing complex game that was coded like 99% in assembly, with just a bit of C to help make it open and run. It is insane how a game that complex could be written like that but by being coded that way the game ran amazingly with thousands of animations and park guests on screen at the same time, even on old computers.

    • @postvideo97
      @postvideo97 5 ปีที่แล้ว +2

      One of the best games, played it so much in my childhood.

    • @renakunisaki
      @renakunisaki 5 ปีที่แล้ว +19

      Nearly every NES, SNES, Genesis, Game Gear, Game Boy, C64, Atari, Amiga... game is made in assembly!

    • @9000888sora
      @9000888sora 5 ปีที่แล้ว +5

      That's the advantage of giving the hardware something it can natively read without converting it into assembly. I wonder how newer games would run if they were coded in assembly.

    • @jt....
      @jt.... 5 ปีที่แล้ว +30

      @@9000888sora Probably slower, computers are much better than humans at optimising code most of the time.

    • @user-le8ul4nr5t
      @user-le8ul4nr5t 4 ปีที่แล้ว

      I think steve wozniak wrote the apple II's monitor in machine language.

  • @aibh7903
    @aibh7903 5 ปีที่แล้ว +774

    “What’s your computer actually doing?” Is something I’m more used to my professor asking me tbh

    • @casperes0912
      @casperes0912 5 ปีที่แล้ว +35

      Terrorshark Answer: “A lot of redundant work. It’s running JavaScript on the web

    • @timhuggins1993
      @timhuggins1993 5 ปีที่แล้ว +4

      Playing MiniClip online games , on tinder , online betting and watching Japanese foreign language cartoons ? Haha

    • @markmayonnaise1163
      @markmayonnaise1163 4 ปีที่แล้ว +2

      @@timhuggins1993 Isn't "Japanese foreign language" tautological?

    • @zigmazero2879
      @zigmazero2879 4 ปีที่แล้ว

      @@markmayonnaise1163 I don't think it is? It's redundant either way, so it's not like it matters.

  • @brianhayes1105
    @brianhayes1105 3 ปีที่แล้ว +34

    Awesome explanation. I've recently started learning the ins and outs of hardware, as well as trying to get a basic understanding of Javascript. As I've been learning, I've found myself wondering on more than one occasion how modern day programming languages are able to translate something that is comprehensive to the average English speaker into a series of ones and zeroes that a computer can interpret. This video gets me one step closer in that understanding. Thanks Tom, your channel is as educational as it is entertaining.

  • @eamonnca1
    @eamonnca1 4 ปีที่แล้ว +62

    Fantastic explanation. I wish this was around when I was trying to learn the same thing from a book for GCSE computing.

  • @DrathVader
    @DrathVader 5 ปีที่แล้ว +2653

    If you're running Windows 10, from my experience it's doing whatever the hell it wants to.

    • @sheepsfeather3159
      @sheepsfeather3159 5 ปีที่แล้ว +283

      Or whatever microsoft wants it to do. Some days I wonder who actually owns the computer

    • @blumac9801
      @blumac9801 5 ปีที่แล้ว +191

      *YOUR PC NEEDS TO RESTART TO FINISH UPDATING*

    • @renakunisaki
      @renakunisaki 5 ปีที่แล้ว +90

      @@sheepsfeather3159 if you can't open it, copy it, or reprogram it, you don't own it. MS is pushing to prevent all three.

    • @Althomir
      @Althomir 5 ปีที่แล้ว +80

      ​@@renakunisaki Well, it has always been true for Windows, that's why we call that a proprietary os.

    • @fghsgh
      @fghsgh 5 ปีที่แล้ว +56

      @@renakunisaki You can reprogram it by what we call "installing Linux", although MS is getting deals with computer sellers to lock the BIOS if they want to run Windows, they still didn't get very far with that.

  • @ir-dan8524
    @ir-dan8524 5 ปีที่แล้ว +94

    This is incredibly well done, how things worked at the lowest levels always baffled me. Thanks.

  • @harrysmith6153
    @harrysmith6153 5 ปีที่แล้ว +156

    A 7 minute video with 0 cuts during the main content. Very cool.

    • @battmarn
      @battmarn 5 ปีที่แล้ว +17

      Harry Smith Tom is very good at hiding cuts so there might be some hidden ones

    • @OrigamiMarie
      @OrigamiMarie 5 ปีที่แล้ว +38

      @@battmarn he's also TH-cam's one-take wonder, so it could be either way.

    • @tiberiu_nicolae
      @tiberiu_nicolae 4 ปีที่แล้ว

      The guy rarely cuts. He's the one take champ

  • @DavidVitez
    @DavidVitez 4 ปีที่แล้ว +3

    This video was so well made!! This is such a clean and clear explanation and this is exactly how the simulated computer I built works.. The only thing you missed is that you were showing an assembly language on screen during your demonstration the entire time.

  • @jinchoung
    @jinchoung 5 ปีที่แล้ว

    this is one of the fundamental questions that i had when i started learning about computers - how... EXACTLY... does manipulating bits with logic actually draw something to the screen.
    i think you can continue with on with this series by continuing to break that down. so right now, you say that the reason a computer can do things like play games and videos is speed... but that answer is kind of an abstraction too.
    you can break it down further:
    - how does jump or add translate into ands and ors
    - trace sequence of events from fetch/decode/execute to one pixel getting drawn to screen, or one sound being played, etc...
    great video!

  • @bigbird447
    @bigbird447 5 ปีที่แล้ว +17

    This video, in seven minutes, explained more to me about how a computer works than my two failed years as a computer scrivener major. Everything at school was assumed. They assumed you knew this stuff. I didn’t, but now I do. Thank you, Tom.

  • @itsalongday
    @itsalongday 5 ปีที่แล้ว +7

    Last year, I took a computational systems class at my university and we learned this in much more detail. It really blows your mind, knowing about all those details.

  • @stevenmcauley876
    @stevenmcauley876 5 ปีที่แล้ว +4

    As an IT pro I knew all of this going in, but the way you explain things is so wonderful to watch it had me hooked till the end.

  • @variousthings6470
    @variousthings6470 5 ปีที่แล้ว +3

    I appreciate the correction of "programme" to "program". When I was a kid, I remember reading somewhere (probably in one of Usborne's many '80s-'90s computer books) that "computer program" is the only context in which we in the UK use the American spelling of the word.
    But over the years, I've come across more and more people using the UK spelling "programme" to refer to computer applications, to the point where I've wondered if I was misinformed by those books as a kid and it was never a rule at all!

  • @kericlapboards7737
    @kericlapboards7737 5 ปีที่แล้ว +30

    1:18 "It doesn't matter when, or in what order, the memory is written"
    If only.

    • @PokeMageTech
      @PokeMageTech 3 ปีที่แล้ว +7

      For synchronization, sure, but it’s opposed to sequential-access memory.

  • @rinhd1977
    @rinhd1977 5 ปีที่แล้ว +404

    My computer is transmitting heat into my room.

    • @Operational117
      @Operational117 5 ปีที่แล้ว +8

      So is mine, and there's already an unhealthy surplus outside... 🥵

    • @mrflamewars
      @mrflamewars 5 ปีที่แล้ว +11

      Still running a Pentium 4?

    • @lfox02
      @lfox02 5 ปีที่แล้ว +5

      @@mrflamewars I don't think a Pentium 4 has quite the TDP necessary to act as a space heater...

    • @mrflamewars
      @mrflamewars 5 ปีที่แล้ว +1

      @@lfox02 The Prescott core p4s earned the name "Preshott"

    • @theepurpletoaster
      @theepurpletoaster 5 ปีที่แล้ว +7

      Who needs a heater in Winter when your computer does the same?

  • @meltossmedia
    @meltossmedia 5 ปีที่แล้ว +499

    >Tom writes 2 instead of 10
    *Confused Engineer Noises*

    • @SaraWolffs
      @SaraWolffs 5 ปีที่แล้ว +18

      Hex ;)

    • @trangium
      @trangium 4 ปีที่แล้ว +2

      Close enough

    • @samuelthecamel
      @samuelthecamel 4 ปีที่แล้ว +5

      @Xyre154 Mathmaticians: "Did you mean 2^8-1?"

    • @jyro1072
      @jyro1072 4 ปีที่แล้ว +2

      @Xyre154 Me: what

    • @bldjln3158
      @bldjln3158 3 ปีที่แล้ว

      Enfinwers dont make confused noises they are smart peole they are going to save the world

  • @JD-qq8fz
    @JD-qq8fz 5 ปีที่แล้ว +17

    Who else just kept rewinding to 0:54 over and over because they were distracted by those snaps? Those were quality snaps.
    Boom, snapstracted.

  • @slowjampopi3782
    @slowjampopi3782 3 ปีที่แล้ว +7

    I like how you simplified the loop, thank you for your time and effort to produce a great video!

  • @MrKbtor2
    @MrKbtor2 2 ปีที่แล้ว +1

    This was awesome! I searched high and low for a visual representation of this for my CompSci class as I'm a teacher. I've used this 2 years straight now.

  • @PME
    @PME 5 ปีที่แล้ว +27

    You impress me every time in with in how little shots/takes you do your entire video!

  • @zipp4everyone263
    @zipp4everyone263 5 ปีที่แล้ว +4

    Having done IT for years now (12 years and counting (after school time that is)) both professionally and not, this is still a great video! It might seem simple but the ammount of things that clicked for me made me realise why some issues kept creeping up. Great work!

  • @sabeenshahid2024
    @sabeenshahid2024 3 ปีที่แล้ว +4

    This summed up two of my computer science lessons. Except I actually understood everything this time, best explanation ever! :)

  • @guillermovillarsanchez7998
    @guillermovillarsanchez7998 2 ปีที่แล้ว

    I have been following you for years, watching your videos about everything from cool stories about geography, games... Last year I started studying computer science, and tomorrow I have a test on computer structure. I had no clue on the fetch decode execute cycle, and was desperately looking for something on youtube (as one does). I saw your face and was inmediately relieved, as your narrating skills would make me get it instantly. You have saved a fellow computer scientist my friend.

  • @TienNguyen-lm1wf
    @TienNguyen-lm1wf 7 หลายเดือนก่อน

    I watched this video a long time ago. Now I am still impressed how easy to understand by your presentation.

  • @RobertFeranec
    @RobertFeranec 5 ปีที่แล้ว +11

    Love the explanation! I remember the times when we HAD to understand all this to be able to do magic with our computers.

  • @JarrydNielsenLMAO
    @JarrydNielsenLMAO 5 ปีที่แล้ว +1192

    my computer is probably generating cryptocurrency for computer hackers

    • @snollag2278
      @snollag2278 5 ปีที่แล้ว +82

      If its been hijacked and used as a botnet, then yes

    • @yasyasmarangoz3577
      @yasyasmarangoz3577 5 ปีที่แล้ว +16

      Congratulations

    • @Operational117
      @Operational117 5 ปีที่แล้ว +5

      @@snollag2278 That has got to be criminal, right? Using others' computers for your own profit...

    • @stuwustudio
      @stuwustudio 5 ปีที่แล้ว +5

      Is there any way to check if a computer is used as a crypto generator?

    • @JarrydNielsenLMAO
      @JarrydNielsenLMAO 5 ปีที่แล้ว +1

      @Sassy The Sasquatch thanks for the tech support sassy hopefully i can get rid of these cyber creeps for good

  • @Toraxa
    @Toraxa 5 ปีที่แล้ว +6

    This immediately took me back to Assembly class. That's not a place I ever wanted to go back to. Really awesome video though Tom! It's cool to see this stuff being explained really simply (and visually) so people outside of our field, or just joining it, can learn easily.

  • @Hasitier
    @Hasitier 5 ปีที่แล้ว +1

    Fetch, decode, execute. Fetch, decode, execute....... -> an iPod, a phone, an Internet communicator......
    That just came to my mind. But really understandable explanation of a simple computer. Thanks Tom.

  • @233kosta
    @233kosta 5 ปีที่แล้ว +2

    Having just finished watching Ben Eater's breadboard computer build, this is a nice abstraction to add to the detailed electronics. Thank you for putting it together!

  • @AndrewJJ-0114
    @AndrewJJ-0114 5 ปีที่แล้ว +362

    Today I Learned: Most people in TH-cam comments think snapping your fingers is some kind of superpower

    • @rzeka
      @rzeka 5 ปีที่แล้ว +7

      I couldn't figure out how to do it until I was like 15

    • @bananya6020
      @bananya6020 5 ปีที่แล้ว +26

      well i still cant do it

    • @melvinpariyadan4884
      @melvinpariyadan4884 4 ปีที่แล้ว +22

      @@bananya6020 ok here is a mindblower atleast it was for me : the sound doesn't come from the snap itself but from your middle finger after the snap hitting on your hand.

    • @CaseyShontz
      @CaseyShontz 4 ปีที่แล้ว +4

      or: most people in TH-cam comments don’t know how to snap
      (Including me)

    • @General12th
      @General12th 4 ปีที่แล้ว +18

      Maybe, but Tom's snaps are also louder and clearer than most people's.

  • @fep_ptcp883
    @fep_ptcp883 5 ปีที่แล้ว +8

    One of the best and simplest explanations i've ever seen for how a cpu works. Keep it up Tom

  • @McFly0097
    @McFly0097 5 ปีที่แล้ว +14

    1:00 - the smile when u know what something is going to look like in effects, but you're doing it to nothing

  • @AnantaAkash.Podder
    @AnantaAkash.Podder ปีที่แล้ว

    By far the best Explanation of the Program Counter, Instruction Register and Accumulator❤️❤️❤️

  • @FieldSobrietyTest6676
    @FieldSobrietyTest6676 2 ปีที่แล้ว

    I got lecture for 1 and 1/2 hr for this topic (Computer Organization and Architecture) Simple As Possible -1 , I only understand a little from it. This video helps alot. This video should be shown to people who is curently learning COA for easier understanding. Great video!

  • @elieobeid77
    @elieobeid77 5 ปีที่แล้ว +27

    I love prince of Persia, to know that it was written in assembly, my respect to the developers increased dramatically

  • @SummMeister
    @SummMeister 5 ปีที่แล้ว +3

    This helped me out more than my 2 years of computer science studies.
    Good job, Tom.

  • @ZXRulezzz
    @ZXRulezzz 5 ปีที่แล้ว +111

    Tom:
    var x = 1;
    while(true) {
    x=x+1;
    }
    compiler: I'm gonna optimize away this code's whole career

    • @johngaltline9933
      @johngaltline9933 4 ปีที่แล้ว +12

      Suppose it depends what language you're using.
      x++;

    • @Guztav1337
      @Guztav1337 4 ปีที่แล้ว +6

      @John Galt Line "x=x+1;", "x += 1;", "x++;"
      They are all valid, there is no single correct way to write that.

    • @mariocamspam72
      @mariocamspam72 4 ปีที่แล้ว +2

      @@Guztav1337 the compiler optimises it to 1 instruction anyways

    • @Guztav1337
      @Guztav1337 4 ปีที่แล้ว

      @@mariocamspam72 Yes. There is no single correct way to write that. It doesn't matter.

    • @mariocamspam72
      @mariocamspam72 4 ปีที่แล้ว +4

      @@Guztav1337 if the compiler is smart enough, but ALL of them do it nowadays soooo

  • @brassj67
    @brassj67 3 ปีที่แล้ว +1

    I did already know this as I was taught this in 1979 when I was using the Commodore PET. Good video and its amazing to see a CPU made from discrete components abd LEDs

  • @meshak9750
    @meshak9750 9 หลายเดือนก่อน

    One of the simplest great explanation, I have ever heard about this topic.

  • @jaapsch2
    @jaapsch2 5 ปีที่แล้ว +12

    4:30 "every sixth clock cycle" - Actually it is every ninth, because in your demonstration there are three instructions in the loop each using 3 clock cycles.

  • @FutureNow
    @FutureNow 5 ปีที่แล้ว +28

    Just casually snapping half of all life in and out of existence.

  • @bossaddict08
    @bossaddict08 5 ปีที่แล้ว +4

    The CPU/snapping fingers nailed it! I think the next question someone would ask is how does it know that each step in the cycle was performed? It would be neat to show a ready status letting it know it's done therefore it can continue forward with the right "side" of the next clock cycle and avoid glitches.

    • @captain_bretzel
      @captain_bretzel 10 หลายเดือนก่อน

      I think short answer is that it doesn't typically "know", at least not at this level. Electricity is very fast but of course that with very fast clocks, the logic can get all tangled up. So engineers run simulations on their models to make sure that the logic behaves properly up until a certain clock frequency. Some instructions might also need more than one clock cycle to be completed. Also some logic blocks on the chip might need slower clocks (or simply not need a very fast clock -> a fast clock consumes more energy, so it is avoided if possible). In that case the clock is divided and distributed throughout the chip. When you can't easily predict the path of information or logic, you can also have some sort of "handshake" mechanism between devices, so they know when they are ready, just as you mentioned. It's very complex but very interesting!

  • @muneebanjum6268
    @muneebanjum6268 4 ปีที่แล้ว +1

    WOAHHHHH!!!! I understand the fetch decode execute cycle much much better now!!!
    All my concepts relating to this topic are crystal clear...THANKS!!!
    You deserve a sub!

  • @yeadatwunyt8004
    @yeadatwunyt8004 3 ปีที่แล้ว

    The Mad Titan, Tom Scott.
    CS student, lately, I've been starting new topics wiith Tom Scott videos. Greatly appreciated content.

  • @leonchughes
    @leonchughes 5 ปีที่แล้ว +12

    My masters degree used a different type of paradigm in terms of an instruction set. There was only one instruction: move.
    Rather than an ALU - arithmetic logic unit - there was custom functional units - FUs - much like using ASICs. All you did was move the data to the inputs on these FUs and retrieve the result when required - after a certain number of clock cycles depending on complexity.
    I investigated biological mechanisms in this paradigm. What would happen if an FU is defective - could you replicate its functionality using less complex FUs at a sacrifice of more computing time. (Such as using an addition FU multiple times instead of a multiplication unit).
    Great video as usual Tom!
    PS. It’s Program Counter

    • @louaial-obaidi3998
      @louaial-obaidi3998 5 ปีที่แล้ว +2

      That sounds really interesting. Would love to see a detailed breakdown of how such a system works.

    • @mastermati773
      @mastermati773 5 ปีที่แล้ว

      @@louaial-obaidi3998 me too

    • @mydwchannel
      @mydwchannel 5 ปีที่แล้ว +3

      Don't even need special FUs, Have you seen "mov is Turing complete" aka the movfuscator? It's a single instruction c compiler that compiles to a huge long list of MOV instructions.

    • @leonchughes
      @leonchughes 5 ปีที่แล้ว

      Daniel Wallace the use of FUs was mainly for the biological mechanisms aspect.
      I didn’t realise there was a C compiler, so that’s very interesting. The processor itself was implemented using VHDL and the Xilinx suite. (This includes any FUs that I used for demonstration purposes)

    • @leonchughes
      @leonchughes 5 ปีที่แล้ว +1

      Louai Al-Obaidi @Master Mati Thank you for the interest. I haven’t really spoken about my thesis in ages.
      The processor itself was written in VHDL. The MOVE paradigm is very good in application specific circumstances. Therefore my assumption throughout the thesis was that there would be arrays of application specific microprocessors. (Rather than those that are general purpose) - and fault tolerances that could be provided.

  • @vulduv
    @vulduv 3 ปีที่แล้ว +5

    5:15 they still had tools for creating the animations. its just the code that actually places it on the screen that was made in assembly.

  • @diamondflaw
    @diamondflaw 5 ปีที่แล้ว +258

    This video seems a bit RISC-y to make.

    • @renakunisaki
      @renakunisaki 5 ปีที่แล้ว +56

      eh, what's the 'ARM?

    • @AnnoyedArt1256
      @AnnoyedArt1256 4 ปีที่แล้ว +7

      @@renakunisaki How about catching MIPS the rabbit and clipping through doors in 0.5 A presses

    • @MikkoRantalainen
      @MikkoRantalainen 3 ปีที่แล้ว +3

      I'd would instead say that it's totally not RISC-y. That's because RISC CPUs always operate on registers and only contain commands to compute values between two registers. Non-RISC CPUs have commands to directly operate using memory addresses.

    • @n.s.ac.i.ajointeffort1983
      @n.s.ac.i.ajointeffort1983 3 ปีที่แล้ว

      I see

    • @PokeMageTech
      @PokeMageTech 3 ปีที่แล้ว

      Eyyy!!!

  • @GiovanniCriscuolo-jg8ss
    @GiovanniCriscuolo-jg8ss 6 หลายเดือนก่อน

    I think you are the best divulgator I met in the last 20 years of experience in tech... compliments !!

  • @Shardic
    @Shardic 5 ปีที่แล้ว +18

    Watching Tom Scott snapping his fingers for 9 minutes
    You best believe I'm watching it

  • @randomdude_12335
    @randomdude_12335 3 ปีที่แล้ว +11

    5:35 my 2 year experience of coding in ASM compressed into one sentence

    • @flytrapYTP
      @flytrapYTP 2 ปีที่แล้ว

      I respect the grind tho

  • @dasemmiyogurt6288
    @dasemmiyogurt6288 5 ปีที่แล้ว +4

    I knew this already on a deeper level but I have to say this was the simplest explanation of a CPU cycle I've ever heard. Great job on that one. If people want a bit more details then search for The Computer Science crash course by PBS on youtube, still superficial but very informative and it changes the view of computers in general.

  • @FilipposKolovos
    @FilipposKolovos 3 ปีที่แล้ว +2

    Very concise and comprehensive. Even though I am familiar with this topic, I wanted to watch it from a "teaching-it" point of view. One of the best explanations of this topic that I have encountered. Also, that ad description for dashlane you are giving at the end...is really good! Even though I am a Keepass fan, you got me interested! You are really good in presentations!

  • @mdsabilsarfaraz7685
    @mdsabilsarfaraz7685 ปีที่แล้ว

    Thank you sir..i am GATE aspirant used for entrance into the reputed IITs ...this helped me a lot love from India

  • @phozonn
    @phozonn 5 ปีที่แล้ว +25

    Wasn't the original Rollercoaster Tycoon also in assembly? !

  • @midlowreborn
    @midlowreborn 5 ปีที่แล้ว +222

    it's crying because i have 60 chrome tabs open

    • @fireblade597
      @fireblade597 5 ปีที่แล้ว +25

      you're a monster

    • @MikaelLevoniemi
      @MikaelLevoniemi 5 ปีที่แล้ว +9

      Get one of the new AMDs and it doesn't even care anymore. Mine doesn't. Enough cores to leave everything running for several local users.

    • @ninjafruitchilled
      @ninjafruitchilled 5 ปีที่แล้ว +28

      I have :D tabs open

    • @43615
      @43615 5 ปีที่แล้ว +2

      you should turn your computer off and never touch one again

    • @elduderino4936
      @elduderino4936 5 ปีที่แล้ว +2

      Save them as bookmarks they don't slow your PC down at all

  • @Kapin05
    @Kapin05 5 ปีที่แล้ว +10

    Yet another demonstration of how terrible my highschool CS course is.
    It took them three lessons to teach people the basics of Python, while I instead taught it to myself in an afternoon using the Internet.
    It took them a week to teach us numeric conversions, which I already knew from TH-cam.
    And it took them a week to (very poorly) teach the content of this video, while this video is only nine minutes long.
    School: 0 | Internet: 3

    • @GRBtutorials
      @GRBtutorials 5 ปีที่แล้ว +5

      Well, unfortunately high schools have to ensure everyone understands the material, so they’re slow in any subject related to STEM.

  • @owenbooth
    @owenbooth 4 ปีที่แล้ว

    This is without doubt the best video on this subject I have ever used!

  • @harryhawtin8197
    @harryhawtin8197 3 ปีที่แล้ว

    You're my hero tom scott! I've watched this video many times in my computing and IT A-levels, and I have since come to love your channel! Much love from the westside!

  • @BLNChrisCross
    @BLNChrisCross 5 ปีที่แล้ว +14

    6:55 If you have been techy enough to stay that long until the dashlane ad you should know that there are alternatives.
    There is KeePass as an opensource alternative which you can carry on an usb or sync via your trusted cloud service.
    Or you can just run it locally.
    There is also googles passwordmanager for "free" when using chrome and android
    Leave your alternatives in the comments as well :)

  • @PokeRedstone
    @PokeRedstone 5 ปีที่แล้ว +40

    You think Prince of Persia was impressive? All GameBoy games are coded in assembly.
    Including Pokémon.

    • @roninpawn
      @roninpawn 5 ปีที่แล้ว +7

      The animation cycles in Prince of Persia versus the outline of the back of someone's head and a text box announcing what was and was not super-effective... I'm going with Prince of Persia on the 'impressive' front.

    • @satibel
      @satibel 5 ปีที่แล้ว +5

      you think assembly is impressive?
      in space race by atari there wasn't any memory chip, so half of the picture of the ship was stored in a bunch of diodes connected to wires and it was then mirrored.
      there aren't any instructions, the main board is a bunch of logic gates, timers and flip-flops that do stuff based on the inputs and the state of the counters. the score is displayed by counting the lines and the columns, and using a bcd to 7 segment decoder a few and gates decide whether the current position is a segment or not, and an additional and gate checks if it should be showing the pixel on or off.
      tl;dr: there is still a game, but there aren't any instructions, nor processor*, the clock is still there though.
      * one could argue that a bunch of logic gates that processes input is a form of processor and a few flip-flops and counters is memory (ram), and the diodes in a grid is rom.

    • @jlco
      @jlco 4 ปีที่แล้ว

      @@satibel So it was hard-coded? Dang.
      Also, the animations in Prince of Persia were rotoscoped.

    • @satibel
      @satibel 4 ปีที่แล้ว +2

      @@jlco more like hard wired.

  • @scbtripwire
    @scbtripwire 5 ปีที่แล้ว +30

    Ah, Tom, but which password manager do you actually use? Dashlane or something different?

    • @deltanedas
      @deltanedas 5 ปีที่แล้ว

      keepassxc is not a botnet
      shitty online ones are

    • @SeanSpear
      @SeanSpear 5 ปีที่แล้ว +3

      I have dashlane and it's not the cheapest option but it is very good. Before dashlane, I used KeePass (today I would probably use KeePassXC though.) I like the extra features dashlane offers so it's worth the cost for me personally but you may have other priorities.

    • @travisscavoni369
      @travisscavoni369 5 ปีที่แล้ว

      I used dashlane until it asked for my master password instead of a pin, and I forgot my password

    • @blyjd91
      @blyjd91 5 ปีที่แล้ว +3

      Physical piece of paper is the best.

    • @zufaligedaten
      @zufaligedaten 4 ปีที่แล้ว

      i use the cave walls.

  • @MrLuigiBean1
    @MrLuigiBean1 3 ปีที่แล้ว

    I can't tell you just how *SATISFYING* the snapping was. Amazing.

  • @mortezahabibnia8120
    @mortezahabibnia8120 5 หลายเดือนก่อน

    Dear Tom , Thank you for your excellent presentation.

  • @tanmay8017
    @tanmay8017 5 ปีที่แล้ว +9

    Person - CPU's working is so easy
    Pipelining - hold my data paths

    • @KnakuanaRka
      @KnakuanaRka 3 ปีที่แล้ว

      @Memerooney Oh boy; I remember those stupid hazards from my CDA class. @_@

  • @MK73DS
    @MK73DS 5 ปีที่แล้ว +23

    6:19 But Tom ... You know that Mac do not use PowerPC architecture anymore ...

    • @Fenriswaffle
      @Fenriswaffle 5 ปีที่แล้ว +2

      I imagine the point is that the code can be ported and compiled on different architectures. Sure modern macs use Intel processors now, but the point might be missed if the comparison was between Intel based and say for instance ARM based.

  • @groomymusic1
    @groomymusic1 5 ปีที่แล้ว +33

    Actually, my computer heat my house, when winter has come

  • @SimpleLivingHigherThinking
    @SimpleLivingHigherThinking 7 หลายเดือนก่อน

    Thank you for making the concept so simple and exciting

  • @QuinsonHonQBB123XX
    @QuinsonHonQBB123XX 5 ปีที่แล้ว +2

    I’ve been waiting forever for someone to finally explain the Fetch-Decode-Execute cycle in a simple way. Thank you Tom!

    • @cygil1
      @cygil1 ปีที่แล้ว

      What's there to understand? It's staggeringly obvious, right?

  • @binowoo6268
    @binowoo6268 5 ปีที่แล้ว +7

    I have learnt Toms clicks are loud and satisfying from this video

  • @DavidPruitt
    @DavidPruitt 5 ปีที่แล้ว +17

    Missing an important fiddly bit known as conditional execution, which is what makes a computer so much more powerful than an oversized calculator.

  • @marypacis4734
    @marypacis4734 7 หลายเดือนก่อน

    I barely understand anything but I understand enough to appreciate how complex computers are. They’re a whole different creature! Almost alien, with their own language and parts helping it decode and get things done. Scary and intriguing!

  • @professorgilvanvilarim
    @professorgilvanvilarim 2 ปีที่แล้ว

    Excellent video! I talked about this cycle with my computer students today and one of them showed me your explanation. Great! That's why I always have the same answer when someone tells me: "Oh, my PC is frozen" - "Impossible: computers never freeze." ;)

  • @Hexstream
    @Hexstream 5 ปีที่แล้ว +26

    Your computer is probably mostly waiting on I/O. (Including user input.)

  • @jowarnis
    @jowarnis 5 ปีที่แล้ว +146

    It blows my mind thinking that 9900k @5ghz running in my computer ticks 5 billion times a second, how the hell switching can be so fast?

    • @Daniel65522
      @Daniel65522 5 ปีที่แล้ว +73

      not just one every thread is doing that simultaneously so 16x500.000.000.000 ticks a second

    • @DilanoSatria
      @DilanoSatria 5 ปีที่แล้ว +22

      @@Daniel65522 also add the "IPC" a.k.a instructions per cycle :)) so 16*xxx*5.000.000.000.000

    • @jonas1015119
      @jonas1015119 5 ปีที่แล้ว +3

      @@DilanoSatria which now is around 10 instructions per core/per hertz/per second

    • @peterknutsen3070
      @peterknutsen3070 5 ปีที่แล้ว +3

      Hasn’t it got 6 cores? If so then it’s more like 30 billion ticks per second.

    • @or2kr
      @or2kr 5 ปีที่แล้ว +31

      Transistors are no physical switches, they are just simple switches that let current through when they are powered and many of these create logic gates like AND or OR and many logic gates create instruction units, which enable it to execute the aforementioned instructions.
      The "switching" is basically the clock running really fast and enabling to activate and deactivate the transistors at these extreme frequencies

  • @sumantopal558
    @sumantopal558 5 ปีที่แล้ว +11

    Computer Architecture course of 6 months summarized in 9 minute video. Fantastic

  • @acheronhades1747
    @acheronhades1747 5 ปีที่แล้ว +1

    love that ublock origin in the dashlane ad!

  • @lwm2985
    @lwm2985 5 ปีที่แล้ว

    You are precious Tom Scott and quiet possibly the best thing on TH-cam's servers.

  • @Olli399
    @Olli399 5 ปีที่แล้ว +10

    That looks like the front bit at the Centre for Computing History.
    Source: been there.

    • @nxmee
      @nxmee 5 ปีที่แล้ว +4

      It is
      Source: it's awesome