Introduction To Computer Part2 PDF
Introduction To Computer Part2 PDF
1
Answer ...
2
How does an Electronic Computer
Differ from our Brain ?
3
How to Instruct a Computer ?
compile execute
Program Executable Output
* They understand :
* Add a + b to get c
* Multiply a * b to get c
5
The Language of Instructions
* Humans can understand
* Complicated sentences
* English, French, Spanish
6
Features of an ISA
* Complete
* It should be able to implement all the programs
that users may write
7
Features of an ISA
* Concise
* The instruction set should have a limited size.
Typically an ISA contains 32-1000 instructions.
* Generic
* Instructions should not be too specialized, e.g.
add14 (adds a number with 14) instruction is too
specialized
* Simple
* Should not be very complicated.
8
Designing an ISA
* Important questions that need to be answered :
* How many instructions should we have ?
* What should they do ?
* How complicated should they be ?
RISC CISC
(Reduced Instruction Set (Complex Instruction
Computer) Set Computer)
9
RISC vs CISC
A reduced instruction set computer (RISC) implements
simple instructions that have a simple and regular
structure. The number of instructions is typically a small
number (64 to 128). Examples: ARM, IBM PowerPC,
HP PA-RISC
10
Takeaway Points..
* Computers are dumb yet ultra-fast machines.
* Instructions are basic rudimentary commands used to
communicate with the processor. A computer can execute
billions of instructions per second.
* The compiler transforms a user program written in a high level
language such as C to a program consisting of basic machine
instructions.
* The instruction set architecture(ISA) refers to the semantics of
all the instructions supported by a processor.
* The instruction set needs to be complete. It is desirable if it is
also concise, generic, and simple.
11
Completeness of an ISA
* Complete means :
* Can implement all types of programs
* For example, if we just have add instructions, we
cannot subtract (NOT Complete)
12
Completeness of an ISA – II
13
Answer
* Let us look at results in theoretical computer science
* Is there an universal ISA ?
The universal machine has a set of basic actions, and each such
action can be interpreted as an instruction.
14
The Turing Machine – Alan Turing
* Facts about Alan Turing
15
Turing Machine
Infinite Tape
L R
16
Operation of a Turing Machine
* There is an inifinite tape that extends to the left and right. It
consists of an infinite number of cells.
* The tape head points to a cell, and can either move 1 cell to the left
or right
* Based on the symbol in the cell, and its current state, the Turing
machine computes the transition :
* Computes the next state
* Overwrites the symbol in the cell (or keeps it the same)
* Moves to the left or right by 1 cell
* The action table records the rules for the transitions.
17
Example of a Turing
Machine
Design a Turing machine to increment a number by 1.
$ 7 3 4 6 9 $
Tape Head
* Start from the rightmost position. (state = 1)
* If (state = 1), replace a number x, by x+1 mod 10
* The new state is equal to the value of the carry
* Keep going left till the '$' sign
18
More about the Turing Machine
19
Church-Turing Thesis
Definition:
Any computing system that is equivalent to a Turing machine is said to be
Turing complete.
20
Universal Turing Machine
* For every problem in the world, we can design a Turing Machine
(Church-Turing thesis)
* Can we design a universal Turing machine that can simulate any
Turing machine. This will make it a universal machine (UTM)
* Why not? The logic of a Turing machine is really simple. We
need to move the tape head left, or right, and update the
symbol and state based on the action table. A UTM can easily do
this.
* A UTM needs to have an action table, state register, and tape
that can simulate any arbitrary Turing machine.
21
Universal Turing Machine
22
A Universal Turing Machine
L R
Generic State Register Tape Head
23
A Universal Turing Machine
Program
Counter
Simulated State(PC)
Register
Instruction
Simulated Action Table Work Area
Memory Data Memory
L R
Generic State Register Tape Head
Program
PC CPU
Generic Action Table
Computer Inspired from the Turing
Machine
Program
CPU
Program Control Arithmetic
Counter (PC) Unit Unit
Instruction
Program Data
Memory
25
Elements of a Computer
* Memory (array of bytes) contains
* The program, which is a sequence of instructions
* The program data → variables, and constants
* The program counter(PC) points to an instruction in a program
* After executing an instruction, it points to the next instruction
by default
* A branch instruction makes the PC point to another instruction
(not in sequence)
* CPU (Central Processing Unit) contains the
* Program counter, instruction execution units
26
Let us now design an
ISA ...
* Single Instruction ISA
* sbn – subtract and branch if negative
* Add (a + b) (assume temp = 0)
1: sbn temp, b, 2
2: sbn a, temp, exit
27
Single Instruction ISA - II
* Add the numbers – 1 … 10
Initialization:
one = 1
index = 10
sum = 0
exit
28
Multiple Instruction ISA
* Arithmetic Instructions
* add, subtract, multiply, divide
* Logical Instructions
* or, and, not
* Move instructions
* Transfer values between memory locations
* Branch instructions
* Move to a new program location, based on the values of some
memory locations
29
Designing Practical Machines
CPU
ALU
Instruction
Data
memory Control memory
I/O devices
Harvard Architecture
30
Von-Neumann Architecture
CPU
ALU
31
Problems with Harvard/ Von-Neumann
Architectures
* Solution:
* Have a small array of named locations (registers) that can
be used by instructions
* This small array is very fast
32
Uses of Registers
33
Example of a Program in Machine
Language with Registers
1: r1 = mem[b] // load b
2: r2 = mem[c] // load c
3: r3 = r1 + r2 // add b and c
4: mem[a] = r3 // save the result
34
Machine with Registers
CPU
Registers
ALU
35
Where are we ...
* We have derived the structure of a computer from
theoretical fundamentals.
* It has a CPU with a program counter & registers,
memory, and peripherals.
* The Instruction Set Architecture (ISA) is the link
between hardware and software.
Instruction
Set
Architecture
36
Instruction Set
Architecture
* Interface between software and hardware
* A compiler converts a program into machine instructions in the
given ISA
* The processor executes the instructions in the ISA
37
THE END
38