1
00:00:00,000 --> 00:00:06,800
We've gotten used to throwing around the term CPU core, the part of your processor that does the actual, you know, processing.

2
00:00:06,800 --> 00:00:11,800
We understand that more cores are usually better, especially for applications like video editing.

3
00:00:11,800 --> 00:00:16,300
But what exactly makes a core different from the rest of the CPU?

4
00:00:16,300 --> 00:00:22,000
And how exactly do they work? It's probably useful to first define what a core is not.

5
00:00:22,000 --> 00:00:29,600
Cores don't handle I.O. or input output from the rest of the system as there's a separate part of the CPU die that deals with that.

6
00:00:29,800 --> 00:00:37,300
Nor do they provide you with the graphics. That is the responsibility of an integrated GPU, which also sits on a different part of the die.

7
00:00:37,300 --> 00:00:42,400
So now let's look at what a core does do by talking about the different parts of a core.

8
00:00:42,400 --> 00:00:46,100
Let's start out with the ALU or Arithmetic Logic Unit.

9
00:00:46,100 --> 00:00:51,000
The ALU does exactly what it sounds like. It's the part of your computer that does the thinking.

10
00:00:51,000 --> 00:00:57,600
More specifically, it handles mathematical operations and also carries out logical operations such as comparing different values.

11
00:00:57,700 --> 00:01:00,900
Although this might make the ALU sound like a fancy calculator,

12
00:01:00,900 --> 00:01:08,400
the programming languages that enable everything you do on your computer rely on math and formal logic that the ALU can understand.

13
00:01:08,400 --> 00:01:12,500
Cores often also have a floating point unit, which is similar to an ALU,

14
00:01:12,500 --> 00:01:16,500
but deals with number sets that have their decimal points in different places.

15
00:01:16,500 --> 00:01:20,900
And you can learn more about what this means and why it's important in this video right up here.

16
00:01:20,900 --> 00:01:25,400
But how do the ALU and the FPU know what to work on?

17
00:01:25,400 --> 00:01:28,500
Well, data is fed to these units by registers.

18
00:01:28,500 --> 00:01:33,700
These are temporary holding places for whatever the CPU core has to process next.

19
00:01:33,700 --> 00:01:39,100
One type of register, called an input register, holds the data that the CPU needs to process,

20
00:01:39,100 --> 00:01:45,200
while another type of register, called an instruction register, tells the CPU what to do with that data.

21
00:01:45,200 --> 00:01:50,800
So if the system needs to multiply 6 and 3, it will place 6 and 3 into the input registers

22
00:01:50,800 --> 00:01:53,900
and a multiply instruction into the instruction register.

23
00:01:53,900 --> 00:01:57,300
The ALU will then figure out the product, 18 in this case,

24
00:01:57,300 --> 00:02:02,600
and send the result to yet another part of the core called an accumulator.

25
00:02:02,600 --> 00:02:05,900
The accumulator then sends the result to the cache,

26
00:02:05,900 --> 00:02:10,900
which is a small amount of extremely fast memory built into each core.

27
00:02:10,900 --> 00:02:17,400
This data can then be read by the program that requested it. And by the way, the cache sends data the other direction as well.

28
00:02:17,400 --> 00:02:23,700
Specifically, it holds the data and the instruction the CPU has to process and execute before that data enters the ALU.

29
00:02:23,700 --> 00:02:27,900
Now, at the beginning of all this, the data is initially fetched from your main system RAM,

30
00:02:27,900 --> 00:02:33,700
but having it in the cache before the cores need to process it makes your PC run much faster.

31
00:02:33,700 --> 00:02:38,900
Once the CPU core finishes working on one instruction, it of course has to move on to the next one.

32
00:02:38,900 --> 00:02:42,500
So another part of the core is called the instruction pointer.

33
00:02:42,500 --> 00:02:47,700
It contains the location and memory where the CPU should load the next instruction from.

34
00:02:47,700 --> 00:02:54,500
But what ties all of it together? To find the answer out, we actually have to go outside the cores themselves.

35
00:02:54,500 --> 00:02:59,700
The CPU features a memory management unit or MMU that's separate from the cores

36
00:02:59,700 --> 00:03:05,000
that directs the data that flows between RAM and the CPU cores, kind of like a traffic cop.

37
00:03:05,000 --> 00:03:10,600
And the CPU die also has a control unit that manages the cores by synchronizing their different parts

38
00:03:10,600 --> 00:03:18,300
so that they work together fluidly. To do so, the control unit uses a clock signal that runs at a specific clock rate.

39
00:03:18,300 --> 00:03:25,300
That same number you see on your CPU or computer's label given in gigahertz or billions of clock cycles per second.

40
00:03:25,300 --> 00:03:32,100
Fast enough to help you watch this video. So hopefully now you understand the difference between a CPU core and the other parts of your processor.

41
00:03:32,100 --> 00:03:39,300
And we know this was a very simplified high level overview of a very complicated device like a CPU.

42
00:03:39,300 --> 00:03:43,600
We don't exactly have time to get into a whole PhD dissertation here on Tech Quicky,

43
00:03:43,600 --> 00:03:48,600
but maybe you'll find one of those down in the comments. So thanks for watching guys, if you liked this video, hit like, hit subscribe,

44
00:03:48,600 --> 00:03:53,600
and hit us up in the comments with your suggestions for topics that we should cover in the future.
