WEBVTT

1
00:00:00.090 --> 00:00:00.923
<v Instructor>In this lesson,</v>

2
00:00:00.923 --> 00:00:03.540
we're going to talk about CPU architectures.

3
00:00:03.540 --> 00:00:06.030
Now, the CPU or central processing unit,

4
00:00:06.030 --> 00:00:08.550
which is normally just referred to as the processor,

5
00:00:08.550 --> 00:00:10.950
is the device that's going to be the brains of your computer

6
00:00:10.950 --> 00:00:13.140
and it's used to execute the different program code

7
00:00:13.140 --> 00:00:15.810
that exists within your software or firmware.

8
00:00:15.810 --> 00:00:18.570
This tells the computer exactly how to do its job

9
00:00:18.570 --> 00:00:20.850
for whatever type of function you want to do.

10
00:00:20.850 --> 00:00:23.940
Essentially, the CPU is going to perform the basic operations

11
00:00:23.940 --> 00:00:25.770
on each and every instruction.

12
00:00:25.770 --> 00:00:28.170
The CPU is first going to fetch that instruction,

13
00:00:28.170 --> 00:00:30.180
take the next instruction in the sequence

14
00:00:30.180 --> 00:00:31.620
from the system memory

15
00:00:31.620 --> 00:00:33.810
or the cache inside of the processor,

16
00:00:33.810 --> 00:00:36.690
which is essentially a very high-speed type of memory.

17
00:00:36.690 --> 00:00:38.850
Then, the control unit or processor

18
00:00:38.850 --> 00:00:41.280
is going to be able to decode each of those instructions

19
00:00:41.280 --> 00:00:42.660
and then either execute it

20
00:00:42.660 --> 00:00:44.700
or pass it on to a secondary unit

21
00:00:44.700 --> 00:00:46.650
that's going to help it do that process.

22
00:00:46.650 --> 00:00:48.570
For example, in a lot of processors,

23
00:00:48.570 --> 00:00:50.850
there are things like a floating point unit

24
00:00:50.850 --> 00:00:52.620
or an arithmetic logic unit,

25
00:00:52.620 --> 00:00:54.690
and these can be used to do different instructions

26
00:00:54.690 --> 00:00:55.800
based on the type of code

27
00:00:55.800 --> 00:00:57.900
and the type of instruction being run.

28
00:00:57.900 --> 00:00:59.520
Then, once the processor is done

29
00:00:59.520 --> 00:01:01.470
doing the execution of that instruction,

30
00:01:01.470 --> 00:01:04.080
it's going to send that information back to the register,

31
00:01:04.080 --> 00:01:06.450
cache, or memory, so that it can be stored

32
00:01:06.450 --> 00:01:07.770
and used later on by the system

33
00:01:07.770 --> 00:01:09.120
later on during the program

34
00:01:09.120 --> 00:01:11.400
or present its output to the user

35
00:01:11.400 --> 00:01:13.260
for them to be able to take action on.

36
00:01:13.260 --> 00:01:15.210
This is the basic way that processors work

37
00:01:15.210 --> 00:01:17.940
in the motherboard and inside of your computer.

38
00:01:17.940 --> 00:01:20.040
Now, as we look at the processor itself,

39
00:01:20.040 --> 00:01:21.960
it has its own architecture.

40
00:01:21.960 --> 00:01:23.610
And similar to the way that the motherboard

41
00:01:23.610 --> 00:01:26.190
has a form factor that defines what it can do,

42
00:01:26.190 --> 00:01:28.320
the processor's architecture is going to define

43
00:01:28.320 --> 00:01:30.750
what capabilities that processor has.

44
00:01:30.750 --> 00:01:32.400
There are three main architectures

45
00:01:32.400 --> 00:01:33.480
that you're going to come across

46
00:01:33.480 --> 00:01:35.340
in the field as a technician.

