You are on page 1of 11

Basic Knowledges Of Microprocessor Technique

VI IU C BN TRONG K THUT VI X L
I. CU TRC PHN CNG CA MT VI X L Nhng kin thc c din t trong ti liu ny l nhng kin mang tnh ch quan m ngi vit mun san s vi cc bn c c cng mi quan tm v ch lin
quan n nhng vn c bn ca k thut vi x l ni chung, khng phi l kin

thc p dng cho mt loi vi x l c th. Trc ht trnh nhng bn khon ng tic trong khi nghin cu ti liu, ti xin c gii thiu i cht v 02 khi nim vi x l (microprocessor) v vi iu khin (microcontroller). V c bn hai khi nim ny khng khc nhau nhiu, vi x l l thut ng chung dng cp n k thut ng dng cc cng ngh vi in t, cng ngh tch hp v kh nng x l theo chng trnh vo
cc lnh vc khc nhau. Vo nhng giai on u trong qu trnh pht trin ca

cng ngh vi x l, cc chip (hay cc vi x l) c ch to ch tch hp nhng phn cng thit yu nh CPU cng cc mch giao tip gia CPU v cc phn cng
khc. Trong giai on ny, cc phn cng khc (k c b nh) thng khng c

tch hp trn chip m phi ghp ni thm bn ngoi. Cc phn cng ny c gi


l cc ngoi vi (Peripherals). V sau, nh s pht trin vt bc ca cng ngh tch

hp, cc ngoi vi cng c tch hp vo bn trong IC v ngi ta gi cc vi x l c tch hp thm cc ngoi vi l cc vi iu khin. Vic tch hp thm cc
ngoi vi vo trong cng mt IC vi CPU to ra nhiu li ch nh lm gim thiu

cc ghp ni bn ngoi, gim thiu s lng linh kin in t ph, gim chi ph cho thit k h thng, n gin ha vic thit k, nng cao hiu sut v tnh linh
hot. Trong ti liu ny, ranh gii gia hai khi nim vi x l v vi iu khin

thc s khng cn phi phn bit r rng. Chng ti s dng thut ng vi x l khi cp n cc khi nim c bn ca k thut vi x l ni chung v s dng thut ng vi iu khin khi i su nghin cu mt h chip c th. V c bn kin trc ca mt vi x l gm nhng phn cng sau: - n v x l trung tm CPU (Central Processing Unit). - Cc b nh (Memories). - Cc cng vo/ra song song (Parallel I/O Ports). - Cc cng vo/ra ni tip (Serial I/O Ports). - Cc b m/b nh thi (Timers).
Ngoi ra vi mi loi vi iu khin c th cn c th c thm mt s phn cng khc nh b bin i tng t-s ADC, b bin i s-tng t DAC, cc mch

iu ch dng sng WG, iu ch rng xung PWM B no ca mi vi x l chnh l CPU, cc phn cng khc ch l cc c quan
chp hnh di quyn ca CPU. Mi c quan ny u c mt c ch hot ng nht nh m CPU phi tun theo khi giao tip vi chng. c th giao tip v

iu khin cc c quan chp hnh (cc ngoi vi), CPU s dng 03 loi tn hiu c
1

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique bn l tn hiu a ch (Address), tn hiu d liu (Data) v tn hiu iu khin
(Control). V mt vt l th cc tn hiu ny l cc ng nh dn in ni t CPU

n cc ngoi vi hoc thm ch l gia cc ngoi vi vi nhau. Tp hp cc ng


tn hiu c cng chc nng gi l cc bus. Nh vy ta c cc bus a ch, bus d

liu v bus iu khin. C th m t s b cu trc phn cng ca m t vi x l theo hnh sau: B nh Cng vo/ra song song Ngoi vi B Ngoi vi D

Bus a ch n bit (n ng tn hiu) CPU Bus d liu m bit (m ng tn hiu) Bus iu khin (x tn hiu) Cng vo/ra ni tip B m Ngoi vi A Ngoi vi C

