You are on page 1of 24

Gii thiu ARM

-----Ngi vit: Bi Trung Hiu


Webmaster: Khoa hc v tui tr

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!

V d a ra ti cha tnh n sai s do sensor.


Theo tnh ton ban u ca ti th ta d sc dng mt nhn iu khin 8 bit cho vic iu khin m l nhit vi
3 tp bin ngn ng ng vo v 2 ng ra tun t, mi bin ngn ng c 7 cp iu khin vi thi gian ly mu
khong 0.5 giy

Gii thiu ARM Bi Trung Hiu

Cc mc chnh:
Danh mc cc hnh v:.......................................................................................................................................... 4
Danh mc cc bng:.............................................................................................................................................. 4
A.

ARM - i nt v lch s hnh thnh v pht trin: ................................................................................... 5

B.

S lc v thit k nhn iu khin: ........................................................................................................... 5


B.I.

i nt v thit k phn cng:............................................................................................................. 5

B.II.

Cu trc my tnh s s dng chng trnh lu tr:<Stored-program> ............................................ 5

B.III.

Dng n gin ca b x l: ............................................................................................................... 7

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.

Kin trc t chc ca ARM:..................................................................................................................... 10


C.I.

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.

Lp trnh hp ng cho ARM:.................................................................................................................... 12


D.I.

Lnh x l d liu:............................................................................................................................. 12

D.II.

Ch lnh chuyn d liu:.................................................................................................................... 13

D.III.

nh a ch gin tip qua thanh ghi:................................................................................................ 13

D.IV.

Khi to a ch pointer: <r15=PC>................................................................................................ 13

D.V.

nh a ch stack.............................................................................................................................. 13

D.VI.

Cc ch lnh iu khin dng lnh: ................................................................................................... 13

D.VII.

Vit chng trnh n gin:.......................................................................................................... 13

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


E.

F.

Cch t chc v thc thi tp lnh ca ARM:............................................................................................ 14


E.I.

Dng chy lnh c 3 tc v: .............................................................................................................. 14

E.II.

Dng chy lnh c 5 tc v: .............................................................................................................. 14

Tp lnh ca ARM:.................................................................................................................................... 15
F.I.

Kiu d liu: ...................................................................................................................................... 15

F.II.

Ch hot ng: ............................................................................................................................. 15

F.III.

Thc thi cc iu kin: ...................................................................................................................... 16

F.IV.

Ngt phn mm<SWI>: .................................................................................................................... 17

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.

Vng khng c dng trong cc ch lnh: .................................................................................. 22


S hc:............................................................................................................................................... 22
iu khin: ........................................................................................................................................ 22
Load-store: ........................................................................................................................................ 22
Vng lnh khng dng ti: ................................................................................................................ 23

F.XIV.

Ghi ch: ........................................................................................................................................ 23

H tr ca kin trc ARM cho ngn ng cp cao:................................................................................... 23

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


H.

Tp lnh Thumb:........................................................................................................................................ 23

I.

B nh cache: ............................................................................................................................................ 23
I.I.

Cache l g?-V sao phi dng cache: ................................................................................................... 23

I.II.

Mt s hnh nh v cache:................................................................................................................. 23

J.

Kt lun: ..................................................................................................................................................... 24

K.

Ti lu tham kho chnh:........................................................................................................................... 24

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

1: M hnh my tnh s s dng chng trnh lu tr ....................................................................... 6


