REFERENCES
1. “Computer Organization”,Carl
Hamacher, Zvonko Vranesic and
Safwat Zaky, Fifth Edition, McGrawHill
2. “Computer Organization and Design”,
Davis A Patterson & John L Hennessy,
Third Edition, Elsevier
3. “Computer Architecture: A Quantitative
Approach”, John L Hennessy & Davis A
Patterson
1
CONTENTS
Today’s Lecture will cover:
- Introduction to Computers
- Various Application of Computers
- Generation of computers
- Classes of Computing Applications
- Understanding Program Performance
- Below your Program
- High-Level Language to the Language of
Hardware
2
CONTENTS
- Inside the Computer
- Communication with Other Computers
- Technologies for Building Processors and Memories
- Real Stuff : Manufacturing Pentium 4 Chips
- Basic Operational Concepts
3
DEFINITION OF A
COMPUTER
What is it?
A Computer is a machine capable of manipulating
data in complex, programmable ways.
wikipedia
4
GENERATIONS
•First generation Computer, 1940-1956,
defined by Vacuum tubes.
•Second generation Computer, 1956-1963,
defined by Transistors
•Third generation Computer, 1964-1971,
defined by Integrated Circuits (IC)
•Fourth generation computer, 1971-today,
defined by Microprocessors
•Fifth generation computer, Present and
Beyond, defined by Artificial Intelligence
(AI)
5
GENERATION 0 :
MECHANICAL COMPUTERS (1642-1945)
Abacus
Pascal’s Mechanical Calculator
6
GENERATION 0 :
MECHANICAL COMPUTERS (1642-1945)
Leibniz Calculator
7
GENERATION 0 :
MECHANICAL COMPUTERS (1642-1945)
Programmable devices
Jacquard’s loom
8
GENERATION 0 :
MECHANICAL COMPUTERS (1642-1945)
Babbage’s Difference Engine
9
FIRST GENERATION(1940-
1956)
Stored Program Concept(John von Neumann)
Vacuum tubes
10
SECOND GENERATION(1956-
1963)
Transistor
Development of programming languages (COBOL,
FORTRAN)
11
THIRD GENERATION(1964-
1973)
IC technology
Microprogramming, parallelism, pipelining
Cache memory, Virtual memory
12
FOURTH GENERATION(1973-
1985)
VLSI technology
Microprocessors
LAN, WAN, Internet
13
BEYOND THE FOURTH
GENERATION(1985-??)
AI
Parallel processing
Networking
14
CLASSES OF COMPUTING
APPLICATIONS
• Desktop Computers
Workstations
Mainframes
Supercomputers
Minicomputers
• Servers
• Embedded computers
15
DESKTOP
COMPUTER
A Computer designed for use by an individual,
usually incorporating a graphics display, keyboard
and mouse
16
SERVERS
A computer used for running larger programs for
multiple users often simultaneously and typically
accessed only via network
17
SUPERCOMPUTERS
A class of computers with the highest performance
and cost; they are configured as servers and
typically cost millions of dollars
- Tsubame
- Earth simulator
- Param
Supercomputer
18
EMBEDDED COMPUTER
A computer inside another device used for running
one predetermined application or collection of
software
19
Handheld/Pocket PC PDA Tablet PC
Desktop Laptop
20
Workstation
21
Mainframe
22
Supercomputer
23
UNDERSTANDING PROGRAM
PERFORMANCE
The performance of a program depends on a
combination of the effectiveness of the algorithms
used in the program, the software systems used to
create and translate the program into machine
instructions, and the effectiveness of the computer
in executing those instructions
24
BELOW YOUR PROGRAM
Application software
System software
Hardware
25
SYSTEM SOFTWARE
Software that provides services that are commonly
useful, including operating system, compilers and
assemblers
26
OPERATING SYSTEM
Supervising program that manages the resources of a
computer for the benefit of the programs that run
on that machine
27
COMPLIER
A Program that translates high-level language
statements into assembly language statements
28
HIGH-LEVEL LANGUAGE TO
THE LANGUAGE OF
HARDWARE
Assembler – A program that translates a symbolic
version of instructions into the binary version
Assembly language A symbolic representation of
machine instruction
29
HIGH-LEVEL LANGUAGE TO
THE LANGUAGE OF
HARDWARE
A portable language such as C, Fortran, or Java
composed of words and algebraic notation that can
be translated by a complier into assembly language
30
UNDER THE COVERS
Five Classic components of computer
- Input
- Output
- Memory
- Datapath
- Control Processor
31
INPUT
A mechanism through which the computer is fed
information, such as the keyboard, mouse,
scanners, etc…
32
OUTPUT DEVICE
A Mechanism that conveys the result of a
computation to a user or another computer
33
OPENING THE BOX
Motherboard – A plastic board containing packages
of ICs, including processor, cache memeory, and
connectors for I/O devices such as networks and
disks
IC- Also called Chip A device combining dozens to
millions of transistors
34
OPENING THE BOX
Memory – The storage area in which programs
are kept when they are running and that
contains the data needed by the running
programs
Central Processor Unit (CPU)
Also called processor. The active part of the
computer, which contains the datapath and
control and which adds numbers, tests
numbers, signals I/O devices to activate, and
so on..
35
Datapath – The component of the processor that
performs arithmetic operations
Control – The component of the processor that
commands the datapath, memory, and I/O devices
according to the instructions of the program
36
DRAM – Memory built as an integrated circuit, it provides
random access to any location
Cache Memory – A small, fast memory that acts as a
buffer for a slower, larger memory
37
LAST WEEK QUESTION
What is liquid Crystal in LCD display.
Liquid crystal – substance that has properties
between those of a conventional liquid and a solid
38
Liquid crystal flow like a liquid, but have the
molecules in the liquid arranged and
oriented in a crystal-like way.
LCD Display is a thin, flat display device
made up of any number of color or
monochrome pixels arrayed in front of a light
source or reflector. Each pixel consists of a
layer of liquid crystal molecules suspended
between two transparent electrodes and two
polarizing filters, the axes of polarity of
which are perpendicular to each .
39
A SAFE PLACE FOR DATA
Memory – The storage area in which programs are
kept when they are running and that contains the
data needed by the running programs
Volatile Memory – Storage, such as DRAM, that only
retains only if it is receiving power
40
Nonvolatile memory – A form of memory that retains
data even in the absence of a power source and that is
used to store programs between runs. Magnetic disk is
nonvolatile and DRAM is not.
41
Primary Memory : Also called main memory. Volatile
memory used to hold programs while they are running;
typically consists of DRAM in today’s computers
Secondary Memory : Nonvolatile memory used to store
programs and data between runs; typically consists of
magnetic disks in today's computers
42
Magnetic disk ( Also called Hard disk )
A form of nonvolatile secondary memory composed
of rotating platters coated with a magnetic
recording material
43
COMMUNICATING WITH
OTHER COMPUTERS
Network
LAN
WAN
Advantages
-Communication
- Resource Sharing
- Nonlocal access
44
TECHNOLOGIES FOR
BUILDING PROCESSORS AND
MEMORIES
Silicon – A natural element which is a semiconductor
Semiconductor – A substance that does not conduct
electricity well
45
REAL STUFF: MANUFACTURING
PENTIUM 4 CHIPS
Silicon ingot
Slicer
Blank wafers
Patterned wafers
Wafer tester
Dicer
Tested dies
46
47
MOORE’S LAW IN MICROPROCESSORS
1000
100 2X growth in 1.96 years!
Transistors (MT)
10
P6
Pentium® proc
1 486
386
0.1 286
8085 8086
0.01 8080
8008
4004
0.001
1970 1980 1990 2000 2010
Year
Transistors on Lead Microprocessors double every 2 years
Courtesy, Intel 48
METRICS TO EVALUATE A
COMPUTER
Metrics
Speed – delay, frequency
Power Dissipation
Energy to perform a function
Cost
Scalability
Reliability
49
BASIC OPERATIONAL
CONCEPTS
To perform a given task, an appropriate program
consisting of a list of instruction is stored in the
memory. Individual instructions are brought from
the memory into the processor, which executes the
specified operation.
50
Add LOCA, R0
Load LOCA, R1
Add R1, R0
51
Memory
MAR MDR
Control
PC R
0
R
1
IR Processor
ALU
R
n- 1
n general purpose
registers
Connections between the processor and the memory
52
TERMS USED
IR - instruction currently being executed
PC - memory address of next instruction to be
fetched and executed
MAR - address of location to be accessed
MDR - data to be written into or read out of the
addressed location
Interrupts and ISRs
53
FUNCTIONS…
Instruction Register : contains the instruction that
is being executed. Its output is available to the
control circuits, that generates the timing signals for
control of the actual processing circuits needed to
execute the instruction.
54
Program Counter : is a register, that contains the
memory address of the instruction currently being
executed. During the execution of the current
instruction, the contents of program counter is
updated to correspond to the address of the next
instruction.
55
Memory Address Register (MAR) : holds the
address of the memory location to or from which data
is to be transferred.
Memory Data Register (MDR): contains the data to
be written into or read-out of the addressed memory
location.
56
General- purpose Registers : are used for
holding data, intermediate results of operations.
They are also known as scratch-pad registers.
57
STEPS INVOLVING
INSTRUCTION FETCH AND
EXECUTION
INSTRUCTION FETCH
Execution of a program starts by setting the PC to
point to the first instruction of the program.
The contents of PC are transferred to the MAR and a
Read control signal is sent to the memory
58
The addressed word (here it is the first instruction of
the program) is read out of memory and loaded into the
MDR
The contents of MDR are transferred to the IR for
instruction decoding
59
INSTRUCTION EXECUTION
The operation field of the instruction in IR is examined to
determine the type of operation to be performed by the
ALU
The specified operation is performed by obtaining the
operand(s) from the memory locations or from GP
registers.
60
Fetching the operands from the memory
requires sending the memory location
address to the MAR and initiating a Read
cycle.
The operand is read from the memory into
the MDR and then from MDR to the ALU.
The ALU performs the desired operation on
one or more operands fetched in this
manner and sends the result either to
memory location or to a GP register.
61
The result is sent to MDR and the address
of the location where the result is to be
stored is sent to MAR and Write cycle is
initiated.
Thus, the execute cycle ends for the
current instruction and the PC is
incremented to point to the next instruction
for a new fetch cycle.
62
BUS STRUCTURES
BUS – Group of lines (wires) that serves as a
connecting path for several devices
Single-bus structure
63
Data Bus : It is used for transmission of data. The
number of data lines correspond to the
number of bits in a word.
Address Bus: it carries the address of the main memory
location from where the data can be accessed.
Control Bus: it is used to indicate the direction of data
transfer and to coordinate the timing of events during the
transfer
64
BUS STRUCTURES
Single-bus structure
Two-bus structure
65
Input Output Memory Processor
Single-bus structure
• Only two units can actively use the bus at any given time
• Devices connected to bus vary in speed
66
ADVANTAGES OF SINGLE-BUS
STRUCTURE
Low Cost
Flexibility for attaching peripheral devices
Draw Back
low operating speed
Found in small computers such as minicomputers
and microcomputers.
67
TWO-BUS STRUCTURE
I/O bus
Input
Memory
Processor
Output
68
The bus is said to perform two distinct functions by
connecting the I/O units with memory and processor
unit with memory. The processor interacts with the
memory through a memory bus and handles
input/output functions over I/O bus.
The main advantage of this structure is good operating
speed but on account of more cost.
69
PERFORMANCE
Performance - measure of how quickly the
computer can execute programs
Speed – Design of Hardware and its machine
Language
Best Performance – Design of compiler, Machine
instruction set, and the hardware in a coordinated
way
70
Execution depends on all units in a computer system
Processor Time depends on the hardware involved in the execution of
individual machine Instruction
Main Cache
memory memory Processor
Bus
71
PROCESSOR CLOCK
Processor circuits are controlled by timing signal
called clock
Clock cycle – regular time interval
If P – length of one clock cycle is an important
parameters that effects processor performance
Hertz (Hz) – cycles per second
72
500 millions cycles per second – 500 MHz
1250 millions cycles per second – 1.25 GHz
73
BASIC PERFORMANCE
EQUATION
NxS
T =
R
T – processor time(program execution time)
N – number of instruction executions
S – avg. no. of basic steps to execute 1 machine
instruction
R – clock rate
74
INSTRUCTION SET
RISC ( Reduced Instruction Set Computers)
CISC ( Complex Instruction Set Computers)
75
76
MULTIPROCESSORS AND
MULTICOMPUTERS
Shared-memory multiprocessor systems
Message-passing multicomputers
77