Sau y l m t s b v cc phn cng bn trong mt vi x l. 1. n v x l trung tm CPU: CPU c cu to gm c n v x l s hc v lgic (ALU), cc thanh ghi, cc khi lgic v cc mch giao tip.
Chc nng ca CPU l tin hnh cc thao tc tnh ton x l, a ra cc tn hiu a ch, d liu v iu khin nhm thc hin mt nhim v no do ngi

lp trnh a ra thng qua cc lnh (Instructions). 2. B nh: Nhn chung c hai loi b nh l b nh chng trnh v b nh d liu. B nh chng trnh dng cha m chng trnh hng dn CPU thc hin mt nhim v no . Thng thng th b nh chng trnh l cc loi b nh
khng bay hi (non-volatile), ngha l khng b mt ni dung cha bn trong khi

ngng cung cp ngun nui. C th k ra mt s b nh thuc loi ny nh: ROM, PROM, EPROM, EEPROM, Flash.
B nh d liu l b nh dng cha d liu (bao gm cc tham s, cc bin

tm thi). Ty thuc loi d liu m b nh loi ny c th l loi khng bay


hi hoc bay hi (mt d liu khi ct ngun nui). Loi bay hi thng thy

l cc b nh SRAM.

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique 3. Cng vo/ra song song: y l cc ng tn hiu c ni vi mt s chn ca IC dng giao tip
vi th gii bn ngoi IC. Giao tip y l a in p ra hoc c vo gi tr

in p ti chn cng. Cc gi tr in p a ra hay c vo ch c th wocj biu


din bi mt trong hai gi tr lgic (0 hoc 1). Trong k thut vi x l, ngi ta

thng dng quy c lgic dng: gi tr lgic 0 ng vi mc in p thp xp x 0VDC, gi tr lgic 1 ng vi mc in p cao xp x +5VDC. Ty loi vi x l
m khong xp x l khc nhau nhng nhn chung l tng thch vi mc

lgic TTL. Mi cng vo/ra song song thng gm 08 ng vo/ra khc nhau v gi l cc cng 08 bit. Cc ng tn hiu vo/ra ca cc cng v thuc cng mt cng l c lp vi nhau. iu c ngha l ta c th a ra hay c vo cc gi
tr lgic khc nhau i vi tng chn cng (tng ng tn hiu vo/ra). Mt iu cn ch na i vi cc cng vo/ra l chng c th c tch hp thm (ni

ng hn l kim thm) cc chc nng c bit lin quan n cc ngoi vi khc. 4. Cng vo/ra ni tip: Khc vi cng song song, vi cng ni tip cc bit d liu c truyn ln lt
trn cng mt ng tn hiu thay v truyn cng mt lc trn cc ng tn hiu khc nhau. Thng thng th vic truyn d liu bng cng ni tip phi tun theo mt c ch, mt giao thc hay mt nguyn tc nht nh. C th k ra mt s giao

thc nh SPI, I2C, SCI Cng ni tip c 02 kiu truyn d liu chnh:
Truyn ng b (synchronous): thit b truyn v thit b nhn u dng chung

mt xung nhp (clock).


Truyn d b (asynchronous): thit b truyn v thit b nhn s dng hai ngun

xung nhp ring. Tuy nhin hai ngun xung nhp ny khng c khc nhau qu nhiu. Xung nhp l yu t khng th thiu trong truyn d liu ni tip v n c vai
tr xc nh gi tr ca bit d liu (hay ni ng hn l xc nh thi im c

mc lgic trn ng truyn d liu). Cng ni tip c th c mt trong cc tnh nng sau: n cng: thit b ch c th hoc truyn hoc nhn d liu. Bn song cng: thit b c th truyn v nhn d liu nhng ti mt thi im ch c th lm mt trong hai vic . Song cng: thit b c th truyn v nhn d liu ng thi. 5. B m/B nh thi: y l cc ngoi vi c thit k thc hin mt nhim v n gin: m cc xung nhp. Mi khi c thm mt xung nhp ti u vo m th gi tr ca b m s c tng ln 01 n v (trong ch m tin/m ln) hay gim i 01 n v (trong ch m li/m xung). Xung nhp a vo m c th l mt trong hai loi: Xung nhp bn trong IC. l xung nhp c to ra nh kt hp mch dao
ng bn trong IC v cc linh kin ph bn ngoi ni vi IC. Ta c th v l nhp tim ton b cc phn cng bn trong vi x l (bao gm c CPU v cc 3

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique ngoi vi) c th hot ng c. Trong trng hp s dng xung nhp loi ny,
ngi ta gi l cc b nh thi (timers). Do xung nhp bn loi ny thng u

