COMPUTER ARCHITECTURE AND
ORGANIZATION CS 220
LECTURER: L SHUMBA
CA AVERAGE OF TWO TESTS
CONSULTATIONS: Tuesdays and Fridays
Lecture 1/2:Distinction between computer
architecture and computer organization
Computer Arch deals with those
attributes of the computer that are
visible to the programmer.
• Details such as: Physical memory –
Allocated and Available memory space
Instruction Set Architecture of the
processor.
Computer Architecture
Thenumber of bits used to represent data
types like integer , character , double
Input
Output mechanism – Depends on
programming language.
Technique
for addressing memories –
Depends on programming language
Computer organization
Itdeals with how different components
of a computer are linked together to
meet the requirements specified by
computer architecture Some
organizational attributes are:
Hardware details – Such as RAM, Hard
drive , graphic card technology used.
Computer Organization
PeripheralsDevices – How devices such as mouse
and keyboard, connected to the computer.
Controlsignals. Generated from the above
mentioned controls.
Note that all above mentioned aspects
( hardware technology, Peripheral connectivity
and their signals ) are therefore invisible to the
programmer.
Example
Assume you are programmer and you are
writing a program. Also suppose your
program has the following features:
1- Loads data from memory
2- Stores that data in integer variables
3- Performs some calculations and then
outputs that data on computer screen.
Programming example
To write such a program, programmers are only
concerned with the details visible to them – Computer
Architecture.
Therefore programmers do not care about the
conversion of keywords input to useful computer
instructions. Nor do we care about the
underlying RAM technology used. For this reason
we say that organization of components is
invisible to the programmer.
Components’ and Functions of a
computer
Central Processing Unit (CPU)
Made up of:
Control Unit
Arithmetic and Logic units
MAIN MEMORY
Made up of:
ROM (Read Only Memory)
RAM (Random Access Memory)
Secondary Storage
INPUT/OUTPUT UNITS
Assignment: Computer Components
function(s)/purpose(s)
Strategies for different computer
architectures
Many computer architectures
Ways of categorizing them:
(i)By Number of instructions executed per
clock cycle
Many Computer Machines read and execute
one instruction at a time
Von Neumann machines
These include:
• Complex Instruction Set Computer (CISC)
• Reduced Instruction Set Computer(RISC)
• Minimal instruction set computer (MISC)
• Transport Triggered Architecture(TTA)
• Digital Signal Processor(DSP)
Von Neumann Machines
These also include:
Accumulator machines
Register machines
Stack machines
Executing several instructions per clock
Other computers read and execute several
instructions at a time(clock cycle)
• Very long instruction word(VLIW), Super-
Scalar execute a minimum of two
instructions per clock cycle
• Still hit the Von Neumann bottle-neck at
some large number of instructions per clock
Program memory
•Program counter always refer to
“program memory no matter what
address is loaded into it
Normal reads and writes always go to “
data memory”
Categorization based on connections
between CPU and Main Memory
These are Princeton Machines
• They use unified memory where a single
address corresponds to a single place in
memory
• One can use that address to read and write
data, or can load that address in a program
counter to execute a code
Categorization according to memory
spaces
Harvard Machines
• Program memory
• Data memory
HARVARD ARCHITECTURE
Harvard architecture instruction and
data flow
Von Neumann architecture