Instructions
Download
Report
Transcript Instructions
LECTURE 1
oVon-Neumann Architecture
oRegisters
oVon Neumann Architecture
oVon Neumann SAP
oInstruction Set
oInstruction execution
oVon Neumann Architecture’s limitation
oHarvard Architecture
Muhammad Amir Yousaf
1
The Basic Register
oA register is a storage device that is capable of
holding the collection of one or more bits.
D0
Clk
R,/W
En
Dn-1
0
1
.
.
D0
N bit Register
n-1
Dn-1
Muhammad Amir Yousaf
2
Data Transfer between registers
1 01 1
Control Signal
R1,
/W1
Clk
0
En1
1
.
n1
.
D0
Dn-1
D0
Clk
R2,/W2
0
Dn-1
1
.
n1
.
En2
Muhammad Amir Yousaf
3
VON NEUMANN ARCHITECTURE
Execution unit
MAR
Memory
ALU
Register A
Register B
Both data and instructions
at the same system bus
C
P
U
PC
IR
Output Register
Controller
Control unit
Binary Display
System bus
Muhammad Amir Yousaf
4
VON NEUMANN SAP
Lm
Clk
Ea
Register A
MAR
S
E
ALU
RAM
16 x 8
La
Register B
CE
CPU
Lb
Clk
clr
Ep
Cp
PC
PC
Lo
Output Register
clr
Li
Ei
IR
Clk
Controller
Binary Display
clr
Simple As Possible Computer
Muhammad Amir Yousaf
EpCpEiLiEaLa S E LbLmCE Lo
5
Components in a microprocessor system
INSTRUCTION SET
The instruction set specifies the basic operations
supported by the machine.
It provides an interface to the underlying hardware.
It expresses the machine’s ability to transfer data, store
data, operate on data and make decisions.
o Arithmetic and Logic Instruction.
o Looping and decision making.
o Transfer of data.
o Transfer of control.
Muhammad Amir Yousaf
6
Components in a microprocessor system
INSTRUCTION SET
The entities that instructions operate on are denoted
operands.
The number of operands that an instruction operate on
is called arity of operation.
ADD 9H
ADD R1,R2
z = x+y;
x = x+y;
x++;
Muhammad Amir Yousaf
7
More on
INSTRUCTIONS
Operand 0
(Source and/or Destination)
Operation
15
x
x
0
Operand 2
Src / Dest
Operation
15
Operand 0
Source
Operand 1
Src / Destination
Operation
15
0
Operand 1
Src
x
Operand 0
Src
0
oThe size of operation field is determined by the number of
instructions a machine supports.
oEach instruction is given a unique code called op-code
Muhammad Amir Yousaf
8
Components in a microprocessor system
INSTRUCTION SET FOR SAP
Instruction Operation
000
001
010
011
111
Load RAM data into Register A
Add RAM data to RegisterA
Subtract RAM data from RegisterA
Load RegisterA into Output register
Stop Processing
Muhammad Amir Yousaf
9
Components in a microprocessor system
INSTRUCTION SET
These numbers, called op-codes can be stored in program
memory and can be fetched by the computer during execution.
Mnemonic names are given to op-code’s binary pattern to make
them easier to work with.
Mnemonics Op-codes
LDA
ADD
SUB
OUT
HLT
0000
0001
0010
0011
1111
Operation
Load RAM data into Register A
Add RAM data to RegisterA
Subtract RAM data from RegisterA
Load RegisterA into Output register
Stop Processing
Assembler translate these mnemonics to op-codes
Muhammad Amir Yousaf
10
Components in a microprocessor system
INSTRUCTION SET
LDA instruction includes the hex address of the data to be
loaded.
LDA 8H
ADD instruction includes the address of the word to be added
into RegisterA.
ADD 9H means ‘add the contents of memory location 9H to the
RegisterA’; the sum replaces the original contents of RegisterA
SUB instruction includes the address of the word to be
subtracted.
RegisterB holds the word to be operated, adder/sub compute
instantly and the result is written on RegisterA.
Muhammad Amir Yousaf
11
Components in a microprocessor system
PROGRAMMING SAP
Address
0H0H
1H
Address
Data
6H
FFH
7H
FFH
8H
FFH
9H
01H
AH
04H
BH
02H
CH
03H
DH
FFH
EH
FFH
FH
FFH
Mnemonics
:
LDA
9H
0000
1001
ADD AH
2H
ADD BH
3H
SUB CH
4H
OUT
5H
HLT
How instructions are stored in
the memory?
Assembly language: language of mnemonics
Machine language : language of 1,0 strings
Muhammad Amir Yousaf
12
ADDRESSES
Lm
Clk
Ea
Register A
MAR
La
o Each location in memory has an
S
associated address.
ALU
E
RAM
16 x 8
o Information is accessed in memoryLbby
Register B
giving that.
CE
CPU
Clk
o If a memory has 16 locations, it will
have 16 addresses. PC
PC
Lo
Output Register
o Address word size to access all the
IR
locations?
MSB
N-1
0
Controller
Binary Display
clr
Ep
Cp
clr
Li
Ei
Clk
Big Endian
clr
0
Muhammad Amir Yousaf
MSB
Little Endian
EpCpEiLiEaLa S E N-1
LbLmCE Lo
13
INSTRUCTION EXECUTION CYCLE
Ea
Register A
Lm
Clk
La
MAR
ALU
RAM
16x8
S
E
Register B
CE
CPU
PC
Lo
Lb
Clk
clr
PC
Cp
Output Register
clr
Li
Ei
IR
Clk
Controller
Binary Display
clr
PC MAR
EpCpEiLiEaLa S E LbLmCE Lo
Fetch instr.
Muhammad Amir Yousaf
14
Instruction Execution Cycle
Ea
Register A
Lm
Clk
La
MAR
ALU
RAM
16x8
S
E
Register B
CE
CPU
PC
Lo
Lb
Clk
clr
PC
Cp
Output Register
clr
Li
Ei
IR
Clk
Controller
Binary Display
clr
PC Inc
EpCpEiLiEaLa S E LbLmCE Lo
Fetch instr.
Muhammad Amir Yousaf
15
Instruction Execution Cycle
Ea
Register A
Lm
La
Clk
MAR
0H:0000 1001
ALU
Register B
RAM
16x8
CE
S
E
CPU
PC
Lo
Lb
Clk
clr
PC
Cp
Output Register
clr
Li
Ei
0000 1001
IR
Clk
Controller
Binary Display
clr
Mem IR
EpCpEiLiEaLa S E LbLmCE Lo
Fetch instr.
Muhammad Amir Yousaf
16
Instruction Execution Cycle
Lm
Ea
Register A
1001
La
Clk
MAR
0H:010 1001
ALU
1001
Register B
RAM
16x8
CE
S
E
CPU
PC
Lo
Lb
Clk
clr
PC
Cp
Output Register
1001
clr
Li
Ei
0000 1001
1001
IR
Clk
1001
Controller
Binary Display
Fetch instr.
clr
Decode instr.
Muhammad Amir Yousaf
EpCpEiLiEaLa S E LbLmCE Lo
17
Instruction Execution Cycle
Register A
Ea
Lm
00000001
1
La
MAR
ALU
S
E
0
0H:010 1001
0
Clk
00000001
CPU
0
CE
PC
Clk
clr
PC
Cp
0
Lo
Register B
0
RAM
16x8
Lb
00000001
00000001
0
0
Output Register
clr
Li
Ei
0000 1001
IR
Clk
Controller
Binary Display
Fetch instr.
clr
Decode instr.
Fetch operand
Muhammad Amir Yousaf
EpCpEiLiEaLa S E LbLmCE Lo
18
Instruction Execution Cycle
Register A
Ea
Lm
00000001
1
La
MAR
ALU
S
E
Lb
0
0H:010 1001
0
Clk
00000001
CPU
0
CE
PC
Clk
clr
PC
Cp
0
Lo
Register B
0
RAM
16x8
00000001
00000001
0
0
Output Register
clr
Li
Ei
0000 1001
IR
Clk
Controller
Binary Display
Fetch instr.
clr
Decode instr.
Fetch operand
Muhammad Amir Yousaf
EpCpEiLiEaLa S E LbLmCE Lo
Execute
Write result
19
DATA TRANSFER INSTRUCTIONS
Responsible for moving data around inside the processor .
Bringing data in from outside and sending data out.
Each data transfer instruction has three pieces of information:
o The data
oThe source
oThe destination.
The source and destination can be:
o A register
o Memory
o IO port
The path to actual selection of operands is controlled by ‘addressing
mode’ specified by operand.
Muhammad Amir Yousaf
20
DATA TRANSFER INSTRUCTIONS
A portion of each operand field is designated as specification to the
hardware as how to interprete the information in the remaining bits of
operand fields.
A microprocessor design implements four to eight addressing
modes.
Common addressing modes are:
o Immediate
oDirect and Indirect
oRegister Direct and Register Indirect
oIndexed
oProgram counter Relative.
Muhammad Amir Yousaf
21
DATA TRANSFER INSTRUCTIONS
Common addressing modes are:
oDirect and Indirect
o Immediate
oRegister Direct and
Register Indirect
Muhammad Amir Yousaf
22
DATA TRANSFER INSTRUCTIONS
Common addressing modes are:
oIndexed
oProgram
Relative
counter
Muhammad Amir Yousaf
23
VON NEUMANN LIMITATION
The shared bus between the program memory and data memory
leads to the Von Neumann bottleneck.
Because program memory and data memory cannot be accessed
at the same time, throughput is much smaller than the rate at which
the CPU can work.
The CPU is continuously forced to wait for needed data to be
transferred to or from memory.
For example if we try to read an operand at the same time as we
try to read an instruction. This is not possible in the von Neumann
architecture since we only have one system bus and cannot
address two memory positions simultaneously.
Muhammad Amir Yousaf
24
Other Architectures
HARVARD ARCHITECTURE
In the Harvard architecture this is
solved by having two separate system
buses:
oOne for instructions
oOne for data
oData and instructions can be
loaded simultaneously, which
improves the efficiency.
Program
Memory
Program system Bus
CPU
Computer
Memory
Data system Bus
Means more I/O signals.
oMore expensive processor.
oUses more power.
Is used internally in modern 32-bit
microprocessors and RISC processors.
Muhammad Amir Yousaf
25
IOs
MICROPROCESSOR SYSTEM DESIGN
General Purpose Computer e.g
PC
A general-purpose computer, such
as a personal computer (PC), is
designed to be flexible and to meet
a wide range of end-user needs.
Embedded Systems
An embedded system is designed
and optimized to perform a specific
task very efficiently.
They are different in:
o Resources
o Real time.
o Robustness
o Outer world interaction (IOs)
o Program structure
Muhammad Amir Yousaf
26
MICROPROCESSOR SYSTEM DESIGN
Embedded Systems
Microprocessor based systems:
An embedded system is designed
and optimized to perform a specific
task very efficiently.
A microprocessor is an integrated
implementation of central processing
unit portion (CPU).
Use separate integrated circuits for
memory and peripherals.
Muhammad Amir Yousaf
27
MICROPROCESSOR SYSTEM DESIGN
Embedded Systems
Microcontroller based systems:
An embedded system is designed
and optimized to perform a specific
task very efficiently.
A microcontroller brings together a
microprocessor core and a rich
collection of peripherals and IO
capability into single integrated
circuit.
Reduces cost and size.
Timers, ADC, DAC, DIO, serial and
parallel communication channels,
DMA
Muhammad Amir Yousaf
28
INSTRUCTION ADDRESSING
MODES
Instruction Architecture
Opcode
0
Operand1
Operand2
3 4
Instruction: Add with register
Opcode : 0011 or 3
Operand : address of memory location,
register or constant
Muhammad Amir Yousaf
15
RISC vs CISC
Addressing modes
29
Components in a microprocessor system
PROCESSOR TYPES:
CISC (Complex Instruction Set Computer)
oThe primary goal of CISC architecture is to
complete a task in as few lines of assembly as
possible.
oThis is achieved by building processor
hardware that is capable of understanding and
executing a series of operations.
o"MULT“. When executed, this instruction loads
the two values into separate registers, multiplies
the operands in the execution unit, and then
stores the product in the appropriate register.
Thus, the entire task of multiplying two numbers
can be completed with one instruction:
oMULT 2:3, 5:2
Muhammad Amir Yousaf
30
Components in a microprocessor system
REDUCED INSTRUCTION
SET COMPUTING
RISC (Reduced Instruction Set Computer)
oRISC processors only use simple instructions that can be executed
within one clock cycle.
o Thus, the "MULT" command described above could be divided into
three separate commands:
oLOAD, which moves data from the memory bank to a register,
oPROD, which finds the product of two operands located within the
registers.
oSTORE, which moves data from a register to the memory banks.
oA programmer would need to code four lines of assembly:
LOAD A, 2:3
LOAD B, 5:2
PROD A, B
STORE 2:3, A
Muhammad Amir Yousaf
31
Components in a microprocessor system
MEMORY:
To store data or instructions
the computer system uses a socalled primary memory
The executable program code
and data is stored in main
memory.
The primary memory is divided
in two main parts
The memory can be seen as a
number of post boxes
o RAM
o ROM
Muhammad Amir Yousaf
32
Von Neumann Architecture
MICROCONTROLLERS
What does a computer system
comprise:
oProcessor (CPU, Central Processing
Unit)
oMemory
oPeripheral units, I/O
oSystem bus, to communicate with
peripheral units
If we have a chip that comprise all this it
is often called a ‘Micro Controller’
Muhammad Amir Yousaf
Primary Memory
RAM
CPU
ROM
I/O unit
The outer world/ The user
33
Components in a microprocessor system
PROCESSOR SYSTEM BUS
Data bus
oCommunication channel to move data to and from CPU and
peripheral units.
Address bus
oUsed to point out which memory position or IO port that is to
be read or written.
Control signals
o Used to signal when a data
transaction starts and stops.
o For example signals if a
transaction is a read or write
operation.
Muhammad Amir Yousaf
34
REFERENCES
Lecture slides: Benny Thörnberg, Mattias O’ Nils
Video Lecture: Prof. Anshul Kumar
http://www.computersciencelab.com/ComputerHistory/History.htm
Webopedia
http://www.world-war-2-planes.com/american-world-war-2-planes.html (slide 12)
http://www.anvari.org/cols/Typewritter_ASCII_Art/Steam_Engine_Number_3.html
(slide 10)
http://www.old-computers.com/history/detail.asp?n=61 (slide 15)
http://www.freewebs.com/computingstudies/S1_UT_Systems/S1UTSystems_07.ht
m
http://www.computer-museum.org/index.html
http://www.ucdsb.on.ca/school/sla/aboutus/Pages/ExamSchedule.aspx
http://www.youtube.com/watch?v=AqbyMRs3ocs
Camera Pills Use MEMS Micro Reed Sensors to Activate the Battery
http://en.wikipedia.org/wiki
http://www-cs-faculty.stanford.edu/~eroberts/courses/soco/projects/risc/risccisc/
Muhammad Amir Yousaf
35