2: Cu trc chun cho ch lnh ca MU0 ......................................................................................... 7
3: V d v ng truyn d liu ca MU0....................................................................................... 7
4: Cu trc ch lnh c 4 a ch..................................................................................................... 7
5: Cu trc ch lnh c 3 a ch..................................................................................................... 7
6: Cu trc ch lnh c 2 a ch..................................................................................................... 7
7: Cu trc ch lnh c 1 a ch..................................................................................................... 8
8: Cu trc ch lnh khng truy cp a ch ..................................................................................... 8
9: Thc thi lnh theo cu trc dng chy ........................................................................................ 9
10: Cc thanh ghi ca ARM ..........................................................................................................11
11: Cu trc ca thanh ghi trng thi chng trnh hin ti..............................................................11
12: Cu trc ca b cng c h tr pht trin.................................................................................12
13: Cc lnh ton hc .................................................................................................................12
14: Cc lnh logic .......................................................................................................................13
15: Tc v chuyn cc gi tr ca thanh ghi ...................................................................................13
16: Chc nng so snh ................................................................................................................13
17: Ch lnh mt chu k my s dng dng chy lnh c 3 tc v .....................................................14
18: Dng chy lnh 3 tc v p dng trong trng hp 1ch lnh c nhiu chu k my.........................14
19: Cch t chc dng chy lnh c 5 tc v vi ARM9TDMI ............................................................15
20: V tr cc bit iu kin trong ch lnh 32bit...............................................................................16
21: Ngt phn mm ....................................................................................................................17
22: Cu trc mt ch lnh ............................................................................................................17
23: M ha nh phn cho ch lnh nhn..........................................................................................18
24: M ha nh phn cho cu trc truyn d liu dng byte khng du hoc word ..............................19
25: M ha nh phn chuyn d liu dng byte c du v na word ..................................................20
26: M ha nh phn lnh chuyn d liu nhiu thanh ghi ................................................................20
27: M ha nh phn ch lnh i gi tr ca b nh v thanh ghi ......................................................21
28: M ha nh phn ca lnh chuyn gi tr thanh ghi trng thi vo thanh ghi a dng ....................21
29: M ha nh phn ca lnh chuyn gi tr thanh ghi a dng vo thanh ghi trng thi ....................22
30: Vng lnh s hc m rng......................................................................................................22
31: Vng lnh iu khin m rng ................................................................................................22
32: Vng lnh chuyn d liu m rng ..........................................................................................22
33: Vng khng c nh ngha trong m lnh..............................................................................23
34: Cache dng chung cho vng nh d liu v a ch <Von-Neuman> ............................................23
35: Cache c vng nh d liu v a ch tch ri nhau <Cu trc Harvard> ......................................24

Danh mc cc bng:
Bng
Bng
Bng
Bng
Bng
Bng
Bng

1:
2:
3:
4:
5:
6:
7:

Bng thng k cc loi ch lnh thng dng .............................................................................. 8


Cc ch hot ng ca ARM v s dng thanh ghi .................................................................16
Cc a ch dng cho h thng .................................................................................................16
Cc iu kin.........................................................................................................................17
Bng Opcode .........................................................................................................................18
Gi lnh hp ng cho php nhn ..............................................................................................18
M ha loi d liu .................................................................................................................20

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


A. ARM - i nt v lch s hnh thnh v pht trin:
Ngy 26/4/1985, mu sn phm ARM u tin sn xut ti cng ty k thut VLSI,
SanJose, bang Califonia c chuyn ti trung tm my tnh Acorn Cambridge, Anh
Quc. Mt vi gi sau, chng trnh th nghim u tin thnh cng v h khui sm
banh n mng!
Na thp nin sau , ARM c pht trin rt nhanh chng lm nhn my tnh
bn ca Acorn, nn tng cho cc my tnh h tr gio dc Anh. Trong thp nin 1990,
di s pht trin ca Acorn Limited, ARM thnh mt thng hiu ng u th gii
v cc ng dng sn phm nhng i hi tnh nng cao, s dng nng lng t v gi
thnh thp.
Chnh nh s ni tri v th phn thc y ARM lin tc c pht trin v cho ra
nhiu phin bn mi. Nhng thnh cng quan trng trong vic pht trin ARM thp
nin sau ny:
o Gii thiu tng v nh dng cc ch lnh c nn li (thumb) cho php
tit kim nng lng v gi thnh nhng h thng nh.
o Gii thiu h iu khin ARM9, ARM10 v Strong ARM
o Pht trin mi trng lm vic o ca ARM trn PC.
o Cc ng dng cho h thng nhng da trn nhn x l ARM ngy cng tr
nn rng ri.
Hu ht cc nguyn l ca h thng trn chip (Systems on chip-SoC) v cch thit k
b x l hin i c s dng trong ARM, ARM cn a ra mt s khi nim mi <nh
gii nn ng cc dng lnh>. Vic s dng 3 trng thi nhn lnh-gii m-thc thi trong mi
chu k my mang tnh quy phm thit k cc h thng x l thc. Do , nhn x l ARM
c s dng rng ri trong cc h thng phc tp.
B. S lc v thit k nhn iu khin:
Vic thit k cc nhn iu khin a dng vn l mong c ca hu ht k s. iu ,
i hi nhng nghin cu t m, chi tit, y mu thun v c s tha hip. Trong phn ny, ta
s bn v mt s khi nim xung quanh vic thit k phn cng cho nhn iu khin, thit k
tp lnh, cu trc my tnh s thc thi lnh dng stored-program.
B.I. i nt v thit k phn cng:
My tnh l mt thit b hot ng tc rt cao. Nhng vi x l hin i c th bao
gm n vi triu transistor <hin ti ang s dng cng ngh 90nm> v chng ng ngt
n hng trm triu ln trong mt giy. Tt c chng (Transistor) u phi hon ho, chng
c Transistor no c php sai lch hoc hot ng ngu nhin, mt sai lch nh ca d ch
1 Transistor cng c th gy sai lch cho c h thng! Bn c tng tng-so snh mt i
qun tinh nhu thin chin c hun luyn cng phu dn qun khp chin tuyn, bt k 1 v
tr no khng chin u c cng lm c i qun tht th! <hoc n gin hn, bn c ngh
l mnh phi hc qua 5-6 mn tin quyt mi c th lm lun vn tt nghip-nu rt bt k
mn no cng khng c nhn ti!> Nh th, ta thy s phc tp n mc no ca mt
vi iu khin!
Tuy nhin, khng phi cng ngh bt u vo ch to bn dn kch thc micro, nano
ngay c, y l mt qu trnh pht trin lu di, t ng chn khng, mt Transistor, vi
Transistor, mch tch hp (IC) n mch tch hp rt cao (VLSI) vi vi triu Transistor hiu
ng trng trn mi chip n l!
B.II. Cu trc my tnh s s dng chng trnh lu tr:<Stored-program>
Xem hnh sau:

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu

Hnh 1: M hnh my tnh s s dng chng trnh lu tr

Ta ch thch mt cch d hiu nguyn l hot ng ca b x l dng ny: <da trn


m hnh c PC>
o B x l a ra a ch k tip cho thanh ghi (PC) truy cp vo vng nh, nhn ch
lnh thc thi, ch lnh thc thi cha cc a ch ca d liu chng trnh <s phn tch
phn sau>, thanh ghi dng cc a ch ny truy cp vo vng nh ly d liu,
d liu y c dng x l trong nhn tnh ton <qua b ALU chng hn>, kt
qu cui cng s c ghi ngc li b nh bng a ch nh trc hoc a ch trung
gian, hoc qua thanh ghi tch ly. <phn t chc b nh trong chng trnh c vit
k trong gio trnh mn Vi x l ca thy H Trung M>
o Bn tng tng b nh l mt kho hng, cha tt c n hng v hng ha vo s
sch. Tt c hng ha c bn ra th trng ln lt theo trnh t n t hng, v
ngi ch qun l ch bit s th t n hng. bn sn phm, anh ta c s th t
n hng, s th t y i din cho mt khch hng c th, ngi ta vo kho, i
chiu s th t n hng bit tn khch hng, yu cu ca khch hng. S hng
ha, loi hng ha cn phi ly
o Ta ni c th hn bng cc con s d hnh dung: Ngi ch qun l thc
hin xong n hng th 3, anh c tip:
n n hng th 4
o Ngi ta vo kho hng ly n hng th 4. Trong n hng th 4 ghi: khch
hng Nguyn Vn A, ng A cn mua 10 chic o lng th, 100 qun b.
Ngi qun l nhn vo n hng v c tip:
10 o lng th
o Anh ph trch l hng o lng th vo kho ly s lng yu cu. Ngi
qun l c:
100 qun b
o Anh ph trch l hng qun b vo kho ly ng s lng y.
o Ngi ch l hng cho qua my m tng loi hng, c tn khch hng n
nhn hng v tip tc c:
n n hng th 5vv
Trong v d trn, ngi qun l lm nhim v ca thanh ghi PC, n hng l ch lnh
thc thi, cc ngi qun l kho hng l cc a ch truy cp vo vng nh d liu, my m
hng lm nhim v ca ALU, hon thnh ch lnh, ta phi truy cp b nh d liu 2 ln
<2 ln vo kho ly hng>. Nu ta lm vic trn thanh ghi, ch c cc mc 0-1 trn thanh
ghi l thay i sau mi ln truy cp vo vng nh hoc x l qua ALU.

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


B.III. Dng n gin ca b x l:
C th gm nhng phn c bn sau:
i. Program Counter (PC): thanh ghi gi a ch ca ch lnh hin ti.
ii. Thanh ghi tch ly (ACC): gi gi tr d liu khi ang lm vic.
iii. n v x l s hc (ALU): thc thi cc lnh nh phn nh cng, tr, gia
tng
iv. Thanh ghi ch lnh (IR): gi ch lnh hin ti ang thc thi.
Nhn x l n gin MU0 c pht trin u tin i hc Manchester-Anh Quc
l nhn x l c ch lnh di 16bit, vi 12bit a ch <8kBytes> v 4 bit opcode; cu trc
chun cho ch lnh c dng:

