You are on page 1of 28

Evolution of Computers

First Generation Computers 1945-1955

Cathod Ray
Tubes
(CRT)
Analogue
world
Second Generation Computers 1955-65

Transistors

Electronics!
Second Generation Computers
Third Generation Computers 1965-75

Integrated Circuits
Fourth Generation Computers 1975-
onwards

Very Large Scale


Integrated (VLSI)
Circuits
Functional Units of a Computer
Functional:
Representing
“functionality”

Not “how” but


“what”
Input unit:

Keyboard
Mouse
Network
Touch-screen
Microphone
Web-cam

Output Unit:
Printer, screen, etc.
Memory unit
RAM: Random
Access Memory

Cache (on
processor)

Secondary
Storage(?): Disk,
CD, tape, etc. -- I/O
or memory?
Arithmetic and
Logic unit:

Inside processor chip

Combinational,
Sequential Logic
circuits

Can do
“computation”

Contains “registers”
Control unit:

“coordinates” work of
other units

Not present in one-


place, but physically
distributed on
processor, other
devices, buses, etc;
Many circuits

Timing signals, data


transfers,
Types of Computers
These are also computers!

Personal
Computers
Laptop/Desktop
These are also computers!

Micro-controller
These are also computers!

Micro-controller
These are also computers!

Server
These are also computers!

Super computers
Basic Operation
Harvard
Architecture

Data and instructions can be fetched


parallely into ALU

Data and instruction “addresses” are


different
Von
Neumann
Architecture

Note: “instructions” and “data”


need to be accessed over
same “bus”

Same treatement for both


This diagram
in the book
assumes
Von-
Neumann
Architecture
PC: Program
Counter
Memory address of
the next instruction
to be fetched

IR: Instruction
Register
Instruction currently
being executed

R0...Rn-1
General purpose
registers for storing
data
CPU’s job
1) Fetch an instruction (stored in RAM) at address given by Program
Counter (PC)
2)Decode and Run that instruction
● May fetch data from RAM for this
● May take different time for different instructions
● Normally ALU gets used in this step
3) (Increment or change PC and) goto (1)
● Increment of PC is the default (happens “sometimes” during this cycle)
● Unless instructions like “branch” or “call” change the PC to some other value
Don’t forget!
●Instruction’s must be in RAM for them to be executed
● CPU can’t execute instructions on disk, network, etc.
● Your programs, operating system kernel code, other system programs
(compiler, etc), Graphical environment, libreoffice code, device drivers
(program to access I/O devices), etc. MUST BE in RAM to be executed
● Data is fetched from RAM as part of execution of an instruction (Step-2)
●How do the instructions actually go in RAM?
● We will learn this in Operating Systems course.
● As of now, assume that instructions are there in RAM!
Example
● Need to add two numbers, stored at Loc1 and Loc2
in RAM, and write them back to a third location
Loc3 in RAM
LOAD R1, Loc1
Load R1, Loc2
Add R1, R2
Store R1 Loc3
CPU’s “routine” may be
interrupted
● A device may raise an “interrupt”
● Now PC changes to a “pre-defined” location
– Some meaningful code should be there at this
“pre-defined” location
– Taken care by the OS-kernel
– “Interrupt Service Routine” code

You might also like