n nn ta c th dng m thi gian mt cch kh chnh xc.


Xung nhp bn ngoi IC. l cc tn hiu lgic thay i lin tc gia 02 mc 0-1v khng nht thit phi l u n. Trong trng hp ny ngi ta gi l cc b m (counters). ng dng ph bin ca cc b m l m cc s kin bn

ngoi nh m cc sn phm chy trn bng chuyn, m xe ra/vo kho bi


Mt khi nim quan trng cn phi ni n l s kin trn (overflow). N c hiu l s kin b m m vt qu gi tr ti a m n c th biu din v quay

tr v gi tr 0. Vi b m 8 bit, gi tr ti a l 255 v l 65535 vi b m 16 bit. Ngoi cc phn cng nu trn cn phi k n mt khi lgic khc l khi
giao tip bus. Khi ny c chc nng ghp ni gia cc bus bn trong chip v cc chn a ra ngoi chip. Mc ch ca vic a cc tn hiu a ch, d liu v iu khin ra ngoi l nhm m rng kh nng phi ghp thm ca vi x l vi cc

ngoi vi khc (ch yu l cc b nh ngoi) ngoi cc ngoi vi c tch hp trn


IC. Thng thng th s lng cc ng tn hiu l gi nguyn khi a ra ngoi chip, tuy nhin trong mt s trng hp s lng cc ng tn hiu c th nh hn s lng thc bn trong (v d nh trng hp ca vi x l 8088, bus d liu

bn trong l 16 bit nhng a ra ngoi ch c 8 bit). Khi a ra ngoi, cc tn hiu


a ch v d liu c th c ghp vi nhau (cng s dng chung mt s chn no

) hoc c tch ring (tn hiu a ch dng mt s chn, tn hiu d liu dng
mt s chn khc). Ngi ta thng dn knh (multiplex), tc l ghp chc

nng, gia bus a ch v bus d liu gim thiu s chn cn thit. Trong trng hp ny, tn hiu a ch s xut hin trc, sau l tn hiu d liu trn cng mt tp hp cc ng tn hiu. tch c 2 loi tn hiu th nh sn xut cung
cp cho ngi s dng mt ng tn hiu iu khin c tn l tn hiu cht a

ch (thng k hiu l ALE). Tn hiu ny s tch cc khi tn hiu a ch xut hin v khng tch cc khi tn hiu d liu xut hin trn bus. Cc IC thch hp vi vic tch tn hiu a ch v d liu l cc IC thuc h 74xx373/374 hoc 74xx573/574. Trn y l m t s b cu trc phn cng ca mt vi x l. Trc khi i tip, ti xin chia s vi bn mt kinh nghim qu bu khi nghin cu k thut vi x l. l bn phi bit chp nhn. ng! K thut vi x l khng phi l mt ci g tm linh, l mt mn khoa hc c c c s l thuyt v minh chng thc t r rng, ng n. Tuy nhin s l khng sai nu ti ni rng n cng rt
tru tng. i vi bn, khi cc bn ang c nhng dng ch trong ti liu ny,

chng ta ngm hiu rng bn mi ch bt u qu trnh nghin cu. l mt lnh


vc c th ni t nhiu mi m v bn chc chn hu nh cha c nhiu hnh dung v ci g ang din ra trong mt con chip ch b bng u ngn tay! iu lm

bn cng nh ti trc y, v ti ngh l ng vi tt c nhng ai tng nghin cu k thut vi x l, cm thy c ci g tht tru tng, kh hiu, rt gy t
m trong cc khi nim (d l khi nim n gin) lin quan n lnh vc ny. 4