Hnh 2: Cu trc chun cho ch lnh ca MU0

V d n gin v thit k ng truyn d liu<datapath> ca nhn x l MU0:

Hnh 3: V d v ng truyn d liu ca MU0

Ta ang xt vic thit k cp chuyn i mc thanh ghi(RTL): PC ch n ch lnh


cn thc thi, load vo IR, gi tr cha trong IR ch n vng a ch nh, nhn gi tr, kt
hp vi gi tr ang cha trong ACC qua n v x l ALU to gi tr mi, cha vo
ACC. Mi ch lnh nh vy, ty vo s ln truy cp nh m tn s chu k xung nhp tng
ng. Sau mi ch lnh thc thi, PC s c tng thm.
B.IV. S qua v cch thit k cu trc tp lnh:
IV.1. Cu trc ch lnh c 4 a ch:
Hnh 4: Cu trc ch lnh c 4 a ch

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

Gii thiu ARM Bi Trung Hiu


IV.4.

Cu trc ch lnh c 1 a ch:


Hnh 7: Cu trc ch lnh c 1 a ch

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

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


i. Chu k lnh:
Thng thng, thc thi mt ch lnh, qu trnh c th bao gm cc bc sau:
1. Nhn lnh t b nh <fetch>
2. Gii m lnh, xc nh cc tc ng cn c v kch thc lnh <decode>
3. Truy cp cc ton hng c th c yu cu t thanh ghi <reg>
4. Kt hp ton hng y vi to thnh kt qu hay a ch b nh <ALU>
5. Truy cp vo b nh cho ton hng d liu nu cn thit <mem>
6. Vit kt qu ngc li bng thanh ghi <res>
ii. So snh CISC v RISC:
ii.a. Kin trc tp lnh RISC:
C cc c im quan trng sau:
Kch thc cc ch lnh l c nh <32 bit> vi ch mt vi nh dng.
<CISC c kch thc tp lnh thay i vi rt nhiu nh dng khc nhau>
S dng kin trc load-store cc ch lnh x l d liu hot ng ch
trong thanh ghi v cch ly vi cc ch lnh truy cp b nh <CISC cho
php gi tr trong b nh c dng nh nh ton hng trong cc ch lnh
x l d liu>
Gm mt s ln cc thanh ghi a dng 32 bit, cho php cu trc loadstore hot ng hiu qu. <CISC c rt nhiu thanh ghi, nhng hu ht
ch s dng cho mt mc ch ring bit no y-v d cc thanh ghi d
liu v a ch trong Motorola MC68000>
ii.b. T chc tp lnh RISC:
Gii m cc ch lnh logic bng kt ni phn cng <CISC s dng rt
nhiu code trong ROM gii m cc ch lnh>
Thc thi ch lnh theo cu trc dng chy <xem hnh di> <CISC t
khi cho php cc dng lnh thc thi kiu ny, chng phi tun t ht dng
lnh ny mi n dng lnh khc>

Hnh 9: Thc thi lnh theo cu trc dng chy

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:

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu

Nhng vt nh hn th c tn s hot ng t nhin ln hn


<cn trng p cnh nhanh hn b cu, b cu p cnh nhanh hn i
bng>

Khi ta t ra cc ch lnh phc tp, tuy n gn gi vi ngn ng


cp cao, nhng nh th, v tnh cng lm cc ch lnh khc phc tp ln,
v thc thi mt ch lnh nh vy cn tn nhiu chu k xung nhp. Trong
khi , nu dng RISC ch mt mt chu k xung nhp cho mi lnh, khi ta
phn nh vn phc tp thnh cc vn n gin th cch gii quyt s
tt hn.
ii.d. Tn s hot ng ti a ca RISC v CISC:
Nh v von trn, RISC nhnh hn, tuy nhin, cng c giai on CISC
c tn s xung nhp ln hn RISC, mc d vy, thi gian hon tt mt
lnh ca CISC cng chm hn RISC do 1 ch lnh ca CISC cn nhiu chu
k xung nhp hon tt.
ii.e. Nhng im bt tin ca RISC:
Khng phi RISC ch c iu thun li, n cng c mt vi bt cp, m
c th l:

M lnh ca RISC khng phong ph bng CISC.

Khng th thc thi cc m lnh ca x86.


