How Do CPUs Work?

Поділитися
Вставка
  • Опубліковано 1 сер 2024
  • How do the CPUs at the heart of our computers actually work? This video reveals all, including explanations of CPU architecture, buses, registers, machine code, assembly language, and the fetch-decode-execute instruction cycle.
    If you enjoy this video, you may also like my previous episodes:
    Explaining SSDs: • Explaining SSDs: Form ...
    Explaining RAM: • Explaining RAM
    Explaining PCIe slots: • Explaining PCIe Slots
    Python Coding Introduction: • Python Coding Introduc...
    HTML Introduction: • HTML Introduction: How...
    More videos on computing and related topics can be found at:
    / explainingcomputers
    You may also like my ExplainingTheFuture channel at: / explainingthefuture
    Chapters:
    00:00 Introduction
    00:35 CPU Architecture
    03:46 Running Programs
    07:54 Modern CPUs
    09:45 Wrap
  • Наука та технологія

КОМЕНТАРІ • 664

  • @supahfly_uk
    @supahfly_uk 3 роки тому +270

    When you render an image in blender and it takes hours imagine how many billions or trillions of operations your cpu has to do, I can't even imagine a number that big.

    • @adgarza
      @adgarza 3 роки тому +39

      This comment is key, as we almost lost our excitement capabilities on this area. Let me tell you that one day like this, July 12, but back in 1950, Dr. Konrad Zuse finished and sold the believed to be the first commercial digital computer of the world: the Z4. This machine was able to perform ~1000 calculations per hour (a multiplication each ~3 seconds). And that was fast back on those days! Today, a processor easily can perform more than 250 billions (short scale) of calculations per second (FLOPS). And that's in just a 70 years timeframe! Sure, processors can go over this number (can go over 1TFLOP or 1 trillion of operations per second) today, and graphics cards can go over 8TFLOPS today. And we still complain about speed in computers.

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

      Thank you for this info, I also would like to know if Dr. Zuse's computer used discrete transistors or thermionic valves. Regards

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

      amazing ! thank you

    • @Maxawa0851
      @Maxawa0851 Рік тому +4

      ​@A. David Garza Marín we complain about speeds because of the evolving needs of humanity. Nobody will complain about the speed of a calculator, but if you want to do 3d rendering suddenly a few billion calculations per second is garbage

    • @bahshas
      @bahshas 5 місяців тому +3

      @@adgarza amazing how computers can run trillions of calculations per second yet web developers create websites that cant be easily ran on them

  • @jaffarbh
    @jaffarbh 3 роки тому +103

    Understanding computer architecture is a big challenge, but simplifying it is even a bigger challenge. Thumb's up 👍🏽

  • @Chris.Wiley.
    @Chris.Wiley. 3 роки тому +166

    I learned assembly language on a TRS-80 Model 1 back in high school. We created a program to fill the screen with pixels both in Assembly and in BASIC and I was amazed how fast the program written in Assembly ran compared to the interpreted language of BASIC. Fun times!

    • @ElmerFuddGun
      @ElmerFuddGun 3 роки тому +6

      My first assembly language was for the Z80 in the TRS-80 model 3. It kicked the model 1's butt! Upper AND lower case and all! ;-P
      I made lots of little assembly programs back in the day.

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

      See here why I avoid Python as much as I can. ;)
      I started 'programming' with BASIC, back then I simply had no access to other languages, I did not know anything about C or assemblybecause there was no internet. My first computer had an XT (pre-286) CPU, it had so little RAM that I could only play Prince of Persia by switching 1.4 MB floppies.

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

      Good ol' trash 80.
      Seems like just yesterday.

    • @bobwong8268
      @bobwong8268 3 роки тому +6

      I almost gave up learning programming due to BASIC & Flow-charting, despite attending face2face classes. Could hardly understand the GOTO stmt. I saw some light when by chance I saw my teacher coding in some other language that had no GOTOs and zero line numbers. And I asked and that was my First encounter with C. I purposed in my heart to learn C and declared to my teacher I want to learn that instead of BASIC.
      Alas, I was not willing for my parent to spend anymore in classes. Like what most other teens did; I turned to books. Spent hours to land myself on the right book. Finally learnt C and Psuedo Code b4 able to understand flow-charting.
      From thence, picking up another language was do-able.
      Yes, finally I code in VBAs and some other languages too.
      Assembly is a little challenging though, perhaps just need some purpose for me to go that route.

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

      @@bobwong8268 YEAh, the biggest problem I found was to get the right info or most appropriate book at the time. There was plenty out there but none of it made much sense unless you happened upon the right stuff at the right time. That's where well structured and timely courses become useful.

  • @Uniblab8
    @Uniblab8 3 роки тому +41

    My father was fluent in machine code, he programmed bits in binary code, then programmed bytes and beyond. He was fluent in the hexadecimal language and then Cobol and other languages. This was the 60s and 70s and into the 80s. He writes programs, mostly in C and others. This video brings back wonderful memories of him trying to explain all of this to a 10-year-old kid in the 60s. The 10-year-old, which of course is me, dropped his jaw in amazement and then felt his eyes glaze over. All I was ever fluent at was BASIC. I still consider modern processors and what they could well become, like magic. I'm too old to understand most of this now but WOW! this video did NOT make my eyes glaze over and Dad would be proud that I still take an interest in all things computer (I have 10) and that there is someone out there still explaining down to the root workings of a microprocessor. Next? The GPU? Thanks, Chris. Brings back a ton of great memories (reams and reams of track fed print outs).

  • @jasonmonk7336
    @jasonmonk7336 3 роки тому +202

    Something other than the football to watch!!

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

      haha

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

      ua-cam.com/video/B8DcfqsJIpc/v-deo.html

    • @adventureoflinkmk2
      @adventureoflinkmk2 3 роки тому +10

      Football: is this played with bulky people in pads chasing a brown oval shaped ball, or is it more slimmer people in silk shorts/shirts and joint pads chasing a black and white ball with pentagon shapes on it

    • @TAP7a
      @TAP7a 3 роки тому +10

      @@adventureoflinkmk2 it's the game where lots of people play with a ball mostly using their feet

    • @klaxoncow
      @klaxoncow 3 роки тому +7

      @@adventureoflinkmk2 It is in reference to the "association" rule set that employs the truncated icosahedron, I believe.
      As the team nominally representing the country of England is partaking in the final of a European-based championship, which means that, within the UK, it is currently impossible to avoid references to "years of hurt" and the 1966 World Cup on the news.
      Thus, for those who give little to no shits for this event - such as the rest of the UK, which is not, in fact, English - then anything worth alternatively watching is greatly welcomed.

  • @NewAgeDIY
    @NewAgeDIY 3 роки тому +12

    Having lived a life, learning, working and playing with computers for over 40 years I’m always amazed when I pick up new information. Thanks Chris.

  • @paulbailey6251
    @paulbailey6251 3 роки тому +150

    Excellent video, Chris - It would be great to see something similar for GPUs.

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

      Go one step further and add in APUs and I'd agree

    • @SteveC935
      @SteveC935 3 роки тому +6

      Maybe add in how GPUs differ from CPUs.

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

      Modern professional GPU's can run OpenCL, so if look at that you can see the difference. OpenCL is made for massive parallel processing (the RTX3090 has 10.5k cores), they can't share memory between threads unless marked as volatile which means it can be corrupted/changed by any other thread at any time. Like releasing 10k bulls from a gate.

    • @dansplain2393
      @dansplain2393 9 місяців тому

      Chris, please explain my wife

  • @sergiogabriel6092
    @sergiogabriel6092 3 роки тому +74

    One of the best videos about the subject: simple, short and easy to understand.
    Kudos to Cris.

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

      Did you already know how CPUs work?

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

      Only easy to really understand if you are a software expert!

  • @resrussia
    @resrussia 3 роки тому +8

    Your video brings back fond memories of my years teaching a computer literacy course at a local university.
    As always, you did a superb job of explaining the topic. Keep up the excellent work.

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

    Yes, please, do continue with the series. I warmly encourage you to take this path, since I find it interesting, coupled with the fact that you always have a gift into explaining computer related stuff very nicely and professional!

  • @d.barnette2687
    @d.barnette2687 3 роки тому +6

    So now with your explanation it is easier to visualize vector machines due to their wider execution registers: fetch-fetch-fetch-fetch; decode; execute; repeat. Thanks for another great video!

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

    That was an amazing synopsis of basic CPU operations! I was skeptical that you could do it justice in 10 minutes but that was extremely concise and well explained! Bravo!

  • @MicrobyteAlan
    @MicrobyteAlan 3 роки тому +21

    The more things change, the more they stay the same. The only difference is that the CPUs and memories I maintained in the ‘70s needed their own cabinets. Good episode. Thanks

    • @ExplainingComputers
      @ExplainingComputers  3 роки тому +6

      So true -- stuff just keeps getting smaller . . .

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

      Good comment, *Microbyte.* For your viewing pleasure, some classic cabinets and Mr Pomeroy, the master, giving a lesson on how cpus work without any fancy graphics in 1971 are here: ua-cam.com/video/f1DtY42xEOI/v-deo.html *Explaining Computers* missed out this part, by the way, which is an essential part of the story, imho.

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

      From "cabinets" comes the archaic expression "casters-up"!

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

      The way I see it we're still using computers exactly as Turing and his contemporaries envisioned them. Any storage medium is a one-dimensional array and is therefore just a tape and the CPU is a head reading that type and jumping around accordingly.

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

      @@cdl0 , yah machines like that. 😊

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

    I have fond memories of my dad and me watching "about modern computers" back in '75. That's why I studied CS and still enjoy working in the industry.
    Thanks for yet another exiting episode of ExplainingComputers.

  • @smada36
    @smada36 3 роки тому +80

    My dad once asked me what a CPU does. I told him to think of it as a tiny Amazon warehouse. Boxes get taken of shelves, opened, repacked into other boxes and shacked on other shelves. Boxes come in, boxes go out. He was happy with that. 😆

    • @ElmerFuddGun
      @ElmerFuddGun 3 роки тому +10

      What is the CPU equivalent of Amazon boxes getting stolen after delivery? Bad RAM maybe? ;-)

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

      @@ElmerFuddGun Lost network packets?

    • @binarybox.binarybox
      @binarybox.binarybox 3 роки тому +8

      A good analogy.

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

      @@ElmerFuddGun Cosmic rays randomly nuking a value in RAM. Not that the RAM is bad, just that the information was made useless. But this would really be more like a random act of finding your package on your porch, shaking the package so hard that it breaks something inside, and then leaving without a trace and the box still intact on your porch. Only hidden damage.

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

      @@ElmerFuddGun Spectre and Meltdown? Although, I guess that is employee theft. 😆

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

    Great video explaining the inner workings and architecture of the CPU. Wish you well, Chris. Keep making these type of interesting ones.

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

    another EXCELLENT summary, Christopher: you are so gifted with an uncanny ability to get right to the heart of these technical subjects. KEEP UP THE GOOD WORK!!

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

    Thank you, Chris. This was a clever simplification to understand such a complex theme. If I may ask for other components, I'd like to know more about how middlewares work in a network (for instance, in a bank, e-commerce or other high transactions environment) . I know there are plenty of courses on line about but, certainly, your point of view is a great summary.

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

    It's not easy to explain how a CPU works in such a short video, but Chris did it really, really good!

  • @technobird22
    @technobird22 3 роки тому +13

    Great video as always Chris!

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

    Brings back memories of learning assembler for the 8080 back in tech school. It was 1986 and I also had applied calculus that semester. It really made my brain hurt or maybe that was all the partying on the weekends. Probably a little of both. Great video. Love your content.

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

    Your animations and explanations have been brilliant for 14 years! Thank you thank you!

  • @tonydyer2919
    @tonydyer2919 3 роки тому +34

    In my day, back in the 1960s the process of converting assembly language mnemonics to binary was NOT compile but the ASSEMBLE process. Compile was reserved for high level language translation first to assembly language then that assembly intermediate code assembled to machine language.

    • @simonknights7526
      @simonknights7526 3 роки тому +6

      I was coding IBM 370/Assembly language until the early 2000s - and it was the Assembler that converted that to machine code. Compilers are for high level languages (in my case Fortran). I'm not aware that the nomenclature has changed. And then, of course, Interpreters for interpreted languages.

    • @ExplainingComputers
      @ExplainingComputers  3 роки тому +11

      A compiler is a program that converts code in one language into another, and the definition has not changed. Yes, machine code compilers could and have been called assemblers. But they are still also compilers.

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

      @@ExplainingComputers Wikipedia agree with my understanding of the terminology,

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

      @@tonydyer2919 Wikipedia can be fixed (although I agree with both of you).

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

      The older compilers took two or three passes to complete the task. High level language into intermediate code or assembly language and finally linked into a file that can be loaded. The UCSD system stopped at the intermediate code (p code) which was down loaded and executed by a virtual p-machine which was independent of the processor type.

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

    ExplainingComputers quite literally explaining computers. Keep it up!

  • @ElmerFuddGun
    @ElmerFuddGun 3 роки тому +44

    Seemed weird that you went from: (2:40)
    _thirty two_
    _sixty four_
    _eighty_
    then:
    _one two eight_
    _two five six_
    _five one two_
    You kinda sounded like a text to speech algorithm that hadn't yet been programmed for 3 digit numbers! ;-P

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

      Isn't that how everyone counts the powers of two?
      Like, when the Commodore 128 came out, no-one ever called it "the Commodore one hundred and twenty eight". It's the "one two eight", right?

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

      @@klaxoncow - Hmmm... I never had a Commodore but I think most, in Canada at least, would have said "Commodore one twenty eight". Maybe it varies by country.

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

    Congratulations on another exemplary video. I think this one really struck a sympathetic chord with your audience, judging by the boatload of comments that have been sent in response. I found these comments to be both interesting and informative. This video and the comments it generated inspire me to continue educating myself in regards to computers. Many thanks to you and all those who participate at this site. :-)

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

    My first real introduction to basic programming (please excuse that pun) was with my Commodore Vic-20, then my Commodore 64. A much simpler time. Thanks for another trip down memory lane.

  • @Chris.Brisson
    @Chris.Brisson 3 роки тому +5

    That was a brilliant overview with just the right level of detail for your audience.

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

    You have refreshed my Tech programming class. I learned assembly language for the 8086 and wrote a basic program to run a traffic light. Thanks!!!

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

      Self taught on an 1802, I wrote a 4 function calculator in assembly.

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

    Super! I'm just starting to learn computers and this was very helpful. Loved the side-by-side comparison to assembly language. Thanks!

  • @denastewart-gore800
    @denastewart-gore800 3 роки тому +1

    Please do more. I'm in the process of learning and re-learning this information. I'm in the process of not just learning this, but I have some ideas for my own tech.

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

    Wow, great video with a lot of insight to the evolution of past, present and future CPU architecture

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

    Super job, Chris. Thanks very much.

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

    As always, clearer than other explanations. Thank you.

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

    Wow you explain softwares, operating systems, hardware you clear everything hats off😀
    Thanks

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

    Been taking IT classes your videos have been helping a lot

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

    Such unique content! I would love to see more of that.

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

    Excellent Video!!!! These are the things we all take for granted. "It's allot of work." Thank you!

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

    I learn something new every Sunday. Thanks Chris.

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

    Great video, would love to see similar videos for other hardware parts.

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

    Thank you for a terrific explanation of this topic Christopher! Great level of detail. I'll be using this as a resource for my high school computer science courses. Thank you again for your great work. Best wishes, Gord

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

    Excellent explanation - thank you! Now for pipelines, RISC, prefetching, stacks ....

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

    This was wonderfully educational. Each component mentioned in this docket could have an instructional video itself.

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

    Enjoyed very much. Yes, please do make more videos explaining the workings of other PC components.

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

    Excellent and thorough explanation - thank you !

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

    That was a great explanation. As usual thanks so much for the great content.

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

    ty for every video pal! your videos are awesome and very well put together 🎅👍

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

    Computers are incredible when u really think about it, it’s what inspired me to be in IT I couldn’t imagine a life without computers of any sort, to put it in perspective, damn near everything runs the way it does now because of it, if technology was not here today, we would be living very very different lives

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

    What a great video , thanks Chris

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

    Thanks Chris for a good solid explanation. I built an IMSAI computer about 1976 - 1978 from a kit (Altair was the most popular) prior to the Apple II. It was big and had 4k memory boards with lots of chips all hand soldered. You programmed it with front panel switches, so pleased to add an optical tape reader. Sold it to a fellow ham. Met Gates and Allen at a Walla Walla hamfest hawking BASIC shortly thereafter....

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

    These videos, are so informative.Thanks a lot for this.

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

    Very insightful teaching. Thank you.

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

    I enjoyed this a lot, thank you.

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

    Was waitting for this 😊

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

    Good explanation. Of course even the CPU has microcode that tells it what to do when the instruction says the binary equivalent of "mov %r12, (%r10)". Your code told it WHAT to do, and the microcode makes it DO exactly that. The microcode is fixed in the CPU hardware...all those little transistors and can't be changed. What writer was it who said "even the parasites have parasites" or something like that. I, too, started by writing assembler code for a Z80 and later the 8008 and later the 8086/8088. Prior to that, I wrote machine code for a Gerber plotter...no compiler at first. It took forever to load in all the 1's and 0's. Eventually we bought an APT (look it up) compiler and we really felt like we were "eating high on the hog"! It was very Fortran-like, and was the beginning of Computer Aided Manufacturing, CAM. As usual, I enjoyed your taking us down memory lane.

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

    I was a mainframe software engineer for 46 years on several operating systems: OS (in the SVS, MVS(in many variants), z/OS, etc variations), DOS (/VS, /VSE variations), VM (/CMS), TPF, etc. for individual companies' development shops, and for several vendors (including DBMS, IBM, and Computer Associates). 2/3 or more of that work was in S/360, S/370, S/390, System Z (including Authorized-) Assembler. The simplest of these had around 150 instructions, the most complex had around 400 or more. This was a great intro to the bare basics of Assembler on micro-processors. EVERYONE should have a grasp of machines at this level, no matter what 'level' of programming tools are used, if for no other reason than understanding the great advantages (and disadvantages) of higher-level (and more machine-abstract) languages and related tools. Great job, Chris !

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

    Keep doing the excellent work!!!!!!!

  • @imav.20
    @imav.20 9 місяців тому

    ur unique for ur outro alone. i love it sir. thank you!

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

    Thank you for the video. You make me smarter. Best wishes.

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

    Sunday morning master class! Thanks!

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

    This was an incredible video. Quality programming.

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

    Great video as always. What an amazing channel.

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

    Oh Christopher, your video is great as always. The only "error" I found in your video is that you said you explained it as simply as possible. But I argue that J. Clark Scott explained it even simpler in his book "But how do it know". He did make his own fully working architecture and processor for the purpose of explaining it in the book, because he explains every part of the whole processor down to the transistor level, and didn't want to infringe on a companys IP. He does so with the intention that anyone who is literate can understand the whole book. And I argue that he does so successfully. It is not a terribly long book, and it is written almost as a page turner. Every one should read it once a year, and it is cheap.

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

    High quality contents as usual. Very clear explanations. Will you make a video explaining how a compiler works? :)

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

    Very concise informations!

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

    This is very straightforwards, thank you

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

    I've dabbled a bit in comparing the primary differences between various Chip types (SOCs, CPUs, NPUs, APUs etc.) however having a video describing the major contrasts and similarities from you on this topic would be very helpful.

  • @andreranulfo-dev8607
    @andreranulfo-dev8607 3 роки тому +2

    Nice topic!!! For more videos like this.

  • @mamotivated
    @mamotivated 3 місяці тому +1

    This was awesome, keep it up

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

    Great video Christopher! I know this is months after you originally did this video, yet at first I was confused with the ALU and the FPU, (Math Coprocessor), and had to look that up. The Math Coprocessor used to be an extra chip one could get with the the 8086-486 CPU's, since the Pentium the FPU is within the CPU.

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

    Good afternoon here in the United States. Just wanted to let you know that I love your channel and your videos. I'm a PC enthusiast always looking to learn deeper as to how computers work and your channel is perfect for it. Thank you for the education!

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

    Thank you for the video. I'm sharing this with my high school students in a computer hardware course.

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

    Ironically, just last night I watched the 8-bit Guy's video on machine language, which made this video a bit easier to understand. Great timing!

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

    Very nicely explained, thanks! The Z80 was also the first CPU for which I learned coding assembler. I can't decide if I like it more than the 6502, though. They have very different and interesting philosophies.

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

    I love such basic explanation videos.

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

    Great video, thanks!

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

    Thanks for yet another educational video.
    I'd like the next one to explain PC monitors, and what to look out for when buying a new one.

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

    Excellent!! Many thanks. My first computer was a ZX81. I progressed to the BBC Micro and 6502 assembler. It was my hoby but enabled me to earn a good living after leaving the RAF.

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

    I too learned on the Z80, a ZX81 followed by a Spectrum+ before moving to Brighton Polytechnic and the multiuser system there. Zaks and Coffron were the two standard text books. Happy days!

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

    Thank you Chris!!! You're an amazing person :)

  • @user-bv6fh7nk8g6x
    @user-bv6fh7nk8g6x 3 роки тому +1

    New subscriber and thanks for making these informative videos. I'm not an engineer and these videos help since I want to learn about technology more. I would love to see more basics of circuitry or on electronic engineering too.

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

    I wonder how many of us still keep as favourite the first microprocessor we ever worked with? For me it’s the 6502 in a BBC Model B. I spent a year or two using one at work to control a 2-axis stepper motor system for a job we were working on. The main program was written in Basic but it was too slow for some of the functionality hence I learned some 6502 assembly language too. Great fun!

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

    Excellent job!

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

    As ALWAYS quality stuff love your stuff

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

    Very good explanation.

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

    1:11 thanks for sharing the name of the arch. P.S. i really like the youtube's queue feature introduced last year. makes watching videos so much more productive/less hessly than before.

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

    I remember back in around 1976 I was completely new to microprocessors but got my hands on a Z80. I didn't initially have a way to program an eprom for it's code so hooked up it's address, data and clock lines to some switches. I couldn't believe it when I manually stepped through some code to add two numbers together and got the right answer!

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

    RICHARD FEYNMAN gave a great explanation of the CPU where I believe he refers to the CPU as an "accountant" who does simple math (but really fast). It was just a brief overview without much actual architectural detail but Feynman was so great at explaining basic concepts before drilling down on the specifics.

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

    Awesome video! It reminds me of the very first computer that I used back in the mid-80s, the Tandy Radio Shack TRS-80 Model 3 which was also powered by the Z-80 chip with the clock speed of just 2 Megahertz. That computer had tiny 48 Kilobytes of main memory and used TRSDOS as it's operating system. It had two 5 1/4 inch floppy disk drives but no hard disk. Since it didn't use any operating system with GUI or graphical user interface, it also had no need for a mouse pointer.

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

      Thanks Gerry. I never used a TRS-80, but looked at them in window of the store on many, many occasions. :)

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

    Excellent video.

  • @RedLine_Renesis
    @RedLine_Renesis 3 роки тому +44

    6:10 the code is 'converted' by an assembler, not compiler.

    • @arieloq
      @arieloq 3 роки тому +10

      The code is converted from "assembler" to machine code by a compiler.

    • @horstschlumma8501
      @horstschlumma8501 3 роки тому +19

      @@arieloq In this special case, the compiler is an assembler ;-) Most of the time: Higher Language -(compiler)-> bunch of assembler instructions -(assembler)-> binary -(linker/loader)-> memory.

    • @flexairz
      @flexairz 3 роки тому +7

      @@horstschlumma8501 Totally correct.

    • @flexairz
      @flexairz 3 роки тому +7

      @@arieloq No, by an assembler. Compilers are/ do the same but for higher level languages. This situation it is called an assembler.

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

      This is hair splitting. In general terms a compiler is any program that takes human readable text files and converts them to a format that can be loaded into computer memory ready for execution at run time.( FORTRAN, Ada, BASIC, C etc). An interpreter reads a text file line by line and executes it line by line. (BASIC or Python). Then there are compilers that convert a text file into an intermediate “language” that is executed by an interpreter (UCSD pascal). Then there are compilers that read a high level language and produce an output for a different processor. I would suggest that compiler covers all of these.

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

    Explaining computers so that I understand roughly what is going on in there. Nice. I'm still dumb as can be but next time someone asks me about a cpu I can say with confidence that I know a link to a video on youtube that can help.

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

    Yes, very good! I still remember my class in Computer Architecture! Very good video. Yes, make others about other hardware parts like keyboard, mouse etc...

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

    I too learned Z80 machine code on a ZX81. My teen self would never have imagined what wonders computers do today.

  • @mortezahabibnia8120
    @mortezahabibnia8120 Місяць тому +1

    Thank you for your excellent presentation

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

    Another successful explanation.

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

    Very well done.

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

    that was a very complete explanation Sir. Barnatt.

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

    Awesome Chris!

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

    Great video, Chris!
    Ben Eater has nice set of videos on building a computer on breadboard. And low level programming of 6502.