Chng ta khi mi bt u u t a ra nhng cu hi cho mnh i loi nh: ti Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique sao vi x l c th lm c nhiu vic n vy? ci g din ra bn trong chip khi chng ta cp ngun nui cho n? ti sao ta li c th tc ng n timer hay cc
ngoi vi khc thng qua cc dng lnh vit cho CPU? hoc thm ch l mch in

bn trong mt vi x l, mt ngoi vi, mt cng vo/ra nh th no? Nhng bn c bit nu i tm cu tr li cho nhng thc mc , bn s c th mt rt nhiu thi
gian, cng sc m hiu qu nghin cu s khng cao, v cho n khi tm thy cu

tr li tha mn cho mt vn m bn bn khon, c th bn qun mt mt


vi hay tt c nhng kin thc cn li! Nh ti ni, khi mi bt u nghin cu, bn hy chp nhn nhng kin thc c bn nh chp nhn cc tin . Hy coi l nhng ci m ngi ta xy dng nn mt cch ng n, gi y bn khng phi m t cng tm ti, chng minh s ng n ca chng. Thay vo , bn ch cn tip thu v tha hng. Hy cng nhn chng nh mt iu g hin nhin. Mt cch n gin, bn khng cn phi tm hiu vn n mc r rng

tng ng tn hiu trong mt mch in c tch hp b xu trong chip. Vo lc ny (vng, ti ni l vo lc ny!), bn ch cn bit, ci mch in ngi ta gi l ci b m, l ci cng vo/ra, chc nng ca chng l g, nguyn l hot ng ra sao v iu khin c chng th cn phi lm nhng g (c th l phi vit nhng g trong khi lp trnh). Tuy nhin, ni nh vy khng c ngha ti
khuyn cc bn hc mt cch hng, khng cn n kin thc c bn. Nu bn l ngi c t nhiu kin thc in t (c bit l in t s), bn qu l may mn khi c mt nn tng kin thc vng chc khi tip cn vi k thut vi x l. Bn

c th hiu d dng cu to ca mt b m, nguyn l hot ng ca n v chc chn bn thy d dng tip thu hn nu nh trong bi hc ti ni vi bn rng
trong vi iu khin h 8051 c tch hp t nht 02 ngoi vi gi l cc b m. l v bn c nhng khi nim c bn, nhng hnh dung v nhng ci gi l b m. Nu cha c nhng khi nim c bn, cha c nhng mng tng s b, bn s cm thy kh hiu, nhng s kh hiu chnh l l do chng ta lm vic vi nhau! Ch cn kin nhn i cht, nhng g bn phi chp nhn mt cch

gng p v i khi c v nh v l vo lc ny, bn s nhn li c cu tr li


tha mn trong qu trnh tm hiu k thut vi x l cng ti, c bit khi bn

nghin cu v thc hnh vi cc vi iu khin c th. II. NGUYN L HOT NG CA MT VI X L


Trc ht, ti s ni qua v mt khi nim rt hay c nhc ti trong k

thut vi x l khng gian a ch. N c hiu l s lng a ch m CPU c th phn bit c. Trong mt b nh c rt nhiu nh v CPU thng phi truy nhp (ghi hoc c) n tng nh c th, do CPU tt nhin phi phn bit
c cc nh ring r vi nhau. Mi nh cn phi c mt a ch gn vi n.

a ch ny ch dnh ring cho nh , khng trng vi a ch ca mt nh


no khc, khi truy nhp ti a ch tc l truy nhp n nh . Ngoi nh,

trong vi x l cn c mt s phn cng khc cng cn c mt a ch dnh ring cho n nh cc thanh ghi iu khin, cc thanh ghi d liu Thng th hu nh
tt c nhng phn cng cn c truy nhp hay tc ng n u phi c gn

vi mt hay nhiu a ch. Ly v d, c th giao tip v iu khin mt b m (timer/counter), CPU cn phi tc ng n cc thanh ghi quy nh ch hot
5

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique ng, thanh ghi cha s m ca b m . Cc thanh ghi ny u c a ch gn ring cho chng v nh cc a ch m CPU c th ghi/c gi tr ca cc thanh ghi, qua tc ng ln b m. Vi x l hot ng theo mt s nguyn tc c bn sau: Cc thao tc tnh ton x l s c vi x l, hay ni ng hn l CPU, thc hin theo cc ch dn (chnh l cc lnh) t trong b nh chng trnh.
ng nhin trong b nh chng trnh khng c nhng ch dn kiu nh

