video

Lesson video

In progress...

Loading...

Hey there.

Welcome back to computer systems. I'm Mac your computing teacher.

In this second lesson.

We're going to talk all about the CPU.

To get yourself prepared make sure you have a pen and a notepad, so you can take notes while we're learning.

And I'd also like you to remove all distractions from around you.

That includes turning your mobile phone off.

Now you might also notice I've got some water here, so make sure that you've got some water or some other kind of refreshment.

If you need it.

If you'd like to pause the video here and get your stuff ready, I'll be here When you get back In this lesson, you're going to discover Von Neumann architecture.

Describe the components of the CPU and explain the role of each of those components.

You're also going to define the purpose of the CPU as a whole.

So first let's talk a little bit about Von Neumann and his architecture.

John Von Neumann, you can see in the picture here was what we call a polymath, which means that he was on master of a bunch of different scientific disciplines.

He made groundbreaking discoveries in biology, chemistry, and physics before turning his hand to computing.

Architecture as far as the computer system is concerned, means the design of the computer system.

So it's not choosing the individual components more it is how those components interact and work together to create computation.

Now, almost all modern computers use an architecture designed by John Von Neumann, which is why it bears his name, and it's called Von Neumann architecture.

Before John Von Neumann turned his hand to computing, computers were huge and took up almost entire rooms. You can see an example here.

This is called the Eniac computer and it literally was an entire room.

They were not anywhere near as efficient as modern day computers and the instructions were physically programmed in.

So you can see these wires here to the side.

Those are the programme.

And if you wanted to change just one thing in your programme, say you wanted to make a greater than sign into a less than sign.

You would have to physically change the hardwired switches in the room.

This means that one small change to your programme could take months to check and test.

John Von Neumann proposed that we fix this problem, using something called the Stored Programme Concept.

Now, what this means is instead of only storing the data on our computer, we're going to store both the data and instructions in memory alongside one another.

This means if you want to make a small change, like a greater than symbol into a less than symbol, all you have to do is get an instruction from a different address in memory, rather than physically rewiring the whole programme.

That is why this architecture has been widely adopted today.

And most modern computers use it.

There are other architectures such as Harvard, but for the most part, any computer you have used for work using the Von Neumann architecture that we are about to talk about.

So just to recap, before we go into the CPU components and you see how the architecture actually works, Von Neumann architecture has three main points.

The first one the data and instructions are stored together as binary.

Two, the instructions are fetched one at a time, which we call serially.

And then before they are executed, they are first decoded.

When they are decoded, the processor will also go and get any data that is required from memory as well.

Right, let's get you to jump into it.

So I'd like you to pause the video here if you can, and head over to your worksheet where I've got a word jumble for you, where you can apply the things we've just spoken about with Von Neumann architecture for yourself.

If you want to pause it and come back, I'll be here.

when you're finished, I'm just going to have sip of my water.

All right, hopefully you paused it, and he came back ,and he found that word jumble.

Okay, it was just reiterating some of the points that we made here.

So data and instructions are both stored in memory as binary.

The instructions are then fetched from memory before they are decoded.

Okay? So we're going to move on and now we are going to look inside of the CPU.

Now the CPU is a component, but it's also made up of a bunch of other components inside.

So it's sort of like we're going to look, we're going to tear back the lid and look at what happens inside the CPU.

And you can see I've got a diagram here, but I just want to point out that this is not physically accurate.

The ALU is not necessarily on the left hand side of the CPU, nor is the clock necessarily in the top right hand corner.

All it is is to show you that there are other components inside there.

So please don't write anything like this on the left in an exam.

So CPU itself stands for central processing unit and inside it has a control unit, the one you can see in the middle there and ALU or Arithmetic and Logic Unit, Buses, which you can see here connecting all of the different components, Registers.

Now you'll notice there are a few boxes here for Registers that will be important later on.

And there's also a clock, just up the top here.

We're going to look at each one of these components individually today in this lesson, what I'd like you to do, and don't do this now, but this is on your worksheet, is I'd like you to think about each of the components inside the CPU, as members of a team, they have to collaborate and work together to create computation and processing.

So I would like you to think of them as each individual members of a team.

So after we do each one of these descriptions of the components, I'm going to ask you what sort of characteristics they would need to have as a team member.

I would like you to think of them as a person.

So I might say the Control Unit, what sorts of characteristics does it have? Does it need to have good leadership? Does it need to be good with numbers? Things like that, characteristics, this will help you remember the roles that each one of them play.

I'd also like you to make a note of what each component stores, manages, or controls.

Now they won't do all three of these, but most of them will have at least one or two things that they store or manage.

So when I ask you to pause, after we go through each one of the components, I'd like you to fill in the characteristics on this diagram here on your worksheet, and then fill in what each component, either stores, managers, or controls in this table.

Got it, right? Let's get started.

The first component is the control unit.

Now this one runs the show.

