WEBVTT

00:01.000 --> 00:06.320
Now, before diving into the technical aspects, we need to establish a shared understanding, a clear

00:06.320 --> 00:12.840
framework on how computers hardware is structured and how different parts of a system interact during

00:12.840 --> 00:14.040
the program execution.

00:14.360 --> 00:20.120
Now, by the end of this lecture, you will not only be able to describe the main subsystems of a computer,

00:20.120 --> 00:23.800
but also understand how these components work together to run software.

00:23.840 --> 00:29.200
Now we will also briefly walk through how to set up a simple programming environment using practical

00:29.200 --> 00:29.920
example.

00:31.000 --> 00:38.760
Now, as you can see on this diagram I have prepared for this lecture, the modern computer hardware

00:38.800 --> 00:49.800
can be broadly divided into three main subsystems the central processing unit, the memory and input

00:49.840 --> 00:51.520
output or IO.

00:52.280 --> 00:59.600
Now these components communicate with each other through buses, which are special data pathways that

00:59.600 --> 01:03.400
follow strict rules for how information flows.

01:03.880 --> 01:06.520
Now let's break these subsystems down.

01:08.140 --> 01:10.460
Central processing unit.

01:11.060 --> 01:14.140
The CPU is the brain of the computer.

01:14.380 --> 01:18.500
It controls how data moves between memory and input output devices.

01:18.820 --> 01:26.820
It performs both arithmetic operations like addition or subtraction and logical operations like comparing

01:26.820 --> 01:28.540
values or making decisions.

01:28.980 --> 01:34.820
The CPU can also change the flow of a program based on the outcomes of these operations.

01:34.860 --> 01:42.180
Now, to do this efficiently, it has a small amount of ultrafast memory, often called registers or

01:42.220 --> 01:45.580
cache for temporary data storage.

01:45.940 --> 01:46.660
Memory.

01:47.220 --> 01:54.500
Memory stores the both the instructions that the CPU executes and the data those instructions use.

01:54.780 --> 02:03.260
It acts as a bridge, making information easily accessible to both the CPU and input output systems.

02:03.980 --> 02:06.740
Now this is where your program lives when it's running.

02:08.900 --> 02:17.120
Input output, i.e. the input output subsystem allows the computer to interact with the outside world.

02:17.400 --> 02:24.800
This includes everything from your keyboard and monitor to mass storage devices like hard drives, USBs,

02:24.840 --> 02:26.560
and even network interfaces.

02:27.000 --> 02:34.400
Whenever a program needs to load a file, display a result, or connect to the internet, it is the

02:34.400 --> 02:37.040
input output system doing the work.

02:38.160 --> 02:41.560
And these subsystems don't work in isolation.

02:41.800 --> 02:45.640
They are connected by buses which act like communication.

02:45.640 --> 02:47.600
Highways inside the computer.

02:47.640 --> 02:55.920
Now there are three primary types of buses which you will learn as an introduction to computer organization

02:56.440 --> 02:57.280
data bus.

02:57.280 --> 03:06.160
You can see on the top of the diagram, which moves actual data between CPU memory and input output

03:07.560 --> 03:08.640
address bus.

03:09.240 --> 03:18.040
You can see on the blue lines which identifies where the data should go or come from, and we also have

03:18.040 --> 03:27.230
the control bus, the yellow lines, which carries instructions on how data should be handled like read,

03:27.270 --> 03:28.750
write or wait.

03:29.550 --> 03:31.430
So imagine you are sending a letter.

03:32.390 --> 03:36.630
The address bus tells the post office where to send it.

03:37.630 --> 03:45.950
The data bus is the letter itself, and the control bus carries instructions like send it urgently or

03:45.950 --> 03:47.110
return to the sender.

03:48.470 --> 03:54.350
These buses often share the same physical wires, but carry different types of signals at different

03:54.390 --> 03:54.910
times.

03:55.230 --> 04:03.110
For instance, the PCI express bus, which you may have seen when installing a graphic card, uses the

04:03.110 --> 04:08.950
same lanes for both address and data, but not at the same moment.

04:12.110 --> 04:17.630
This course will include several hands on programming tasks to reinforce what you are learning now.

04:17.630 --> 04:22.310
Later in this module, I will walk you through how to set up a working development environment step

04:22.310 --> 04:25.230
by step based on my own system setup.

04:25.270 --> 04:28.430
Now this will help you practice directly on your machine.

04:28.870 --> 04:32.270
Now, thank you for watching and I'm meeting you in the next lecture.