hy a in p +5VDC ra chn cng A! hay dng ci b m li, ng cho n m thm mt xung nhp no na! hay hy tm thi ch
y cho n khi no in p ti chn B c gi tr lgic bng 0!. l ngn

ng ca con ngi, cc vi x l khng nghe c v ng nhin khng hiu c nhng cu , chng ch c th nhn bit c hai v ch hai gi tr lgic tri ngc nhau m thi. Hai gi tr lgic tri ngc nhau c th l
en-trng, khng-c, cao-thp iu khng quan trng, ci quan trng l v mt vt l (in hc), nh mt c ch no m khi c ni dung ca

b nh hay c gi tr lgic ca mt cng vo ra, vi x l c th phn bit


c khi no gi tr c c l gi tr lgic th nht v khi no th khng

phi th. Theo truyn thng ngi ta quy nh chung rng cc gi tr lgic
l 0 v 1. Biu th cc gi tr lgic theo quy c lgic dng l in p cao (xp x +5VDC) cho gi tr 1 v in p thp (xp x 0VDC) cho gi

tr 0. Nh vy, thay v ni vi vi x l rng hy a ra gi tr lgic 1 ti chn cng A!, ngi ta m ho cu ni thnh mt chui cc bit lgic 01 (v d 00001010 chng hn) ri t trong b nh chng trnh ca IC. CPU khi cp ngun nui s c v tt nhin n hiu ci chui 0-1 c ngha l g v n s thc hin theo ngha ca lnh n dch ra t chui 0-1
. Vy ti sao n hiu c? Xin tr li l bn li lan man ri y! N hiu c n gin v ngi ta ch to ra nh th ri. Hy bit chp nhn

nh vy vo lc ny! Vic thc hin cc lnh s din ra tun t (lnh a ch thp hn c thc hin trc) bt u t a ch reset.
a ch reset l a ch ca b nh chng trnh m ti , sau khi c cp

ngun nui, CPU s bt u c v thc hin theo ch dn c m ha t ti . Mi loi vi x l c mt a ch reset ring (thng l t 0000H) do nh sn xut quy nh. Cc lnh c thc hin tun t l nh c thanh ghi b m chng trnh(PC).
Thanh ghi ny cha a ch ca nh cha m ca lnh tip theo s c

thc hin. Khi CPU tm np c m ca lnh n, thanh ghi PC s t ng tng ln 1 n v tr vo nh cha m ca lnh (n+1).
6

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique CPU thc hin mt lnh theo cc bc nh. Thng th cc bc bao gm: tm np m lnh (fetch-tc l truy cp b
nh chng trnh, c ly gi tr ti nh c a ch tr bi thanh ghi PC, lu vo mt thanh ghi chuyn dng cha m lnh trong CPU), gii m lnh

(decode-gii m gi tr ly c v ang t trong thanh ghi cha m


lnh trong CPU), cui cng l thc hin lnh (execute-thc hin ch dn c gii m ra t m lnh c c). Nhng vi x l u tin c thit k

vi phng thc thc hin lnh mt cch thun tun t, ngha l thc hin
tun t 3 bc i vi lnh th n ri mi thc hin 3 bc tip theo ca

lnh th (n+1).

Np m lnh n

Gii m lnh n

Thc hin lnh n

Np m lnh n+1

Gii m lnh n+1

Thc hin lnh n+1

Sau ny, cc vi x l c thit k vi CPU c module ha thnh tng phn ring bit c hot ng kh c lp vi nhau, do m cu trc x l
ng ng (pipeline) ra i. Vi cu trc ny, cc bc nh trong vic thc hin cc lnh s c gi ln nhau, trong khi mt phn cng ca CPU thc

hin bc 3 (thc hin lnh) ca lnh n th mt phn cng khc ca CPU


thc hin vic gii m lnh tip theo (lnh th n+1), v ng thi mt phn

