6a Microprocessor 1.ppt
-
Upload
nasri-jamaludin -
Category
Documents
-
view
220 -
download
0
Transcript of 6a Microprocessor 1.ppt
-
8/16/2019 6a Microprocessor 1.ppt
1/94
Microprocessors (1)
-
8/16/2019 6a Microprocessor 1.ppt
2/94
Microprocessor
A microprocessor is an electronic device thatconsists of millions (or billions) of transistors
packed into one IC. The microprocessor contains three basiccomponents: Data Reisters (Dn).
Address Reisters (An) Arithmetic!"oic #nit (A"#).
-
8/16/2019 6a Microprocessor 1.ppt
3/94
Inside the Microprocessor
Data Reister: #sed to store data forcalc$lations.
Address Reister: #sed to store memor%addresses that the microprocessor refers to. Arithmetic!"oic #nit (A"#): Is the processin
$nit that takes data and processes it. It canperform a variet% of operations: Data movement (M&'). Arithmetic (ADD *#+ M#" DI'). "oic (A,D &R ,&T &R)
-
8/16/2019 6a Microprocessor 1.ppt
4/94
Microprocessor
The microprocessor can be $sed toperform comple- operations b% ivin it
instr$ctions. These instr$ctions are called prorams.
rorams are loaded into memor% and
are e-ec$ted line!b% line b% themicroprocessor.
-
8/16/2019 6a Microprocessor 1.ppt
5/94
-ample roram
-
8/16/2019 6a Microprocessor 1.ppt
6/94
Microprocessor
*%stems
-
8/16/2019 6a Microprocessor 1.ppt
7/94
Memor% Address
ach memor% location is al/a%s iven a$ni0$e address.
The address is $s$all% represented $sina he-adecimal n$mber.
The microprocessor refers to this address
/hen it /ants to take datainstr$ction frommemor%.
-
8/16/2019 6a Microprocessor 1.ppt
8/94
Memor% Address
2333333 234
2333331 2A+
2333335 211
2333334
2333336
277777
2777777
Address Data
1 memor% location can store
1 b%te (8 bits) of data.
-
8/16/2019 6a Microprocessor 1.ppt
9/94
9hat the C# Does
arallel I& *erial I&Interr$pt
Circ$it
Timin C# Memor%
*%stem +$s
Take instr$ction from memor%
-
8/16/2019 6a Microprocessor 1.ppt
10/94
9hat the C# Does
arallel I& *erial I&Interr$pt
Circ$it
Timin C# Memor%
*%stem +$s
Take re0$ired data from memor%
-
8/16/2019 6a Microprocessor 1.ppt
11/94
9hat the C# Does
arallel I& *erial I&Interr$pt
Circ$it
Timin C# Memor%
*%stem +$s
-ec$te Instr$ction
-
8/16/2019 6a Microprocessor 1.ppt
12/94
9hat the C# Does
arallel I& *erial I&Interr$pt
Circ$it
Timin C# Memor%
*%stem +$s
*ave data back into memor%
-
8/16/2019 6a Microprocessor 1.ppt
13/94
The M8333
9e /ill be $sin a specific microprocessorcalled the M8k.
It is a 1!bit microprocessor man$fact$redb% Motorola in 1;.
*till bein $sed toda%.
-
8/16/2019 6a Microprocessor 1.ppt
14/94
The M8k Microprocessor
-
8/16/2019 6a Microprocessor 1.ppt
15/94
M8k rorammer Model
D0
D1
D2
D3
D4D5
D6
0
LSB
8,716,1531
MSB
DATA REGISTERS
A0
A1A2
A3
A4
A5
A6
0 LSB16,1531MSB
ADDRESS REGISTERS
0LSB
16,1531MSB
A7 (USP)
USER STACK POINTER
031
PC
PROGRAM COUNTER
CCR
07
CONDITION CODE REGISTER
016,1531
A7’ (SSP)
SUPERISOR STACK POINTER
STATUS REGISTER
SR
015 8,7
CCR
D7
-
8/16/2019 6a Microprocessor 1.ppt
16/94
=o/ Data Reisters 9ork ! -ample
D3
D1
D5
D4
D6
D?
D
D<
215463333
23333?
-
8/16/2019 6a Microprocessor 1.ppt
17/94
=o/ Data Reisters 9ork ! -ample
MEMOR!DATA REGISTERS (IN M68K)
*tep 1: M8k loads datafrom memor% locations intodata reisters.
215463333
23333?
-
8/16/2019 6a Microprocessor 1.ppt
18/94
=o/ Data Reisters 9ork ! -ample
D5
D4
D6
D?
D
D<
MEMOR!DATA REGISTERS (IN M68K)
Contents
*tep 5: M8k adds toetherthe n$mbers and stores themin reister. Res$lt stored in D3.
21546?
-
8/16/2019 6a Microprocessor 1.ppt
19/94
Addressin Modes
-
8/16/2019 6a Microprocessor 1.ppt
20/94
Introd$ction
All C# instr$ctions have similar re0$irements: Action ! 9hat action sho$ld it perform
*o$rce ! 9here is the data that it is s$pposed toprocess
Taret ! 9here sho$ld it p$t the res$lts
Action is done $sin instr$ctions.
Addressin modes identif% so$rce and taret.
-
8/16/2019 6a Microprocessor 1.ppt
21/94
Addressin Modes
Methods to access data inside: C# reisters.
Memor%. M8k allo/s 16 addressin modes:
Direct reference.
Indirect reference.
Addressin modes allo/ fle-ible E effectiveprorams desin.
-
8/16/2019 6a Microprocessor 1.ppt
22/94
AM
Data Reister Direct
Address Reister Direct
Implied Addressin
F$ick Immediate Data
Immediate Data
C /ith Inde-
C /ith Displacement
Absol$te "on Address
Absol$te *hort Address
ARI B Displacement
ARI B Inde-
ARI B ostIncrement
ARI B redecrement
Address Reister Indirect
Mem. Addressin Mode
Reister Addressin Mode
-
8/16/2019 6a Microprocessor 1.ppt
23/94
Reister Addressin
Modes
-
8/16/2019 6a Microprocessor 1.ppt
24/94
Reister Addressin Modes
Modes to access reisters in M8k:Data Reister.
Address Reister.
Consists of 5 methods:Data Reister Direct (DRD).
Address Reister Direct (ARD).
-
8/16/2019 6a Microprocessor 1.ppt
25/94
DRD (Data Reister Direct)
#sed to access data reisters.
Represented to as Dn:D represents data reister.
n is reister n$mber.
7rom D3 to D
-
8/16/2019 6a Microprocessor 1.ppt
26/94
DRD -ample
M&'.+ D3D1
ADD.9 D6(A3)
M#"# D?D<
-
8/16/2019 6a Microprocessor 1.ppt
27/94
ARD (Address Reister Direct)
#sed to access address reisters.
Referred to as An: A represents address reister.
n is reister n$mber.
7rom A3 to A
-
8/16/2019 6a Microprocessor 1.ppt
28/94
ARD -ample
M&'A." A3 A6
ADDA.9 A4 A
M&'A.9 G21546 A5
-
8/16/2019 6a Microprocessor 1.ppt
29/94
Memor% Addressin
Modes
-
8/16/2019 6a Microprocessor 1.ppt
30/94
Memor% Addressin Modes
Modes to access memor% locations.
1516:Memor% space is lare area.
Man% varieties of addressin modes.
Depends on desired f$nction.
-
8/16/2019 6a Microprocessor 1.ppt
31/94
ARI (Address Reister Indirect)
Refers to contents of memor% location pointed b% An.
Address reister enclosed in parenthesis (An).
-
8/16/2019 6a Microprocessor 1.ppt
32/94
-ample: ARI
D3 21546?
-
8/16/2019 6a Microprocessor 1.ppt
33/94
-ample: ARI
D3 21546?
-
8/16/2019 6a Microprocessor 1.ppt
34/94
-ample: ARI
M&'.+ D1(A6)Moves a b%te from D1 into the memor%
location specified b% A6.
ADD.9 (A4)D4
Adds the /ord content of memor% addressspecified b% A4 to data reister D4.
-
8/16/2019 6a Microprocessor 1.ppt
35/94
ARI B I (Address Reister Indirect
/ith ost!Increment) *ame as ARI b$t An a$tomaticall%
incremented after e-ec$tion (post!
increment). #se the HB sin after (An) (An)B
#sef$l in for loops.
-
8/16/2019 6a Microprocessor 1.ppt
36/94
ARI B I (Address Reister Indirect
/ith ost!Increment) Increment val$e depends on data lenth: If .+ is $sed An is incremented b% 1.
If .9 is $sed An is incremented b% 5. If ." is $sed An is incremented b% 6.
-
8/16/2019 6a Microprocessor 1.ppt
37/94
-ample 1: ARI B I
D3 21546?
-
8/16/2019 6a Microprocessor 1.ppt
38/94
ARI B D (Address Reister
Indirect /ith re!Decrement) *ame as ARI b$t val$e in address
reister a$tomaticall% decremented before
e-ec$tion (pre!decrement). #se the H! before (An) sin !(An) #sef$l to p$sh data to stack.
-
8/16/2019 6a Microprocessor 1.ppt
39/94
ARI B D (Address Reister
Indirect /ith re!Decrement) The decrement val$e depends on data
lenth:
If .+ is $sed An is decremented b% 1. If .9 is $sed An is decremented b% 5.
If ." is $sed An is decremented b% 6.
-
8/16/2019 6a Microprocessor 1.ppt
40/94
-ample: ARI B D J Movin Data
to *tack D3 21546?
-
8/16/2019 6a Microprocessor 1.ppt
41/94
ARI B D (Address Reister
Indirect /ith Displacement) Adds a displacement val$e to ARI.
7ormat: d(An)
An is address reister.
d is 1!bit displacement val$e.
!45
-
8/16/2019 6a Microprocessor 1.ppt
42/94
-ample: ARI B D
D4 21546?
-
8/16/2019 6a Microprocessor 1.ppt
43/94
-ample: ARI B D
D4 233333333
A6 2336?33
M&'.+ 27774(A6)D4244
..
2??2
21126671
255
26674
..
2667726?33
26675
Memor% Contents
27774 L1111 1111 1111 331127774 is neative (M*+ 1)5s complement 2333D
ffective Address (A) A6: 2336?33D: 233333D JA: 2336674 ,e/ val$e of D4 233333344
!2333D
A6
-
8/16/2019 6a Microprocessor 1.ppt
44/94
ARI B D -ample
M&'.+ D146(A3)
ADD.+ 215?6(A5)D6
NDisplacement m$st not be morethan 1!bits lon.
-
8/16/2019 6a Microprocessor 1.ppt
45/94
-ample: ARI B D
D4 233333333
A6 2336?33
M&'.+ !?(A6)D4216
2667;
2667+
2667C
2667D
2667
2667A
Memor% Contents
ffective Address: A6 2336?33Disp. 233333? J
233667+ D4 233333316
-
8/16/2019 6a Microprocessor 1.ppt
46/94
ARI B I (Address Reister
Indirect /ith Inde-) *imilar to ARI B D b$t adds another inde- term. Displacement rane 283 (!158) O D O 2
-
8/16/2019 6a Microprocessor 1.ppt
47/94
ARI B I -ample
M&'.+ D146(A3D4.9)
ADD.+ 2?6(A5 A6.9)D6
NDisplacement m$st be 8!bits lon.NInde- m$st be 1!bits lon.
-
8/16/2019 6a Microprocessor 1.ppt
48/94
ARI B I -ampleD1 233333315
A6 233331333M&'.+ G2772
-
8/16/2019 6a Microprocessor 1.ppt
49/94
A"A (Absol$te "on Address)
Directl% addresses memor% locations.
Address m$st be 56!bits.
,o sin e-tension performed.
*lo/er than A*A re0$ires more machinecode.
-
8/16/2019 6a Microprocessor 1.ppt
50/94
A"A -ample
M&'." D32133133
ADD.+ 2331333D4
M&'.+ 23331332633633
-
8/16/2019 6a Microprocessor 1.ppt
51/94
-ample: A"A
M&'.+ 2331333D3Moves b%te content of memor% address 21333
to D3. ADD.9 2633633D1 Adds the /ord content of 2633633 to D1.
M&'." D62334333Moves a lon!/ord from D6 to address 24333.
Address lenth m$st al/a%s be 56!bits
-
8/16/2019 6a Microprocessor 1.ppt
52/94
Absol$te "on AddressD1 233333333M&'.9 2331333D1
21333
21331
21335
21334
21336
2133?
2133 215
277
246
215
2?
2AA
2AC
3 3 3 3 1 5 4 6D1
Memor%
-
8/16/2019 6a Microprocessor 1.ppt
53/94
Absol$te *hort Address
#sed to directl% address data in t/o memor%ranes:
2333333 to 233
-
8/16/2019 6a Microprocessor 1.ppt
54/94
-ample: Absol$te *hort
Address *#+.+ 2631D6
6 3 13133 3113 3333 3331
M*+ is 3
3 3 6 3 13333 3333 3133 3113 3333 3331
sin!e-tended to 56!bits
9ill s$btract the b%te val$e in address 233631 from D6
.A. is 233631
-
8/16/2019 6a Microprocessor 1.ppt
55/94
-ample: Absol$te *hort
Address M&'.+ 28645D4
8 6 4 51333 3133 3311 3313
M*+ is 1
7 7 8 6 4 51111 1111 1333 3133 3311 3313
sin!e-tended to 56!bits
9ill move b%te val$e from address 2778645 to D4.
.A. is 2778645
-
8/16/2019 6a Microprocessor 1.ppt
56/94
A*A vs. A"A
M&'.+ 28645D4
and
M&'.+ 2778645D4
are e0$al b$t M&'.+ 28645D4 e-ec$tes faster E$ses less memor% space.
-
8/16/2019 6a Microprocessor 1.ppt
57/94
C B D (roram Co$nter /ith
Displacement) *imilar to ARI B D b$t An replaced /ith
C.
Allo/s fle-ible proram placement:Can be p$t an%/here in memor%.
Address referred relative to C.
9o$ld still r$n even /ith different startinaddresses.
-
8/16/2019 6a Microprocessor 1.ppt
58/94
roram Co$nter /ith
Displacement 7ormat: d(C)C is proram co$nter.
d is 1!bit displacement val$e. 1 bit displacement: !45
-
8/16/2019 6a Microprocessor 1.ppt
59/94
9h% C B D allo/s fle-ible
addressinData G1
Data G5
Data G4
Instr$ction G1
Instr$ction G5
Instr$ction G4
@
@
Instr$ction Gn
In C B D the location of data is al/a%s
stated as relative to instr$ction.
Data G1 is located 4 memor%locations above Instr$ction G1Data G5 is located 5 memor%
locations above Instr$ction G1
-
8/16/2019 6a Microprocessor 1.ppt
60/94
9h% C B D allo/s fle-ible
addressinData G1
Data G5
Data G4
Instr$ction G1
Instr$ction G5
Instr$ction G4
@
@
Instr$ction Gn
9hen the proram is r$n C is incremented
as instr$ctions are e-ec$ted.
C
-
8/16/2019 6a Microprocessor 1.ppt
61/94
9h% C B D allo/s fle-ible
addressinData G1
Data G5
Data G4
Instr$ction G1
Instr$ction G5
Instr$ction G4
@
@
Instr$ction Gn
9hen proram r$nnindata location referred to C.
Data G1 is located 4 memor%locations above CData G5 is located 5 memor%
locations above C
-
8/16/2019 6a Microprocessor 1.ppt
62/94
Address *pace
9herever %o$ p$t the proram C!relative addressinal/a%s refers to the riht location.
Data G1
Data G5
Data G4
Instr$ction G1
Instr$ction G5
Instr$ction G4@
@
Instr$ction Gn
Address *pace Address *pace
Data G1
Data G5Data G4
Instr$ction G1
Instr$ction G5
Instr$ction G4
@
@Instr$ction Gn
Data G1
Data G5
Data G4
Instr$ction G1Instr$ction G5
Instr$ction G4
@
@
Instr$ction Gn
Data G1 is located 4 memor%locations above C
Data G1 is located4 memor%locations above C
Data G1 is located 4 memor%locations above C
Ass$min C P Instr$ction G1
-
8/16/2019 6a Microprocessor 1.ppt
63/94
C B D -ampleC 2336333D1 21546?
-
8/16/2019 6a Microprocessor 1.ppt
64/94
C B I (roram Co$nter /ith
Inde-) *imilar to ARI B I b$t An replaced /ith C.
Allo/s similar fle-ibilit% as C B D.
7ormat:d(CDn)
d(C An)
C is proram co$nter.d is 8!bit displacement val$e.
-
8/16/2019 6a Microprocessor 1.ppt
65/94
C B I (roram Co$nter /ith
Inde-) 8!bit displacement: !158 (283) K d K 15< (2
-
8/16/2019 6a Microprocessor 1.ppt
66/94
C B I -ampleD1 233333488C 233334333M&'.+ G2A527A(CD1.9)
ffective Address (C B D B I):
C 233334333B D1.9 2 3488
! D 2 3
A 233334485
24483
24481
24485
2448424486
2448?
2448
2A5
27A ! (5s complement)
-
8/16/2019 6a Microprocessor 1.ppt
67/94
Immediate Data
#sed to transfer constant val$es intoreistersmemor% locations.
Consists of 5 parts:The constant val$e.The reistermemor% location to store it in.
*%mbol HG m$st be p$t in front of theconstant val$e.
-
8/16/2019 6a Microprocessor 1.ppt
68/94
T%pes of Constant
*%mbol Data T%pe
L +inar%
P &ctal
OnoneQ Decimal
2 =e-adecimal
-ample
GL31131313
GP154
G6?
G24?
H Character GH+
-
8/16/2019 6a Microprocessor 1.ppt
69/94
-ample: Movin Decimal 'al$e to Data Reister
D3 277777777
M&'.+ G15D3
Constant val$e: G15 G23C
7 7 7 7 7 7 7 7D3
7 7 7 7 7 7 3 C7inal D3
-
8/16/2019 6a Microprocessor 1.ppt
70/94
-ample: Movin =e- 'al$e to Memor%
M&'.9 G215462336333
Constant val$e: 21546 (he-)
Taret: memor% address 26333.
2477 @
24777 @26333 215
26331 246
26335 @
Memor% Address:
-
8/16/2019 6a Microprocessor 1.ppt
71/94
-ample: Movin =e- 'al$e to Address Reister
A4 233333333
M&'A."G233633633A4
Constant variable: 33633633 (he-) Taret: A4.
A4 233333333
A4 233633633
-
8/16/2019 6a Microprocessor 1.ppt
72/94
-ample: Movin Character 'al$e toMemor%
M&'." GH+##D3
H+ 265 H# 2?? H 26+ H# 2??
Taret: D3.
??+6??56D3
H+ H# H#H
-
8/16/2019 6a Microprocessor 1.ppt
73/94
-ample: Movin +inar% 'al$e to Memor%
M&'.+ GL13131311D3
L1313 2A L1311 2+
Taret: D3.
+ A333333D3
-
8/16/2019 6a Microprocessor 1.ppt
74/94
F$ick Immediate Data
*imilar to ID b$t can onl% transfer 1 b%te.
+%te is sin!e-tended to 45!bits.
#sed toether /ith M&'F instr$ction. Can onl% be $sed for Dn.
-
8/16/2019 6a Microprocessor 1.ppt
75/94
-ample: F$ick Immediate DataD1 233333333
M&'F G23?D1
Constant variable: 3? (he-)
Taret: D1. D1 233333333
D1 23333333?
D1 23333333?
*in!e-tended to 45!bits
23? 3333 3131
(M*+ is 3)
-
8/16/2019 6a Microprocessor 1.ppt
76/94
-ample: F$ick Immediate DataD3 233333333
M&'F G2AD3
Constant val$e: A (he-)
Taret: D3.
D3 2333333A
D3 2333333A
D3 2777777A
*in!e-tended to 45!bits
2A 1113 1313
(M*+ is 1)
-
8/16/2019 6a Microprocessor 1.ppt
77/94
-ample: F$ick Immediate DataD1 277777777
M&'F G23?D1
Constant val$e: 3? (he-)
Taret: D1. D1 277777777
D1 27777773?
D1 23333333?
*in!e-tended to 45!bits
23? 3333 3131
(M*+ is 3)
-
8/16/2019 6a Microprocessor 1.ppt
78/94
Implied Addressin (IA)
#ses mnemonics to refer to M8ks internalreisters.
-amples:*R J *tat$s Reister #* J #ser *tack ointer.** J *$pervisor *tack ointer.CCR J Condition Code Reister TRA' J Trap e-ception if '!bit set.
-
8/16/2019 6a Microprocessor 1.ppt
79/94
-
8/16/2019 6a Microprocessor 1.ppt
80/94
IA -ample J Clear CCR
A,DI.+ G233CCR
1 1 3 1 3
Clears all bits in CCR
A,D 3 3 3 3 3 3 3 3
S , ' C
3 3 3 3 3 3 3 3
&"D CCR
,9 CCR
-
8/16/2019 6a Microprocessor 1.ppt
81/94
Concl$sion
9 h d th dd i
-
8/16/2019 6a Microprocessor 1.ppt
82/94
9e have covered these addressinmodes
DRD D3 D<
ARD A3
A<
Dn and An ARI (An) ARIBI (An)B ARIBD !(An)
ARIBD D(An) ARIBI D(AnDnAn.s)CBD D(C)CBI D(AnDnAn.s) A"A 2331331 A*A 277AA
IA CCR *R
ffective Address: OeaQ
IDG(2 L P H)
Immediate data: OidQ
-
8/16/2019 6a Microprocessor 1.ppt
83/94
Concl$sion
Addressin modes allo/ fle-ibilit% inaccessin reisters memor% locations.
Tr% to $nderstand ho/ to calc$late A: ARI (I D D I)
C (D I)
The rest are straihtfor/ard.
-
8/16/2019 6a Microprocessor 1.ppt
84/94
Rotate and *hift
-
8/16/2019 6a Microprocessor 1.ppt
85/94
Rotate and *hift
Contains instr$ctions to rotate and shiftbits aro$nd.
"oical *hift "eft Riht ("*" "*R):*hifts bits to left or to riht b% insertin >eros.
Rotate "eft Riht (R&" R&R):
Rotates bits to left or to riht
-
8/16/2019 6a Microprocessor 1.ppt
86/94
"*" ("oical *hift "eft)
3
-
8/16/2019 6a Microprocessor 1.ppt
87/94
"*R ("oical *hift Riht)
3
-
8/16/2019 6a Microprocessor 1.ppt
88/94
-ample: "*"
Initial set!$p:D3 2333333AAD1 233333338LSL"# D1, D0
3 3 A AD3.9
A A 3 3ne/ D3.9
3 3
$shed o$t
L3333 3333 1313 1313 L3333 3333 (8 bits)
,e/ D3 23333AA33
1) source: D1.9 23338 8 bits5) target : D3.9 $00AA L3333 3333 1313 13134) action: Ushift 8 bits from D3.9 to the left b%insertin 8 bits from the rihtU
-
8/16/2019 6a Microprocessor 1.ppt
89/94
-ample: "*RD3 2333333AA"*R.9 G6D3
3 3 A AD3.9
3 3 3 AD3.9
"*R 3
$shed o$t
3 3 A AD3.9
L 3333 L 3333 3333 1313 1313
,e/ D3 23333333A
-
8/16/2019 6a Microprocessor 1.ppt
90/94
R&" E R&R (Rotate "eftRiht)
R&": $shes o$t M*+ and moves thebits to the back.
R&R: $shes o$t "*+ and moves the bitsto the front
-
8/16/2019 6a Microprocessor 1.ppt
91/94
R&" (Rotate "eft)
M*+
-
8/16/2019 6a Microprocessor 1.ppt
92/94
R&R (Rotate Riht)
"*+
-
8/16/2019 6a Microprocessor 1.ppt
93/94
-ample: R&"D3 2333333AB, D1 233333334ROL"B D1,D0
3 1 3 1D3.+ 1 1 3 1
1 3 1 3D3.+ 1 3 1 1
1 3 1 3D3.+ 1 3
$shed o$t@
1 3 1 1 1
And sent to back@
,e/ D3 23333335D
1) source: D1.+ 234 4 diits (in binar%)5) target : D3.+ 2A+ L1013 1311
-
8/16/2019 6a Microprocessor 1.ppt
94/94
-ample: R&RD3 2333333A+R&R.+ G6D3
1 3 1 3D3.+
1 3 1 1D3.+
$shed o$t@
1 3 1 1
1 3 1 3
1 3 1 3D3.+ 1 3 1 11 3 1 1
And sent to front@
,e/ D3 2333333+A