Title: Computer Architecture and organization
1Computer Architecture and organization
- FAHIM KHATTAK
- Student of Electrical Engineering
- University of Science and Technology, Bannu
2Computer Architecture vs computer organization
Computer Architecture Computer Organization
Computer Architecture is concerned with the way hardware components are connected together to form a computer system. Computer Organization is concerned with the structure and behavior of a computer system as seen by the user.
It acts as the interface between hardware and software. It deals with the components of a connection in a system.
Computer Architecture helps us to understand the functionalities of a system. Computer Organization tells us how exactly all the units in the system are arranged and interconnected.
A programmer can view architecture in terms of instructions, addressing modes and registers. Whereas Organization expresses the realization of architecture.
While designing a computer system architecture is considered first. An organization is done on the basis of architecture.
Computer Architecture deals with high-level design issues. Computer Organization deals with low-level design issues.
Architecture involves Logic (Instruction sets, Addressing modes, Data types, Cache optimization) Organization involves Physical Components (Circuit design, Adders, Signals, Peripherals)
3Flynns classification
- M.J. Flynn proposed a classification for the
organization of a computer system by the number
of instructions and data items that are
manipulated simultaneously - The sequence of instructions read from memory
constitutes an instruction stream. - The operations performed on the data in the
processor constitute a data stream. - Flynn's classification divides computers into
four major groups that are - Single instruction stream, single data stream
(SISD) - Single instruction stream, multiple data stream
(SIMD) - Multiple instruction stream, single data stream
(MISD) - Multiple instruction stream, multiple data
stream (MIMD)
4Flynns classification
5SISD
Where, CU  Control Unit, PE  Processing Element,
 M  Memory Â
6SISD
- SISD stands for 'Single Instruction and Single
Data Stream'. It represents the organization of a
single computer containing a control unit, a
processor unit, and a memory unit. - Instructions are executed sequentially, and the
system may or may not have internal parallel
processing capabilities. - Most conventional computers have SISD
architecture like the traditional Von-Neumann
computers. - Parallel processing, in this case, may be
achieved by means of multiple functional units or
by pipeline processing. - Instructions are decoded by the Control Unit and
then the Control Unit sends the instructions to
the processing units for execution. - Data Stream flows between the processors and
memory bi-directionally. - Examples
- Older generation computers, minicomputers, and
workstations
7SIMD
8SIMD
- SIMD stands for 'Single Instruction and Multiple
Data Stream'. It represents an organization that
includes many processing units under the
supervision of a common control unit. - All processors receive the same instruction from
the control unit but operate on different items
of data. - The shared memory unit must contain multiple
modules so that it can communicate with all the
processors simultaneously. - SIMD is mainly dedicated to array processing
machines. However, vector processors can also be
seen as a part of this group
9MISD
Where, M  Memory Modules, CU  Control Unit, P Â
Processor Units Â
10MISD
- MISD stands for 'Multiple Instruction and Single
Data stream'. - MISD structure is only of theoretical interest
since no practical system has been constructed
using this organization. - In MISD, multiple processing units operate on one
single-data stream. Each processing unit operates
on the data independently via separate
instruction stream. - The experimental Carnegie-Mellon C.mmp computer
(1971)
11MIMD
Where, M  Memory Module, PE  Processing Element,
 and CU  Control UnitÂ
12MIMD
- MIMD stands for 'Multiple Instruction and
Multiple Data Stream'. - In this organization, all processors in a
parallel computer can execute different
instructions and operate on various data at the
same time. - In MIMD, each processor has a separate program
and an instruction stream is generated from each
program - Cray T90, Cray T3E, IBM-SP2
13The von Neumann ARCHITECTURE
Buses
CPU
So where is the Input/Output?
14von Neumann architecture
- Memory holds data, instructions.
- Central processing unit (CPU) fetches
instructions from memory. - Separate CPU and memory distinguishes
programmable computer. - CPU registers help out program counter (PC),
instruction register (IR), general-purpose
registers, etc. - Both instructions and Data stored only in the
main memory (stored program concept) - Information fetched from memory through program
counter (PC) register, is a machine instruction - Information fetched through address from any
other register is data
15The Harvard Architecture (1)
- Harvard architecture is a computer architecture
with physically separate storage and signal
pathways for instructions and data.
16The Harvard Architecture (2)
- In a computer with a von Neumann architecture
(and no cache), the CPU can be either reading an
instruction or reading/writing data from/to the
memory. - Both cannot occur at the same time since the
instructions and data use the same bus system. - In a computer using the Harvard architecture, the
CPU can read both an instruction and perform a
data memory access at the same time, even without
a cache. - A Harvard architecture computer can thus be
faster for a given circuit complexity because
instruction fetches and data access do not
contend for a single memory pathway.
17The Harvard Architecture (3)
- In a Harvard architecture, there is no need to
make the two memories share characteristics. In
particular, the word width, timing,
implementation technology, and memory address
structure can differ. - In some systems, instructions can be stored in
read-only memory while data memory generally
requires read-write memory. - Instruction memory is often wider than data
memory.
18Harvard architecture
address
CPU
data memory
PC
data
address
program/instruction memory
data
19Modified Harvard Architecture
- The Modified Harvard architecture is very like
the Harvard architecture but provides a pathway
between the instruction memory and the CPU that
allows words from the instruction memory to be
treated as read-only data. - This allows constant data, particularly text
strings, to be accessed without first having to
be copied into data memory, thus preserving more
data memory for read/write variables. - Special machine language instructions are
provided to read data from the instruction
memory. - Standards-based high-level languages, such as
the C language, do not support the Modified
Harvard Architecture, so that in-line assembly or
non-standard extensions are needed to take
advantage of it. - Most modern computers that are documented as
Harvard Architecture are, in fact, Modified
Harvard Architecture.
20von Neumann vs. Harvard
- Harvard cant use self-modifying code.
- Harvard allows two simultaneous memory fetches.
- Most DSPs use Harvard architecture for streaming
data