cng khc na trong CPU tm np m ca lnh th (n+2).


Np m lnh n Gii m lnh n Np m lnh n+1 Thc hin lnh n Gii m lnh n+1 Np m lnh n+2 Thc hin lnh n+1 Gii m lnh n+2 Np m lnh n+3 Thc hin lnh n+2 Gii m lnh n+3 Thc hin lnh n+3

Vi cu trc x l ng ng, tc x l ca CPU c nng cao r rt


v tt c nhng vi x l ngy nay u c thit k vi CPU theo cu trc

x l ny. Ngn xp(Stack): L mt on b nh (thng t trong RAM) dng cha a ch tr v ca trong cc trng hp chng trnh con hoc chng trnh phc v ngt c gi. Ngoi ra ngn xp cn dng lu cc d liu tm thi. Ngn xp hot ng theo c ch vo sau ra trc (LIFO-Last In First Out). Thanh
7

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique ghi con tr ngn xp (SP-Stack Pointer) l thanh ghi c ni dung l a ch ca nh trn cng ca ngn xp. Gi tr ca SP c tng gim mt cch
t ng. Ngn xp l phn cng v cng quan trng trong vi x l, n tham

gia vo cc thao tc r nhnh (tr thao tc nhy) ca chng trnh. Ngi


lp trnh phi ht sc cn thn khi gn gi tr khi to cho SP trnh s c

trn ngn xp hoc ngn xp trng vi cc vng nh lu d liu khc. Khi xy ra mt trong cc s c trn, s khng c cch no kim sot c hot
ng ca vi x l v c th gy thit hi ln i vi h thng. Ging nh mt tr chi, khi bn tham gia v v mt l do no phm vo mt trong hai li , tt c nhng g bn s nhn c trn mn hnh l dng ch

GAME OVER! Vy th no l a ch tr v? Nh ni trn, vi x l thc hin cc lnh mt cch tun t: lnh 1, lnh 2,, lnh n, lnh n+1Tuy nhin i khi n gp phi mt lnh gi
chng trnh con v do phi chuyn sang thc hin chng trnh con . on m lnh ca chng trnh con thng nm mt ni khc trong b

nh chng trnh, tc l c a ch khng lin tip vi lnh gi chng trnh con. Nhc li rng thanh ghi PC lc ny ang cha a ch ca lnh tip sau lnh gi chng trnh con. CPU ch bit thc hin nhng g c ti a ch
cha trong PC, do vy m PC cn phi c np gi tr mi l a ch ca m lnh u tin ca chng trnh con. Vic np gi tr mi cho PC c thc hin mt cch t ng khi bn gi mt chng trnh con, ngoi ra a ch ca lnh tip sau lnh gi chng trnh con trong chng trnh chnh

cng c t ng lu li sau khi thc hin xong chng trnh con, CPU
s c th quay li thc hin tip chng trnh chnh mt cch ng ch, tun

t nh khng c chuyn g xy ra. Ni lu gi mt cch t ng a ch tr


v (a ch ca lnh tip sau lnh gi chng trnh con) y chnh l ngn

xp. Ngi ta thc hin vic chia chng trnh chnh thnh cc chng trnh con (l cc on chng trnh thc hin mt nhim v c th) d dng cho vic lp trnh v d li. Bn s dn c c k nng chia nh chng trnh chnh thnh cc chng trnh con mt cch hp l trong qu trnh lp trnh cho vi x l. Ngn xp cng c vai tr tng t nh i vi ngt. Vy ngt l g?
l nhng yu cu do cc ngoi vi (l cc phn cng tch hp trn IC hoc cc tc ng t bn ngoi) gi ti CPU nhm i hi nhng p

ng nht nh. Mc ch ca vic thit k c ch ngt trong vi x l l nhm


tit kim thi gian cho CPU. Trong hu ht cc trng hp, vi x l cn phi thc hin nhiu nhim v trong thi gian rt ngn v lin tc. c th p ng kp thi vi cc s kin cn x l, CPU c th tin hnh thm d

(polling) lin tc cc s kin xem khi no chng xy ra th x l, p ng


