Chapter -One
Introduction Computer Basics and computer performance
Contents
Computer Architecture
Computer organization
Structure Vs Function
CPU Structure
Computer evolution
Computer Performance
Architecture vs Organization
Computer Architecture
Functional operation of the individual HW units within a
computer system.
How do I design a computer with the needed
functionality?
The structures of a computer family not the specific
implementation, just like the architecture of a house
might be described as Gojo, villa, etc.
Architecture vs Organization
Computer organization
The internal arrangements of a computers, or how
features are implemented.
Ways in which these components are interconnected
Includes all physical aspects of computer systems.
E.g., circuit design, control signals, memory types.
Example
Take two different models from a same vendor like Intel are
brought to analyze.
Both the models(lap top and desk top) have same processor like
core 2 .
That means both models understand the same instruction set as
you know each processor understands a fixed no of instructions.
Hence their architecture is same.
Due to the placement of various hardware components, one
model (laptop) is slim and other is bulky. Hence their organization
is different
Structure vs Function
Modern computers contain millions of electronic components
They are a set of layers or levels of interrelated subsystems
Each level consists of a set of components and their inter-
relationships
At each level, the designer is concerned with:
Structure: The way in which the components are interrelated
Function: The operation of each individual component as part of
the structure.
Structure vs Function
Function
A functional view of the computer
Basic functions that a computer can perform:
Data Processing - is the core function of a computer system. To process
this raw data the computer uses its CPU(Central Processing Unit) which is
also known as the brain of the computer as it controls all the functions
Data Storage - long-term or short, temporary storage
Data Movement
Input/output - when data are received from or delivered to a peripheral, a
device connected directly to the computer
Data Communications - when data is moved over longer distances, to or
from a remote device
Top level computer structure
Computer
Peripherals
Main Memory
Input/Output
Computer System Bus
Communication Lines Central Processing Unit
(CPU)
CPU structure
CPU
Computer
Input/ Main
Output Memory
System
Bus Arithmetic and Logic
Registers Unit
Central
Processing
CPU BUS
Unit
(CPU)
Control Unit
Main Structural components of the CPU
Control Unit: Controls the operation of the CPU and hence
the computer.
Arithmetic and Logic Unit (ALU): Performs the computer's
data processing functions.
Registers: Provides storage internal to the CPU.
CPU Interconnection: Some mechanism that provides for
communication among the control unit, ALU, and registers.
Common Bus system
Bus: is a communication system that transfers data between components inside
a computer, or between computers
There are normally three types of bus in any processor system:
An address bus: this determines the location in memory that the processor
will read data from or write data to and it carry the address of signals.
A data bus: this contains the contents that have been read from the memory
location or are to be written into the memory location.
A control bus: this manages the information flow between components
indicating whether the operation is a read or a write and ensuring that the
operation happens at the right time
Generations of Computer
• Currently, there are five generations of computer. In the
following subsections, we will discuss the generations of
computer in terms of the technology used by them
(hardware and software), computing characteristics (speed, i.e.,
number of instructions executed per second), physical
appearance, and their applications.
First Generation Computers
(1940-1956)
• The first computers used vacuum tubes for
circuitry and magnetic drums for memory.
• They were often enormous and taking up entire room.
• First generation computers relied on machine language.
• They were very expensive to operate and in addition to
using a great deal of electricity, generated a lot of heat,
which was often the cause of malfunctions.
• The UNIVAC and ENIAC computers are examples of
first-generation computing devices.
First Generation Computers
Advantages :
• It was only electronic device
• First device to hold memory
Disadvantages :
• Too bulky i.e large in size
• Vacuum tubes burn frequently
• They were producing heat
• Maintenance problems
Second Generation Computers
(1956-1963)
• Transistors replaced vacuum tubes and ushered in
the second generation of computers.
• Second-generation computers moved from
cryptic binary machine language to symbolic.
• High-level programming languages were also being
developed at this time, such as early versions of COBOL
and FORTRAN.
• These were also the first computers that stored their
instructions in their memory.
Second Generation Computers
Advantages :
• Size reduced considerably
• The very fast
• Very much reliable
Disadvantages :
• They over heated quickly
• Maintenance problems
Third Generation Computers
(1964-1971)
• The development of the integrated circuit was the
hallmark of the third generation of computers.
• Instead of punched cards and printouts, users interacted
with third generation computers through keyboards
and monitors and interfaced with an operating system.
• Allowed the device to run many different applications at
one time.
Third generation computers
Advantages :
• ICs are very small in size
• Improved performance
• Production cost cheap
Disadvantages :
• ICs are sophisticated
Fourth Generation Computers
(1971-present)
• The microprocessor brought the fourth generation of
computers, as thousands of integrated circuits were built
onto a single silicon chip.
• The Intel 4004 chip, developed in 1971, located all the
components of the computer.
• From the central processing unit and memory to
input/output controls—on a single chip.
• . Fourth generation computers also saw the development
of GUIs, the mouse and handheld devices.
Fourth Generation Computers
Fifth Generation Computers
(present and beyond)
• Fifth generation computing devices, based on artificial
intelligence.
• Are still in development, though there are some
applications, such as voice recognition.
• The use of parallel processing and superconductors is
helping to make artificial intelligence a reality.
• The goal of fifth-generation computing is to develop
devices that respond to natural language input and are
capable of learning and self-organization.
Fifth Generation Computers
Computer performance
Performance is one of the most important criteria in judging
systems.
There are two main measurements of performance.
— Execution time is how long it takes to complete a task
— Throughput is total # of tasks completed per unit time.
Our main performance equation explains how performance
depends on several factors related to both hardware and
software.
Defining Performance
Can define computer performance in several different ways
Running a program on 2 different m/cs : interested in faster m/c – which
m/c finishes first
Running a program on a single m/c : interested in reduced response time /
execution time (the time between the start and completion of a task)
Running multiple jobs on a m/c : interested in increased throughput (the
total amount of work done in a given time)
To maximize performance, response time / execution time should be
minimized for some task
PerformanceX = 1/ Execution TimeX
ACA 23
Measuring Performance
In comparing design alternatives – want to relate the performance of
2 different m/c’s
Ex : One computer is faster than other - to mean that the response
time or execution time is lower on X than on Y for the given task. In
particular, “X is n times faster than Y”
Since execution time is the reciprocal of performance, the following
relationship holds:
Performance = 1/Execution Time
ACA 24
Example
If machine A runs a program in 10 seconds and machine B runs
the same program in 15 seconds, how much faster is A than B?
Know that A is n times faster than B if
PerformanceA / PerformanceB = n
Or
Execution Time B / Execution Time A = n
Performance ratio = 15 /10 =1.5
A is 1.5 times faster than B
ACA 25
Designer’s Performance Metrics
Users and designers often examine performance using different
metrics.
• CPU Execution Time = CPU clock cycles for a program × Clock
cycle time
• CPU time = CPU clock cycles for a program/ Clock rate
Clock cycle time
One “cycle” is the minimum time it takes the CPU to do
any work.
The clock cycle time or clock period is just the
length of a cycle.
The clock rate, or frequency, is the reciprocal of the
cycle time. 26
Example
One of the programs runs in 10 seconds on computer A, which
has a 400 MHz clock. Computer designers are trying to build a
machine B, that will run this program in 6 seconds. The designer
has determined that a substantial increase in the clock rate is
possible, but this increase will affect the rest of the CPU design,
causing machine B to require 1.2 times as many clock cycles as
machine A for this program.
What clock rate should the designer has to target?
ACA 27
Example
What clock rate should the designer has to target?
CPU Clock CyclesA
CPU Time A
Clock RateA
CPU Clock CyclesA
10 Seconds
Cycles
400106
Sec
1.2 CPU Clock CyclesA
CPU TimeB
Clock RateB
1.2 4000 106 Cycles
6 Seconds
Clock RateB
1.2 4000 106 Cycles
Clock RateB 800 MHz
6 sec onds
Machine B clock rate = 2 *(clock rate of A)
ACA 28