You can think of it as the team leader, it understands each instruction and also instructs the other components on what they need to do to accomplish that instruction.

Now let's give this a go.

What sort of characteristics does a control unit need to have? And what does is store, manage, or control? If you'd like to pause the video here, fill out those two diagrams on your worksheet I'll be here when you get back, I'm just going to have another sip of my water.

Refreshing.

Hopefully you're all good.

Come back, paused it? Right, let's have a look.

So what cloth characteristics does a team leader need to have in this instance, our control unit is the team leader.

They need to be organised, efficient, and collaborative it needs to know what's going on, it needs to be efficient at getting the job done and not waste any time.

And it also needs to be able to collaborate and tell the other components what they need to do now what does it control, manage, or store? It manages the instructions and it controls the other components.

It doesn't store anything, but it does control other components and manage instructions, right? I'd like you to give this a go.

So I want you to head over to your worksheet and I want you to say what sort of characteristics does a control unit or the team leader need to have? And also what does it store, manage or control.

If you want to pause the video here fill out that bit on your worksheet, we'll come back and we'll talk about the answers.

Right, hopefully you paused the video and came back and found that okay, let's have a look.

So the control unit needs to be organised, efficient and collaborative, just like any good leader.

It needs to know what's going on, understanding the instructions it needs to be efficient and not waste time when it's communicating that instruction.

And it also needs to be collaborative and tell the other components what to do.

And what does it control, manager or store? Well, it manages the instructions and it controls the other components.

It doesn't store anything, but it does manage and control.

Okay.

But hopefully you got how this thing works now.

So we'll go through the other ones a little bit quicker.

But I'll still give you as many instructions as I can.

The next one is the ALU, the arithmetic and logic unit.

The ALU is the calculator of the CPU.

It handles mathematical and logical operations that are required as part of an instruction.

Mathematical operations are things like addition, subtraction, division, multiplication, or even things like greater than, or less than, which are mathematical operations.

You check whether the value is higher or lower.

It also does logical operations such as, and, write to both these things equal one.

It says after these things equal, right? So it'll compare things and it might even do and or right? Is either one of these things true.

Now, what characteristics does an ALU need to have? and what does it store, manage, or control? Pause the video here, fill out your worksheet, and I'll meet you back here when you're ready.

I'm just going to have a sip of my water.

Refreshing.

Cool, hopefully we're back now and let's have a look.

So what does the ALU, what characteristics does the ALU need to have.

So needs to be logical? It needs to be good with numbers and precise.

We don't want to get "oh think is about this" from our ALU.

We want to know exactly that is right.

And what does it manage, control, or store.

Now it managers the calculations and the logic of an instruction, right? So it only does that management part.

It doesn't control anything nor does it store anything it managers, calculations and logic.

Next let's move on, so now we've got the clock.

Now with all these components working together, it'd be very easy for them to get out of sync.

And you know, the ALU would be doing a calculation, but the registers wouldn't be ready for it yet.

Or the control unit would be trying to send an instruction over the buses, but the component would already be busy.

So we need the clock to synchronise all the activity that goes on inside of a processor.

We call this the number of number of cycles carried out per second.

And it's measured in Hertz.

We'll have more on this in a later lesson, but for now you just need to know it keeps them all in sync.

So with that in mind, what sort of characteristics does this member of our team need to have? And what does it store manage or control? Pause the video again and head over to your worksheet.

See you when you are back.

Awesome, welcome back.

Now, hopefully this should be getting a bit easier for you now, and you'll be in that mindset thinking of them as a team, but let's have a look.

So the clock needs to be punctual.

It needs to make sure it's there on time all the time, it needs to be reliable and on ticking.

And It needs to have good rhythm.

You can think of the clock like a metronome inside the CPU.

It keeps time.

So all the other components can synchronise up.

And what does it manage, control, or store.

well controls the cycles per second, which inadvertently controls how fast the processor goes.

So we're going to do the registers now.

Now this one we're going to have to break the pattern a little bit, because there are multiple registers.

Now you remember earlier, I said that there were multiple boxes of these and that was important.

And that's because there are multiple registers inside the CPU.

These are small memory locations that are really quick to access and have very specific functions.

So this time I'm going to talk you through what each one of them stores.

So you're going to add them in that stores column.

And then we'll talk about which characteristics they should have.

So, let's start with the memory address register.

Now, all the instructions and the data will be stored in RAM or memory.

And each one of those RAM locations will have an address.

Now, depending on whether the instruction is stored in that address or the data is stored in that address, the memory address register will hold the actual address.

So when the bus is carrying it, it will look from the memory address register.

And when the ALU wants to send it back to a particular part of memory, it'll look at which address it needs to send it to in the memory address register.

Now that's slightly different to the memory data register, which holds the data from that address.

So I might have an instruction saved around location nine.

My memory address register would have the number nine stored in it, but my memory data register would have the number for that instruction, but its stored in the location.