li. Tuy nhin nu lm vy th lng ph rt nhiu thi gian ca CPU trong khi cn c rt nhiu nhim v khc ang ch c thc hin, ngoi ra CPU

khng th thm d nhiu s kin cng mt lc c. Ngi ta to ra ngt


8

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique CPU khng phi thm d lin tc mt hay nhiu s kin . Bng cch ghp
cc s kin cn p ng vi cc c ch ngt khc nhau, khi mt s kin no

xy ra, phn cng ph trch ngt tch hp trn CPU s t ng bo cho CPU bit rng s kin xy ra. CPU s dng cng vic ang lm li (nhng phi thc hin xong lnh ang c thc hin, d mi ch giai on tm np m lnh), v chuyn sang p ng bng cch thc hin chng
trnh phc v ngt tng ng. p ng xong, tc l x l xong s kin gy ra ngt, CPU s tip tc quay li lm tip cng vic ang dang d (ng nhin l nh hot ng ca ngn xp). Ni n ngt khng th khng ni

n mc u tin ca cc loi ngt khc nhau. C 02 loi mc u tin ngt


c bn l u tin gia cc ngt xy ra ng thi (ngt A v ngt B xy ra

ng thi cng mt lc) v u tin gia cc ngt xy ra khc thi im


(ang thc hin chng trnh phc v ngt A th li xy ra ngt B). Trong c

hai trng hp, ngt c mc u tin cao hn s lun c phc v ngay lp tc. Ty loi vi x l m mc u tin c th thay i c linh hot hoc c nh. Khc vi chng trnh con, thi im thc hin chng trnh phc v ngt trong hu ht cc trng hp l nm ngoi s kim sot ca ngi lp trnh do ngt c th xy ra bt k thi im no, khi CPU ang thc hin bt k mt lnh no trong chng trnh chnh.
V th c ch hot ng mt cch t ng ca ngn xp l khng th thiu trong mt vi x l. Cng v th m cn phi xem xt k lng vic s dng cc ti nguyn (thanh ghi, nh, bin, thm ch l cc ngoi vi) ca

cc chng trnh phc v ngt trnh tranh chp vi chng trnh chnh. Thng thng th khi vo u chng trnh phc v ngt, ngi ta lu li
nhng ti nguyn dng chung trc khi thay i chng. Kt thc chng trnh phc v ngt, cc ti nguyn s c khi phc li gi tr ca chng trc khi tr v chng trnh chnh. Thc hin cc thao tc lu tr v khi phc ny ng nhin lin quan n ngn xp, ch c iu khng phi thc hin mt cch t ng bi CPU m phi do ngi lp trnh ch ng thc hin bng cc lnh. Ngi lp trnh phi quyt nh ct nhng g v ly ra nhng g! Cng phi ch n c ch hot ng vo sau ra trc ca ngn xp v ct i bao nhiu th phi ly ra by nhiu. Nu khng bn s phm phi mt li tng t nh trn ngn xp v ch c Cha mi bit c chuyn g s xy ra khi a ch tr v khng c np ng vo thanh ghi

PC. Mt trong nhng ti nguyn hay b thay i khi thc hin chng trnh phc v ngt l cc c trng thi ca CPU. l cc bit th hin trng thi hin thi ca CPU v ca kt qu thc hin cc lnh. Cc c ny thng c ghp vi nhau thnh mt thanh ghi v c gi l thanh ghi trng thi. III. LP TRNH CHO MT VI X L
Sau khi thit k xong phn cng, bn phi tin hnh lp trnh cho vi x l hon thin sn phm ca mnh. Vi x l c th c lp trnh bng ngn ng bc

cao hay ngn ng bc thp. Ngn ng bc thp l ngn ng c thit k ring


9

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique cho tng loi vi x l v thng c gi l hp ng (Assembly). Ngn ng bc cao l cc ngn ng gn vi ngn ng ca con ngi v ging nhau cho nhiu loi vi x l. Mi loi ngn ng u c u v nhc im ring. Vi nhng ngi mi
bt u nghin cu v k thut vi x l, theo kinh nghim ca ring bn thn, ti cho rng nn bt u vi ngn ng bc thp. C mt s im ng lu khi bn

