Internal hardware.
The CPU performs most of the processing inside a computer. It executes
instructions from programs and processes data.
The motherboard is the main circuit board that holds the CPU, memory,
and other essential components. It also provides connectors for other
peripherals.
Random Access Memory (RAM) is the computer's short-term memory,
which stores data that is actively being used or processed. More RAM
allows for smoother multitasking and faster performance. The data in RAM
is volatile, meaning it is lost when the computer is turned off.
Storage such as HDD and SSD for long term storage of data and
programs. SSDs are faster and more reliable.
Power supply unit converts electricity from the outlet into usable power for
the components.
Graphics processing unit renders images, videos and animations.
Optical drive reads CDs, DVDs, and blue ray.
Network interface card allows the computer to connect to a network,
wired or wirelessly.
A computer’s processor executes program instructions to run applications.
Main memory includes RAM and ROM, to store program instructions and
frequently used data. Faster than secondary so storing frequently used
data in main means faster execution.
I/O controllers (input/output controllers) are pieces of hardware that
control the communication of data between the processor and external
hardware devices such as keyboards, mice and monitors. It converts
signals, receives requests from CPU and manages the data flow.
Drivers interact with the I/O controller, when a new device is connected
you need a driver for it.
Words, memory is divided into words. Have separate memory addresses.
8/16/32/64 bits.
A bus is a series of parallel wires that connects internal components of a
computer system, allowing signals to be passed between them. The
number of parallel wires is width and has a direct relationship to the
number of bits can be transferred simultaneously by the bus. 8/16/32/64
lines.
The address bus is used to transport memory
addresses, specifying where data is to be sent to
or retrieved from. Increasing the width, increases
the range of addresses that it can specify, hence
increasing the computer’s amount of
addressable memory. Adding a wire doubles the number of
addressable memory locations. An addressable location is a portion
of memory that can be accessed by its address. If there are not
enough addresses available, some portions memory may go
, unused. When the CPU needs to read or write data, it sends the
address of the data location to the memory via the address bus.
A computer’s data bus sends data and instructions to and from the
different components of the computer system. Increasing the width,
increases the volume of data.
The control bus is used to carry control signals that regulate the
operation of the computer system, also carries the clock signal.
Control signals: memory read (data placed on bus), memory write
(data on bus written into location), bus request (to use bus), bus
grant (request granted), clock.
How do they relate together?
CPU and RAM: The CPU fetches instructions and data from RAM via
the address bus and data bus. It processes the data and may store
results back in RAM.
Address Bus and Data Bus: The address bus specifies the location in
memory, while the data bus transfers the actual data to and from
that location.
Control Bus: The control bus ensures that all components operate in
sync. It sends signals to manage read/write operations and
coordinate data transfers.
I/O Controllers: These controllers facilitate communication between
the CPU and external devices, ensuring that data is correctly
transferred and processed.
Communication between components in a computer system is essential
for its operation, this is facilitated by buses. Effective communications are
necessary to: data transfer, instruction execution, and coordination
Von Neumann is a computer architectural model where the CPU uses one
memory space, a single set of address and data buses and sequential
execution which can lead to a bottleneck known as the "Von Neumann
bottleneck". Von Neumann is used in embedded systems and digital
system processing due to its simplicity. Due to this it is cheaper and
simpler to program.
The stored program concept allows a computer to store program
instructions in its memory by using a binary number format enabling
the computer to modify instructions based on intermediate
computational result, produced by Von Neumann.
Harvard architecture is a more advanced architectural model which has
separate memory, busses, and parallel execution. It is used in general
purpose systems due to its high performance and efficiency, however it is
complex to program.
Addressable memory is the total memory a computer can use, with each
location having a unique address for CPU access. It's crucial for data
access, program execution, and memory management. For example, a 32-
bit address bus can address (2^{32}) (4,294,967,296) unique locations. If
a computer has 1 GB of RAM, the address bus can still address up to 4 GB,
but the usable memory is limited to 1 GB.