im bt tin th 2 c k trn kh sa i, phi dng cc phn
mm h tr nn c s cho RISC, tuy nhin, vi my tnh ca IBM, c th
b t chi.
im bt tin th nht pht sinh v cu trc tp lnh ca RISC l c
nh, n s tr nn nghim trng<lm chm h thng> nu phi gii quyt
cc cng vic phc tp. Nu khng c b nh ph cache s dn ti vic
cn nhiu bng thng ca b nh chnh, iu lm tiu tn nhiu nng
lng.
C. Kin trc t chc ca ARM:
C.I. S lc v tn gi:
ARM lc u c t tn theo cng ty Acorn. ARM=Acorn RISC Machine (dch
mm na l chic my s dng tp lnh n gin ca cng ty Acorn). Sau ny, do c thm
nhiu cng ty cng pht trin v mt s l do khc, ngi ta thng nht gi ARM=Advance
RISC Machine.
C.II. S k tha cu trc:
Vi cc m hnh RISC ca Berkeley RISC I v II, Stanford MIPS, ARM k tha:
II.1. Cu trc c bn:
Cu trc load-store
Ch lnh c chiu di c nh <32bit>
Cu trc ch lnh c 3 a ch.
Thay v ch dng 1 chu k xung nhp cho tt c cc ch lnh, ARM thit k
sao cho ti gin s chu k xung nhp cho mt ch lnh, do tng c
s phc tp cho cc ch lnh n l.
II.2. M hnh thit k ARM:
phc v mc ch ca ngi dng: r0-r14: 15 thanh ghi a dng, r15 l thanh ghi
PC, thanh ghi trng thi chng trnh hin ti (CPSR). Cc thanh ghi khc c gi li cho
h thng <thanh ghi cha cc ngt chng hn>

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu

Hnh 10: Cc thanh ghi ca ARM

i. Thanh ghi trng thi chng trnh hin ti(CPSR)

Hnh 11: Cu trc ca thanh ghi trng thi chng trnh hin ti

Thanh ghi CPSR c ngi dng s dng cha cc bit iu kin.


N: Negative- c ny c bt khi bit cao nht ca kt qu x l ALU bng 1.
Z: Zero- c ny c bt khi kt qu cui cng trong ALU bng 0.
C: Carry- c ny c bt khi kt qu cui cng trong ALU ln hn gi tr 32bit v
trn.
V: Overflow-c bo trn sang bit du.
II.3. Cu trc load-store:
Cng nh hu ht cc b x l dng tp lnh RISC khc, ARM cng s dng cu trc
load-store. iu c ngha l: tt c cc ch lnh <cng, tr> u c thc hin trn
thanh ghi. Ch c lnh copy gi tr t b nh vo thanh ghi<load> hoc chp li gi tr t
thanh ghi vo b nh<store> mi c nh hng ti b nh.
Cc b x l CISC cho php gi tr trn thanh ghi c th cng vi gi tr trong b nh,
i khi cn cho php gi tr trn b nh c th cng vi gi tr trn thanh ghi. ARM khng h
tr cu trc lnh dng t b nh n b nh. V th, tt c cc lnh ca ARM c th thuc 1
trong 3 loi sau:
1. Ch lnh x l d liu: ch thay i gi tr trn thanh ghi.
2. Ch lnh truyn d liu: copy gi tr t thanh ghi vo b nh v chp gi tr t b nh vo
thanh ghi.<load-store>
3. Ch lnh iu khin dng lnh: Bnh thng, ta thc thi cc ch lnh cha trong mt vng
nh lin tip, ch lnh iu khin dng lnh cho php chuyn sang cc a ch khc nhau
khi thc thi lnh, ti nhng nhnh c nh, <lnh r nhnh> hoc l lu v tr li a ch
phc hi chui lnh ban u <ch lnh r nhnh v kt ni> hay l ln vng code
ca h thng <gi gim st-ngt phn mm>.
II.4. Tp lnh ca ARM:
Tt c lnh ca ARM u l 32bit:
C cu trc dng load-store.

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu

Cu trc lnh nh dng 3 a ch (ngha l a ch ca 2 ton hng ngun v ton


hng ch u l cc a ch ring bit)
Mi ch lnh thc thi mt iu kin.
C c ch lnh load-store nhiu thanh ghi ng thi.
C kh nng dch bit kt hp vi thc thi lnh ALU trong ch 1 chu k my.
Thumb code.
II.5. ARM C-Compiler:

Hnh 12: Cu trc ca b cng c h tr pht trin.

D. Lp trnh hp ng cho ARM:


