Professional Documents
Culture Documents
Intro ARM
Intro ARM
Li m u:
ng dng cho cc h thng nhng hin nay ngy cng tr nn phc tp, khng phi
n gin ch l iu khin mt cht n giao thng nh thi, m s ngi ra vo ca, iu
khin ng c ON-OFF, hin th mt cu thng bo trn LCD ..v.vv.. xu th tt yu, cc nhn
iu khin cn c cu hnh mnh hn, p ng thi gian thc tt hn cc nhn iu khin
8bit ang dng!
Nh phn tch mt s bi vit trc, ta a phn vn s dng nhn iu khin
8 bit cho cc ng dng, v nh th, v tnh thu hp kh nng iu khin cc h thng
nhng. Chnh s hn ch v dung lng b nh chng trnh-d liu cng nh hng
khng t ti phm vi ng dng ca n. Khi dng vi iu khin 8bit lm mt b iu khin PID
kinh in <cho ng c chng hn> cng l mt c gng khng nh t ngi lp trnh, ng
ni n vic dng n vo cc ng dng da trn c s l thuyt iu khin hin i, i
chnh xc cao, p ng thi gian thc tt! 1 Tt nhin, vi vi iu khin 8bit, bn vn c th
dng iu khin m l nhit, hay nhng i tng c mc qun tnh ln! 2 i km vi vic
iu khin c gng y l gii thut s phc tp ln. Bn cn hoi nghi? C th i, ban u,
bn thu nh gii thut iu khin bng cc l thuyt ton hc, s c gng hn ch dung
lng b nh chng trnh s lm tng thi gian x l v cn nhiu nh trung gian. Tuy
nhin, nu bn s dng cc nhn 8bit c tn s dao ng ln th kt qu cng chp nhn
c! Nu nhn 8bit y h tr tnh ton s thc th kt qu cn tt hn!
Khng th ni rng vi nhn iu khin 8bit, ta chng lm nn tr trng g, v nh
vy, ph nhn kt qu lu nay ca phn ng dn lp trnh vi iu khin-nht l i vi
sinh vin ta, lun nng ng, sng to! Ch c th ni rng, cc kt qu y lun b hn ch
khi ta ng dng vo cng ngh cao: truyn thng a phng tin, x l m thanh, hnh nh,
cc thit b h tr c nhn <PDA>, cc ng dng trong mobile robot linh hot, t hnh v
bit ng x..vv Yu cu nhng h thng cn s linh ng, tiu tn t nng lng, nh gn,
nhng cu hnh mnh v tnh nng phc tp lun c t ra. Nhu cu th trng cn, ngi
lm k thut khng th b qua trong thi bui cnh tranh hin nay!
V nh th, mi bn cng ti i vo khm ph nhng ci mi! Nhng bc i u
tin bao gi cng c th vp ng! V th, ti cn s gip sc, ph bnh v ng gp ca mi
ngi, bit u, khi no y, ti c l i vo ng ct, cn c ting ku v vng tay n v t
m!
Thn cho!
Cc mc chnh:
Danh mc cc hnh v:.......................................................................................................................................... 4
Danh mc cc bng:.............................................................................................................................................. 4
A.
B.
B.II.
B.III.
B.IV.
S qua v cch thit k cu trc tp lnh: ........................................................................................... 7
IV.1.
Cu trc ch lnh c 4 a ch:........................................................................................................ 7
IV.2.
Cu trc ch lnh c 3 a ch:........................................................................................................ 7
IV.3.
Cu trc ch lnh c 2 a ch:........................................................................................................ 7
IV.4.
Cu trc ch lnh c 1 a ch:........................................................................................................ 8
IV.5.
Cu trc ch lnh khng truy cp a ch: ...................................................................................... 8
B.V.
Cc ch nh a ch:...................................................................................................................... 8
B.VI.
Cu trc lnh CISC v RISC: .............................................................................................................. 8
VI.1.
Nu vn : ..................................................................................................................................... 8
VI.2.
Thit k tp lnh da trn CISC v RISC: ...................................................................................... 8
i.
Chu k lnh:..................................................................................................................................... 9
ii.
So snh CISC v RISC:................................................................................................................... 9
ii.a.
Kin trc tp lnh RISC: ....................................................................................................... 9
ii.b.
T chc tp lnh RISC: ......................................................................................................... 9
ii.c.
im mnh ca b x l dng tp lnh RISC: ...................................................................... 9
ii.d.
Tn s hot ng ti a ca RISC v CISC: ....................................................................... 10
ii.e.
Nhng im bt tin ca RISC:........................................................................................... 10
C.
S lc v tn gi:............................................................................................................................. 10
C.II.
S k tha cu trc:........................................................................................................................... 10
II.1.
Cu trc c bn: ........................................................................................................................... 10
II.2.
M hnh thit k ARM:.................................................................................................................. 10
i.
Thanh ghi trng thi chng trnh hin ti(CPSR) ...................................................................... 11
II.3.
Cu trc load-store:...................................................................................................................... 11
II.4.
Tp lnh ca ARM: ....................................................................................................................... 11
II.5.
ARM C-Compiler:......................................................................................................................... 12
D.
Lnh x l d liu:............................................................................................................................. 12
D.II.
D.III.
D.IV.
D.V.
nh a ch stack.............................................................................................................................. 13
D.VI.
D.VII.
F.
E.II.
Tp lnh ca ARM:.................................................................................................................................... 15
F.I.
F.II.
F.III.
F.IV.
F.V.
Lnh x l d liu:............................................................................................................................. 17
V.1.
M ha nh phn:.......................................................................................................................... 17
V.2.
Phn tch: ..................................................................................................................................... 17
i.
Opcode: ........................................................................................................................................ 18
ii.
iu kin: ..................................................................................................................................... 18
F.VI.
Lnh nhn:......................................................................................................................................... 18
VI.1.
M ha nh phn:.......................................................................................................................... 18
VI.2.
Phn tch: ..................................................................................................................................... 18
i.
Opcode: ........................................................................................................................................ 18
ii.
Lnh hp ng:............................................................................................................................... 19
F.VII. Lnh chuyn d liu: byte khng du v 1 word:.............................................................................. 19
VII.1. M ha nh phn:.......................................................................................................................... 19
VII.2. Lnh hp ng:<p135-136> .......................................................................................................... 19
F.VIII.
Lnh chuyn d liu: byte c du v na word: ........................................................................... 19
VIII.1.
M ha nh phn:..................................................................................................................... 19
VIII.2.
Ch thch:................................................................................................................................. 20
VIII.3.
Lnh hp ng:.......................................................................................................................... 20
F.IX.
Lnh chuyn d liu nhiu thanh ghi: ............................................................................................... 20
IX.1.
M ha nh phn:.......................................................................................................................... 20
IX.2.
Ch thch: ..................................................................................................................................... 21
IX.3.
Lnh hp ng:............................................................................................................................... 21
F.X.
Lnh hon i gi tr ca b nh v thanh ghi: ................................................................................ 21
X.1.
M ha nh phn:.......................................................................................................................... 21
X.2.
Ch thch: ..................................................................................................................................... 21
X.3.
Lnh hp ng:............................................................................................................................... 21
X.4.
Ch : ........................................................................................................................................... 21
F.XI.
Lnh chuyn gi tr t thanh ghi trng thi vo thanh ghi a dng:................................................. 21
XI.1.
M ha nh phn:.......................................................................................................................... 21
XI.2.
Ch thch: ..................................................................................................................................... 21
XI.3.
Lnh hp ng:............................................................................................................................... 21
XI.4.
Ch : ........................................................................................................................................... 21
F.XII. Lnh chuyn gi tr t thanh ghi a dng vo thanh ghi trng thi:................................................. 21
XII.1. M ha nh phn:.......................................................................................................................... 21
XII.2. Lnh hp ng:............................................................................................................................... 22
XII.3. Ch : ........................................................................................................................................... 22
G.
F.XIII.
i.
ii.
iii.
iv.
F.XIV.
Tp lnh Thumb:........................................................................................................................................ 23
I.
B nh cache: ............................................................................................................................................ 23
I.I.
I.II.
Mt s hnh nh v cache:................................................................................................................. 23
J.
Kt lun: ..................................................................................................................................................... 24
K.
Danh mc cc hnh v:
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Hnh
Danh mc cc bng:
Bng
Bng
Bng
Bng
Bng
Bng
Bng
1:
2:
3:
4:
5:
6:
7:
V d:
ADD d, s1, s2, next_i
;d := s1 +s2
IV.2. Cu trc ch lnh c 3 a ch:
Hnh 5: Cu trc ch lnh c 3 a ch
V d:
ADD d, s1, s2
; d := s1 + s2
IV.3. Cu trc ch lnh c 2 a ch:
Hnh 6: Cu trc ch lnh c 2 a ch
V d:
ADD d, s1
; d := d + s1
2006 Khoa hc v tui tr
V d:
ADD s1
IV.5.
; accumulator := accumulator + s1
Cu trc ch lnh khng truy cp a ch:
Hnh 8: Cu trc ch lnh khng truy cp a ch
V d:
ADD
; top_of_stack := top_of_stack +next_on_stack
B.V. Cc ch nh a ch:
Cc ch nh a ch c bn, bn tham kho sch Vi x l ca thy H Trung M.
C th ty nh sn xut a ra 8 hoc 9 ch khc nhau. Tuy nhin, n cng mt mc nn
nh nhau.
B.VI. Cu trc lnh CISC v RISC:
My tnh ch hiu cc mc 0/1 trn mi transistor c th, ngi s dng mun thc
hin mt chng trnh no y, phi np cc m lnh 0-1 vo b nh cho my tnh. C 3 cch
c bn lm vic y:
1. Vit ngay dng m my 0-1 v np vo b nh. Cch ny rt kh thc thi.
2. Vit dng tn gi nh bng hp ng, sau bin dch ra m my, cp ny cng rt
gn vi ngn ng my v cng kh thc hin vi cc chng trnh phc tp. Tuy
nhin, cu trc gn nh.
3. Vit bng mt ngn ng cp cao, sau dng mt trnh bin dch <compiler>
dch ra m my. Cch ny tuy d vi ngi vit chng trnh nhng cng s lm
chng trnh c dung lng ln hn nu vit bng ASM. V thch thc l lm sao
cc nh sn xut phn mm, phn cng bt tay nhau chng trnh bin dch ny
tht chun tc, nh gn, khng to nhiu code trung gian.
VI.1. Nu vn :
Trong sut thp nin 1980, cc nh thit k c gng thu hp khong cch gia ngn
ng cp cao ca con ngi v ngn ng my, h a ra cu trc cc ch lnh phc tpCISC, c cc ch nh a ch khc nhau, mi lnh thc thi cn nhiu ln nh a ch
ly d liu, v do , tn nhiu chu k xung nhp cho mi ch lnh.
Nu vic gim thiu ranh gii gia tp lnh ca vi iu khin v ngn ng cp cao
khng phi l mt cch hay my tnh hot ng hiu qu, cc nh thit k phi lm sao
ti u tc x l?
VI.2. Thit k tp lnh da trn CISC v RISC:
Nu mun bit cch lm vi x l hot ng nhanh hn, ta phi bit vi x l dng
hu ht thi gian ca chng vo vic g? Chng ta d ngh rng: Vi x l tt nhin dng hu
ht thi gian ca n tnh ton; ngha l thi gian hu ht b ALU. Tht ra, theo thng
k th suy on ny hon ton sai lm:
Loi ch lnh
S dng
Chuyn d liu
43%
iu khin dng chy <lnh>
23%
Tnh ton s hc
15%
So snh
13%
Php ton logic
5%
Khc
1%
Bng 1: Bng thng k cc loi ch lnh thng dng
Mt ch lnh thc thi trong 1 chu k xung nhp <CISC cn nhiu chu k
xung nhp hon thnh mt lnh>
ii.c. im mnh ca b x l dng tp lnh RISC:
Kch thc ming bn dn nh hn: b x l n gin i hi t
transistor hn, do , kch thc cn dng nh li, dnh vng din tch
trng tng cc chc nng nh b nh cache, chc nng qun l b nh,
..vv
Thi gian pht trin mt sn phm ngn hn <do k thut n gin
hn>
Cu hnh mnh hn: iu ny c v kh tin, tuy nhin, cc lp
lun:
Hnh 11: Cu trc ca thanh ghi trng thi chng trnh hin ti
Cc lnh logic.
.
D.II. Ch lnh chuyn d liu:
Ch lnh chuyn d liu cng tng t nh lnh s hc, c cc dng nh chuyn d liu gia
2 thanh ghi, gia 1 thanh ghi v 1 a ch trc tip.
o Ch lnh load v store 1 thanh ghi.
o Ch lnh load v store nhiu thanh ghi.
o Ch lnh trao i gi tr cc thanh ghi
D.III. nh a ch gin tip qua thanh ghi:
o V d:
LDR r0, [r1]
STR r0, [r1]
;r0 := mem32[r1]
;mem32[r1] := r0
Hnh 18: Dng chy lnh 3 tc v p dng trong trng hp 1ch lnh c nhiu chu k my
Ninst CPI
<Cng thc 1>.
fclk
Trong CPI l s xung nhp trung bnh cn cho mi ch lnh, Ninst l s ch lnh thc thi
mt chng trnh<l c nh>, fclk l tn s xung nhp. Vi cng thc trn, ta c 2 cch
gim thi gian thc thi mt chng trnh:
+Tng tn s xung nhp: iu ny i hi trng thi ca mi tc v trong dng chy lnh l
n gin, v, do , s tc v s tng thm.
+Gim CPI: iu ny i hi mi ch lnh cn nhiu dng chy lnh hn vi tc v khng
i, hoc cc tc v cn n gin hn, hoc kt hp c 2 li vi nhau.
ARM a ra cu trc mi dng chy lnh c 5 tc v, vi cch m phng ta nh cu trc
von Neumann, vi vng nh d liu v chng trnh ring bit. T cu trc lnh c 3 tc v
c chia nh li thnh 5 tc v cng lm cho mi chu k xung nhp s thc hin mt cng
vic n gin hn mi trm, cho php c th tng chu k xung nhp ca h thng. S tch
ri b nh chng trnh v b nh d liu <cache cha cc ch lnh I-cache v cache cha d
2006 Khoa hc v tui tr
F. Tp lnh ca ARM:
F.I. Kiu d liu:
ARM h tr 6 loi d liu:
+8 bit c du v khng du.
+16 bit c du v khng du.
+32 bit c du v khng du.
Nh phn trn cp, cc tan t ca ARM c 32 bit, bi vy, khi lm vic vi cc
d liu ngn hn,cc bit cao ca ton t s c thay th bng bit 0.
F.II. Ch hot ng:
Mnemonic
extension
EQ
NE
Z=1
Z=0
0010
CS/HS
C=1
0011
CC/LO
Xa c nh, thp hn s c du
C=0
0100
Ml
Tr/m
N=1
0101
0110
PL
VS
N=0
V=1
0111
VC
Khng trn
V=0
1000
HI
Ln hn s khng du
C=1 v Z=0
1001
LS
C=0 hoc Z =1
1010
GE
Ln hn hoc bng s c du
N=V
1011
LT
Nh hn s c du
NV
1100
GT
Ln hn s c du
Z=0 v N=V
1101
LE-
Nh hn hoc bng s c du
Z=1 hoc NV
1110
AL
Lun lun
Ty nh
1111
NV
Khng c s dng!
Khng tn ti
Gii thch
Gi lnh
ngha
Tc ng
0000
0001
AND
EOR
0010
SUB
Subtract
Rd := Rn Op2
0011
RSB
Reverse subtract
Rd := Op2 - Rn
0100
ADD
Add
Rd := Rn + Op2
0101
ADC
Rd := Rn + Op2 + C
0110
SBC
Rd := Rn Op2 + C - 1
0111
RSC
Rd := Op2 - Rn + C - 1
1000
TST
Test
1001
TEQ
Test equivalence
1010
CMP
Compare
Sec on Rn - Op2
1011
CMN
Compare negated
Sec on Rn + Op2
1100
ORR
Logical bit-wise OR
Rd := Rn OR Op2
1101
MOV
1110
BIC
1111
MVN
Move
Rd := Op2
Bit clear
Move negated
Rd:=NOT Op2
ii. iu kin:
B nh hng bi cc bit c, trng thi cc c c quy nh:
+C N=1 nu kt qu l m <N=bit cao nht ca kt qu>
+c Z=1 nu kt qu bng 0.
+C C c bt nu kt qu c nh t ALU(ADD, ADC, SUB, SBC, RSB, RSC, CMP, CMN) hay t kt
qu ca php dch bit. Nu khng c php dch bit, c C c gi gi tr trc .
+C V ch b nh hng trong cc php ton s hc. V=1 khi c trn t bit 30 sang 31. N
quan trng ch trong php ton hc b 2 c du.
F.VI. Lnh nhn:
VI.1. M ha nh phn:
Mnemonic
MUL
MLA
ngha
Tc ng
Nhn kt qu 32-bit.
Nhn -tch ly cho gi tr kt qu 32 bit.
Rd:=(Rm*Rs)[31:0]
Rd:=(Rm*Rs + Rn)[31:0]
100
UMULL
RdHi: RdLo := Rm * Rs
101
UMLAL
RdHi: RdLo += Rm * Rs
110
SMULL
Nhn c du 64 bit
RdHi: RdLo := Rm * Rs
111
SMLAL
RdHi: RdLo+=Rm*Rs
Hnh 24: M ha nh phn cho cu trc truyn d liu dng byte khng du hoc word
VIII.2. Ch thch:
X.2. Ch thch:
B=1=>load byte khng du, B=0=>load word nh c nh a ch bi Rn ti
Rd, cha gi tr t Rm vo nh tng ng. Rd v Rm c th l 1 thanh ghi.
X.3. Lnh hp ng:
SWP{<cond>}{B} Rd, Rm,Rn
X.4. Ch :
+Thanhghi PC khng c dng trong ch lnh ny.
+Thanh ghi Rn phi khc vi thanh ghi Rm v thanh ghi Rd
F.XI. Lnh chuyn gi tr t thanh ghi trng thi vo thanh ghi a dng:
XI.1. M ha nh phn:
Hnh 28: M ha nh phn ca lnh chuyn gi tr thanh ghi trng thi vo thanh ghi a dng
XI.2. Ch thch:
R=1=>Rd=SPSR
R=0=>Rd=CPSR
XI.3. Lnh hp ng:
MRS{<cond>}
Rd, CPSR
MRS{<cond>}
Rd, SPSR
XI.4. Ch :
+Ch c th truy cp gi tr SPSR nh lnh ny.
+Khi chnh sa cc gi tr CPSR hoc SPSR phi ch cc bit khng c s dng.
F.XII. Lnh chuyn gi tr t thanh ghi a dng vo thanh ghi trng thi:
XII.1. M ha nh phn:
Hnh 29: M ha nh phn ca lnh chuyn gi tr thanh ghi a dng vo thanh ghi trng thi
ii. iu khin:
iii. Load-store:
Hnh 35: Cache c vng nh d liu v a ch tch ri nhau <Cu trc Harvard>
J. Kt lun:
Trong phn trn, ti xt qua mt cch khi qut v ARM, t lch s hnh thnh-pht
trin n mt s din t phn cng-phn mm. D rt c gng nhng do kin thc c gii
hn nn chc cn nhiu sai st, mong bn lng th!
Trong bi sau, ti s i c th vo lp trnh vi LPC2214, s dng chng trnh Keil-uV3
tool ARM.
Mi ng gp v trao i xin gi v:
Bi Trung Hiu
Email
:
buitrunghieu@khvt.com
Cell
:
(+84)98.3210.906
YM
:
khvt_sites
K. Ti lu tham kho chnh: