0% found this document useful (0 votes)
40 views27 pages

Stored Program Concept

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views27 pages

Stored Program Concept

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Stored program concept

The architecture is a design model for a stored-program


in digital computer that uses a processing unit and a single
storage structure to hold both instructions and data.

• A stored-program digital computer is one that keeps its


programmed instructions, its data, in read-write, random
access memory (RAM).

Following things will come under storage program


concept: -
01. In the stored program concept, both the instructions
and the data are stored in the computer memory itself.

02. Thus, instructions like data can be read from the


memory and written to the memory by the processor.

03. The processor addresses the memory, reads the


corresponding instructions, executes them and according
to the executed instruction, processes (reads and writes)
data as well.

1
04. Computers that store both instructions and data on
the same memory are said to be based on the Von
Neumann architecture.
Modern desktop computers are still based on the same
stored program concept.

Design of the von Neumann architecture or Von


Neumann model

Von Neumann Architecture, also known as the Von Neumann


model, the computer consisted of a CPU, memory and I/O
devices.
The program is stored in the memory. The CPU fetches an
instruction from the memory at a time and executes it.
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.
It is named after mathematician and early computer scientist
John von Neumann.

Role of computer’s main memory M is to store programs and data


as they are being processed by CPU.

2
A von Neumann Architecture computer has five parts:
1. An arithmetic-logic unit
2. A control unit
3. A memory

3
4. Some form of input/output
5. System bus (that provides a data path between these
parts)

Arithmetic Logic Unit


All the usual Add, Multiply, Divide and Subtract
calculations will be available but also data comparisons
such as 'Greater Than', 'Less Than', 'Equal To' will be
available.

➢ 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 go to, if ..., call, and


return

A control unit

A component of a computer's central processing unit that directs


the operation of the processor.
4
A memory
A device that is used to store information for immediate use in a
computer or related computer hardware device

Some form of input/output


The communication between an information processing system,
such as a computer, and the outside world, possibly a human or
another information processing system

System bus
a single computer bus that connects the major components of a
computer system, combining the functions of a data bus to carry
information.

Flynn’s classification of computers


• Michael J Flynn classified computers on the basis of
multiplication of instruction stream and data streams in a
computer system.

• It gives how sequence of instructions or data will be executed


upon a single processor

• Instruction stream: is the sequence of instructions as executed


by the machine.

5
• Data Stream is a sequence of data including input or temporary
result, called by the instruction Stream.

The four classifications defined by Flynn are based


upon the,

1. Number of concurrent instruction (or control)


2. Data streams available in the architecture:

6
• 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.

01.SISD (Single Instruction stream, Single Data


stream) Computer Systems

7
Single-Instruction Single-Data streams (SISD)
➢ Conventional single-processor von Neumann computers
are classified as SISD systems.
➢ A single processor computer (Uni-processor) in which a
single stream of instructions is generated from the
program.

Characteristics

- Standard von Neumann machine


- Instructions and data are stored in memory
- One operation at a time

8
02.MISD (Multiple Instruction stream, Single Data stream)
Computer Systems

Its architecture contains n processors unit, each receiving


instruction streams and providing the same data stream.

MISD structure is only of theoretical interest, since no practical


system has been constructed using this organization.

9
➢ In the MISD category, the same stream of data flows
through a linear array of processors executing different
instruction streams.

03.SIMD (Single Instruction stream, Multiple Data


stream) Computer Systems

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.

10
Single-Instruction Multiple-Data streams (SIMD)

➢ Each processor in the array has a small amount of local


memory, where the distributed data resides while it is
being processed in parallel.

➢ The processor array is connected to the memory bus of


the front end so that the front end can randomly access the
local processor memories as if it were another memory.

➢ The front end can issue special commands that cause


parts of the memory to be operated on same time to move
around in the memory.

➢ The application program is executed by the front end in the


usual serial way, but issues commands to the processor
array to carry out SIMD operations in parallel.

11
Characteristics

- Only one copy of the program exists


- A single controller executes one instruction at a time

