Chapter One Comparc
Chapter One Comparc
Architecture
Chapter One
Introduction to Computer
Organization and Architecture
1
1.1 Computer Architecture and Organization
What is Computer Architecture?
• Concerned with the structure and behavior of various functional
modules (HW and SW) of a digital computer as well as how these
modules interact to meet the requirement of the user
• It refers to those attributes of a system visible to a programmer
or, put another way, those attributes that have a direct impact on
the logical execution of a program.
• Deals with interface between hardware and software
Describes WHAT the computer does (logical view)
• Examples:
the instruction set (what operations can be performed?)
the number of bits used to represent various data types
methods used for input-output (I/O mechanism), etc.
2
Computer Architecture and Organization
Computer Organization
• It is concerned with ways in which the hardware components
operate and the way they are interconnected together to form a
computer system.
• It refers to the operational units and their interconnections that
realize the architectural specifications
• Concerned with Information flow between components and
means by which such information flow is controlled
• It covers the hardware units and their connection details
• Describes how it does it (how does a computer work)
Computer Design:
• Is concerned with the hardware design of the computer.
• Once the computer specification is formulated, it is the task of the
designer to develop hardware for the system.
3
Organization of the computer
5
The Computer Level Hierarchy
• It is the combination of different levels that connects the
computer with the user and that makes the use of the
computer.
• Describes how the computational activities are performed on
the computer and it shows all the elements used in different
levels of system.
• In which each level has a specific function and exists as a
distinct hypothetical Machine
• We call the hypothetical computer at each level a virtual
machine.
• Each level’s virtual machine executes its own particular set of
instructions, calling upon machines at lower levels to carry
out the tasks when necessary
6
7
The Computer Level Hierarch
Level 6: The User Level
•Composed of applications and is the
level with which everyone is most
familiar.
•At this level, we run programs such as
word processors, graphics packages,
or games.
•The lower levels are nearly invisible
from the User Level.
8
The Computer Level Hierarch
Level 5: High-Level Language Level
•The level with which we interact when we write
programs in languages such as C, Pascal, Lisp, and
Java
•These languages must be translated to a language
the machine can understand.(using compiler /
interpreter)
•Compiled languages are translated into assembly
language and then assembled into machine code.
(They are translated to the next lower level.)
•The user at this level sees very little of the lower
levels
9
The Computer Level Hierarch
Level 4: Assembly Language Level
•Acts upon assembly language produced from Level
5, as well as instructions programmed directly at
this level
•As previously mentioned, compiled higher-level
languages are first translated to assembly, which is
then directly translated to machine language. This
is a one-to-one translation, meaning that one
assembly language instruction is translated to
exactly one machine language instruction.
•By having separate levels, we reduce the semantic
gap between a high-level language and the actual
machine language 10
The Computer Level Hierarch
Level 3: System Software Level
•deals with operating system
instructions.
•This level is responsible for
multiprogramming, protecting
memory, synchronizing processes, and
various other important functions.
•Often, instructions translated from
assembly language to machine
language are passed through this level
11
The Computer Level Hierarch
Level 2: Machine Level
•Consists of instructions (ISA)that are particular to the
architecture of the machine
•Programs written in machine language need no
compilers, interpreters, or assemblers
Level 1: Control Level
•A control unit decodes and executes instructions and
moves data through the system.
•Control units can be microprogrammed or hardwired
•A microprogram is a program written in a low-level
language that is implemented by the hardware.
•Hardwired control units consist of hardware that
directly executes machine instruction 12
The Computer Level Hierarch
Level 0: Digital Logic Level
•This level is where we find digital
circuits (the chips)
•Digital circuits consist of gates and
wires.
•These components implement the
mathematical logic of all other levels
13
Types of computer Architecture
• In Computer Architecture, the
General System Architecture is
divided into two major classification
units.
1. Store Program Control Concept
– refers to the storage of instructions
in computer memory to enable it to
perform a variety of tasks in
sequence or intermittently.
– The idea was introduced in the late
1940s by John von Neumann
2. Flynn's Classification of Computers
– 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.
• Parallel processing may occur in the 14
Introduction: Stored program concept
• Stored-program concept is designed by
Hungarian mathematician John Von
Neumann.
• The von Neumann architecture is a design
model for a stored-program
digital computer that uses a
processing unit and a single separate
storage structure to hold both instructions
and data.
• A stored-program digital computer is one
that keeps its programmed instructions,
as well as its data, in read-write,
random access memory (RAM). 15
Von Neumann Model
• Von-Neumann proposed his
computer architecture design in
1945 which was later known as Von-
Neumann Architecture. It consisted
of a Control Unit, Arithmetic, and
Logical Memory Unit (ALU), Registers
and Inputs/Outputs.
• Von Neumann architecture is based
on the stored-program computer
concept, where instruction data and
program data are stored in the same Components of Von-Neumann
memory. This design is still used in Model:
most computers produced today. •Central Processing Unit
A Von Neumann-based computer: •Buses
• Uses a single processor •Memory Unit
• Uses one memory for both instructions
and data.
16
• Executes programs following the fetch-
• An instruction set is a list of all the
instructions, and all their variations, that
a processor can execute.
Instructions include:
• Arithmetic such as add and subtract
• Logic instructions such as and, or, and not
• Data instructions such as move, input,
output, load, and store
• Control flow instructions such as goto, if ...
goto, call, and return
17
General Purpose System
• The General Purpose Computer System is the modified version of
the Von-Neumann Architecture. In simple words, we can say that a
general purpose computer system is a modern day architectural
representation of Computer System.
• The CPU, Memory Unit and I/O subsystems are interconnected by
the system bus which includes data, address, and control-status
lines.
• practical systems may differ from the single bus architecture in the
sense that it may be configured around multiple buses.
• Multiple Bus Architecture favors high throughput as compared to
Single Bus Architecture. 18
Parallel Processing
• Parallel processing can be described
as a class of techniques which
enables the system to achieve
simultaneous data-processing tasks to
increase the computational speed of a
computer system.
• The primary purpose of parallel
processing is to enhance the
computer processing capability and
increase its throughput, i.e. the
amount of processing that can be
accomplished during a given interval
of time.
• A parallel processing system can be
achieved by having a multiplicity of
functional units that perform identical 19
or different operations simultaneously.
• The diagram shows one possible way of separating
the execution unit into eight functional units
operating in parallel.
• The adder and integer multiplier performs the
arithmetic operation with integer numbers.
• The floating-point operations are separated into
three circuits operating in parallel.
• The logic, shift, and increment operations can be
performed concurrently on different data. All units
are independent of each other, so one number can
be shifted while another number is being
incremented.
20
Flynn’s classification of computers
• Michael J Flynn classified computers on the
basis of multiplicity of instruction stream and
data streams in a computer system.
21
The four classifications defined by Flynn are based upon the
number of concurrent instruction (or control) and data
streams available in the architecture:
Flynn's taxonomy
Single Multiple
Instruction Instruction
• Instructions are decoded by the control unit and then ctrl unit
send the instructions to the processing units for execution.
• Data Stream flows between the processors and memory bi
directionally. 22
Reading Assignment
• Flynn’s classification.
23