Now, before diving into the technical aspects, we need to establish a shared understanding, a clear
framework on how computers hardware is structured and how different parts of a system interact during
the program execution.
Now, by the end of this lecture, you will not only be able to describe the main subsystems of a computer,
but also understand how these components work together to run software.
Now we will also briefly walk through how to set up a simple programming environment using practical
example.
Now, as you can see on this diagram I have prepared for this lecture, the modern computer hardware
can be broadly divided into three main subsystems the central processing unit, the memory and input
output or IO.
Now these components communicate with each other through buses, which are special data pathways that
follow strict rules for how information flows.
Now let's break these subsystems down.
Central processing unit.
The CPU is the brain of the computer.
It controls how data moves between memory and input output devices.
It performs both arithmetic operations like addition or subtraction and logical operations like comparing
values or making decisions.
The CPU can also change the flow of a program based on the outcomes of these operations.
Now, to do this efficiently, it has a small amount of ultrafast memory, often called registers or
cache for temporary data storage.
Memory.
Memory stores the both the instructions that the CPU executes and the data those instructions use.
It acts as a bridge, making information easily accessible to both the CPU and input output systems.
Now this is where your program lives when it's running.
Input output, i.e. the input output subsystem allows the computer to interact with the outside world.
This includes everything from your keyboard and monitor to mass storage devices like hard drives, USBs,
and even network interfaces.
Whenever a program needs to load a file, display a result, or connect to the internet, it is the
input output system doing the work.
And these subsystems don't work in isolation.
They are connected by buses which act like communication.
Highways inside the computer.
Now there are three primary types of buses which you will learn as an introduction to computer organization
data bus.
You can see on the top of the diagram, which moves actual data between CPU memory and input output
address bus.
You can see on the blue lines which identifies where the data should go or come from, and we also have
the control bus, the yellow lines, which carries instructions on how data should be handled like read,
write or wait.
So imagine you are sending a letter.
The address bus tells the post office where to send it.
The data bus is the letter itself, and the control bus carries instructions like send it urgently or
return to the sender.
These buses often share the same physical wires, but carry different types of signals at different
times.
For instance, the PCI express bus, which you may have seen when installing a graphic card, uses the
same lanes for both address and data, but not at the same moment.
This course will include several hands on programming tasks to reinforce what you are learning now.
Later in this module, I will walk you through how to set up a working development environment step
by step based on my own system setup.
Now this will help you practice directly on your machine.
Now, thank you for watching and I'm meeting you in the next lecture.