04. MIMD (Multiple Instruction stream, Multiple Data stream)


COMPUTER SYSTEMS

Its organization refers to a computer system capable of processing several


programs at the same time.

Because access to shared memory is balanced, these systems


are also called SMP (symmetric multiprocessor) systems.

There is no global memory, so it is necessary to move data


from one local memory to another by means of message passing.

This is typically done by a Send/Receive pair of


commands, which must be written into the application software by
a programmer

12
Characteristics

- Multiple processing units


- Execution of multiple instructions on multiple data

Types of MIMD computer systems

01. Shared memory multiprocessors


02. Message-passing multi computers

SHARED MEMORY MULTIPROCESSORS

13
Characteristics

All processors have equally direct access to one large memory


address space.

Example:
Bus and cache-based systems
- Sequent Balance, Encore
Multistage IN-based systems
- Ultra computer, RP3, HEP
Crossbar switch-based systems
- Alliant FX/8

MESSAGE-PASSING MULTICOMPUTER

Characteristics

- Interconnected computers
- Each processor has its own memory, and communicate via
message-passing

14
Example:
- Tree structure: Teradata,
- Mesh-connected: Rediflow, Series 2010

Multilevel View Point of A Machine

Our computer is built on various layers.


These layers are basically divided into:
Software layer
Hardware Layer
Instruction Set Architecture

USER APPLICATION LAYER MACRO


SOFTWARE
LAYER COMPILER OS –MSDOS ARCHITECTURE
WINDOWS
ASSEMBLER
UNIX / LINUX

INSTRUCTION SET ARCHITECTURE (ISA)

PROCESSOR MEMORY I/0 SYSTEM


DATA PATH AND CONTROL MICRO
HARDWARE
GATE LEVEL DESIGN ARCHITECTURE
LAYER
CIRCUIT LEVEL DESIGN

SILICON LAYOUT LAYER

15
- Computer system architecture is decided on the basis
of the type of applications or usage of the computer.

- The computer architect decides the different layers


and the function of each layer for a specific computer.

16
The Computer Level Hierarchy

A hierarchy is an organizational structure in which items are


ranked according to levels of importance.

17
The computer hierarchy ranks components in terms of response
times, with processor registers at the top of the structure and tape
backup at the bottom.

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.
– This level is where we view physical devices as just switches
(On/Off)
– Instead of viewing their physical behavior (i.e. in terms of
High voltages or low voltage) we use two value logic i.e.
0 (off) and 1(on)

Level 1: Control Level / Microarchitecture Level

– A control unit decodes and executes instructions and moves


data through the system.
– Control units can be micro programmed or hardwired.

• A micro program 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 instructions.
• Detailed organization of a processor implementation

18
– Computer Architecture is the combination of microarchitecture
and instruction set design.

Hardwired Control

• The control logic is implemented with gates, flip flops, decoders,


and other digital circuits.
• It has the advantage that it can be optimized to produce a fast
mode of operation

Micro programmed Control

• Micro programed control unit is built around a storage, where all


control signals are stored.

• Control memory stores a set of micro programs which are


designed to implement instruction set.

• It’s control information in a manner that fetching and execution


of program from main memory.

Level 2: Machine Level

– Also known as the Instruction Set Architecture (ISA) Level.


– Consists of instructions that are particular to the architecture of
the machine.
19
- Programs written in machine language (0s and 1s) need no
compilers or assemblers.

Instruction Set Architecture (ISA)


• Is the part of the processor that is visible to the programmer or
compiler writer.
• The ISA serves as the boundary between software and
hardware.

• An instruction set, or instruction set architecture (ISA),


is the part of the computer architecture related to,
i. Programming,
ii. Data types,
iii. Instructions,
iv. Registers,
v. Addressing modes,
vi. Memory architecture,
vii. Interrupt
viii. External I/O.

Level 3: System Software Level

– Controls executing processes on the system.


– Protects system resources.

– Operating System software supervises the programs

• Controls execution of multiple programs

E.g. Memory and I/O devices