47
00:01:35.340 --> 00:01:38.130
The first one is known as X86.

48
00:01:38.130 --> 00:01:41.970
Now, X86 is also sometimes called the IA-32

49
00:01:41.970 --> 00:01:45.510
or Intel architecture 32-bit instruction set.

50
00:01:45.510 --> 00:01:48.840
This is because X86 was originally developed by Intel

51
00:01:48.840 --> 00:01:50.160
with some of the first PCs

52
00:01:50.160 --> 00:01:53.280
all the way back in the 1970s and 1980s.

53
00:01:53.280 --> 00:01:55.380
Over time, computers went from being 8-bit,

54
00:01:55.380 --> 00:01:58.620
to 16-bit, to 32-bit, and all along the way,

55
00:01:58.620 --> 00:02:00.810
Intel created this backwards compatibility

56
00:02:00.810 --> 00:02:01.980
and all of those systems

57
00:02:01.980 --> 00:02:05.580
became known as this X86 generation of processors.

58
00:02:05.580 --> 00:02:07.230
And this is because the first processors

59
00:02:07.230 --> 00:02:08.790
used in computers by Intel

60
00:02:08.790 --> 00:02:11.040
was called the 8086 series.

61
00:02:11.040 --> 00:02:13.470
And the next one became the 286 series,

62
00:02:13.470 --> 00:02:16.470
then 386, then 486, then 586,

63
00:02:16.470 --> 00:02:17.303
and then at that point

64
00:02:17.303 --> 00:02:19.170
they shifted over to using brand names,

65
00:02:19.170 --> 00:02:23.010
things like Celeron or Pentium, and things like that.

66
00:02:23.010 --> 00:02:24.810
Either way, though, all of these devices

67
00:02:24.810 --> 00:02:27.810
originally were X86 processors,

68
00:02:27.810 --> 00:02:29.460
and it kept that way all the way up

69
00:02:29.460 --> 00:02:32.160
until we got to 64-bit processors.

70
00:02:32.160 --> 00:02:34.770
Once we moved into a 64-bit processor,

71
00:02:34.770 --> 00:02:37.710
we started calling this an X64 processor

72
00:02:37.710 --> 00:02:39.930
or X64 architecture.

73
00:02:39.930 --> 00:02:42.930
Now, anytime you see X64 as the instruction set,

74
00:02:42.930 --> 00:02:45.930
this means that we have now extended the X86

75
00:02:45.930 --> 00:02:47.730
or 32-bit instruction set

76
00:02:47.730 --> 00:02:50.520
to be able to support 64-bit operations.

77
00:02:50.520 --> 00:02:52.080
This is an important thing to understand

78
00:02:52.080 --> 00:02:54.870
because when you're dealing with 32-bit processors,

79
00:02:54.870 --> 00:02:57.060
which are X86 processors,

80
00:02:57.060 --> 00:02:59.250
they can only support a maximum amount of memory

81
00:02:59.250 --> 00:03:01.050
of four gigabytes of RAM.

82
00:03:01.050 --> 00:03:02.370
They physically cannot address

83
00:03:02.370 --> 00:03:04.140
anything higher than four gigabytes

84
00:03:04.140 --> 00:03:07.050
because there's only 32 bits available for addressing.

85
00:03:07.050 --> 00:03:09.360
And if you take 2 to the 32nd power,

86
00:03:09.360 --> 00:03:11.760
you get about 4 billion bits,

87
00:03:11.760 --> 00:03:13.740
which is about four gigabytes.

88
00:03:13.740 --> 00:03:15.540
So you can see why it was important for us

89
00:03:15.540 --> 00:03:17.610
to move beyond the X86 processor

90
00:03:17.610 --> 00:03:19.230
because four gigabytes of RAM

91
00:03:19.230 --> 00:03:21.510
is really not a lot in modern systems.

92
00:03:21.510 --> 00:03:22.470
In fact, that would be considered

