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.
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?
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.
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. 😂
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.
@@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.
@ 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.
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.
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.
@@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.
@@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.
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.
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.
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".
@@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.
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.
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!
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.
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!
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!
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!
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.
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.
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.)
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?
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
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
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?
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 .
@@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.
@ 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.
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?
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.
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.
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.
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.
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.
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?
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.
that pfp is crazy
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. 😂
That emergent behaviour of chained flip-flops forming a binary counter is amazing. It almost feels like it just came out of nowhere.
Fun fact: I was also stunned when I learned about it.
@@CoreDumpped Is RDTSC implemented this way?
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.
@@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.
@ 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.
2 videos in 1 month!? Today's not Halloween it's Christmas!! 🎄
-maria carry
Well, the octal to decimal joke was pretty smooth... Nice one man!
Yes, exactly... Exactly. This is what I was talking about bro. Cover everything! Make all those difficult-looking concepts easy!
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.
Yes, you are right
simple pipelining that stalls on data dependencies would probably be a better intermediary step IMO
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.
@@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.
@@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.
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.
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.
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".
@@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.
These videos are for the freshman level learner. Let them enjoy their ideal diodes for a couple years.
Can’t wait for your process scheduler video. That’s one area I’ve always stumbled with.
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.
I'm simple human - I Immediately click the like button when I see Core Dumped uploaded a new video about CPUs
We are same bro
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!
Wow, this made so much sense! It also blew my mind how the binary flip-flops formed a counter.
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.
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!
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!
instant click
Same
faster than a cpu
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!
These videos are awesome, you don't find a lot of content on this website covering digital electronics at this quality.
You are a treasure man. Can’t wait to just binge watch all your videos again over the winter break
You explained 3 months of my Comp Systems Architectures classes in 15 minutes. That's just incredible.
Clear crisp explanation. Many Thanks 😊👍
Okay I gotta admit, the title is fantastic, and so is the thumbail and content as always! Great video
Square wave: Wait… It’s all sines ???
Fourier: Always has been… **gunshot**
It's only all sines when I cosine for it. Sine here on the dotted lines.
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!
Thanks a lot for these perfect illustrations!
Thanks for helping me understang things that i didnt know
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!
amazing as always, waiting for threads video
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!
Clicked on this video in a heartbeat as soon as i saw it
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.
i just can't believe how fucking beautiful computer science is oh my god. it's just magic
thanks. I've got a lot of things learned again from your channel.
I have been looking for this!
Brilliant content & animation!
Man!!! Love you're videos!
Man this is the answer I never got in engineering ❤❤❤❤
Amazing explanation mate
if only our digital logic design course professor taught us flip-flops like this 8 years ago from now...
Another Cored Dumped Video let's gooo
Make a full course on this, assymbly, programming...etc and I will be the first to sign up.
Amazing educational quality.
Best. Channel. Period.
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.
Brilliant needs a dark mode version of their ad.
I wish these videos were made in my college days...❤❤❤
I always watch his video 2 times to understand the concept more clearly
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.)
My video on Kernel Mode vs User Mode might answer your questions.
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).
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 ❤
This channel is next level
Beautiful video. Really really excellent
Amazing video, thanks for sharing.
How do you animate your videos!!! I have been absolutely binging your great work. Keep it up, it's awesome!
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?
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
The first thing I ever do when watching Core Dumped’s new video is like the video.
tysm! time to finish my CPU!
Wow man. Top top presentation
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
great job sir
Great content...thanks 👍
You must be stopped. Your explanations are so good that soon we have epidemic of cpu designers / assembly programmers 😅
ty mr. George
ohhh yes. exactly what i was looking for
I hope you make a video about boot process in detail under the hood plz
So brilliant sir
Thanks
Amazing video
When watching one video makes you go to the channel and find more. 🎉
the scariest part of halloween: computer science!!!!!
lets go back to circuit simulator and try to build one myself. Thanks so munc for this. Clear as water
hope you can publish new video everry week !!!
🫡🫡mad respect from your student bro...
"Until next time, I'm Jorge"
Next time, who knows...
Great vid 👍
13:03 Push buttons require debouncing
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?
Videos like this are why i tolerate the internet
Great video, but I can't figure out - is your voice just so clear and badass, or it's AI voiced?
12:15 should I point out it counts up in binary and resets to zero after 1111?
MMU video when?
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 .
@@ArneChristianRosenfeldt The MMU is very crucial to modern operating systems.
@ Android does not seem to like swapping. Also DRAM is cheap. So it is about memory protection?
@@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.
@ 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.
Hi , could you explain quantum computer work? Thank
How do you make the video animation. Which tool are used?
How cpu have Giga Hertz clocks?
Wow, If good clocks are important for speeding, I'd say that the fastest computer would be a Rolex
OHHH YEAH KNOWLEDGE, PLEASE GET INTO MY BRAIN
bro what software did you use to make animation or presentation like this?
electrodynamics isn't real, it can't hurt you
also computers:
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?
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.
@CarlBach-ol9zb , not exactly what I was talking about, but it's cool too.
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.
Here we go again
Did I missed something or is CPU able to execute each instruction strictly in one clock tick?
Edge detector 😳
Then what happens if each stage fails or not done before one tick goes?
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.
I activated Set and Reset at the same time and the latch took a screenshot
Let us go
how does it know when it need to be fast?
Actually, not all processors rely on clock - have a look at Mera 400
Man, do you have references about this topic?
Please let go 🙏
First I like, then I watch.
hey how do domputers manage multiple cores can ya explain?
Eventually I will
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.
are you a magician?