Computer Organization & Architecture
Instructor Engr. Zeeshan Raza
Computer Organization & Architecture
Computer architecture is the conceptual design and
fundamental operational structure of a computer
system. It is a layout and functional description of
requirements and design implementations for the
various parts of a computer
It may also be defined as the science and art of
selecting and interconnecting hardware
components to create computers that meet
functional, performance and cost goals
2
Computer Organization & Architecture
Computer architecture comprises at least three main
subcategories:
Instruction set architecture, or ISA, is the abstract image of a
computing system that is seen by a machine language (or
assembly language) programmer, including the instruction
set, memory address modes, processor registers, and
address and data formats.
Micro architecture also known as Computer organization is a
lower level, more detailed, description of the system that
involves how the constituent parts of the system are
interconnected and how they interoperate in order to
implement the ISA The size of a computer's cache for
instance,
3
Computer Organization & Architecture
System Design which includes all of the other hardware
components within a computing system such as:
system interconnects such as computer buses and switches
memory controllers
CPU off-load mechanisms such as direct memory access
issues like multi-processing
Once both ISA and micro architecture have been specified,
the actual device needs to be designed into hardware. This
design process is called implementation. Implementation is
usually not considered architectural definition, but rather
hardware design engineering
4
Architecture & Organization 1
Architecture is those attributes visible to the
programmer
Instruction set, number of bits used for data representation,
I/O mechanisms, addressing techniques.
e.g. Is there a multiply instruction?
Organization is how features are implemented
Control signals, interfaces, memory technology.
e.g. Is there a hardware multiply unit or is it done by
repeated addition?
5
Structure & Function
Structure is the way in which components relate to
each other
Function is the operation of individual components
as part of the structure
6
Function
All computer functions are:
Data processing
Data storage
Data movement
Control
7
Functional View
8
Structure - Top Level
Peripherals Computer
Central Main
Processing Memory
Unit
Computer
Systems
Interconnection
Input
Output
Communication
lines
9
Central Processing Unit (CPU)
CPU is the main processing unit of Computer
It control the operation of computer and perform data
processing functions
Cpu perform calculations take place inside a PC
The part of a computer that interprets and executes
instructions
Central Processing Unit) The computing part of the
computer. Also called the "processor," it is made up of the
control unit and ALU. Today, the CPUs of almost all
computers are contained on a single chip
10
The Diagram
Modern processor
11
Memory
storage device
I/O device
input out put device like keyboard, printer
System interconnection
the mechanism provide interconnection b/w
component like buses
12
Structure - The CPU
CPU
Computer Arithmetic
Registers and
I/O Login Unit
System CPU
Bus
Internal CPU
Memory Interconnection
Control
Unit
13
Control unit
control the operation of CPU
ALU
arithmetic logic unit perform logical operations
Register
Provide storage internal to the cpu
14
What is a program?
A sequence of steps
For each step, an arithmetic or logical operation is
done
For each operation, a different set of control signals
is needed
Function of Control Unit
For each operation a unique code is provided
e.g. ADD, MOVE
A hardware segment accepts the code and issues
the control signals
How Control Signals
• The program is sequence of steps
• On each step some logical or arithmatic
operation is performed
• For each step a new set of control signal is
needed
• A unique code for each possible set of
control signals is provided
• It is added to general purpose hardware
that can accept the code and generate
signals
Components
The Control Unit and the Arithmetic and Logic Unit
constitute the Central Processing Unit
Data and instructions need to get into the system
and results out
Input/output
Temporary storage of code and results is needed
Main memory
Computer Components:
Top Level View
Instruction Cycle
Two steps:
Fetch
Execute
Fetch Cycle
Program Counter (PC) holds address of next
instruction to fetch
Processor fetches instruction from memory
location pointed to by PC
Increment PC
Unless told otherwise
Instruction loaded into Instruction Register (IR)
Processor interprets instruction and performs
required actions
Execute Cycle
Processor-memory
data transfer between CPU and main memory
Processor I/O
Data transfer between CPU and I/O module
Data processing
Some arithmetic or logical operation on data
Control
Alteration of sequence of operations
e.g. jump
Combination of above
Example of Program Execution
Instruction Cycle State Diagram
Interrupts
Mechanism by which other modules (e.g. I/O) may
interrupt normal sequence of processing
Program
e.g. overflow, division by zero
Timer
Generated by internal processor timer
Used in pre-emptive multi-tasking
I/O
from I/O controller
Hardware failure
e.g. memory parity error
Program Flow Control
Interrupt Cycle
Added to instruction cycle
Processor checks for interrupt
Indicated by an interrupt signal
If no interrupt, fetch next instruction
If interrupt pending:
Suspend execution of current program
Save context
Set PC to start address of interrupt handler routine
Process interrupt
Restore context and continue interrupted program
Transfer of Control via Interrupts
Instruction Cycle with Interrupts
Program Timing
Short I/O Wait
Instruction Cycle (with Interrupts) - State
Diagram
Multiple Interrupts
Disable interrupts
Processor will ignore further interrupts whilst processing
one interrupt
Interrupts remain pending and are checked after first
interrupt has been processed
Interrupts handled in sequence as they occur
Define priorities
Low priority interrupts can be interrupted by higher
priority interrupts
When higher priority interrupt has been processed,
processor returns to previous interrupt
Multiple Interrupts - Sequential
Multiple Interrupts – Nested
Time Sequence of Multiple Interrupts