93
00:03:22.470 --> 00:03:24.720
a very low memory system these days.

94
00:03:24.720 --> 00:03:27.630
Most computers are going to have 8, 16, 32,

95
00:03:27.630 --> 00:03:29.820
or even 64 gigabytes of RAM

96
00:03:29.820 --> 00:03:31.380
as their main system memory.

97
00:03:31.380 --> 00:03:33.120
And to be able to address all of that,

98
00:03:33.120 --> 00:03:35.610
you need to move into a 64-bit instruction set

99
00:03:35.610 --> 00:03:38.130
using an X64 processor.

100
00:03:38.130 --> 00:03:40.050
Oftentimes, you'll hear this referred to

101
00:03:40.050 --> 00:03:44.340
based on their brand name, either AMD64 or Intel 64,

102
00:03:44.340 --> 00:03:46.050
depending on which model is being made

103
00:03:46.050 --> 00:03:47.430
by which manufacturer.

104
00:03:47.430 --> 00:03:50.610
But they are both considered X64-based architectures

105
00:03:50.610 --> 00:03:52.560
for that particular processor.

106
00:03:52.560 --> 00:03:54.000
Now, another important thing to remember

107
00:03:54.000 --> 00:03:56.670
when it comes to 64-bit versus 32-bit

108
00:03:56.670 --> 00:03:58.500
is the fact that 32-bit systems

109
00:03:58.500 --> 00:04:00.840
can only run 32-bit programs

110
00:04:00.840 --> 00:04:04.710
but 64-bit processors can run 64-bit programs

111
00:04:04.710 --> 00:04:06.330
and 32-bit programs

112
00:04:06.330 --> 00:04:08.760
because they are fully backwards compatible.

113
00:04:08.760 --> 00:04:09.660
For this reason,

114
00:04:09.660 --> 00:04:11.670
most systems you're going to come across these days

115
00:04:11.670 --> 00:04:14.310
are going to be X64-based processors

116
00:04:14.310 --> 00:04:17.190
because that is heavily used in the PC market

117
00:04:17.190 --> 00:04:20.610
and supported widely by Windows and all of its variants.

118
00:04:20.610 --> 00:04:23.010
Now, the third type of processor you may come across

119
00:04:23.010 --> 00:04:25.800
is what's known as an ARM processor.

120
00:04:25.800 --> 00:04:28.560
ARM stands for the advanced RISC machines

121
00:04:28.560 --> 00:04:30.480
and RISC is actually an acronym itself,

122
00:04:30.480 --> 00:04:32.340
that's spelled R-I-S-C,

123
00:04:32.340 --> 00:04:35.190
which is the reduced instruction set computer.

124
00:04:35.190 --> 00:04:36.990
Now, ARM for a long time was used

125
00:04:36.990 --> 00:04:38.220
for low-power devices,

126
00:04:38.220 --> 00:04:41.010
things like tablets and cell phones and things like that.

127
00:04:41.010 --> 00:04:43.020
But back in the early 2020s,

128
00:04:43.020 --> 00:04:45.450
Apple decided to release a new series of processors

129
00:04:45.450 --> 00:04:47.310
for their desktops and laptops

130
00:04:47.310 --> 00:04:49.080
that used ARM chips as well

131
00:04:49.080 --> 00:04:51.030
and these are known as the M1 series,

132
00:04:51.030 --> 00:04:53.100
the M1 Pro, the M1 Max,

133
00:04:53.100 --> 00:04:54.540
and now the newer ones are coming out

134
00:04:54.540 --> 00:04:57.060
with the M2 series and beyond.

135
00:04:57.060 --> 00:04:58.350
All of these are now being moved

136
00:04:58.350 --> 00:05:00.180
into this ARM instruction set

137
00:05:00.180 --> 00:05:02.940
because ARM allows you to do some very special things

138
00:05:02.940 --> 00:05:07.140
that you can't do in an X86 or X64-based processor.