D.I. Lnh x l d liu:
Lnh x l d liu ca ARM cho php thc thi cc lnh s hc, logic trn cc thanh ghi.
Nhng php ton dng ny c 2 tan t tham gia v sinh ra 1 kt qu duy nht. Trong 2 tan
hng ngun, ton hng th 2 c th l thanh ghi, gi tr tc thi, tan hng ny c th c
dch bit trc khi tham gia vo php tnh s hc m vn tnh l trong 1 chu k my.
+Tt c cc ton hng u c chiu di 32bit.
+Nu l 1 kt qu th n cng c chiu di l 32bit <tr trng hp nhn sinh ra kt qu
di 64bit>
+ARM s dng cu trc ch lnh c 3 a ch.
Cc lnh tan hc.

Hnh 13: Cc lnh ton hc

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu

Cc lnh logic.

Tc v chuyn gi tr cc thanh ghi.

Chc nng so snh:

Hnh 14: Cc lnh logic

Hnh 15: Tc v chuyn cc gi tr ca thanh ghi

Hnh 16: Chc nng so snh

.
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

D.IV. Khi to a ch pointer: <r15=PC>


D.V. nh a ch stack.
D.VI. Cc ch lnh iu khin dng lnh:
o Ch lnh r nhnh.
o Nhnh iu kin.
..vv
Do cc phn ny tng i n gin, v li ti cng khng mun ch trng vo nn ta
lc b qua. Bn xem thm sch ting Anh.
D.VII. Vit chng trnh n gin:
Xt chng trnh sau:
AREA HelloW,CODE,READONLY ;Khai bao vung code
SWI_SwiteC EQU &0
;Ki tu xuat o R0
SWI_Exit
EQU &11
;Ket thuc chuong trinh
ENTRY
;Diem bao hieu vao chuong trinh
START
ADR R1,TEXT
;R1 chi den vung dia chi cua TEXT
LOOP LDRB R0,[R1],#1
;R0:=[R1];R1:=R1+1
CMP R0,#0
;R0 chi toi gia tri cuoi hay chua
SWINE
SWI_WriteC
;Neu chua ket thuc in
BNE LOOP
;thi quay nguoc lai vong lap
SWI SWI_Exit
;Quay nguoc ve lai chuong trinh quan ly
TEXT ="Hello World",&0a,&0d,0
;Khai bao doan Text
END
;Chuong trinh ket thuc
;Do khng ch trng ti ASM nn lc qua phn ny.

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


E. Cch t chc v thc thi tp lnh ca ARM:
Cch t chc ca nhn ARM khng thay i nhiu trong khong 1983-1995:n ARM7s dng dng chy lnh s dng 3 tc v. T 1995 tr v sau, xut hin mt vi nhn
ARM mi c gii thiu c dng chy lnh s dng 5 tc v.
E.I. Dng chy lnh c 3 tc v:
Fetch-decode-Excute<nhn lnh, gii m, thc thi>

Hnh 17: Ch lnh mt chu k my s dng dng chy lnh c 3 tc v

Hnh 18: Dng chy lnh 3 tc v p dng trong trng hp 1ch lnh c nhiu chu k my

E.II. Dng chy lnh c 5 tc v:


<Fetch-decode-excute-buffer/data-write back>
Thi gian b x l thc thi mt chng trnh: Tprog =

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

Gii thiu ARM Bi Trung Hiu


liu D-cache l tch ri nhau> cng cho php gim ng k ti nguyn chim ca mi ch
lnh trong mt chu k my.
<ta c th quay li v d v von ban u vi n hng t ngay phng lm vic ca ngi
qun l>

Hnh 19: Cch t chc dng chy lnh c 5 tc v vi ARM9TDMI

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:

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu

Bng 2: Cc ch hot ng ca ARM v s dng thanh ghi

Bng 3: Cc a ch dng cho h thng

F.III. Thc thi cc iu kin:


iu kin cn thc thi nm trn 4 bit cao nht ca ch lnh.
Hnh 20: V tr cc bit iu kin trong ch lnh 32bit

T hp cc iu kin ny c quyt nh bi cc bit <N,Z,C,V> nm trong thanh ghi


trng thi chng trnh hin ti <CPSR>
Opcode
[31:28]
0000
0001

Mnemonic
extension
EQ
NE

Bng 0 hoc bng nhau


Khng bng

Z=1
Z=0

0010

CS/HS

C nh, cao hn s khng c du

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

Cng/dng hay zero


C trn

N=0
V=1

0111

VC

Khng trn

V=0

1000

HI

Ln hn s khng du

C=1 v Z=0

1001

LS

B hn hoc bng s khng du

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

2006 Khoa hc v tui tr