lp trnh cho mt vi x l. l: Trc tin bn phi hiu r c cc ch a ch ca vi x l . Ch a ch chnh l cch ch ra ton hng nm u. Ton hng l cc tham s, cc hng s, cc nh, cc thanh ghi, cc bit, cc chay ni chung l cc i tng tham gia vo vic thc hin lnh. Thng thng th
mt ton hng (v d nh mt thanh ghi) c th c tr n bng mt vi ch a ch khc nhau. Mi ch a ch c th mnh ring ca n v

ty tng trng hp m ta nn chn ch thch hp khi lp trnh.


Sau bn phi nm bt c tp lnh (Instruction Set) ca vi x l Tp lnh l tt c nhng lnh m vi x l c th hiu c, c th thc hin .

c. Mi lnh u c m ha (hay c quy c) bi mt chui cc bit 0 v 1. Cc vi x l khc nhau th c tp lnh khc nhau do nh sn xut chip cung cp. Trc khi bt u vit cc lnh c th, bn nn vit lu thut ton thc hin cc nhim v c th. Lu thut ton l s din gii trnh t thc hin cc nhim v mt cch lgic v lin mch. Vit lu thut ton ngay c cho cc chng
trnh ht sc n gin l mt thi quen rt tt ngay c khi bn l mt cao th trong lp trnh vi x l. Ch cn mt cht thi gian thc hin cng vic

ny, bn s c c ci nhn va bao qut va chi tit i vi chng trnh


mnh nh vit, nh m bn lp trnh nhanh hn, hiu qu hn v d dng

pht hin ra li v thut ton x l nu chng trnh chy khng nh mun. i vi bn thn ti m ni, ti cho rng vit cc dng lnh cho mt
vi x l khng phi l kh, ngc li n rt d, ci kh l bn phi bit c

mnh phi vit nhng g hay ni ng hn l phi tm ra mt lu thut


ton ng n. Khi tm ra con ng i ng v hiu qu, tt c nhng g cn li phi lm l th hin cc thao tc x l bng cch lnh ca vi x l - mt cng vic m bt c ai nm r tp lnh ca vi x l u c th lm tt. Khi lu thut ton bn lp ra l ng, nu sau khi lp trnh m vi x l hot ng khng nh mong mun th li ch c th l do bn cha th hin bng cc dng lnh mt cch ng n nhng g lp ra m thi. Dn dn, kinh nghim tch ly c s ch cho bn cch th hin ng mt lu

bt k thm ch ngay ln u tin v theo nh cch chng ti vn ni a trong chuyn mn, trnh lp trnh ca bn t n cp plug and play!

10 Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique Chng trnh s c vit trong mt file m ngun (thng c ui l ASM). Phn mm trn my tnh c tn l Trnh bin dch (Compiler) s dch file m ngun sang mt file c ui l OBJ. File ny cha thng tin cn thit c th chuyn i sang file c ui HEX
hay file c ui BIN (l cc file cha m chng trnh c chuyn sang dng Hexa hay Binary) c th np vo trong b nh chng trnh ca vi

x l. Trong khi lp trnh, hy c bit lu n cc tnh hung r nhnh ca chng trnh.


Cc tnh hung bao gm cc lnh nhy v iu kin, cc lnh nhy c iu kin, cc lnh gi chng trnh con, cc tnh hung xy ra ngt v

ng nhin phi ch n cc phn cng lin quan nh ngn xp hay cc c trng thi. Vi mi loi vi x l/vi iu khin li c nhiu hng cung cp cc phn mm trn my tnh dng son tho v bin dch. Cc phn mm ny c cc t kha khc nhau m ngi lp trnh phi tun
th khi s dng. T kha l cc k hiu c th hin bng cc k t, c

vit trong file m ngun nhng n khng phi l lnh ca vi x l, ng nhin khng c dch ra m my, ch l cc ch dn cho phn mm trn
my tnh thc hin bin dch cc file m ngun sang m my mt cch

chnh xc.

11 Written by Nguyen Xuan Kien

You might also like