So the memory address register holds where the data is and a memory data register holds the actual data.

Next, we have the current instruction register.

This is where the binary representation of the current instruction being executed is stored.

It's where the control unit looks for it before it decodes it.

And it's where all the other components will look.

If they need to know which operation they are doing, we also have the programme counter.

Now this is incremented or added by one each time a instruction is executed.

So we'll keep account of how many instructions have been executed in the current run.

And then finally we have the accumulator.

I like to think of this as a notebook inside the CPU.

This is where results of calculations are stored in between instructions.

So it might be that you have more calculations to perform, and we don't want to save it back in memory yet.

So we just noted down in the accumulator so that we can grab it for a later calculation.

Say you wanted to add five to a number until it reached 100, you would add five to that number and then check whether it was 100.

In the meantime, it would be stored in the accumulator rather than having to go back to RAM every time.

So I'd like you to pause the video here, again, make a note about each one of those things, store, each one of the registers stores, and also think about what sort of characteristics these registers need to have.

Pause the video, sort it, and then come back.

Welcome back again.

I know there's been a lot of pauses, but I hope you're really getting into the rhythm of this and it's helping me think about it how each one of these components works together.

So the registers need to be fast and have reliable memory, and they also need to be good at sharing and accessible to as many things as possible.

Speaking of accessibility it's fitting that our final component, are the buses.

So the buses transport data around the CPU.

That's why I've drawn them as little lines, connecting all the components.

Now these are parallel wires, which means instead of just being a single wire that we send one bit down at a time, they're actually multiple wires led together.

So flat sort of like my fingers are right now.

This means that we can send all eight bits of a byte together or more likely we can send 32 or 64 bits all at once.

This means they're very quick at transporting data around to the different components.

They are also responsible for transferring data to and from memory.

So last pause,, cause it's the last component.

I'd like you to think about what characteristics the buses need to have to be a good member of the team, and also what they store, manage, or control.

Pause the video here, and pick it back up when you're done.

Welcome back.

Right, let's have a look at this last component.

What characteristics does it need to have? So it needs to be social and it's to be able to interact with all the different components to make sure they can get that data.

It needs to be fast and efficient.

So the data needs to get there quickly, but it also needs to be efficient and not lose any.

And what do they manage, store, or control? They manage the flow of data around the CPU and to and from main memory.

Let's just have a little bit of a review of what you should have in this table on your worksheet.

So in the store's column, you should have the register store memory addresses for the memory address register, which is about Mar stands for at the end.

The data from that memory address for the memory data register, the current instruction, which is stored in the current instruction register.

And that instruction will be in binary.

And I counted the instructions in the programme counter.

So how many instructions have been executed so far in the programme? and any temporary results are stored in the accumulator.

So that should be your store's column.

You might just want to double check that.

So in the manager's column, you should have noted that the control unit, manages the instructions.

It understands what they are and it knows how to decode them.

The arithmetic and logic unit manages, arithmetic and logic operations, calculations, and comparisons.

Buses manage the flow of data around the CPU and to and from main memory and the clock manages the cycles per second.

And then finally, in the controls column, you have the control unit, which controls the other components.

How many times can I say control in one sentence? Cool, if you want to pause the video here and just make a note of each one of these columns and make sure they're the same of what you've got before we move on.

Awesome, if that was all right, then then well done, you've listened and you've just had to watch me sit there for a minute.

So let's get going.

So the final thing we're going to do in this lesson, is we're going to help you remember the components.

I'm going to do that through a process called dual coding.

This is where we link an idea with not only the logic and theory behind it, but also an image.

This means that you'll have multiple ways of remembering it and might make it easier for you to recall this during an exam.

So what I'd like you to do is for each of the components of the CPU, I'd like you to choose a memorable image.

I'd recommend using the characteristics that we spoke about earlier to choose your image.

I'd like you to sketch it in your notes, on your notepad.

And I'd like you to justify why that image is suitable right next to it.

For each one of the components.

You can see below here, I've got some inspirations.

You might have a metronome, which could be the clock.

You might have a road, now which component do you think that would be for? Keep in don't tell everybody else.

I wannna see what you draw.

We have a conductor, right? Who controls everything.

And then we might also have a briefcase or something to store things inside, right? So each one of these could represent the CPU components but really it's best if you choose your own images, because that will jewel code it better for you.

Now, I'm going to give you a second.

If you want to pause the video here, and do those little sketches in your notes and just try and remember, what each CPU component does, and it's rolling computation.

Welcome back.

I hope you had fun drawing and that will help you remember the components.

That's all from me today.

But the last thing is it likely to ask you to share your work with Oak National.

If you'd like to, of course, please ask your parent or carer to share your work on Instagram, Facebook, or Twitter, tagging at Oak National and #learnwithOak.

We'd love to see your drawings.

That's all from me today.

I hope you guys enjoyed this lesson and I'll see you next time.