Trng thi c thc thi

Gii thiu ARM Bi Trung Hiu


Bng 4: Cc iu kin

F.IV. Ngt phn mm<SWI>:


Cc ch lnh ngt phn mm gi chng trnh gim st. N a vi x l vo ch
gim st ti a ch 0x0008.

Hnh 21: Ngt phn mm

Trng 24bit ca vector ny khng nh hng ti hot ng cc ch lnh nhng c


th tc ng ti code h thng. Nu vo c ch gim st, vi x l s:
+Lu a ch PC vo thanh ghi r14.
+Lu gi tr thanh ghi trng thi chng trnh chng trnh hin ti vo thanh ghi SPSR
+Vo ch gim st v khng cho php cc ngt bnh thng xy ra <nhng cc ngt nhanh
vn cn tc ng> bng cch gn CPSR[4:0]=100112 v CPSR[7]=1.
+gn PC=0x08 v thc thi cc ch lnh ti y.
tr v li chng trnh bnh thng sau SWI:
+Copy gi tr thanh ghi r14 vo PC.
+Ly li gi tr CPSR t SPSR
F.V. Lnh x l d liu:
V.1. M ha nh phn:
Xem cu trc mt ch lnh x l d liu:

Hnh 22: Cu trc mt ch lnh

V.2. Phn tch:


Nh ni cc phn trc, mi ch lnh ca ARM c 32bit, 2 ton t ngun v 1
tan t ch. Ton t ngun th nht l 1 thanh ghi, ton t ngun th 2 c th l 1 thanh ghi,
mt thanh ghi c dch(hoc xoay) bit, hoc l mt gi tr c th

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


i. Opcode:
C tt c 16 lnh opcode=[00002-11112]; tham kho c th bng bng sau:
Opcode

Gi lnh

ngha

Tc ng

0000
0001

AND
EOR

Logical bit-wise AND


Logical bit-wise exclusive OR

Rd:=Rn AND Op2


Rd := Rn EOR Op2

0010

SUB

Subtract

Rd := Rn Op2

0011

RSB

Reverse subtract

Rd := Op2 - Rn

0100

ADD

Add

Rd := Rn + Op2

0101

ADC

Add with carry

Rd := Rn + Op2 + C

0110

SBC

Subtract with carry

Rd := Rn Op2 + C - 1

0111

RSC

Reverse subtract with carry

Rd := Op2 - Rn + C - 1

1000

TST

Test

Sec onRn AND Op2

1001

TEQ

Test equivalence

Sec on Rn EOR Op2

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

Rd:=Rn ANDNOT Op2

Move negated

Rd:=NOT Op2

Bng 5: Bng Opcode

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:

Hnh 23: M ha nh phn cho ch lnh nhn

VI.2. Phn tch:


i. Opcode:
Gi lnh hp ng trong thanh ghi t 21-23 c cho bi bng sau:
Opcode
[23:21]
000
001

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

Nhn khng du 64bit

RdHi: RdLo := Rm * Rs

101

UMLAL

Nhn v tch ly gi tr khng du 64bit

RdHi: RdLo += Rm * Rs

110

SMULL

Nhn c du 64 bit

RdHi: RdLo := Rm * Rs

111

SMLAL

Nhn v tch ly gi tr 64bit

RdHi: RdLo+=Rm*Rs

Bng 6: Gi lnh hp ng cho php nhn

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


ii. Lnh hp ng:
MUL{<cond>}{S} Rd, Rm, Rs
MLA{<cond>}{S} Rd, Rm, Rs,
Rn
<mul>{<cond>}{S} RdHi, RdLo, Rm, Rs
vi <mul> l mt trong cc
lnh(UMULL, UMLAL, SMULL, SMLAL).
<Cc phin bn ARM c k hiu M trong tn l cc phin bn c h tr nhn 64bit-V d:
ARM7TDMI>
F.VII. Lnh chuyn d liu: byte khng du v 1 word:
VII.1. M ha nh phn:

Hnh 24: M ha nh phn cho cu trc truyn d liu dng byte khng du hoc word

VII.2. Lnh hp ng:<p135-136>


Dng nh ch s trc:
LDRlSTR{<cond>}{B} Rd, [Rn, <offset>]{!}
Dng nh ch s sau:
LDRlSTR{<cond>}{B}{T} Rd, [Rn], <offset>
Dng tng i nh thanh ghi PC: LDRlSTR{<cond>}{B} Rd, LABEL
F.VIII.
Lnh chuyn d liu: byte c du v na word:
VIII.1. M ha nh phn:

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu

