Computer Speeds - Computerphile

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
it's an interesting one it's sort of our to to get gets processes the same speed to understand this one you need to understand what the megahertz or the gigahertz or the kilohertz here we go back off are often terahertz processes they be fast dunno anyway I died you died Gress we need to think about what that's actually describing we thing that we can describe the speed of repressor by looking at its gigahertz rating so 1.6 gear as opposed to is faster than 1.5 2 gigahertz processor is faster than 1.6 and so on to an extent that's true but it only really fits if you've got the same model of processors but if you compare different even different iterations of Intel's Core i7 architecture or say a core i7 compared to a rice and chip then ambling Rison chip then it breaks down and it's down to what the megahertz is describing and then how the CPU is built inside so the the megahertz or the gigahertz is describing how fast the clock which synchronizes the computer runs I wait to think about this is if you think about the conductor of an orchestra he's keeping time the orchestra's then playing in time that's what the clock in a CPU does it keeps track of time of what's happening and if you think back to the previous video did about a couple of years ago on pipelines in a modern CPU you have a series of steps that goes through and they're very simple we could label this is we've got a fetch step a decode step and an execute step and this is similar to what the original arm is CPU had and so in the first clock cycle of these two colors here we start fetching the first instruction then in the second clock cycle we start decoding that instruction fetching the second instruction then in the third clock cycle we actually get around to executing this one we decode the second and we start fetching the third and so on and this goes on so we then get the fourth or a decoding the third and we execute the second and so on this continues providing that we can actually satisfy things and we don't get any pipeline stalls this happens as long as we don't require part of the CPU this hearsay to be here so for example that CPU can only access one thing from memory at a time then we can't fetch and fetched from memory at the same time in these stage we get a store watch the other video for that this moment low doing more than one thing at time the answer is yes we are we're trying to speed up the execution of our CPU and realizing that actually when we're executing things we're not using this but normally so if we spray things up into a pipeline then we can have all bits of the CPU happening we can think about these being synchronized to the clock we do this bit here in the first clock cycle this is the second clock cycle the third clock cycle the fourth clock cycle and so if we keep this structure we make a clock cycles shorter I we run a high and megahertz speed high gigahertz speed and then things get faster so this works fine and if we increase the clock speed then we can decrease the amount of time that each of these steps take but there becomes a limit because these are implemented in digital logic then after a while the logic itself will take up a certain amount of time and we won't be able to reduce it anymore because otherwise the clock speed would be ticking over before we finish running logic is what's called the propagation delay in the digital logic so we've got a minimum amount of time and actually it'll probably be governed by one of these steps so there's going to be a limit on how fast we can get our clock speed based on the logic but we can get around that by actually making our pipeline longer so what we could say is I say we break it down not into three steps but into six smaller steps and they would do parts of what was being done in here and so on so this one might fetch just might part decode this might finish decoding this might get something from a register and these two might do part of the execution and so on I'm making up different things here there's various ways you can build these things and in this case we've got one two three four five six steps so it'll take longer for our pipeline to get full but when it does if we can run at full pelt we'll be able to run faster with a faster clock speed because each of these steps take up less time of course the problem is is if we then get a bubble in our pipeline then it'll take longer to refill so here we've got a bubble we've got set at one or two cycle delay here we'd have a four or five cycle delay it possible so if this was say running at wonkiness and this was at one point to a five cycle delay would take longer than one cycle delay here and so on and so what you can see is that our CPU design the architecture the way the internal bits are built has as much influence on how fast the program runs the clock speed and increasing the clock speed but changing the design doesn't necessarily mean it'll be faster even though it's running faster now hopefully you can get it and sometimes you have to redesign your program to get the best advantage out of it so the changes in the architecture have an effect so what you need to do is design your CPU so that you try and avoid getting those bubbles in the pipeline that actually even though you've got a faster CPU because we're now executing these directions on a much quicker basis we want to keep the pipeline full and so what you end up doing is designing other bits of things things like superscalar architecture which we talked about before while we can run more than one instruction at the same time you have out of order execution where you move things around to try and avoid the bubbles and you to do that you rename registers and have more registers and things all sorts of things going on you have a branch predictor which is trying to make sure that we don't get the bubbles in the first place by choosing the right instructions and so on and all of that can have an influence on how fast your CPU actually runs the code as much as this clock speed so the clock speed does tell you how fast it is but you can't really use it to compare between different CPUs of different types so we can execute that multiply D up there you think well okay can we do the other at the same time well no because we need the result of that as well so we can then execute the ad down here before finally and it just fits on the paper that so we can actually squash things up and we're gonna save some time
Info
Channel: Computerphile
Views: 140,127
Rating: 4.9226928 out of 5
Keywords: computers, computerphile, computer, science, Computer Science, University of Nottingham, Dr Steve Bagley, GHZ, Mhz, Speed, Flops
Id: 0UnFN7yyMaA
Channel Id: undefined
Length: 6min 16sec (376 seconds)
Published: Fri Sep 27 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.