– Other utilities
• Compilers, Interpreters, Linkers, Library etc.

Level 4: Assembly Language Level


20
– Acts upon assembly language produced from
Level 5, as well as instructions programmed directly at this
level.
– Lowest human readable form before dealing with 1s and 0s
(machine language)
– Assembler converts assembly to machine Language

Level 5: High-Level Language Level

– The level with which we interact when we write programs in


languages such as C, Pascaland Java

Level 6: The User Level

– Program execution and user interface level.


– Composed of application programs such as Word Processor,
Paint etc.
– The implementation of the application is hidden completely from
the user.

Performance metrics computer architecture.

Why study performance metrics?


• determine the benefit/lack of designs
• computer design is too complex to performance.
• have to be careful about what you mean to measure & how
you measure it.

21
Computer performance metrics include
➢ availability
➢ response time
➢ channel capacity
➢ completion time
➢ service time
➢ bandwidth
➢ throughput
➢ relative efficiency
➢ scalability
➢ performance
➢ compression ratio
➢ instruction path length
➢ speed up.

22
Many different factors to take into account when
determining performance:

Technology

• circuit speed (clock, MHz)


• processor technology (how many transistors on a chip)

23
Organization
• type of processor (ILP)
• configuration of the memory hierarchy
• type of I/O devices
• number of processors in the system

Software
• quality of the compilers
• organization & quality of OS, databases, etc.

Metrics that Measure Performance

Computer performance is the amount of work accomplished by


a computer system.

It basically depends on response time, throughput and execution


time of a computer system.

Response time.
➢ is the time from start to completion of a task.

This also includes:


• Operating system overhead.

• Waiting for I/O and other processes

• Accessing disk and memory

• Time spent executing on the CPU

Throughput.
➢ total amount of work completed in a given time. It is
the number of tasks that can be completed within a given
time of interval.

24
➢ transactions (database) or packets (web servers) /
second.
➢ an indication of how well hardware resources are
being used.
➢ good metrics for chip designers or managers of
computer systems.

CPU Execution time

➢ Time to execute one program from beginning to End.


➢ The total time a CPU spends computing on a given task.
➢ It also excludes time for I/O or running other programs.

➢ Performance is determined by execution time as


performance is inversely proportional to execution time.

The time the CPU spends executing an application


➢ no memory effects
➢ no, I/O
➢ no effects of multiprogramming

CPU Execution Time = CPU Clock Cycles * Clock Cycle Time

Cycle time (clock period) is measured in time or rate

clock cycle time = 1/clock cycle rate

CPU Execution Time = CPU Clock Cycles


Clock Cycle Rate

25
Component metrics:
➢ subsystem performance, e.g., memory behavior.
➢ help explain how execution time was obtained.
➢ pinpoints performance.

Performance = (1 / Execution time)


If Processor A is faster than processor B, i.e.,

Execution Time A < Execution Time B


Performance A > Performance B

(Performance of A / Performance of B)
= (Execution Time of B / Execution Time of A)

Time to execute a given program can be computed as:


Execution time = CPU clock cycles x clock cycle time

Factors affecting on computer performance

They include:
➢ speed of the CPU,
➢ space on the hard disk
➢ size of the RAM
➢ type of the graphics card
➢ speed of the hard disk
➢ Defragmenting files.

26
How to Improve Performance….

Decrease the CPI (clock cycles per instruction) by using new


Hardware.

CPI = Program execution time (in clock cycles)


Number of instructions in program

• Decrease the clock time or Increase clock rate by reducing


propagation delays.

• Decrease the number of required cycles or improve ISA or


Compiler.

MIPS (Millions of Instructions Per Second)

Traditional system figure of merit is MIPS,

defined as: MIPs = Number of Instructions in Program


Program Execution Time x 106

MFLOPS (millions of floating-point operations per second)

MFLOPs - The figure of merit, MFLOPS,


defined as:

MFLOPs = Number of Floating-Point Instructions in Program


Program Execution Time x 106

27

You might also like