General System Architecture

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

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

1
Role of computer’s main memory M is to store programs and data as they are being
processed by CPU.

A von Neumann Architecture computer has five parts:


1. An arithmetic-logic unit
2. A control unit
3. A memory
4. Some form of input/output
5. System bus (that provides a data path between these parts)

2
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.

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.

3
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.

• 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:

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

4
01.SISD (Single Instruction stream, Single Data stream) Computer Systems

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.

5
Characteristics

- Standard von Neumann machine


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

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.

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

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

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

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

8
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

9
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

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

10
Multilevel View Point of A Machine

Our computer is built on various layers.


These layers are basically divided into:
a. Software layer
b. Hardware Layer
c. 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

➢ 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.

➢ These layers are basically divided into:


Software layer
Hardware Layer
Instruction Set Architecture

11
➢ Multilevel view point of a machine describes the complete structure of the
computer system in a hierarchical manner which comprises of:

• Micro Architecture: Hardware components


• Macro Architecture: Software components
✓ Operating system
✓ High level language
✓ Assembly language
✓ Compiler
✓ Assembler

• ISA: How hardware components and software components are connected. It


describes
• Other than the structured organization of computer, other important elements
are:
✓ Memory
✓ CPU
✓ I/O

➢ Compiler
Software that translates a program written in a high-level programming
language (C/C++, COBOL, etc.) into machine language.

➢ Assembler
software that translates assembly language into machine language. Contrast
with compiler, which is used to translate a high-level language, such as
COBOL or C.

➢ Instruction set architecture:


This is an abstraction on the interface between the hardware and the low-level
software. It deals with the functional behaviour of a computer system as viewed
by a programmer.

➢ ISA is determined by:


• Data Storage.
• Memory Addressing Modes.
• Operations in the Instruction Set.
• Instruction Formats.
• Encoding the Instruction Set.
• Compiler’s View.

12
➢ Processor memory I /o system
These are the basic hardware devices required for the processing of any system
application.

➢ Data path and control


In different computers we have different number and type of registers and other
logic circuits. The data path and control decide the flow of information within the
various parts of the computer system in various circuits.

➢ Gate level design


These circuits such as register, counters etc are implemented in the form of
various gates available.

➢ Circuit level design


to add the gates to form a logical circuit or a component we have the basic circuit
level design which ultimately gives birth to all the hardware components of a
computer system.

➢ Silicon layout layer

13
The Computer Level Hierarchy

A hierarchy is an organizational structure in which items are ranked according to levels


of importance.

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.

14
15
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

– 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.

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

17
Level 4: Assembly Language Level

– 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 benefit of designs
• computer design is too complex to intuit performance &
performance bottlenecks
• have to be careful about what you mean to measure & how you measure it.

Many different factors to take into account when determining performance:

Technology

• circuit speed (clock, MHz)


• processor technology (how many transistors on a chip)

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

18
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.

➢ 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

19
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

Component metrics:

➢ subsystem performance, e.g., memory behavior.


➢ help explain how execution time was obtained.
➢ pinpoints performance bottlenecks.

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.

How to Improve Performance….

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

20
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

21

You might also like