The Heartbeat of Computing: How Clocks Drive CPUs Forward

Поделиться
HTML-код
  • Опубликовано: 1 ноя 2024

Комментарии • 159

  • @CoreDumpped
    @CoreDumpped  2 дня назад +3

    To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/CoreDumped. You’ll also get 20% off an annual premium subscription.

    • @crystal4372
      @crystal4372 День назад

      Nice video, i have some questions:
      Does your work revolve around hardware or are you just learning this yourself and making youtube videos after self-study?
      How did you learn to animate these videos and what software do you use?

  • @c0g3nt29
    @c0g3nt29 2 дня назад +119

    It’s videos like these that make me appreciate the sheer wizardry behind the screen. Sitting here, comfortably abstracted from layers of intense engineering, I can't help but marvel at how decades of solving complex, tedious problems lets me blissfully ignore them-typing away on a machine that just works, as if by magic.

    • @10hi01
      @10hi01 День назад +6

      that pfp is crazy

    • @johnpaulpascua3569
      @johnpaulpascua3569 50 минут назад

      If you go 1000 years back to the past with your smartphone, people will literally worship you. That's how advanced our tech today that we take for granted. 😂

  • @juniuwu
    @juniuwu 2 дня назад +82

    That emergent behaviour of chained flip-flops forming a binary counter is amazing. It almost feels like it just came out of nowhere.

    • @CoreDumpped
      @CoreDumpped  2 дня назад +22

      Fun fact: I was also stunned when I learned about it.

    • @amj864
      @amj864 День назад

      @@CoreDumpped Is RDTSC implemented this way?

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt День назад +1

      It does not come out of nowhere. A circuit without memory acts like a function. A flip-flop has this feedback loop to know about the past. The combined state is two dimensional. I imagine hands running around the clock. Now if the clock frequency (edge steepness) and the memory decay live on vast different time scales, this clock gets squeezed into a line and the circuit stops counting.
      In a way this is only a slight expansion of a phase shifter.

    • @adambickford8720
      @adambickford8720 День назад +2

      @@ArneChristianRosenfeldt I think his point was we didn't decide to build a binary counter, it's just kind of the unexpected result of this aggregation of flip-flops.
      It obviously wasn't a coincidence for the designer and much iteration arrived at this elegant solution.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 20 часов назад

      @ ah, so yeah a frequency divider is a counter. Just accept that you cannot read out the counting value due to skew. It works great to trigger the drawing of sprites in the Vic-Ii in the C64.

  • @bodycowlin
    @bodycowlin 2 дня назад +55

    2 videos in 1 month!? Today's not Halloween it's Christmas!! 🎄

    • @monkyyy0
      @monkyyy0 2 дня назад +2

      -maria carry

    •  День назад +1

      Well, the octal to decimal joke was pretty smooth... Nice one man!

  • @premsagar4438
    @premsagar4438 2 дня назад +34

    Yes, exactly... Exactly. This is what I was talking about bro. Cover everything! Make all those difficult-looking concepts easy!

  • @-yttrium-1187
    @-yttrium-1187 2 дня назад +25

    Brilliant video. Though in real CPU's you wouldn't want to fetch, decode, execute and increment one cycle at a time since your fetch and decode would be idle 50% of your clock cycle. So I guess in a few video's from now we'll be talking about speculative execution and cache invalidation.

    • @CoreDumpped
      @CoreDumpped  2 дня назад +35

      Yes, you are right

    • @Akronymus_
      @Akronymus_ День назад +6

      simple pipelining that stalls on data dependencies would probably be a better intermediary step IMO

    • @noahwilhelm3205
      @noahwilhelm3205 День назад +1

      Yeah it's an interesting mix of a pipelined CPU but also not executing the stages in parallel, most likely do to simplicity 🤫. Without out of order execution your only pipeline data hazard is a raw, which can easily be forwarded or stalled, so it wouldn't be too complex.

    • @Akronymus_
      @Akronymus_ День назад

      @@noahwilhelm3205 conditional jumps, indirect addressing and such would definitely need stalling as well. Easiest to just stall on certain kinds of instructions, that COULD have data dependencies.
      Altough, probably still quite a bit out for @CoreDumpped to bother with any time soon. First the individual stages have to be covered.

    • @Akronymus_
      @Akronymus_ День назад +1

      @@noahwilhelm3205 Dang my reply got removed.
      There are still hazards of data races with indirect memory accesses. But main memory in general is quite challenging with the fairly large delays. Altough, I guess you could run the RAM at cpu latency/throughput/frequency for explaining and introduce stuff like caching and such later.

  • @pedrovelazquez138
    @pedrovelazquez138 День назад +4

    When I was 16, I remember using T-type flip flops to build a counter. I used a push button to increment. It reached 25 and then it restarted again, all of that with combinational circuits.
    I was very excited about this. I still remember working on a small table next to my bed. I was happy for the results, it worked.

  • @FT91-z5j
    @FT91-z5j День назад +8

    I love your videos there are amazing to watch.
    Little note at 13:11 the Push button should be switch betwen a logic One and a logic zero because your input pin is now is floating.
    You coud mention that any pin not connected to a proper input is a zero.
    I understand that it's much easier to understand the function of button for normal people but i believe the peopel that interested in that kind of stuff it is crucial to understand that a Output signal of any logic is not comparable to a button switch because you need a way to ensure the level will go to high or zero after you released the button.
    Maybe you could explain this in a one of your next videos so you can reference to it in your comming videos.
    Thanks for your amazing videos.

    • @CoreDumpped
      @CoreDumpped  День назад +8

      You're right. Also, in real life, push-buttons are very unreliable in this kind of situations because there's a lot of bouncing in the metal-contacts, so when you push them they actually produce a lot of "edges".

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt День назад +1

      @@CoreDumppedthe first radio transmitters used these buttons. I think that EMI should only happen on making a contact. There is a short lightning. Lightning strikes in the sky create long wave radio.

    • @adambickford8720
      @adambickford8720 День назад

      These videos are for the freshman level learner. Let them enjoy their ideal diodes for a couple years.

  • @markhaus
    @markhaus 2 дня назад +3

    Can’t wait for your process scheduler video. That’s one area I’ve always stumbled with.

  • @plrc4593
    @plrc4593 2 дня назад +3

    O, another video soon after I subscribed you :D I must say you're one of the most valuable RUclipsr I have seen :D You helped me to understand better how computers work. You helped me to understand the difference between heap and stack. I look forward to learning a lot of from you in the future.

  • @khachikhatsagortsyan7027
    @khachikhatsagortsyan7027 День назад +11

    I'm simple human - I Immediately click the like button when I see Core Dumped uploaded a new video about CPUs

  • @metaname11
    @metaname11 День назад

    Fantastic video! Your teaching style makes complex concepts so much easier to grasp. Keep up the great work! It’s clear you put a lot of effort into making this content informative and enjoyable. Keep up the amazing work-I can’t wait to see what you share next!

  • @tratmir
    @tratmir День назад +4

    Wow, this made so much sense! It also blew my mind how the binary flip-flops formed a counter.

    • @skilz8098
      @skilz8098 12 часов назад

      Yeah, it almost seems counter intuitive but chaining them together like that to create a binary counter is also very close to the idea of having a binary voltage divider.

  • @givememoJo
    @givememoJo 2 дня назад +1

    these are the kind of videos i pause when i am doing something besides like work or playing games because it would be to big of a loss missing even the slightest bit of information. thank you so much for your videos!

  • @skilz8098
    @skilz8098 12 часов назад

    That was probably one of the simplest ways to explain how binary or ring counters work based on a clock input signal and how they rely on both the gated latch - JK or T flip flops which also heavily rely on edge detectors. I've already known this from my own research and independent projects where most of my learned knowledge came from others such as Ben Eater, NAND to Tetris, and a few others. If only this kind of content was around 10-15 years ago when I started down this journey. Great stuff, great vids, keep up the great work!

  • @Polishpython
    @Polishpython 2 дня назад +29

    instant click

  • @desyfer1709
    @desyfer1709 2 дня назад +1

    Love your videos. Instant click. And they always answer some questions I always had....stuff like how exactly the OS interacts with hardware, or the role of BIOS, and some others including the stuff already in your videos!

  • @ombrezz7030
    @ombrezz7030 18 часов назад

    These videos are awesome, you don't find a lot of content on this website covering digital electronics at this quality.

  • @omgiheartpie
    @omgiheartpie 2 дня назад

    You are a treasure man. Can’t wait to just binge watch all your videos again over the winter break

  • @inriinriinriinriinri
    @inriinriinriinriinri 22 часа назад

    You explained 3 months of my Comp Systems Architectures classes in 15 minutes. That's just incredible.

  • @mubafaw
    @mubafaw День назад

    Clear crisp explanation. Many Thanks 😊👍

  • @vastabyss6496
    @vastabyss6496 День назад

    Okay I gotta admit, the title is fantastic, and so is the thumbail and content as always! Great video

  • @leshommesdupilly
    @leshommesdupilly 2 дня назад +3

    Square wave: Wait… It’s all sines ???
    Fourier: Always has been… **gunshot**

    • @skilz8098
      @skilz8098 12 часов назад

      It's only all sines when I cosine for it. Sine here on the dotted lines.

  • @deezydoezeet
    @deezydoezeet День назад

    You're the G.O.A.T Chief George! This has actually been a subject of my curiosity for a while now. This is amazing stuff!

  • @ralfm.metzing8407
    @ralfm.metzing8407 2 дня назад

    Thanks a lot for these perfect illustrations!

  • @sg9257
    @sg9257 День назад

    Thanks for helping me understang things that i didnt know

  • @jonathanprivitera9394
    @jonathanprivitera9394 2 дня назад

    I'm loving every upload so much, liked the video while the ads are still rolling and I know I won't remove the like. Keep up the good work!

  • @omaralikhan4633
    @omaralikhan4633 День назад

    amazing as always, waiting for threads video

  • @premsagar4438
    @premsagar4438 2 дня назад +1

    You can do everything Such as data structure visualisation and other aspects of the computer science too. One step at a time bro. Keep going!

  • @trimpta
    @trimpta 2 дня назад +1

    Clicked on this video in a heartbeat as soon as i saw it

  • @Revoker1221
    @Revoker1221 День назад

    Absolutely fantastic content. For the more advanced viewers, I also recommend watching "minimal 64x4 inside out" by Slu4.
    Where this video demonstrates the basic theory of how one goes about the instruction pipeline sequentially, the x64x4 video demonstrates how microcode (particularly control signals) can have mutiple stages of the pipeline executing simultaneously.
    It would also be nice to see microcode explained on this channel too, but it might take a while to get there haha.

  • @pepinzachary
    @pepinzachary 2 дня назад +1

    i just can't believe how fucking beautiful computer science is oh my god. it's just magic

  • @dxtechcreations
    @dxtechcreations 2 дня назад

    thanks. I've got a lot of things learned again from your channel.

  • @EyadAhmed-s7z
    @EyadAhmed-s7z День назад

    I have been looking for this!

  • @googigoog
    @googigoog 23 часа назад

    Brilliant content & animation!

  • @oronshifman
    @oronshifman День назад

    Man!!! Love you're videos!

  • @CanThinkCanDo
    @CanThinkCanDo 21 час назад

    Man this is the answer I never got in engineering ❤❤❤❤
    Amazing explanation mate

  • @farhanrejwan
    @farhanrejwan День назад

    if only our digital logic design course professor taught us flip-flops like this 8 years ago from now...

  • @FranzSarmiento17
    @FranzSarmiento17 2 дня назад

    Another Cored Dumped Video let's gooo

  • @Cluni-80s
    @Cluni-80s День назад

    Make a full course on this, assymbly, programming...etc and I will be the first to sign up.
    Amazing educational quality.

  • @ВладФоменко-р4е
    @ВладФоменко-р4е День назад

    Best. Channel. Period.

  • @stinchjack
    @stinchjack День назад

    0:46 555 clocks are limited to abut 1KHz. The tolerances abut resistors on caps are also frustrating for exact timings. Also on a 5V circuit the 'high' part of the clock is limited to 3V.

  • @Griffin12536
    @Griffin12536 День назад

    Brilliant needs a dark mode version of their ad.

  • @anilshemade6048
    @anilshemade6048 День назад

    I wish these videos were made in my college days...❤❤❤

  • @MD_Areeb
    @MD_Areeb День назад

    I always watch his video 2 times to understand the concept more clearly

  • @tarlkudrick1174
    @tarlkudrick1174 День назад

    Does pressing a key on a keyboard do something similar to the manual clock advance button? That is, do keyboards work because pressing a key either interrupts an electric flow, or allows one to happen? I'd love a video from you (assuming you don't have one and I can't find it) about the lowest level interface that lets software control hardware, and hardware control software. I'm not sure if I'm asking for a video about how drivers work (at the lowest possible level), but maybe I am. I think I don't know enough about digital engineering to ask my question using the right terms, so I hope you can figure out what I'm asking for. Thanks! (New subscriber.)

    • @CoreDumpped
      @CoreDumpped  День назад +1

      My video on Kernel Mode vs User Mode might answer your questions.

    • @adambickford8720
      @adambickford8720 День назад

      Yes, but its not 1:1 w/switches to keys. There's a reason most keyboards can only register a small number of simultaneous key presses (multiplexing).

  • @momensy2136
    @momensy2136 День назад

    Bro, please keep up this good content. I can't play my role to keep this amazing work free, but one day, I will.
    Thx alot ❤

  • @stachowi
    @stachowi 2 дня назад

    This channel is next level

  • @alexkfridges
    @alexkfridges День назад

    Beautiful video. Really really excellent

  • @ShinSpiegel
    @ShinSpiegel 2 дня назад

    Amazing video, thanks for sharing.

  • @anthonybustamante5736
    @anthonybustamante5736 День назад

    How do you animate your videos!!! I have been absolutely binging your great work. Keep it up, it's awesome!

  • @paca3107
    @paca3107 2 дня назад

    ideal timming. I just wondering how clock works because recently I am interested in building Chip8 interpreter. Maybe Vm/interpretters its a good topic for the next video?

  • @KhaledKimboo4
    @KhaledKimboo4 День назад

    You may be wondering why not just increase the clock speed to get unlimited cpu speed since your cpu is relatively as fast as it's clock, but going faster causes the signal to radiates (becomes radio waves) and never reach its destination , again (at least not as strong as needed to be ) you say so just reduce the distance a signal needs to travel inside cpu so we can use higher frequencies, and that's why we need smaller and smaller transistors

  • @tthanhvu8891
    @tthanhvu8891 2 дня назад

    The first thing I ever do when watching Core Dumped’s new video is like the video.

  • @diamonddemon7612
    @diamonddemon7612 2 дня назад

    tysm! time to finish my CPU!

  • @mzaidibrahime
    @mzaidibrahime 2 дня назад

    Wow man. Top top presentation

  • @simplifyitofficial
    @simplifyitofficial День назад

    I Used To Like Your Videos Soooooo Much. I still Like Your Videos. KEEP IT UP. I was going to make that in real life. After buying lots of stuff, I realized that it would be impossible to make it using jumper wires and breadboards. But I still watch your videos to understand the concepts

  • @akashr2283
    @akashr2283 День назад

    great job sir

  • @arindamdas7341
    @arindamdas7341 День назад

    Great content...thanks 👍

  • @AK-vx4dy
    @AK-vx4dy День назад

    You must be stopped. Your explanations are so good that soon we have epidemic of cpu designers / assembly programmers 😅

  • @leonarrator265
    @leonarrator265 День назад

    ty mr. George

  • @hard.nurtai4209
    @hard.nurtai4209 2 дня назад

    ohhh yes. exactly what i was looking for

  • @mahmoudbasha4838
    @mahmoudbasha4838 День назад

    I hope you make a video about boot process in detail under the hood plz

  • @farhanfaraan1
    @farhanfaraan1 2 дня назад

    So brilliant sir

  • @BiplobHossainSorker
    @BiplobHossainSorker 9 минут назад

    Thanks

  • @shis10
    @shis10 День назад

    Amazing video

  • @whermanntx
    @whermanntx 2 дня назад

    When watching one video makes you go to the channel and find more. 🎉

  • @MACMAN2003
    @MACMAN2003 День назад

    the scariest part of halloween: computer science!!!!!

  • @taffareldelimaoliveira
    @taffareldelimaoliveira День назад

    lets go back to circuit simulator and try to build one myself. Thanks so munc for this. Clear as water

  • @ductainguyentran6821
    @ductainguyentran6821 День назад

    hope you can publish new video everry week !!!

  • @Beginning497
    @Beginning497 2 дня назад

    🫡🫡mad respect from your student bro...

  • @elzabethtatcher9570
    @elzabethtatcher9570 2 дня назад

    "Until next time, I'm Jorge"
    Next time, who knows...

  • @dj10schannel
    @dj10schannel День назад

    Great vid 👍

  • @stinchjack
    @stinchjack День назад

    13:03 Push buttons require debouncing

  • @joelasa5420
    @joelasa5420 2 дня назад

    Very good video. Please how does this enable the computer to execute multiples instructions at the same time in the pipeline? Since the stages of the pipeline are not activated simultanously by the clock?
    Another question. How do the cpu executes millions instructions per cycle of clock? Are there millions of pipeline stages?

  • @adambickford8720
    @adambickford8720 День назад

    Videos like this are why i tolerate the internet

  • @MrOnlineCoder
    @MrOnlineCoder День назад

    Great video, but I can't figure out - is your voice just so clear and badass, or it's AI voiced?

  • @CybernetonPL
    @CybernetonPL День назад

    12:15 should I point out it counts up in binary and resets to zero after 1111?

  • @oglothenerd
    @oglothenerd День назад +2

    MMU video when?

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt День назад +1

      Yeah, how does a MMU not introduce a lot of latency. Neither PS1 or Saturn used MMU. I think N64 had it, but it was optional. Also only used a small die area. No big TLB .

    • @oglothenerd
      @oglothenerd День назад +1

      @@ArneChristianRosenfeldt The MMU is very crucial to modern operating systems.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 20 часов назад +1

      @ Android does not seem to like swapping. Also DRAM is cheap. So it is about memory protection?

    • @oglothenerd
      @oglothenerd 20 часов назад +1

      @@ArneChristianRosenfeldt Yes. The MMU is the reason applications segfault instead of corrupting the memory of other processes, and the MMU is what maps virtual memory addresses for every process.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 4 часа назад

      @ virtual memory is a weird concept. So on a 32 bit system every process gets 4 GB address space. Then malloc leaves tons of space behind it to allow realloc. Imagine List in C# or Java . Once you get close to the page size, reserve like 256 pages capacity. So your program will probably never need to realloc a large growing list. All blobs are spread with empty pages in between to detect buffer overruns.
      A physical implementation could store a physical address in SI and DI. When code reads out these registers, they could be translated back to virtual memory. Same with the address registers on the 68k ISA. For low latency memory access.

  • @huycuong6403
    @huycuong6403 2 дня назад

    Hi , could you explain quantum computer work? Thank

  • @mohamedelfmed3811
    @mohamedelfmed3811 День назад

    How do you make the video animation. Which tool are used?

  • @gendalfgray7889
    @gendalfgray7889 2 дня назад +1

    How cpu have Giga Hertz clocks?

  • @rondamon4408
    @rondamon4408 День назад

    Wow, If good clocks are important for speeding, I'd say that the fastest computer would be a Rolex

  • @joaopedrodonasolo680
    @joaopedrodonasolo680 2 дня назад

    OHHH YEAH KNOWLEDGE, PLEASE GET INTO MY BRAIN

  • @xyt098
    @xyt098 День назад

    bro what software did you use to make animation or presentation like this?

  • @dzuchun
    @dzuchun День назад

    electrodynamics isn't real, it can't hurt you
    also computers:

  • @РайанКупер-э4о
    @РайанКупер-э4о 2 дня назад +1

    I'm thinking how a processor can be MA without the clock. In a biological system there is nothing similar to that clock. Organisms can detect rhythmic signals from outside, like rising and setting sun, but there is no inner clock that dictates synchronous work of everything. That creates interesting advantages. For example, one light sensitive cell in your eye can create signal no more frequent than 20-21 times a second. You may think this means that our eyes have 20 fraims per second, like your average TV. But this is false conclusion. In practice trained fighter pilots can identify plane modification even if it appears only for one 200s of a second. So how is that possible? The photosensitive cells are not synchronized. Each fires it's signal right when it gets hit by a photon, without waiting for any clock pulse, then it «cools down» for one 20s of a second and it's ready for the next photon. So this way continuously gathering signals from the whole retina the brain is able update the image faster than a light sensitive cell can update it's state. So with that in mind, can we make a system, that would allow us to use same effects?

    • @CarlBach-ol9zb
      @CarlBach-ol9zb День назад +1

      Actually, yes. You might still require a clock, though, for various reasons. But modern CPUs may perform the Fetch-Decode-Execute cycle concurrently and in parallel. I.e. The CPU may fetch the next instruction, while decoding a prior instruction, while executing an instruction that came before it. This speeds up data processing.

    • @РайанКупер-э4о
      @РайанКупер-э4о День назад

      @CarlBach-ol9zb , not exactly what I was talking about, but it's cool too.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt День назад

      Asynchronous logic was tried. Heck, DRAM was async up to the AtariJaguar. Then the Sega 32x switch to synchronous RAM.
      DEC Alpha and Pentium4 overdid it with the clock and wasted a lot power on just cycling.
      With 5 GHz cruise and 10 GHz clock possible in silicon, you don’t get much finer time grains. IO is slow in comparison. Camera sensors are read out in serial fashion. Maybe you invent a 3d chip.

  • @vikaspoddar001
    @vikaspoddar001 2 дня назад

    Here we go again

  • @638electro
    @638electro День назад

    Did I missed something or is CPU able to execute each instruction strictly in one clock tick?

  • @TheVirtualArena24
    @TheVirtualArena24 2 часа назад

    Edge detector 😳

  • @가사나다
    @가사나다 10 часов назад

    Then what happens if each stage fails or not done before one tick goes?

    • @CoreDumpped
      @CoreDumpped  10 часов назад +1

      Here we are assuming no fails and 1 instruction per cicle.
      Unfortunately, the implementation of circuitry needed to handle the situations you describe far too complex to explain in a single video.

  • @mlucianoeze
    @mlucianoeze День назад

    I activated Set and Reset at the same time and the latch took a screenshot

  • @epeon-wisp
    @epeon-wisp 2 дня назад

    Let us go

  • @johnpp21
    @johnpp21 2 дня назад

    how does it know when it need to be fast?

  • @Adiee5Priv
    @Adiee5Priv День назад

    Actually, not all processors rely on clock - have a look at Mera 400

  • @rojo9909
    @rojo9909 День назад

    Man, do you have references about this topic?

  • @Bharathi-t8t
    @Bharathi-t8t День назад

    Please let go 🙏

  • @amj864
    @amj864 День назад

    First I like, then I watch.

  • @FamilyAcc-yq8uj
    @FamilyAcc-yq8uj 2 дня назад

    hey how do domputers manage multiple cores can ya explain?

    • @CoreDumpped
      @CoreDumpped  2 дня назад

      Eventually I will

    • @noahwilhelm3205
      @noahwilhelm3205 День назад

      An extremely gross oversimplification is that cpu cores share some memory and also usually have Interconnects, the 'boot' core can load instructions in another core (von Neumann architecture) and tell it to run that as a separate 'thread' . Again this as extremely oversimplified, I recommend researching further.

  • @ruhollahh01
    @ruhollahh01 2 дня назад

    are you a magician?