Introduction to Computer
Organization
By: Engr. Ron Mark Edward F. Andaluz
Definition
Computer Organization refers to the
operational structure and behavior of a
computer system as seen by a programmer. It
focuses on the hardware components of a
computer and how they interact to execute
instructions. This includes the central
processing unit (CPU), memory
hierarchy, input/output (I/O)
systems, data paths, and control units.
Definition
While Computer Architecture deals with
the abstract design and functionality of a
computer system (what it
does), Computer Organization is
concerned with how those functionalities
are implemented (how it does it).
Importance of
Understanding Computer
Organization
Understanding computer organization is
crucial for several reasons:
Efficient Programming:
Knowing how hardware executes instructions helps
developers write optimized code that runs faster
and uses fewer resources.
Understanding computer organization is
crucial for several reasons:
System Performance:
It enables better understanding of performance
bottlenecks and how to address them through
hardware-aware programming or system
upgrades.
Understanding computer organization is
crucial for several reasons:
Hardware Troubleshooting:
Helps in diagnosing and fixing hardware-related
issues by understanding how components interact.
Understanding computer organization is
crucial for several reasons:
Design and Innovation:
Essential for computer engineers and system
designers to build new hardware or improve
existing systems.
Understanding computer organization is
crucial for several reasons:
Bridging Software and Hardware:
Acts as a bridge between high-level software and
low-level hardware, making it easier to understand
how software commands are translated into
hardware actions.
Basic Structure of a Computer System
A computer system is composed of several
interrelated components that work together to
perform data processing tasks. These components
can be broadly categorized into the following:
1. Input Unit
The Input Unit is a fundamental component of a
computer system responsible for receiving data
and instructions from the external environment
(usually the user) and converting them into a
format that the computer can understand and
process.
Functions of the Input Unit
1. Data Reception:
Accepts raw data and instructions from the user or other
devices.
2. Data Conversion:
Converts the received data into binary form (0s and 1s),
which is the only language a computer understands.
3. Data Transmission:
Sends the converted data to the Memory Unit or CPU for
processing.
Common Input Devices
Device Function
Keyboard Inputs text and commands
Mouse Controls pointer and selects items
Scanner Converts physical documents into digital form
Microphone Captures audio input
Webcam Captures video input
2. Output Unit
The Output Unit is responsible
for delivering processed data
(information) from the computer to the
user or another device in a human-
readable or usable form.
Functions of the Output Unit
1. Data Retrieval:
Receives processed data from the CPU or Memory Unit.
2. Data Conversion:
Converts binary data into a form understandable by humans
(text, images, sound, etc.).
3. Data Presentation:
Displays or outputs the final result to the user.
Common Output Devices
Device Function
Monitor Displays visual output (text, images,
video)
Printer Produces physical copies of digital
documents
Speakers Output sound (music, alerts, voice)
Projector Projects visual output onto a large
surface
Headphones Personal audio output
3. Memory Unit
The Memory Unit is a core component
of a computer system responsible
for storing data and instructions that
are either being processed or are needed
for future use. It plays a crucial role in
ensuring the CPU has quick access to the
information it needs.
Functions of the Memory Unit
1. Storage of Data and Instructions:
Holdsdata and instructions temporarily or
permanently.
2. Data Retrieval:
Supplies the CPU with data and instructions
during processing.
3. Data Saving:
Stores the results of processing for future use.
4. Central Processing Unit (CPU)
The Central Processing Unit (CPU) is
the core component of any computer
system. It performs all the processing
tasks, executes instructions, and
manages the flow of information through
the system.
Main Components of the CPU
Control Unit (CU)
Directs the operation of the processor.
Fetchesinstructions from memory,
decodes them, and coordinates execution.
Manages data flow between the CPU,
memory, and I/O devices.
Main Components of the CPU
Arithmetic Logic Unit (ALU)
Performs all arithmetic operations
(addition, subtraction, multiplication,
division).
Executes logical operations (comparisons
like AND, OR, NOT).
Main Components of the CPU
Registers
Small, fast memory locations inside the
CPU.
Temporarilyhold data, instructions, and
addresses during processing.
Main Components of the CPU
Cache Memory
High-speed memory located close to or
within the CPU.
Stores frequently accessed data and
instructions to reduce access time.
How the CPU Works (Simplified Cycle)
1. Fetch:
The CU retrieves an instruction from
memory.
2. Decode: The instruction is interpreted.
3. Execute:The ALU performs the required
operation.
4. Store:The result is written back to memory or a
register.
This is known as the Fetch-Decode-Execute Cycle.
5. Storage Devices
Storage devices are hardware
components used to store digital
data permanently or temporarily. Unlike
memory (RAM), which is volatile, storage
devices retain data even when the
computer is powered off.
Types of Storage Devices
1. Primary Storage (Volatile)
RAM (Random Access Memory):
Temporarily stores data and instructions
currently in use.
ROM (Read-Only Memory): Stores
firmware and system boot instructions.
Types of Storage Devices
2. Secondary Storage (Non-Volatile)
Used for long-term data storage.
Device Type Description
HDD (Hard Disk Drive) Uses spinning magnetic disks to
store data. High capacity, slower
speed.
SSD (Solid State Drive) Uses flash memory. Faster, more
durable, but more expensive per
GB.
Hybrid Drives (SSHD) Combines SSD speed with HDD
capacity.
Types of Storage Devices
3. Optical Storage
CD/DVD/Blu-ray: Uses laser technology to
read/write data. Mostly used for media and
backups.
Types of Storage Devices
4. Flash Storage
USB Flash Drives: Portable, plug-and-play
storage.
Memory Cards (SD, microSD): Used in
cameras, phones, and other portable devices.
Types of Storage Devices
5. Cloud Storage
Online services like Google Drive, Dropbox,
and OneDrive.
Accessible from anywhere with internet access.
Comparison Table
Storage Speed Capacity Portability Cost per GB Durability
Type
HDD Moderate Very High Low Low Moderate
SSD Very High High Moderate Higher High
USB Flash High Moderate Very High Moderate High
Drive
Optical Disc Low Low Moderate Low Low
Cloud Variable Scalable Very High Subscription Depends
Storage
THE VON NEUMANN ARCHITECTURE
Programming the ENIAC computer was
very slow and difficult. It would be much
easier if programs could be stored in the
computer’s memory, just like data. That
way, the computer could read
instructions directly from memory, and
changing the program would just mean
changing some values in memory.
THE VON NEUMANN ARCHITECTURE
This idea is called the stored-program
concept. It was first introduced in 1945
by John von Neumann in a proposal for a
new computer called
the EDVAC (Electronic Discrete Variable
Computer).
THE VON NEUMANN ARCHITECTURE
In 1946, John von Neumann and his team
started designing a new type of
computer at the Princeton Institute for
Advanced Studies. This computer was
called the IAS computer. Although it
wasn’t finished until 1952, it became the
model for all general-purpose computers
that came after it.
THE VON NEUMANN ARCHITECTURE
THE VON NEUMANN ARCHITECTURE
It consists of
A main memory, which stores both data and
instruction
An arithmetic and logic unit (ALU) capable of
operating on binary data
A control unit, which interprets the instructions in
memory and causes them to be executed
Input and output (I/O) equipment operated by the
control unit
BUS STRUCTURES
A bus in computing is a system that moves data
between different parts of a computer or even
between two computers. It helps connect devices like
the keyboard, mouse, and printer to the computer so
they can work together. There are different types of
bus systems, like single bus and multiple bus
structures, which help manage how data is shared
and transferred between components.
BUS STRUCTURES
A multiple bus structure uses several connected
buses to transfer data. Each bus can work with the
others, and the ones it doesn’t directly control are
called foreign buses. On the other hand, a single bus
structure is much simpler—it only has one bus that
handles all the data transfers.
TYPES OF BUSES
1. DATA BUS - The data bus is the most common type
of bus in a computer. It moves data between different
parts of the computer, like the processor and
memory.
The number of lines in a data bus affects how fast
data can be transferred.
Common sizes are 8, 16, 32, or 64 lines.
For example, a 64-line data bus can move 64 bits of
data at once, which means faster performance.
The data bus lines are bi-directional, which means
data can move in both directions:
The CPU can read data from memory using the data
bus.
The
CPU can also write data to memory using the
same lines.
So, the same set of lines is used for both sending and
receiving data between the CPU and memory.
TYPES OF BUSES
2. Address Bus - In a computer, many parts are connected
using buses. Each part (or component) has a unique ID, called
its address.
When one component wants to talk to another, it uses
the address bus to send the address of the target component.
The address bus is unidirectional, meaning it only sends
information in one direction.
It carries the address from the CPU (microprocessor) to the
memory, telling the memory where to read or write data.
TYPES OF BUSES
3. Control Bus - The control bus is used to
send commands or control signals between parts
of a computer.
For example, if the CPU wants to read data from
memory, it sends a control signal to the memory.
The control bus also sends signals
like acknowledgement signals (ASKS) to confirm
that a task is done.
A control signal usually includes:
1. Timing Information – tells how long a device can
use the data and address buses.
2. Command Signal – tells what action to perform
(like read or write).
Forinstance, when the CPU tells the memory
to write data, the memory sends back
an acknowledgement signal once it’s done. Then
the CPU knows it can move on to the next task.
SOFTWARE
A software is a set of instructions, data, or
programs used to operate computers and
perform specific tasks. Unlike hardware, which
is the physical part of a computer, software is
intangible and tells the hardware what to do.
There are two main types of software:
1. System Software:
This includes the operating system (like
Windows, macOS, or Linux) and utility
programs that manage computer resources and
provide a platform for other software.
There are two main types of software:
2. Application Software: These are programs
designed for end users to perform specific tasks,
such as:
Word processors (e.g., Microsoft Word)
Web browsers (e.g., Google Chrome)
Games
Mobile apps