1
00:00:00,000 --> 00:00:11,280
In this video, you will learn about CPU architecture fundamentals.

2
00:00:11,280 --> 00:00:15,520
The first thing that we need to talk about is RISC versus CISC.

3
00:00:15,520 --> 00:00:19,860
To perform instructions on a CPU, an instruction set is used.

4
00:00:19,860 --> 00:00:24,280
And this instruction set is the basic way how a CPU is addressed.

5
00:00:24,280 --> 00:00:29,959
The complex instruction set computer, or CISC, has fewer instructions per program, but the

6
00:00:29,959 --> 00:00:32,439
each instruction can do a lot.

7
00:00:32,439 --> 00:00:37,400
And CISC was introduced to make programming easier with fewer lines of code.

8
00:00:37,400 --> 00:00:40,560
CISC is what you find on Intel CPUs.

9
00:00:40,560 --> 00:00:45,160
There's a fundamentally different instruction set as well, which is known as the reduced

10
00:00:45,160 --> 00:00:50,880
instruction set computer, or RISC, which has more instructions per program, but these instructions

11
00:00:50,880 --> 00:00:52,880
are much simpler.

12
00:00:52,880 --> 00:00:57,840
And RISC was introduced to make program execution faster, and to make it easier to optimize

13
00:00:57,840 --> 00:00:58,840
hardware.

14
00:00:58,840 --> 00:01:03,160
RISC is what you find on ARM, PowerPC, and other platforms.

15
00:01:03,160 --> 00:01:07,480
And the most important thing that you need to know is that RISC-compiled programs don't

16
00:01:07,480 --> 00:01:10,919
work on CISC and the other way around.

17
00:01:10,919 --> 00:01:12,519
Now how does that relate to Linux?

18
00:01:12,519 --> 00:01:15,839
Well, Linux can be used on different architectures.

19
00:01:15,839 --> 00:01:20,599
And because of these fundamental differences between RISC and CISC, an application developed

20
00:01:20,599 --> 00:01:24,239
for either platform cannot be executed on the other platform.

21
00:01:24,239 --> 00:01:29,879
And as a result, you'll find Linux distributions for a specific platform, which can be Intel

22
00:01:29,879 --> 00:01:37,900
or I86, and that doesn't work on ARM or AARC, and the other way around as well.

23
00:01:37,900 --> 00:01:42,559
If you want to check the architecture that you are using, you can use the ARC command,

24
00:01:42,559 --> 00:01:45,760
and that command will just print the architecture.

25
00:01:45,760 --> 00:01:47,419
Let me show you.

26
00:01:47,419 --> 00:01:53,400
So here I'm on my Ubuntu machine, and when I use ARC, there we can see AARC, and AARC

27
00:01:53,559 --> 00:01:56,760
reveals that this is an ARM architecture.

28
00:01:56,760 --> 00:01:57,760
Easy like that.

29
00:01:57,760 --> 00:02:00,040
Do I also have an Intel?

30
00:02:00,040 --> 00:02:05,480
So here I'm in a remote session to another computer, and this should be Intel-based,

31
00:02:05,480 --> 00:02:09,960
and there we can see x86-64, which is 64-bits Intel.

32
00:02:09,960 --> 00:02:12,720
And that's how you find out the architecture that you are currently using.