Hnh 25: M ha nh phn chuyn d liu dng byte c du v na word

VIII.2. Ch thch:

Bng 7: M ha loi d liu

Bit S v H cho bit loi d liu truyn c quy c nh bng trn.


VIII.3. Lnh hp ng:
nh dng ch s trc:
LDR|STR{<cond>}H|SHI SB Rd, [Rn, <offset>] { ! }
nh dng ch s sau:
LDRlSTR{<cond>}H|SHlSB Rd, [Rn], <offset>
F.IX. Lnh chuyn d liu nhiu thanh ghi:
IX.1. M ha nh phn:

Hnh 26: M ha nh phn lnh chuyn d liu nhiu thanh ghi

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


IX.2. Ch thch:
Danh sch cc thanh ghi bao gm mt mng 16 bit thay th cho 16 thanh ghi t R0
n R15 <v tr bit tng ng vi s th t thanh ghi>. U=1 a ch nn tng v ngc li,
P=1, a ch nn tng trc v ngc li.
IX.3. Lnh hp ng:
LDMISTM{<cond>}<add mode> Rn{!}, <registers>
F.X. Lnh hon i gi tr ca b nh v thanh ghi:
X.1. M ha nh phn:

Hnh 27: M ha nh phn ch lnh i gi tr ca b nh v thanh ghi

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:

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu

Hnh 29: M ha nh phn ca lnh chuyn gi tr thanh ghi a dng vo thanh ghi trng thi

XII.2. Lnh hp ng:


MSR{<cond>} CPSR_f,
#<32-bit immediate>
MSR{<cond>}, SPSR_f,
#<32-bit immediate>
MSR{<cond>} CPSR_<field>,
Rm
MSR{<cond>} SPSR_<field>,
Rm
Vi <f-field>:
c iu khin field-PSR[7:0].
x Phn m rng ca field-PSR[15:8] (khng s dng m hnh ARMs hin ti).
s - trng thi field - PSR[23:16] (khng s dng m hnh ARMs hin ti).
f- C ca field -PSR[31:24].
XII.3. Ch :
+Ngi lp trnh khng thay i c gi tr CPSR[23:0]
+Trnh truy cp SPSR khi khng tht cn thit.
F.XIII.
Vng khng c dng trong cc ch lnh:
i. S hc:

Hnh 30: Vng lnh s hc m rng

ii. iu khin:

Hnh 31: Vng lnh iu khin m rng

iii. Load-store:

Hnh 32: Vng lnh chuyn d liu m rng

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu


iv. Vng lnh khng dng ti:

Hnh 33: Vng khng c nh ngha trong m lnh

F.XIV. Ghi ch:


bit thm chi tit v khoa hc hn v phn ny, bn c File: Assemler Guide ca
ARM Developer Suite c ti trang http://www.arm.com hoc c th load v ti y.
G. H tr ca kin trc ARM cho ngn ng cp cao:
H. Tp lnh Thumb:
<Cc phn ny, bn xem thm sch ting Anh ARM-SoC Architecture, ngay t u ti
khng mun i su vo cc t chc phn cng v hp ng, ta s cp n n phn khc,
khi ni v ng dng v lp trnh vi C-Compiler>
I. B nh cache:
Phn ny, ta tm lc v xem th ti sao li dng b nh ph cache? N gip ch g cho ta?
I.I.
Cache l g?-V sao phi dng cache:
Ni mt cch nhanh chng v n gin nht, cache l mt b nh trung gian gia b
nh chnh <ROM/RAM> v cc thanh ghi a dng, c p ng nhanh, cha cc dng lnh
hay dng. Khi m vic truy cp a ch hay gi tr vo cc b nh DRAM hoc ROM lun b
gii hn v p ng phn cng, cache c coi l mt gii php tt thch nghi.
Cu trc b nh ca cache cng c th phn ra 2 loi ring bit, loi cha chung vng
d liu v ch lnh, loi tch ri chng ra thnh 2 b nh ring bit, Ta thng gi l cu
trc von Neuman v cu trc Harvard.
I.II. Mt s hnh nh v cache:

Hnh 34: Cache dng chung cho vng nh d liu v a ch <Von-Neuman>

2006 Khoa hc v tui tr

Gii thiu ARM Bi Trung Hiu

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:

1. ARM-SoC Architecture - Steve Furber- Addison Wesley Publishing-ISBN: 0-201-67519-6


2. ARM Developer Suite -Assemler Guide 2001 ARM Limited

2006 Khoa hc v tui tr

You might also like