How Do CPUs Work?

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

КОМЕНТАРІ • 678

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

    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 роки тому +50

      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 роки тому +5

      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 роки тому +2

      amazing ! thank you

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

      ​@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 9 місяців тому +6

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

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

    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).

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

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

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

    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.

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

    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 роки тому +16

    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.

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

    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 роки тому +5

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

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

    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 роки тому +7

      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 Рік тому

      Chris, please explain my wife

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

    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. 😊

  • @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!

  • @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.

  • @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!

  • @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!

  • @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.

  • @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!

  • @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.

  • @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!!

  • @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.

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

    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.

  • @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 !

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

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

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

    Great video as always Chris!

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

    ExplainingComputers quite literally explaining computers. Keep it up!

  • @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.

  • @ROBLOXTHANOS
    @ROBLOXTHANOS 4 місяці тому +3

    Very detailed technical explanation. 👍

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

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

  • @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.

  • @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.

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

    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. 😆

  • @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.

  • @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.

  • @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.

  • @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!

  • @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.

  • @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!

  • @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.

  • @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.

  • @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.

  • @catorlife
    @catorlife 2 місяці тому +2

    6:08 assembly language should be translated to machine language by assembler! (although there're some cases some compilers can translate high level language directly to machine code, but you should also mention that as exceptions, that's not common)

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

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

  • @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. :-)

  • @AbdusSalam-cb6yj
    @AbdusSalam-cb6yj 3 роки тому +1

    Yes, Chris. We want more computer hardware explainer video

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

    Very nice introduction to Assembly in the section "Running Programs"

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

    I learn something new every Sunday. Thanks Chris.

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

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

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

    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.

  • @kane_of_light
    @kane_of_light 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.

  • @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....

  • @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.

  • @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 ....

  • @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!

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

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

  • @gerrycrisostomo6571
    @gerrycrisostomo6571 3 роки тому +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  3 роки тому

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

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

    I love such basic explanation videos.

  • @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...

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

    It's crazy how we dive into old ages with Z80, BUT z80 is stillused today. That's so amazing that in the 70' I used a 4bit processor SCAMP and we were so proud to own 4k of memory or even 8k, and when I take a look, it's not so far
    Thank you for this video !!!

  • @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!

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

    Nice topic!!! For more videos like this.

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

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

  • @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

  • @matth.imaging8952
    @matth.imaging8952 3 роки тому +1

    Programming the Z80 by Rodney Zacks. I still have the copy of this book that I bought in 1983 to learn Z80 Assembly language on my Eaca EG2000 Colour Genie home computer (which I also still own). Great memories.
    I remember that there were 2 factions at that time: the Z80 vs. the 6502 followers. The Z80 being a CISC processor, the 6502 being more of a RISC processor.

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

      I tried to find my copy of this great book when making this video, but could not! It is around somewhere.

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

    Been taking IT classes your videos have been helping a lot

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

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

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

    As always, clearer than other explanations. Thank you.

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

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

  • @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!

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

    You did an amazing, "CPU briefing: Part 1." "Part 2" could mention typical needs like: DC power, thermal control (so important!), and increasing clock speeds. "Part 3: Real World Applications" might include a quad core example. Mention what can typically go wrong with a CPU controlled machine. (Why is it the "fix" for something is to reboot a system? Could a CPU controlled machine better indicate a problem or fudge or temporarily correct a situation?). Bravo!!

  • @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.

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

    Excellent and thorough explanation - thank you !

  • @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!

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

    Would it be possible in a future episode to go a little deeper into the workings of assembly language?

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

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

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

    I enjoyed this a lot, thank you.

  • @imav.20
    @imav.20 Рік тому

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

  • @bjre.wa.8681
    @bjre.wa.8681 3 роки тому +1

    I enjoyed the video and "All The Comments". Now I understand why I never understood programming. With as much knowledge; experience; training and real world work and there's so STILL much parsing and disagreement. It's a wonder that computers even turn on!

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

      Programming never makes sense at first. You just have to work with it and suddenly one day it all just falls into place.

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

    There is very good book titled "Code: The Hidden Language of Computer Hardware and Software ", that goes into detail of building a computer. It's fairly easy to read

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

      I highly recommend that book. Great place to go to next after watching this terrific video.

  • @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.

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

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

  • @mortezahabibnia8120
    @mortezahabibnia8120 5 місяців тому +1

    Thank you for your excellent presentation

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

    My first experience of assembly language was seeing my Dad on weekends in the lounge with stacks of paper with Z80 mnemonics in one column and data in another, he explained it all to me and I soon picked it up, then I got a ZX81 with saved up pocket money and had fun.
    I still have a ZX Spectrum but it's been put into a different case with a real keyboard and it's been branded as DK'tronics, I am planning to fix it up with an Arduino and an SD card.
    I also have an 8080 board with Hex keypad, it's all very exciting, I am currently attempting to write my own assemble/disassembler in python.

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

    It's amazing how they work, but just as amazing it is how they are made, and so extremely reliable with proper cooling, the chip will last longer than any other component in your system.

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

    I'm not a programmer, rather an interested bystander... but during the Z80 diagram I suddenly had a Moment of Vast Enlightenment about Assembly Language.
    I'd like to see a similar go-over for the differences between CPUs (that is, 8bit up through x64, and perhaps RISC vs CISC. Have you done one about multithreading vs multicores?)

  • @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.

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

    Fascinating. This is my 20th video on the subject. I still have 100s of questions.

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

    CPU are powerful and getting smaller. Just look at what handphone can do. Maybe we can look at the evolution of modem technology. Dial up to fiber modem. Could be interesting?

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

      The smaller the hotter they get too.

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

    not bad, i like to watch this kind of videos, pressed the like button

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

    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.

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

    This is very straightforwards, thank you

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

    I just ❤ that you went to the Z80 for simplification, Chris 👍

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

    Yup the good old Z80 and Z80A. I started there too. Thanks for this simplified explanation of this complex topic.

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

    This was an incredible video. Quality programming.

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

    It blows my mind the amount of genius it takes to invent something like this...they can't be human, ive never met a human smart enough to grasp all of this, never mind invent it all...HOW is someone that smart!

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

    I just got out my assembly class and had no experience with C. Sadly, my college focused so much on java, hopping right into assembly was rough. I wish our CS program had focused more on C rather than Java since I was able to take this right out the gates after discrete mathematics. That being said, it was a super interesting class! I find myself objdumping programs I make out of curiosity every now and then.

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

    Thanks you, I enjoyed this episode very much. I would like to request that you do some segments on microcontrollers such as the Adafruit CLUE and the BBC Microbit.

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

    Amazing video about how CPU works.

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

    I'd love to see an explanation of how the GPU Processor works, I assume much in the same way as the CPU but dedicated to graphics, an RTX GPU for example also contains other Processing units such as RT Cores, Tensor Cores and Shading Units.

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

    I'd like to see a video about the contents and functions of the motherboard or single-board-computer. How does it connect the CPU with memory and with storage devices?
    I'd personally find that helpful. And thanks for these explanatory videos on various topics.

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

    Way back in the dark ages, I learned to program a DEC PDP-8/I. I don't think I ever resorted to a compiler for assembly language; it was a 12-bit machine and really only a few instructions to learn. Usually, everyone in the class wrote assembly language on paper and converted into 4-digit octal (base-8) numbers BY HAND, typed them into the computer on a teletype machine and executed them--after saving our code on punched paper tape! BTW, with a 12-bit machine, the entire memory space --in core memory--was a rip roaring 4096 words.
    We've come a long way, baby...

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

      No. We have regressed. Programmers who had to deal with that environment were vastly superior and more talented than those today who just slap some code together and hope it sticks.

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

      @@KameraShy I 100% agree. Now we have "programmers" writing code in C or Java that, by default, gets compiled into bloatware.

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

    In one moment I'm transported back to Redbridge Technical College in 1982.
    Although the one CPU on a board which had to be shared amongst all the students was an 8080, not a Z80. The instructor was a Geordie and pronounced it "a'ey - a'ey."
    Compiler? HA! We had to write it out on paper in assembly language and then translate it all, line by line into Hex, using a laminated reference sheet with peeling corners. Then enter the hand-written translation one character at a time into memory using a very clicky 0 to F keypad.
    After several hours of graft, the board could add 2+2 and display 04 (if you'd got everything right) on a pair of 7-segment displays.
    That simple board probably cost more than a modern mid-range laptop.

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

      Great post. I too prepared my Z80 code in hex on paper, performing "poke" instructions to but each byte into RAM on a ZX81 (often by holding them in a REM statement). Happy days!

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

      When I began programming in machine code, I would write out my programs in assembly on paper, using arrows to indicate jump instructions. I then manually translated the assembly instructions into hexadecimal as I was typing. Fortunately, Apple || computers had a built-in disassembler so I could immediately check if I made a mistake.