Inside the CPU - Computerphile

  Рет қаралды 363,232

Computerphile

Computerphile

Күн бұрын

Пікірлер: 278
@pixlize
@pixlize 7 жыл бұрын
I always love this low level computer stuff. I would like to see things go even a little bit lower, like what exactly executing a command looks like in mathematical terms though
@somethingsomeone5440
@somethingsomeone5440 6 жыл бұрын
If you really want to know then check out Ben Eater he builds the various pieces of a computer on breadboard and over several videos you start to see and understand how computers do their thing. After watching and realizing how much goes into the simplest of tasks it really puts into prespective how amazing something like the smart phone is. It's truely magic.
@MetallicDETHmaiden
@MetallicDETHmaiden 6 жыл бұрын
lower? so...Algebra
@IainEmslie
@IainEmslie 5 жыл бұрын
10101010110011001010111011101100
@42norbert
@42norbert 5 жыл бұрын
you know, i think on the level of binary digits these things have structure of boolean algebra, that is kind of abstraction over physical device, ( like usually math)
@The2Coolest2
@The2Coolest2 5 жыл бұрын
Some is boolean algebra, which is then broken down to transistor levels. Most transistors use Silicon in their construction, hence, "Silicon Valley". Other's uses more complex circuits, which those can be broken down to boolean algebra, etc, etc
@andreydunin6712
@andreydunin6712 3 жыл бұрын
I’m watching many of these years after publishing and extremely grateful for these explanations! You truly have a talent for teaching.
@amaarquadri
@amaarquadri 3 жыл бұрын
If anyone wants to understand this stuff at a very fundamental level, I would highly recommend Ben Eater's series on building a breadboard computer.
@basil9633
@basil9633 3 жыл бұрын
aye i was just watching that
@bernhardschmidt9844
@bernhardschmidt9844 3 жыл бұрын
@Supreme the large-ish black boxes used in the breadboard computer series are integrated circuits, essentially a packaging around the actual logic gates to make it possible to handle as a human. There's a tiny assembly somewhere in there with the actual logic gates, connected to the IC's outside connectors via tiny wires. The logic gates in a modern CPU are even more miniaturized, of course. As for where they are in a CPU, well, they pretty much make up the entire thing, storage (lots of caching going on in a modern CPU, also some microcode) and wiring connections (most of the cpu's package is filled up with wiring that connects to the connectors on the bottom; the actual cpu is only a few square centimeters in the center) aside.
@BAgodmode
@BAgodmode Жыл бұрын
He’s fake. He admits he uses boards.
@vladomaimun
@vladomaimun 7 жыл бұрын
I hope this turns into a series. More on this topic please!
@SerandibBroadcast
@SerandibBroadcast 4 жыл бұрын
Sir, Thank you for doing this lesson. I m sitting for BCS HEQ exams this november and this channel is my source of knowledge. I always find it difficult to understand that bubble concept in the pipeline, but now I do. thanks again.
@Nagidal146
@Nagidal146 7 жыл бұрын
That on the pen distracted me for about 2 minutes
@GoodOlKuro
@GoodOlKuro 7 жыл бұрын
He probably broke some rule by writing something else than c with it.
@Neceros
@Neceros 7 жыл бұрын
Autism doesn't have medicine, KiloSierra.
@TheHereticAnthem20
@TheHereticAnthem20 6 жыл бұрын
C sharpie
@fullyautistic4760
@fullyautistic4760 5 жыл бұрын
i feel u man :P
@HuntersMoon78
@HuntersMoon78 7 жыл бұрын
Some lovely computers in the background
@DaveSohan
@DaveSohan 6 жыл бұрын
I have a Computer Architecture exam tomorrow. I am so glad that youtube recommended me to watch this. Thanks Computerphile
@turbowhine360
@turbowhine360 4 жыл бұрын
Thanks, Dr. Bagley, you are an excellent public speaker and explained the CPU cycle quite clearly.
@syntaxerorr
@syntaxerorr 4 жыл бұрын
Love the computerphile logo on the end of the marker.
@claytondefreitaslima1169
@claytondefreitaslima1169 7 жыл бұрын
3:15, that's a very big "ish"
@xZise
@xZise 7 жыл бұрын
Generally a cool video, but I think you should've split it into one about pipelining (there are other hazards as well like conditions). And then you (or Steve actually) could have expanded about the actual steps inside the CPU. I saw a video recently of someone building a CPU (+ Memory) on breadboards using separate chips for the registers and so on. And I found that video really helpful to see what actually means "fetching", "decoding" and "executing".
@Ordcestus11
@Ordcestus11 7 жыл бұрын
Fabian Neundorf , Can you link that video? Id be very interested to see it.
@tjeulink
@tjeulink 7 жыл бұрын
please link that video ;-;
@xZise
@xZise 7 жыл бұрын
PureMotionHD well in my reply I linked it. if it doesn't show up, search for "Ben Eater" who is the uploader.
@tiikoni8742
@tiikoni8742 7 жыл бұрын
I think it would have been worth of at mentioning that executed instuction may also cause program to jump to different part of code. Therefore executing next command that is already in pipeline would be invalid and whole pipeline need to be flushed before continuing.
@SamuelLopesGrigolato
@SamuelLopesGrigolato 7 жыл бұрын
Tiikoni And maybe also that the execution of a pipelined instruction may override the value of a memory address already read by the fetch module? In this case a partial flush is also necessary, I think. Although it must be noted that changing the code section of memory is not a "usual" thing to do.
@Flankymanga
@Flankymanga 7 жыл бұрын
This is exactly why it is a bad habit to use "'goto" in programming languages....
@TheNatureShade
@TheNatureShade 7 жыл бұрын
That's what branch prediction is for
@WildEngineering
@WildEngineering 7 жыл бұрын
Neural networks ftw
@jeffirwin7862
@jeffirwin7862 7 жыл бұрын
@Flankymanga That's not the problem with goto. Need an if() statement? That's a jump. Need a for() loop? That's a jump. Need to call a function? That's also a jump. The problem with "goto" is that it makes code hard to read for puny humans.
@machinegunkelly2112
@machinegunkelly2112 7 жыл бұрын
I like how he points with his middle finger.
@GoodOlKuro
@GoodOlKuro 7 жыл бұрын
after all it is usually the longest one. back when i was in school some teachers would do this and it was awkward or funny at first but it makes some sense.
@wierdalien1
@wierdalien1 7 жыл бұрын
GoodOlKuro its also held to be rude to point with index
@xXMegaUltraNinjaXx
@xXMegaUltraNinjaXx 7 жыл бұрын
also is in the middle of the hand.
@TheUtuber999
@TheUtuber999 6 жыл бұрын
At least he didn't point with the V sign.
@BangMaster96
@BangMaster96 6 жыл бұрын
I used to point at things on paper with my middle finger, until my friend start correcting my every time i used the middle finer, and now, i no longer do it lol
@nostromo9081
@nostromo9081 4 жыл бұрын
Thank you Bilbo. You are my IT mithril.
@tensevo
@tensevo 3 жыл бұрын
Each cycle: Fetch instruction from memory Decode instruction Execute instruction
@detaart
@detaart 7 жыл бұрын
Serious bonus for using the SGI/Irix buttonfly buttons in your animation!
@draconicepic4124
@draconicepic4124 7 жыл бұрын
CPU is way more complicated than the video entails. Modern processors do all types of things to keep the pipeline filled such as pulling more data than required. For example: rather than fetching one instruction at a time, it could fetch an arbitrary volume of memory (let's say 64 bytes). It would then decode as many instructions as it could from that block and prefetch the next block when the fetch bus isn't in use. Then, it can cache the decoded instructions to prevent fetching and decoding recent code. The CPU can also make notes about the instructions prefetched to predetermine holes in pipeline and try to fill them by reorganizing instructions. This also helps with branch prediction and register renaming.
@rdvqc
@rdvqc 7 жыл бұрын
Next you introduce memory interleave architectures. Enjoyable video - takes me back - wrote my first program in '69
@RedSkyHorizon
@RedSkyHorizon 7 жыл бұрын
I noticed your Amiga 1000 in the corner. I also had owned this machine back in 85/86. Good times!
@melkiorwiseman5234
@melkiorwiseman5234 5 жыл бұрын
You folks should insert a link to Ben Eater's "Building an 8-bit Breadboard Computer" series right here on YT. He's brilliant at simplifying the complications of a CPU to a level which the ordinary person can understand. The Breadboard Computer which Ben Eater builds and explains over the course of the series can be built by anyone. The only really big complication is finding all of the parts because some of them have become quite scarce since the book which Ben used as his guide was written.
@WickedMuis
@WickedMuis 7 жыл бұрын
So..next: Hyper Threading?
@Armi1P
@Armi1P 7 жыл бұрын
More universally, Symmetric Multi-Threading (SMT). Edit: sorry, *Simultaneous* multithreading (SMT)
@Luredreier
@Luredreier 7 жыл бұрын
Yeah, but you'd need a CPU with more instruction level parallelism if you want SMT to make sense then what this example provides.
@xeigen2
@xeigen2 7 жыл бұрын
SMT means Simultaneous multithreading
@Armi1P
@Armi1P 7 жыл бұрын
Xei Yes, thanks for the correction!
@aliedperez
@aliedperez 7 жыл бұрын
I'd suggest out-of-order execution
@ThunderDash42
@ThunderDash42 7 жыл бұрын
Great video! Could you guys also cover on different instruction sets for processors? Since I always found the difference between x64, x86 , RISC to be confusing. Would be awesome if you could make a video on it :)
@hamzanasir1590
@hamzanasir1590 3 жыл бұрын
Respected Sir. Your explanation is very amazing. I have a great interest in low level computer stuff. Keep making these kind of videos. 👍👍👍
@dinoflame9696
@dinoflame9696 7 жыл бұрын
Best video to explain execution of process in cpu
@jeraldambrose4080
@jeraldambrose4080 7 жыл бұрын
Woweee..This is like seeing your street on TV.. Ex-intel cpu and current ARM cpu group engineer checking in..Any fellow computer uarch/arch folks?
@lotrbuilders5041
@lotrbuilders5041 7 жыл бұрын
skeptic youravg so where did you study and what (from someone genuinely interested in the career)
@jeraldambrose4080
@jeraldambrose4080 7 жыл бұрын
Electrical Engineering (courses in computer Arch & Digital design).. Arizona state univ..
@Conenion
@Conenion 7 жыл бұрын
Cheers! I worked for ARM Gemany about 7 years ago. In the simulator group. They had a just in time ARM to x86 translator (done by a goup in the UK) and a GUI tool to build entire SoCs from ARM parts (done by us). You stiched your SoC together in the GUI and a simulator of that system was built by generating code and compiling it to an executable. Interesting stuff. Sadly they closed the site.
@jeraldambrose4080
@jeraldambrose4080 7 жыл бұрын
ARM is hiring like crazy right now..plans to double in the UK in the next few years..You can still make it back :)
@BariumCobaltNitrog3n
@BariumCobaltNitrog3n 7 жыл бұрын
Is there an animation of this anywhere? The mechanism that fetches the bits and bytes, how it corrals them and brings them back. What is moving, electrons? If they move, how does a copy stay behind? Or is it like Morse code where a signal is sent by the storage using some sort of transmitter that reads the info and sends out what it reads. I'm trying to imagine this tiny world where nothing moves, but a lot happens.
@melkiorwiseman5234
@melkiorwiseman5234 5 жыл бұрын
Look up Ben Eater here on YT and look for his Breadboard Computer series of videos. He's fantastic at simplifying the complicated.
@preferredimage
@preferredimage 7 жыл бұрын
BBC Micro with a zip drive attached? What sorcery is this?!! Also, nice shelf usage, much better than the other guy! :)
@LeFrez
@LeFrez 7 жыл бұрын
and being displayed on an Atari monitor, sweet.
@ozdergekko
@ozdergekko 7 жыл бұрын
Oh the times of the 6510 on the C64. I could read (and disassemble) hex code like reading a book. Modifying the OS, writing cracks and use the space used by the copy protection code for more useful stuff was so easy back then.
@gregorymalchuk272
@gregorymalchuk272 4 жыл бұрын
What assembler did you use? I didn't think the Commodore 64 had an assembly monitor in rom like the Apple 2 did.
@TheDuckofDoom.
@TheDuckofDoom. 7 жыл бұрын
oh boy I hope there is an extended or part two, so many interesting options in CPU functioning, also a vid for GPUs and openCL (GPU for non graphics computation) to contrast with the CPU.
@saitaro
@saitaro 7 жыл бұрын
This video needs 65536 views.
@p.z.8355
@p.z.8355 6 жыл бұрын
1h30 min of lecture compressed into 11min15s.
@lm5050
@lm5050 7 жыл бұрын
What are "threads" and how do they emulate a CPU on a virtual machine?
@TesterAnimal1
@TesterAnimal1 4 жыл бұрын
That green barred line printer paper is a blast from the past! Is it manufactured seriously any more, or is that just for fun? I used to load deafening band printers with that stuff, and it would frequently mash it all up, and the whole print job would have to be redone.
@TruthSoothsayer
@TruthSoothsayer 3 жыл бұрын
I still have question. How does Assembly Language which is a software code communicates with Silicon Chip which is a hardware i.e. how is conversion done to chip of assembly language.
@musikvgen
@musikvgen 5 жыл бұрын
excellent! animation and description wise..
@KuraIthys
@KuraIthys 7 жыл бұрын
Interesting that you give an example of a system where most of the parts of the CPU are idle, then compare it to a 6502... Which does instruction decoding and execution in parallel. (it's like a short, 2 stage pipeline, but not quite.) compared to some other processors from the era the instruction times for 6502 code were very short and consistent. I miss The 65x family. But it died out because it's entire design is built around having RAM that is faster than the processor. And since the mid 90's it's pretty much guaranteed that the processor is faster than RAM. That's why cache memory exists. If your main memory was fast enough you wouldn't bother implementing a cache, because it would be redundant. But... When main memory is slow... Cache helps keep the CPU busy...
@wp5355
@wp5355 4 жыл бұрын
Excellent presentation!!
@noevelasquez5109
@noevelasquez5109 Жыл бұрын
Very HELPFUL video...thanks so much !!!
@MPK1881
@MPK1881 2 жыл бұрын
Thanks a lot for sharing the knowledge, about the necessity for Harvard architecture.
@shaantalk
@shaantalk 7 жыл бұрын
Request: please do seperate video on two types of KERNEL...
@AccuphaseMan
@AccuphaseMan 5 жыл бұрын
The part when he mentions the 15 byte instructions on X86 reminded me of ROP. I Guess this is why ARM is so much more secure.
@Kowalskithegreat
@Kowalskithegreat 7 жыл бұрын
i can't deal with these marker sounds
@RagHelen
@RagHelen 6 жыл бұрын
Why not enhance the staccato speaking manner with staccato jump cuts?
@psyience3213
@psyience3213 6 жыл бұрын
Really good explanations.
@patrickc.6183
@patrickc.6183 4 жыл бұрын
When multiple steps are occurring in the CPU at the same time, is that how simultaneous multi-threading works on an AMD CPU (or hyper-threading on Intel)?
@majortw
@majortw 6 жыл бұрын
You can try this with the Johnny-Simulator. Nice tool
@davidprock904
@davidprock904 4 жыл бұрын
You forgot to mention the Prock Architecture... oh wait , I haven't released it yet, its better that anything out there!
@TheDeanosaurus
@TheDeanosaurus 7 жыл бұрын
Great refresher.
@hoenki1
@hoenki1 7 жыл бұрын
thumb2 instructions are 32 bits, in thumb1 there are some 16 bit long instructions
@ihaveneverwantedto
@ihaveneverwantedto 4 жыл бұрын
So I cannot estimate his age be looking at him, at all. I googled "Dr Steve Bagley"and it auto-completed to "Dr Steve Bagley age", so clearly someone else thought the same thing.
@WeAreGRID
@WeAreGRID 7 жыл бұрын
so if the pipeline infrastructure cant fetch a command and execute a command at the same time, doesnt that just mean you need another data bus? It seems to me that if you need one data bus for fetching instructions and another for accessing memory, that you should have every possible part necessary to execute a command redundant and in parallel, basically one bus for accessing memory, one for fetching instructions, a decoder for both, and then no matter what the instruction says, you always have a bus ready for it to be used on the next tick, so you always have an incoming pipeline and a parallel pipeline for things required in the actual instruction. If you have pipeline flow issues, make the pipe bigger or in parallel :P
@gmpgreen
@gmpgreen 7 жыл бұрын
Nice video! would interesting if he went more in depth into pipelining hazards
@luvnenvysyafiq
@luvnenvysyafiq 7 жыл бұрын
cant the bubbles be removed if the instruction memory and data memory were seperate? the structural hazards can be avoided that way since we can access both at the same time
@JakeN482
@JakeN482 7 жыл бұрын
This is actually why CPUs have multiple caches in series and parellel; The instructions and stack variables tend to be towards one end (or both ends) of allocated memory, while heap variables are towards the other end (or the middle). While the bubble can still exist, it's toned down many orders of magnitude, and still allows the possibility of treating instructions and data interchangably.
@karlkastor
@karlkastor 7 жыл бұрын
What about the Memory Access and Write Back phases?
@Pedritox0953
@Pedritox0953 4 жыл бұрын
Steve is a rockstart of computing
@mauricewalker2254
@mauricewalker2254 4 жыл бұрын
It is nice to learn the basics of a computer. It gives you the confidence to use your computer. I think l was born too soon and l am playing catch up.
@BrianBlock
@BrianBlock 7 жыл бұрын
Every time he touched and left a fingerprint on the monitor my soul hurt :) In all seriousness though, great video!
@neoness1268
@neoness1268 7 ай бұрын
Excelente explanation! THanks!
@SevenDeMagnus
@SevenDeMagnus 4 жыл бұрын
Cool, is the register a kind of memory, a kind of cache?
@AshenElk
@AshenElk 7 жыл бұрын
2:15 "You could do this, or this... Although it would probably crash *furrowed brow*." Lol
@Flankymanga
@Flankymanga 7 жыл бұрын
Isnt it possible today to have on a dual channel common DDR RAM to have multiple parallel accesses?
@Mebzy
@Mebzy 7 жыл бұрын
Awesome video!
@isyt1
@isyt1 3 жыл бұрын
Interesting but I don’t understand how in the past there was a race with CPU manufacturers to have the highest number of MHz and that basically said how fast the CPU is. Why is that no longer a thing?
@Rachit0904
@Rachit0904 2 жыл бұрын
It was mostly just marketing. The same CPU running at double the MHz can theoretically perform calculations twice as fast. But you can also design the CPU to do more at slower speeds. It's no longer a thing because a) consumers realised that MHz only tell part of the story, and b) higher frequencies are exponentially harder to keep cool and stable
@dmitripogosian5084
@dmitripogosian5084 Жыл бұрын
Basically to increase clock speed you need to pack transistors closer to each other, as well as evacuate the heat from smaller volume, and physical limits have been approached
@flyingrat492
@flyingrat492 2 жыл бұрын
Well my wonderful peoples, I've been searching far and wide and I am yet to find an answer, how does the computer actually generate the clock pulse that determines the speed. Is it a tiny capacitor being charged and discharged as i suspect or am I completely wrong and is it something entirely different. The internet seems stumped by this and I can only seem to find videos like this telling me the software side of things. I would be much obliged to recive any information about this subject and would greatly apreciate some further reading links. -yours sincerely, some random internet person
@goeiecool9999
@goeiecool9999 7 жыл бұрын
What's up with that into? Looking away and then at the camera? Is that some kind of cinematography trick? It just looks kinda awkward to be honest.
@danielgrace7887
@danielgrace7887 7 жыл бұрын
Informative video, and interesting. Thanks.
@BlueFrenzy
@BlueFrenzy 6 жыл бұрын
I still have a big question: how does this translate into transistors? the piece piece I am missing of the puzzle is how adding more transistors increases the speed, specially knowing that there are tasks that require to be sequential.
@melkiorwiseman5234
@melkiorwiseman5234 5 жыл бұрын
Just adding more transistors doesn't increase the speed, but some programs can be structured so that several parts of the program can be run at the same time, only in different parts of the CPU. In that case, "more transistors" equals more "cores" in the CPU, allowing it to literally do more than one thing at a time. But as you guessed, this does not increase speed where all parts of the program have to be run in sequential order.
@stutavagrippa8690
@stutavagrippa8690 4 жыл бұрын
If we have a pipelined CPU, and the instruction needs to access something that will cause a bubble, why don't we just add some address buses?
@dylanfisher6042
@dylanfisher6042 4 жыл бұрын
Can this pipeline ‘bubble’ dilemma be a solution quantum computing can solve with its ability to compute instructions simultaneously regardless of a cycle?
@walkieer
@walkieer 6 жыл бұрын
How does the CPU know how to draw the character? Is it coded within the CPU itself?
@melkiorwiseman5234
@melkiorwiseman5234 5 жыл бұрын
The CPU doesn't "know" anything. Usually, in a Windows system, the CPU has to run a sub-program which translates the numeric value into the graphic for that letter or other character (eg 65=A).
@maazsiddiqui6324
@maazsiddiqui6324 4 жыл бұрын
please any one explain how cpu is outputing it on the screen i cant find anywhere!
@tracktor1979
@tracktor1979 2 жыл бұрын
I still don't get what's actually happening inside the CPU. How does it "know" to put a value in the point counter? How do the CPU and memory "talk" so that the memory knows, or is forced to send, an instruction from a specific address? Why does running two voltages (1s and 0s) through a CPU do anything? Seems like the CPU "knows" certain instructions, but where does the "knowing" come from?
@ProWhitaker
@ProWhitaker 7 жыл бұрын
Thanks for the video
@3DSage
@3DSage 6 жыл бұрын
Because of you, I made a computer! Check out the video on my page. I made it control servers, leds, sounds and more! I just had to say thank you.
@Booskop.
@Booskop. 7 жыл бұрын
It will be alright, yeah. Rock the cache-bah.
@sludge-en9on
@sludge-en9on 7 жыл бұрын
thankyou for sharing the video its very helpful
@danielnicolae99
@danielnicolae99 Жыл бұрын
So how does the cpu get the first address loaded on its program counter in the first place?
@handleh
@handleh Жыл бұрын
It's always starts at address 0 or some predefined address I guess
@SameAsAnyOtherStranger
@SameAsAnyOtherStranger 2 жыл бұрын
An explanation of how CPUs using the compliance model of everything.
@BunnyFett
@BunnyFett 7 жыл бұрын
Love this guy.
@ag4ve
@ag4ve 7 жыл бұрын
Can you explain the "on an ARM processor all instruments are 32 bits long"? I'm going to take that to mean "the same bit length" vs 32 bits. But besides that, I remember doing ASM on a NXP chip and some instructions take a few cycles. But I could've swarn some of the Java and thumb 2 stuff had a different instruction length...?
@ag4ve
@ag4ve 7 жыл бұрын
Cool, so I was half remembering correctly... It's been a while, so that's kinda cool to know :)
@Conenion
@Conenion 7 жыл бұрын
Btw, I searched on the ARM infocenter site first, but the Keil explanation was the best I found.
@cigmorfil4101
@cigmorfil4101 6 жыл бұрын
The (original) ARM processor used 32 bits (4 bytes) to encode its instructions unlike the 6502 which used 8 bits (1 byte) to encode its instructions (a lot of bit patterns were not used). The 6502 used synchronous memory access - every clock cycle it read/wrote memory, and so used a single byte program counter pipeline - the next byte of the program (instruction/data) was being read: in his example of A9 43 when the A9 was being decoded the 43 was loaded, executing the instruction shifted the 43 to the A reg so whilst that was being done the next instruction 20 was being read in, and so on. The biggest problem with bubbles (in the pipeline of the 6502) was branch instructions - they could take 2, 3 or 4 clock ticks to execute (2 if no branch, 3 if branch to memory with the same page number (top 8 bits of address), 4 to a different page). Most instructions take 2 clock ticks plus extra tick if absolute addressing (3 bytes long) plus extra ticks for different addressing modes (causing bubbles). The ARM processor executes near enough 1 instruction per clock tick by avoiding branching (bubbles in its pipeline) by using some of the 32 bits of the instruction as a condition - the instruction only executes if the condition is met (there is the condition TRUE which means the instruction is always executed). I'm trying to remember but i think the 32 bits may have included memory addresses and immediate data.
@frechjo
@frechjo 7 жыл бұрын
Does anyone know how many reviews does it take for subs to get approved? Or how it even works? I got some ppl to review my Spanish subs, but they don't appear yet (in this video nor the MegaProcessor one).
@CarlTSpeak
@CarlTSpeak 6 жыл бұрын
A 15 byte instruction? Holy cow.
@victorwarner2734
@victorwarner2734 7 жыл бұрын
why do these videos not have captions?
@-.._.-_...-_.._-..__..._.-.-.-
@-.._.-_...-_.._-..__..._.-.-.- 7 жыл бұрын
It's all coming together. Thanks.
@guocity
@guocity 3 ай бұрын
What makes m4 so much faster than m1?
@gerrygamez
@gerrygamez 7 жыл бұрын
Funny, I gave a presentation on this topic in school today.
@papacanfly5639
@papacanfly5639 3 жыл бұрын
anyone allergic to the sound of that sketch pen sounding "shhhhh shhhhh shh"?
@damejelyas
@damejelyas 6 жыл бұрын
Who would dislike the video
@mikejones-vd3fg
@mikejones-vd3fg 7 жыл бұрын
Id like to know how the design effects performance, and why AMD has trouble competing with Intel, why has the improvement slowed down in the last 5 years, what are the challenges in making a better processor etc. Is the whole approach with the way the CPU designed wrong? Not wrong but are there different ways not explored yet? Does functional programming have anything to with it?
@davidwebb4755
@davidwebb4755 7 жыл бұрын
Biggest challenge is making smaller and smaller transistors, I think.
@melkiorwiseman5234
@melkiorwiseman5234 5 жыл бұрын
@@davidwebb4755 You are correct. The problem is that integrated circuit components have reached the point where their transistors consist of so few atoms that to make them any smaller would introduce too much electrical resistance to allow the circuit to work. Much of the work now is going into packing more and more CPUs into a single chip so that the computer can literally do many things at once. In some applications, such as 3D rendering or spreadsheet calculations, this speeds up overall processing speed by a huge amount. In others, not so much.
@jamesmnguyen
@jamesmnguyen 7 жыл бұрын
Cool how I already learned pipelining basics before this video. Too bad he didn't go into branching, although that's a bit much for one video.
@doms6741
@doms6741 5 жыл бұрын
Why can't they create a CPU the size of a graphics card, so they dont have to worry about size issues?
@IRCXDS
@IRCXDS 7 жыл бұрын
Before CLUs. There was nothing. I want to know how they ŵent rom nothing to something as complicated as a cpu.
@markuseby5267
@markuseby5267 7 жыл бұрын
Doesn't the cu fetch and decode. And the alu execute? Then the cu stores back in ram or cache
@markuseby5267
@markuseby5267 7 жыл бұрын
Register not cache
@meJevin
@meJevin 7 жыл бұрын
"Register not cache". registers can be considered cache too.
@tiagoaoa
@tiagoaoa 7 жыл бұрын
dataflow, forget about the von neumann model.
@schwarzarne
@schwarzarne 7 жыл бұрын
Why would you need 8^15 bit long instructions? I knew x86 was somehow suboptimal by todays standards, but that is just crazy!
@potatoonastick2239
@potatoonastick2239 7 жыл бұрын
I don't really get what the decoding is supposed to do, can't you just execute a piece of code after you fetched it?
@DavidChipman
@DavidChipman 7 жыл бұрын
But in order to execute it you have to know what it does. Is it a math operation? Is it a compare? Is it testing for flag settings? Is it accessing a memory location?
@potatoonastick2239
@potatoonastick2239 7 жыл бұрын
arcuesfanatic that makes sense to me. Since you seem to know a lot about this, why is it that when an assembly instruction uses for example the hex code 22FF, in assembled machine code it becomes FF22? Things are written backwards for some reason
@JakeN482
@JakeN482 7 жыл бұрын
It really depends on the architecture, but the general idea is the instruction might not neccessarily be an atomic instruction. For example: var += 5 in most C family languages translates to var = var + 5. Some CPUs might implement a += operator in addition to the regular + and = operators. This allows the program's footprint in memory to be effectively two instructions shorter. The CPU would probably have the operation implemented in it's decoder by inserting load(var) -> add(5) -> save(var) atomic instructions into the instruction queue, rather than implementing a circuit for doing all three at once in the arithmetic operators unit.
@computerfis
@computerfis 7 жыл бұрын
I suggest you read about endianness en.wikipedia.org/wiki/Endianness (:
@baskoning9896
@baskoning9896 7 жыл бұрын
Do one on vault 7 backdoor in cpu's
@NKP723
@NKP723 7 жыл бұрын
Inside the CPU huh? Can this help me find my Xeon processor that I lost?
@panagiotischagias4119
@panagiotischagias4119 2 жыл бұрын
Assembly language which we as humans can understand...ish. 😂
CPU Pipeline - Computerphile
21:48
Computerphile
Рет қаралды 69 М.
CPUs Are Out of Order - Computerphile
15:09
Computerphile
Рет қаралды 187 М.
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 27 МЛН
SIZE DOESN’T MATTER @benjaminjiujitsu
00:46
Natan por Aí
Рет қаралды 4,9 МЛН
How do Graphics Cards Work?  Exploring GPU Architecture
28:30
Branch Education
Рет қаралды 1,8 МЛН
Where did Bytes Come From? - Computerphile
11:31
Computerphile
Рет қаралды 478 М.
How CPUs Do Math(s) - Computerphile
19:38
Computerphile
Рет қаралды 65 М.
How Branch Prediction Works in CPUs - Computerphile
25:57
Computerphile
Рет қаралды 70 М.
Von Neumann Architecture - Computerphile
16:20
Computerphile
Рет қаралды 647 М.
HOW TRANSISTORS REMEMBER DATA
16:58
Core Dumped
Рет қаралды 375 М.
Exploring How Computers Work
18:12
Sebastian Lague
Рет қаралды 3,5 МЛН
I Can Die Now. - Intel Fab Tour!
21:51
Linus Tech Tips
Рет қаралды 4,2 МЛН
Multithreading Code - Computerphile
15:54
Computerphile
Рет қаралды 388 М.