139
00:05:07.140 --> 00:05:08.310
The most important of these

140
00:05:08.310 --> 00:05:10.470
is actually extended battery life.

141
00:05:10.470 --> 00:05:12.540
ARM actually produces a lot less heat

142
00:05:12.540 --> 00:05:14.730
to be able to do all of the same calculations

143
00:05:14.730 --> 00:05:18.120
as an X64 or X86-based processor,

144
00:05:18.120 --> 00:05:20.130
and this actually saves a lot of battery power

145
00:05:20.130 --> 00:05:21.690
and a lot of cooling.

146
00:05:21.690 --> 00:05:24.660
So it's very popular in system on a chip configurations,

147
00:05:24.660 --> 00:05:26.910
things like smart TVs, smart speakers,

148
00:05:26.910 --> 00:05:29.670
and other devices as well as newer laptops.

149
00:05:29.670 --> 00:05:30.990
And so when you're using something

150
00:05:30.990 --> 00:05:32.580
that is not Windows-based,

151
00:05:32.580 --> 00:05:34.710
such as an Apple device, a Chromebook,

152
00:05:34.710 --> 00:05:36.840
or even an Android phone or tablet,

153
00:05:36.840 --> 00:05:39.120
these tend to use ARM-based processors

154
00:05:39.120 --> 00:05:41.820
instead of X64 or X86

155
00:05:41.820 --> 00:05:43.410
because of its longer battery life

156
00:05:43.410 --> 00:05:45.360
and lower power consumption

157
00:05:45.360 --> 00:05:48.030
that creates less heat inside of the device.

158
00:05:48.030 --> 00:05:51.060
Now, when you look at a RISC-based or ARM-based processor

159
00:05:51.060 --> 00:05:54.480
versus an X64 or X86-based processor,

160
00:05:54.480 --> 00:05:56.760
you are dealing with this reduced instruction set

161
00:05:56.760 --> 00:05:59.520
instead of a full complex instruction set.

162
00:05:59.520 --> 00:06:01.950
Now you may think this actually gives you less capability

163
00:06:01.950 --> 00:06:03.060
but it doesn't.

164
00:06:03.060 --> 00:06:05.040
When you're using a RISC-based system,

165
00:06:05.040 --> 00:06:08.040
these RISC systems use a smaller number of instructions

166
00:06:08.040 --> 00:06:09.930
to be able to do all the same task

167
00:06:09.930 --> 00:06:12.480
but they rely more on code to be able to do it.

168
00:06:12.480 --> 00:06:15.270
This allows each piece of code inside of that RISC

169
00:06:15.270 --> 00:06:17.730
to do more things with less code

170
00:06:17.730 --> 00:06:19.860
and this causes less consumption of power

171
00:06:19.860 --> 00:06:21.810
and longer battery life.

172
00:06:21.810 --> 00:06:23.700
As we continue to evolve in computers,

173
00:06:23.700 --> 00:06:26.160
you're going to see that RISC and ARM-based processors

174
00:06:26.160 --> 00:06:27.780
are going to become more popular

175
00:06:27.780 --> 00:06:29.130
in a wide variety of systems

176
00:06:29.130 --> 00:06:30.900
including desktops and laptops.

177
00:06:30.900 --> 00:06:32.490
And this is already starting to make its way

178
00:06:32.490 --> 00:06:33.840
into the Windows environment

179
00:06:33.840 --> 00:06:36.360
as they are now starting to offer Windows 11 versions

180
00:06:36.360 --> 00:06:39.330
that will support an ARM-based processor.

181
00:06:39.330 --> 00:06:42.150
Once that goes out of beta and into general production,

182
00:06:42.150 --> 00:06:44.490
we're going to see a larger amount of desktops and laptops

183
00:06:44.490 --> 00:06:47.523
using ARM beyond just using them for Apple systems.

