You are on page 1of 54

TrngihcBchkhoaHNi

Bmniukhintng

Ni dung
Tiliutmttbiging

1 MU ................................................................................................................................5

H THNG IU KHIN NHNG 1.1


1.2
Cckhinimvhnhng......................................................................................5
Lnhvcngdngcahnhng...........................................................................7
1.3 cimcngnghvxuthphttrincahnhng .....................................8
(EmbeddedControlSystems) 1.3.1 cimcngngh.....................................................................................8
1.3.2 Xuthphttrinvstngtrngcahnhng .................................9
TS.LuHngVit 1.4 Mcchvnidungmnhc.............................................................................10
2 CUTRCPHNCNGHNHNG........................................................................11

2.1 Ccthnhphnkintrccbn...........................................................................11

2.1.1 nvxltrungtmCPU.....................................................................11

2.1.2 Xungnhpvtrngthitnhiu ..............................................................13

2.1.3 Busach,dliuviukhin............................................................16

2.1.4 Bnh ..........................................................................................................17

2.1.5 Khnggianvphnvngach............................................................21

2.1.6 Ngoivi........................................................................................................21

2.1.7 Giaodin......................................................................................................33

2.2 Mtsnnphncngnhngthngdng(P/DSP/PLA) ...............................37

2.2.1 ChipVixl/Viiukhinnhng .......................................................37

2.2.2 ChipDSP......................................................................................................39

2.2.3 PAL...............................................................................................................41

3 CSKTHUTPHNMMNHNG....................................................................48
3.1 cimphnmmnhng ..................................................................................48
3.2 Biudinsvdliu ...........................................................................................48
3.2.1 Cchthngcs......................................................................................48
3.2.2 Snguyn ....................................................................................................48
3.2.3 Sduphytnh.........................................................................................50
3.2.4 Sduphyng.......................................................................................51
3.2.5 Mtsphptnhcbn ............................................................................52
3.3 Tplnh ....................................................................................................................55
3.3.1 CutrctplnhCISCvRISC...............................................................55
3.3.2 nhdnglnh ...........................................................................................57
3.3.3 Cckiutruynachtontlnh .......................................................57
3.3.4 Nguynlthchinpipeline.....................................................................60
3.3.5 Harzard ........................................................................................................61

1 2
3.4 Ngnngvmitrngphttrin .....................................................................63
3.4.1 Ngnng.....................................................................................................63
3.4.2 Bindch ......................................................................................................65
3.4.3 Simulator .....................................................................................................70
3.4.4 Emulator ......................................................................................................71
3.4.5 Thitkhthngbngmytnh .............................................................71

4 HIUHNHNHNG ...............................................................................................73

4.1 Hiuhnh............................................................................................................73
4.2 Bnpkhito(Bootloader) ..................................................................................74
4.3 Ccyucuchung...................................................................................................76
4.4 Hiuhnhthigianthc ..................................................................................77
5 KTHTLPTRNHNHNG .....................................................................................81

5.1 Tcvvqutrnh(process) ..................................................................................81

5.2 Lplch(Scheduling) ................................................................................................81

5.2.1 Cckhinim..............................................................................................81

5.2.2 Ccphngphplplchphbin ........................................................82

5.2.3 Kthutlplch .........................................................................................85
5.3 Truynthngvngb.......................................................................................87
5.3.1 Semaphore ...................................................................................................87
5.3.2 Monitor ........................................................................................................89
5.4 Xlngt .................................................................................................................90
6 THITKHNHNG:THPPHNCNGVMM.......................................93
6.1 Quitrnhphttrin .................................................................................................93
6.2 Phntchyucu.....................................................................................................93
6.3 Mhnhhoskinvtcv ..............................................................................93
6.3.1 PhngphpmhnhPetrinet................................................................93
6.3.2 QuicbiudinmhnhPetrinet ........................................................94
6.3.3 MtcctnhhunghotngcbnviPetrinet ............................95
6.3.4 Ngnngmtphncng(VHDL) ....................................................103
6.4 Thitkphnmmiukhin............................................................................104
6.4.1 Mhnhthcthibiukhinnhng .................................................104
6.4.2 VdthcthibiukhinPIDs ......................................................106
TILIUTHAMKHO ........................................................................................................108

3 4

1 M U
K nguyn cng ngh mi v ang tip tc pht trin khng ngng nhm thng
minhhohinihothngsutcchthng.Cthninhdusraivpht
trincahnhngtrctinphiknsraicaccbvixl,viiukhin.
NcnhdubisraicaChipvixlutin4004vonm1971chomc
chtnhtonthngmibimtcngtyNhtbnBusicomvsaucchp
cnhvphttrinvtbcbiInteltrthnhccbsiuxlnhccChipc
ngdngchoPCnhngynay.Thpk80cthccoilkhiimbtuk
nguyncasbngnvphttrincchnhng.Tkhinguncholnsngra
icahnglotccchngloivixlvgnlinlcchnhngthmnhprng
khptrongccngdnghngngycacucsngchngtavdnh,ccthitbin
tsdngchosinhhothngngy(lvisng,TV,tlnh,mygit,iuho...)v
vnphnglmvic(myfax,myin,myinthoi...)...Ccbvixlvphnmm

cngngycngcsdngrngritrongrtnhiucchthngnh.Ccloivix
lcsdngtrongcchthngnhnghinnayvtxasoviPCvslng
Hnh11:Mtvihnhnhvhnhng
chng loi (chim n 79% s cc vi x l ang tn ti [2] ) v vn cn tip tc pht
trinnhmpngvthomnrtnhiungdngadng.Trongsvncn Hthigianthc?
ng dng c cc Chip vi x l 8 bit, 16 bit v hin nay ch yu vn l 32 bit (chim Trongccbitoniukhinvngdngchngtarthaygpthutngthigian
khong75%).Gnlinvisphttrinphncng,phnmmcngphttrinvi thc.Thigianthccphilthigianphnnhvtrungthccathigianhay
tcnhanhkhngthuakmthmchstngnhanhhnrtnhiutheosphttrin khng? Thi gian thc c phi l hin th chnh xc v ng b theo ng nh nhp
hnhng. ng h m thi gian hay khng? Khng phi hon ton nh vy! Thc cht, theo
cchhiununitrongcchthngkthutcbitcchthngyucukhtkhev
1.1 Cc khi nim v h nhng
srngbucthigian,thigianthcchiulyucucahthngphimbo
Hnhng? thomnvtnhtinnhtronghotngcahthng.Tnhtinnhnilnhnhvi
Trongthgiithccachngtabtkmtthitbhayhthngin/intckh cahthngthchinngtrongmtkhungthigianchotrchontonxcnh.
nng x l thng tin v iu khin u c th tim n trong mt thit b hay h Khungthigiannycquytnhbicimhocyucucahthng,cthl
nhng, v d nh cc thit b truyn thng, thit b o lng iu khin, cc thit b vigiyvcngcthlvinanogiyhocnhhnna.ychngtaphnbit
phcvsinhhothngngynhlvisng,mygit,cameraRtddngcth yu t thi gian gn lin vi khi nim v thi gian thc. Khng phi h thng thc
k ra hng lot cc thit b hay h thng nh vy ang tn ti quanh ta, chng l h hinrtnhanhlsmboctnhthigianthcvnhanhhaychmhontonl
nhng.Vyhnhngthcchtlgvnnhiuthnovhnhng?Hinnaycng php so snh c tnh tng i v mili giy c th l nhanh vi h thng iu khin
chacmtnhnghanothcsthongcchunhovthanhnrng nhitnhnglilchmiviccitngiukhininnhdng,p.Hnth
richohnhngmvnchlnhngkhinimdintvchngthngquanhngc nanuchnhanhkhngthchamphimboduytrnnhbngmtc
thchung.Tuynhinychngtacthhiuhnhnglmtphnhthngxl chhotngtincy.Chnhvvyhthngkhngkimsotchotngcan
thngtinnhngtrongcchthngln,phchpvclpvdnhtrongt,cc (btnh)thkhngthlmththngmbotnhthigianthcmcdhthng
thitbolng,iukhin,truynthngvthitbthngminhnichung.Chngl cthchopngrtnhanh,thmchnhanhhnrtnhiusoviyucutra.
nhngthpcaphncngvphnmmthchinmthocmtnhmchcnng Mt v d minh ho tiu biu l c ch truyn thng d liu qua ng truyn
chuyn bit, c th (Tri ngc vi my tnh PC m chng ta thng thy c s chunEthernettruynthng,mcdaicngbittctruynlrtnhanhnhngvn
dngkhngphichomtchcnngmlrtnhiuchcnnghayphcvchungcho khngphihhotngthigianthcvkhngthomntnhtinnhtrongcch
nhiumcch).PCthcchtlilmththngln,thpcanhiuhthngnhng truyndliu(cthlrtnhanhvcngcthlrtchmnucscanhtrnhv
vdnhcardmnhnh,mthanh,modem,cng,bnphmChnhiunylm giaothngngtruynbnghn).
chngtadlngtngnuchinnhiuthnovPC,cphilhnhnghay
khng.

5 6
Ngitaphnralmhailoiivikhinimthigianthclcng(hardrealtime) 1.3 c im cng ngh v xu th pht trin ca h nhng
vmm(softrealtime).Thigianthccnglkhihthnghotngviyucutho
mns rngbuc trong khung thi gian cng tc lnuviphm ths dnnhot 1.3.1 c im cng ngh
ngcatonhthngbsaihocbphhu.Vdvhotngiukhinchomt Cc h thng nh vy u c chung mt s c im nh yu cu v kh nng thi
lphnnghtnhn,nuchmraquytnhcthdnnthmhogyradophn gianthc,tincy,tnhclpvhiuqu.Mtcuhitraltisaohthng
ngphnhchvdnnbngnchthng.Thigianthcmmlkhihthng nhngliphttrinvcphcpmtcchnhanhchngnhhinnay.Cutrli
hotngviyucuthomnrngbuctrongkhungthigianmm,nuviphmv thcranmccyucutnglnkhngngngtrongccngdngcngnghhin
sai lch nm trong khong cho php th h thng vn c th hot ng c v chp nay.Mttrongnhngyucucbnl:
nhnc.Vdnhhthngphtthanhtruynhnh,nuthngtintruynittrm
pht ti ngi nghe/nhn chm mt vi giy th cng khng nh hng ng k n Khnngclpvthngminhho:iunycchrhnthngquamtscc
tnhthiscatinctruynivhontoncchpnhnbingitheodi. thuctnhyucu,cthnh:
; tincy
Thctthyrnghuhthnhnglcchthigianthcvhuhtcchthigian ; Khnngbotrvnngcp
thclhnhng.iunyphnnhmiquanhmtthitgiahnhngvthigian ; Sphcpvtinsdng
thcvtnhthigianthctrthnhnhmtthuctnhtiubiucahnhng.V ; anton
vyhinnaykhicpticchnhngngitaunitictnhcbncanl ; Tnhbomt
tnhthigianthc.
H thi gian thc Hiuqu:Yucunycthhinthngquamtscccimcahthngnh
sau:
Hnhngthi ; Nnglngtiuth
; Kchthcvphncngvphnmm
gianthc
; Hiuquvthigianthchin
; Kchthcvkhilng
H Nhng
; Githnh
Hnh12:Phnbvquanhgiahnhngvthigianthc
Phnhochtcvvchcnngho:Ccbvixltrongcchnhngthngc
1.2 Lnh vc ng dng ca h nhng sdngmnhimvthchinmthocmtnhmchcnngrtclpvcng
cthchotngphnchcnngcahthnglnmncnhngvo.Vdnh
Chngtacthkracrtnhiuccngdngcahthngnhngangcs
mtvixlthchinmtphniukhinchomtchcnngthuthp,xlvhin
dnghinnay,vxuthscntiptctngnhanh.Mtscclnhvcvsnphm
thcathayhthngiukhinqutrnh.Khnngnylmtngthmschuyn
thtrngrnglncacchnhngcthcnhmnhsau:
bithovchcnngcamththnglnvddnghnchoqutrnhxydng,
Ccthitbiukhin
vnhnhvbotr.
t,tuin

Truynthng
Khnngthigianthc:Cchthngugnlinvivicmnhimmtchcnng
Thitbyt
chnhvphicthchinngtheomtkhungthigianquinh.Thngthng
Hthngolngthmnh
mtchcnngcahthngphicthchinvhonthnhtheomtyucuthi
Tonhthngminh
gian nh trc m bo thng tin cp nht kp thi cho phn x l ca cc chc
Thitbtrongccdytruynsnxut
nngkhcvcthnhhngtrctiptishotngngvchnhxccaton
Rbt
hthng.Tuthucvotngbitonvyucucahthngmyucuvkhnng
...
thigianthccngrtkhcnhau.

Tuy nhin, trong thc t khng phi h nhng no cng u c th tho mn tt c
nhngyucunutrn,vchnglktqucasthohipcanhiuyucuviu
kin nhm u tin cho chc nng c th m chng c thit k. Chnh iu ny li

7 8
cnglmtngthmtnhchuynbithocacch/thitbnhngmccthitba FPGA, PSOC v s t hp ca chng...Km theo l cc k thut pht trin phn
nngkhngthcnhtranhc. mmchophpmnhimcccbitonyucukhtkhetrncsmtnnphn
cng hu hn v kh nng x l v khng gian b nh. Gii quyt cc bi ton thi
1.3.2 Xu th pht trin v s tng trng ca h nhng gianthcnhphnchiatcvvgiiquytcnhtranhchiastinguynchung.Hin
Vsphttrinhnhnglskthpnhunnhuyngiaphncngvphnmm nay cng c nhiu nh pht trin cng ngh phn mm ln ang hng vo th
nncngnghgnlinvincngchnhlcngnghkthpgiaccgiiphpcho trnghnhngbaogmcMicrosoft.NgoimtscchiuhnhWindowsquen
phncng v mm.V tnh chuynbitcacc thitb /h nhng nh giithiu thuc dng cho PC, Microsoft cng tung ra cc phin bn mini nh WindowsCE,
nnccnnphncngcngcchtoutinpngchochcnnghaynhim WindowsXPEmbeddedvcccngcphttrinngdngkmtheophcvchocc
vcthcayucuthitktra. thitbnhng,inhnhnhccthitbPDA,mtsthitbiukhincngnghip
nhccmytnhnhng,IPCcaSiemens...
Lp h nhng u tin pht trin theo tiu ch v kch thc nh gn, tiu th nng
lngt,githnhthp.Ccchpxlnhngcholphthngngdngthng C th ni h nhng tr thnh mt gii php cng ngh v pht trin mt cch
yucuvkhnngtnhtonthocvaphinnhuhtcxydngtrncs nhanh chng, ha hn nhiu thit b nhng s chim lnh c th trng rng ln
bngxl8bt16bithoccnglml32bitvkhnghtrduphyngdos trong tng lai nhm p ng nhu cu ng dng khng ngng trong cuc sng ca
hnchvdunglngvkhnngtnhton. chngta.ivilnhvccngnghipviukhinvtngho,hnhngcngl
mtgiiphpytimnngvangcngdngrngri.Nrtphhp
Lphnhngutinthcthikhnngxltnhtonvitcthchinnhanh.Cc thcthiccchcnngthngminhho,chuynbittrongcchthngvthitbcng
chpxlnhngchocchthngcngslccChippdngcccngnghcao nghip,tcchthngtptrungncchthngphntn.Giiphphnhngcth
cpvikintrcxlsongsongpngccngtnhtonlnvtcm thcthitcpthpnhtcahthngcngnghipnhccuchphnhchoncc
ccChipxlachcnngthngthngkhngttic. cpcaohnnhgimstiukhinqutrnh.

Lphthngutinchaitiuchphttrincahailptrn,tclkchthcnh 1.4 Mc ch v ni dung mn hc


gn,mctiuthnnglngthp,tctnhtonnhanh.Tutheosthohipgia
Hiukhinnhnglmtmnhcminhmcungcpkinthcchosinhvinv
ccyucuvxuthphttrinchnhvvycngkhngcgngcnhinkhichngta
khnngphntchvthitkhthngiukhinvthngminhhohthngtheo
thystntisongsongcartnhiuccChipvixlnhng,viiukhinnhng8
chcnngtheogiiphpcngngh.Thitkthcthiiukhintrnnnphncng
bit,16bithay32bitcngviccChpsiuxlkhcvnangcngdngrng
nhng.
ri cho h nhng. cng l s kt hp a dng v s ra i ca cc h nhng ni
chungnhmthomnccngdngphttrinkhngngng.

Vi mi mt nn phn cng nhngthngc nhngcth ringv kmtheo mt


giiphpphttrinphnmmtiutngng.Khngcmtgiiphpnochung
vchuntcchottccchnhng.Chnhvvythngthngccnhphttrinv
cungcpphncngcnglichnhlnhcungcpgiiphpphnmmhoccngc
pht trin phn mm km theo. Rt ph bin hin nay cc Chip vi x l hay vi iu
khinuccchphttrin(StarterKithayEmulator)htrchoccnhngdng
v xy dng h nhng vi hiu bit hn ch v phn cng. Ngn ng m ho phn
mm cng thng l C hoc gn ging nh C (Likely C) thay v phi vit hon ton
bnghpngAssembly.iunychophpccnhthitktiuvnginhort
nhiuchobcphttrinvxydnghnhng.

Trong xu th pht trin khng ngng v nhm tho mn c nhu cu pht trin
nhanh v hiu qu c rt nhiu cc cng ngh cho php thc thi cc gii php h
nhng.ngsausphcprngricaccChipvixlviiukhinnhng,DSP
phi k n cc cng ngh cng ang rt c quan tm hin nay nh ASIC, CPLD,

9 10
Bgiimchuyni(thngdch)cclnhlutrtrongbmchngtrnhthnh
2 CU TRC PHN CNG H NHNG ccmmALUcthhiucvthcthi.Btuntcnhimvqunldngd
liutraoiquabusdliucaVXL.CcthanhghicsdngCPUlutrtm
2.1 Cc thnh phn kin trc c bn thiccdliuchnhchovicthcthicclnhvchngcththayinidungtrong
qutrnhhotngcaALU.HuhtccthanhghicaVXLulccbnhc
thamchiu(mapped)vhinhpvikhuvcbnhvcthcsdngnhbt
kkhuvcnhkhc.

CcthanhghicchcnnglutrtrngthicaCPU.Nuccnidungcabnh
VXLvccnidungcaccthanhghitimtthiimnoclugiy
thhontoncthtmdngthchinphnchngtrnhhintitrongmtkhong
thi gian bt k v c th tr li trng thi ca CPU trc . Thc t s lng cc
thanhghivtngicachngcngkhcnhautrongcchVXL/VKvthngdo
chnh cc nh ch to qui nh, nhng v c bn chng u c chung cc chc nng
nhnu.

Khithtbytetrongbnhcxcnhthngithitkphncngphithc
hinmtsquytnhxemCPUsludliunhthno.Cchnycngkhc
Hnh21:KintrcinhnhcaccchpVXL/VKnhng nhaututheokintrctplnhcpdng.Cbaloihnhcbn:

2.1.1 n v x l trung tm CPU (1) Kintrcngnxp
(2) Kintrcbtchlu
(3) Kintrcthanhghimcchchung

Kin trc ngn xp s dng ngn xp thc hin lnh v cc ton t nhn c t
nhngnxp.Mcdcchnyhtrmtmttvmhnhnginchovic
nhgicchthhinchngtrnhnhngngnxpkhngthhtrkhnngtruy
nhpngunhinvhnchhiusutthchinlnh.

Kintrcbtchluvilnhmttontngmmcnhchatrongthanhghitchlu
cthgimcphctpbntrongcacutrcCPUvchophpcuthnhlnh
rtnhgn.Nhngthanhghitchluchlnichadliutmthinngiaothng
bnhrtln.

Kintrcthanhghimcchchungsdngcctpthanhghimcchchungvc
n nhn nh m hnh ca cc h thng CPU mi, hin i. Cc tp thanh ghi
Hnh22:CutrcCPU nhanhhnbnhthngvddngchobbindchxlthcthivcthcs
Ngi ta vn bit ti phn li x l ca cc b VXL l n v x l trung tm CPU dngmtcchhiuqu.Hnnagithnhphncngngycngcxuthgimng
(Central Processing Unit) ng vai tr nh b no chu trch nhim thc thi cc php kvtpthanhghicthtngnhanh.Nucchtruynhpbnhnhanhthkintrc
tnh v thc hin cc lnh. Phn chnh ca CPU m nhim chc nng ny l n v datrnngnxpcthlslachnltng;cnnutruynhpbnhchmth
logictonhc(ALUArthimeticLogicUnit).NgoirahtrchohotngcaALU kintrcthanhghislslachnphhpnht.
cncthmmtsccthnhphnkhcnhbgiim(decoder),btunt(sequencer)
vccthanhghi. Mt s thanh ghi vi chc nng in hnh thng c s dng trong cc kin trc
CPUnhsau:

11 12
nngtngthchkhicshotngphihpgiaccthitbghpnihaymrng
Thanhghicontrngnxp(stackpointer): tronghthng.Thngthngthngtinvccnhpthigianhotngcngnhc
Thanh ghi ny lu gi a ch tip theo ca ngn xp. Theo nguyn l gi tr a ch tnhkthutchititccungcphocquinhbiccnhchto.
chatrongthanhghicontrngnxpsgimnudliucluthmvongnxp
vstngkhidliuclyrakhingnxp. Mtsctrngvthigiancacctrngthihotngcbncacctnhiuh
thnggmcnhsau:
Thanhghichs(indexregister) 9 Thigiantnghocgim
Thanhghichscsdngluachkhimodeachcsdng.Ncn 9 Thigiantrlantruyntnhiu
cbittivitngilthanhghicontrhaythanhghilachntp(Microchip). 9 Thigianthitlp
9 Thigiangi
Thanhghiachlnh/Bmchngtrnh(ProgramCounter) 9 Trcmhotngvtrngthitreo(TriState)
Mt trong nhng thanh ghi quan trng nht ca CPU l thanh ghi b m chng 9 rngxung
trnh. Thanh ghi b m chng trnh lu a ch lnh tip theo ca chng trnh s 9 Tnsnhpxunghotng
cCPUxl.MikhilnhctrtivcCPUxlthnidunggitrca
thanhghibmchngtrnhstnglnmt.Chngtrnhsktthckhithanhghi Thigiantnghocgim
PCcgitrbngachcuicngcachngtrnhnmtrongbnhchngtrnh.

Thanhghitchly(Accumulator)
ThanhghitchlylmtthanhghigiaotiptrctipviALU,csdnglu
gicctonthocktqucamtphptontrongqutrnhhotngcaALU.

2.1.2 Xung nhp v trng thi tn hiu


TrongVXLvccvimchsnichung,hotngcahthngcthchinng
bhocdbtheoccxungnhpchun.Ccnhpclytrctiphocgintip Hnh24:Mttrngthitnhiulogictngvgim
tmtngunxungchunthnglccmchtoxunghocdaongthchanh.
mthotngcahthng,cctn hiudliuviukhinthngcmt Thigiantngcnhnghalkhongthigian tnhiutngt20%n80%
trngthitheoginthigianvmctnhiunhcchratrongHnh23:Mt mctnhiucnthit.Thigiangimlkhongthigiantnhiugimt80%n
vtrngthitnhiuhotngtrongVXL 20%mctnhiucnthit.

Thigiantrlantruyn:
Lkhongthigiantntkhithayitnhiuvochotikhicsthayitnhiu
ura.ctnhnythngdocutovkhnngtruyndntnhiuvtltrongh
thngtnhiu.


Hnh23:MtvtrngthitnhiuhotngtrongVXL

Mcchcavicmttrngthitnhiutheoginthigianvmctnhiul Hnh25:Mttrngthivtrlantruyntnhiu
phntchvxcnhchuiskinhotngchitittrongmichukbus.Nhvic
Thigianthitlpvlugi
mtnychngtacthxemxtnkhnngpngthigiancaccskinthc
Khongthigiancnthittnhiutrchmuttimttrngthinnhtrckhi
thitronghthngvthigiancnthitthcthihotngtuntcngnhlkh
nhpxungchunnghthayicgilthigianthitlp.Thigianlugil

13 14
khong thi gian cn thit duy tr tn hiu trch mu n nh sau khi xung nhp Hnh28:Mtchuktnhiu3trngthivcontention
chunnghthayi.Thcchtkhongthigianthitlpvthigianlugilcn rngxungvtnsnhpxungchun
thit m bo tn hiu c ghi nhn chnh xc v n nh trong qu trnh hot
ngvchuynmctrngthi.GinthigiantrongHnh26:Thigianthitlpv
lugiminhhathigianthitlpvlugitronghotngcaTrigerD.



Hnh26:Thigianthitlpvlugi
Hnh29:rngvtnsxungnhpchun
Trongtrnghphotngchuyntrngthitnhiukhngngbvkhngm
bocthigianthitlpvlugiscthdnnsmtnnhhaykhngxc 2.1.3 Bus a ch, d liu v iu khin
nh mc tn hiu trong h thng. Hin tng ny c bit ti vi tn gi l Busach
metastabilit. minh ha cho hin tng ny trong Hnh 27 m t hot ng li ca Busachlccngdntnhiulogicmtchiutruynachthamchiuti
mt Triger khi cc mc tn hiu vo khng tha mn yu cu v thi thit lp v lu cc khu vc b nh v ch ra d liu c lu gi u trong khng gian b nh.
gi. Trong qa trnh hot ng CPU s iu khin bus a ch truyn d liu gia cc
khuvcbnhvCPU.Ccachthngthngthamchiuticckhuvcbnh
hoccckhuvcvora,hocngoivi.Dliuclucckhuvcthngl8
bit(1byte),16bit, hoc 32bittythucvo cutrctng loi vi x l/vi iu khin.
Huhtccviiukhinthngnhachdliutheokhi8bit.Ccloivixl
8bit,16bitv32bitnichungcngucthlmvictraoivikiudliu8bit
v16bit.

Chngtavnthngcbittikhinimachtruynhptrctip,lkhnng
CPUcththamchiuvtruynhptitrongmtchukbus.NuvixlcNbita
chtclncthnhachc2NkhuvcmCPUcththamchiutrctip
Hnh27:HintngMetastabilittronghotngcaTrigerD ti.Quiccckhuvccnhachbtutach0vtngdnn2N1.
Chuktnhiu3trngthivcontention Hinnayccvixlvviiukhinnichungchyuvnsdngphbinccbus
dliucrngl16,20,24,hoc32bit.Nunhachtheobytethmtvixl
16bit c th nh a ch c 216 khu vc b nh tc l 65,536 byte = 64Kbyte. Tuy
nhincmtskhuvcbnhmCPUkhngthtruynhptrctiptitclphi
sdngnhiunhpbustruynhp,thngthngphikthpviviciukhin
phnmm. K thutny ch yuc sdng m rngb nh v thngc
bit ti vi khi nim nh a ch trang nh khi nhu cu nh a ch khu vc nh
vtquphmvicthnhachtruynhptrctip.

V d: CPU 80286 c 24bit a ch s cho php nh a ch trc tip cho 224 byte (16
Mbyte)nh.CPU80386vccloivixlmnhhnckhnggianach32bitsc
thnhcti232byte(4Gbyte)achtrctip.

15 16
Busdliu TrongkintrcvonNeumannkhngphnbitvngchadliuvmchngtrnh.
BusdliulccknhtruyntithngtintheohaichiugiaCPUvbnhhoccc C chng trnh v d liu u c truy nhp theo cng mt ng. iu ny cho
thitbngoivivora.BusdliuciukhinbiCPUchocvitccd phpadliuvovngmchngtrnhROM,vcngcthlumchngtrnh
liuhocmlnhthcthitrongqatrnhhotngcaCPU.rngcabusdliu vovngdliuRAMvthchint.
ni chung s xc nh c lng d liu c th truyn v trao i trn bus. Tc
truynhaytraoidliuthngctnhtheonvl[byte/s].Slngng
bit d liu s cho php xc nh c s lng bit c th lu tr trong mi khu vc
thamchiutrctip.Numtbusdliuckhnngthchinmtlntruyntrong1
s, th bus d liu 8bit s c bng thng l 1Mbyte/s, bus 16bit s c bng thng l
2Mbyte/svbus32bitscbngthngl4Mbyte/s.Trongtrnghpbusdliu8
bitvichukbuslT=1s(tclstruync1byte/1chuk)thstruync1
Mbytetrong1shay2Mbytetrong2s.

Busiukhin

Busiukhinphcvtruynticcthngtindliuiukhinhotngcah
Hnh211:KintrcbnhvonNeumannvHavard
thng.Thngthngccdliuiukhinbaogmcctnhiuchukngb
cc nhp chuyn ng v hot ng ca h thng. Bus iu khin thng c iu KintrcHavardtch/phnbitvnglumchngtrnhvdliu.Mchngtrnh
khinbiCPUngbhanhphotngvdliutraoitrnccbus.Trong chcthcluvthchintrongvngchaROMvdliucngchcthlu
trnghpvixlsdngdnknhbusdliuvbusachtclmtphnhoc vtraoitrongvngRAM.Huhtccvixlnhngngynaysdngkintrcb
tonbbusdliuscsdngchungchiasvibusachthcnmttnhiu nhHavardhockintrcHavardmrng(tclbnhchngtrnhvdliutch
iukhinphnnhptruynhpchophpchtlutrthngtinachmikhibt bitnhngvnchophpkhnnghnchlydliuratvngmchngtrnh).
umtchu k truyn. Mtv dvcc chu k bus v sng b ca chngtrong TrongkintrcbnhHavardmrngthngsdngmtslngnhcccontr
hotngcahthngbusachvdliudnknhcchratrongHnh210. lydliutvngmchngtrnhtheocchnhngvotrongcclnhtcthi.
ylhotnginhnhtronghviiukhin8051vnhiuloitngt. Mts Chip vi iukhin nhng tiubiu hinnays dng cu trc Havardl8031,
PIC,AtmelAVR90S.NusdngChip8031chngtasnhnthyiunythngqua
vic truy nhp ly d liu ra t vng d liu RAM hoc t vng m chng trnh.
ChngtacmtvicontrcsdnglydliuratbnhdliuRAM,
nhngchcduynhtmtcontrDPTRcthcsdnglydliuratvng
m chng trnh. Hnh 211 m t nguyn l kin trc ca b nh von Neumann v
Harvard.

u im ni bt ca cu trc b nh Harvard so vi kin trc von Neumann l c hai
knhtchbittruynhpvovngbnhmchngtrnhvdliunhvym
mchngtrnhvdliucthctruynhpngthivlmtngtclung
traoivibxl.

Hnh210:Chukhotngbusdnkch

2.1.4 B nh

Kintrcbnh
Kintrcbnhcchiaralmhailoichnhvcpdngrngritronghu
htccChipxlnhnghinnaylkintrcbnhvonNeumannvHavard.

17 18
BnhFlash
CnggingnhEPROMccutobimtmngtransistorkhtrnhnhngcth
xocbnginvchnhvvycthnplichngtrnhmkhngcntchra
khi nn phn cng VXL. u im ca b nh flash l c th lp trnh trc tip trn
mchcngmnangthcthitrn.


Hnh212:Nguynliukhintchknhtruynhpbusachvbusdliu

BnhchngtrnhPROM(ProgrammableReadOnlyMemory) Hnh214:SnguynlghpniEPROMviVXL

Vnglumchngtrnh.CbaloibnhPROMthngdngcsdngcho BnhdliuRAM
hnhngvscgiithiulnltsauy.
Vngluhoctraoidliutrunggiantrongqutrnhthchinchngtrnh.

EPROM
Baogmmtmngcctransistorkhtrnh.Mchngtrnhscghitrctipvvi
x l c th c ra thc hin. EPROM c th xo c bng tia cc tm v c th
clptrnhli.CutrcvtlcaEPROMcmtnhtrongHnh213.


Hnh215:CutrcnguynlbnhRAM


ChailoiSRAMvDRAM

Hnh213:NguynlcutovhotngxocaEPROM

19 20
dng ph bin trong cc nhim v m xung, o khong thi gian cc s kin, hoc
nhchukthigianthcthicctcv.Mttrongnhngngdngquantrngcab
nhthigianltonhptbtoxungthchanhchobtruynthngdbanng
hot ng. Thc cht l ng dng thc hin php chia tn s. t c
chnhxc, tnsthchanhthngcchnsaochoccphpchiasnguync
thc hin chnh xc m bo cho tc truyn thng d liu c to ra chnh xc.
Chnhvvyhviiukhin80C51thnghaysdngthchanhctnsdaong
l11.059thayv12MHztoranhphotngtruynthngtcchun9600.


Hnh216:CutrcmtphntnhDRAM


Hnh218:Bnhthi/bm8bitcaAVR

Biukhinngt
Ngtlmtskinxyralmdnghotngchngtrnhhintiphcvthc
thimttcvhaymtchngtrnhkhc.CchngtgipCPUlmtngtcp
ngphcvccskintrongchngtrnhhotngcaVXL/VK.CcVKkhc
nhausnhnghaccnguntongtkhcnhaunhngucchungmtcchhot
Hnh217:Nguynlghpni(mrng)RAMviVXL ng v d nh ngt truyn thng ni tip, ngt b nh thi gian, ngt cng, ngt
ngoi...Khi mt s kin yu cu ngt xut hin, nu c chp nhn CPU s lu ct
2.1.5 Khng gian v phn vng a ch
trngthihotngchochngtrnhhintiangthchinvdnhnidungb
2.1.6 Ngoi vi mchngtrnh(contrlnh)ccnidungthanhghiludliuiukhinchng
trnh ni chung thc thi chng trnh phc v tc v cho s kin ngt. Thc cht
Bnhthigian/Bm qu trnh ngt l CPU nhn dng tn hiu ngt, nu chp nhn s a con tr lnh
Huhtccchipviiukhinngynayuctnhtmtbnhthigian/bmc chngtrnhtrtivngmchachngtrnhphcvtcvngt.Vvymimt
thcuhnhhotnglinhhottheoccmodephcvnhiumcchtrongccng ngt u gn vi mt vector ngt nh mt con tr lu thng tin a ch ca vng b
dngxl,iukhin.Ccbnhthigianchophptoraccchuixungvngt nh cha m chng trnh phc v tc v ca ngt. CPU s thc hin chng trnh
thigianhocmtheocckhongthigiancthlptrnh.Chngthngcng

21 22
phcvtcvngtnkhinogplnhquaytrvchngtrnhtrcthiims
kinngtxyra.Cthphnra2loingunngt:NgtcngvNgtmm.

Ngtmm
Ngt mm thc cht thc hin mt li gi hm c bit m c kch hot bi cc

ngunngtlccskinxuthintbntrongchngtrnhvngoivitchhptrn
Hnh219:Snguynlhotngcabnhthichcanh
Chipvdnhngtthigian,ngtchuyniA/D,Cchngtnycnchiu
lloithchinngbvichngtrnhvnckchhotvthcthiticcthi
imxcnhtrongchngtrnh.Hmcgisthcthichcnngtngngvi
yucungt.Cchmthngctrbimtvectorngtmcnhngha
vgncnhbinhsnxutChip.VdnhhiuhnhcaPCsdngngts
21hexgnchongttruynhpcdliutacngvxutdliuramyin.

Ngtcng
Ngtcngcthcxemnhlmtligihmcbittrongngunkchhotl
mtskinntbnngoichngtrnhthngquamtcutrcphncng(thng
c kt ni vi th gii bn ngoi qua cc chn ngt). Ngt cng thng c hiu
hotngtheocchdbvccskinngtkchhottcctnhiungoivibn
ngoi v tng i c lp vi CPU, thng l khng xc nh c thi im kch
hot.KhiccngtcngckchhotCPUsnhndngvthchinligihmthc
thichcnngphcvskinngttngng.

Trongcccchngtkhongthigiantkhixuthinskinngt(cyucuphc
vngt)tikhidchvngtcthcthilxcnhvtuthucvocngnghphn
cngxlcaChip.

BnhthichcanhWatchdogTimer
Thng thng khi c mt s c xy ra lm h thng b treo hoc chy qun, CPU s
khngthtiptcthchinngchcnng.cbitkhihthngphilmvicch
vnhnhtngvkhngcscanthiptrctipthngxuynbingivn
hnh.thchincchtgimstvphthinscphnmm,mtsVXL/VK
cthmmtbnh thichcanh.Bnchtlmtbnh thicbitnh
ngha mt khung thi gian hot ng bnh thng ca h thng. Nu c s c phn
mmxyraslmhthngbtreokhibnhthichcanhsphthinvgip
h thng thot khi trng thi bng cch thc hin khi to li chng trnh.
Chngtrnhhotngkhicbnhthiphimboresetntrckhikhungthi
gianbviphm.Khungthigiannycnhnghaphthucvosnhgica
ngi thc hin phn mm, thit lp khong thi gian m bo chc chn h thng
thchinbnhthngkhngcscphnmm. (a) (b)
Hnh220:Nguynlhotngbnhthichcanh

Cmtscchthchincitbnhthichocanhgimsthotngcah BiukhintruynhpbnhtrctipDMA
thngnhsau:
DMA(DirectMemoryAccess)lcchhotngchophphaihaynhiuvixlhoc

ngoivichiasbuschung. Thit bno ang cquyn iu khinbus scthton

23 24
quyntruynhpvtraoidliutrctipviccbnhnhhthngcmtvix cncmtbcxlquytnhxemthitbnoscnhnquyniukhin
l.ngdngphbinnhtcaDMAlchiasbnhchunggiahaibvixlhoc trongtrnghpcnhiuhnmtthitbcnhucusdngDMA.Thngthng
ccngoivitruyndliutrctipgiathitbngoivivo/ravbnhdliu kiuDMAchuknhmcntdliuthngtiniukhin(overhead)nnckhnng
caVXL. traoivitccaonhnglichimnhiuthigiantruynhpbusdotruynckhi
dliuln.iunycthnhhngnhotngcachthngdotrongsut
Truynhpbnhtrctipcsdngpngnhucutraoidliuvora qutrnhthchinDMAnhm,CPUsbkhoquyntruynhpbnhvkhngth
tc cao gia ngoi vi vi b nh. Thng thng cc ngoi vi kt ni vi h thng x l cc nhim v khc ca h thng m c nhu cu b nh, v d nh cc dch v
phichiasbusdliuvciukhinbiCPUtrongqutrnhtraoidliu. ngt,hoccctcvthigianthc...
iunylmhnchtctraoi,tngcngtcvloibscanthipca
CPU, c bit trong trng hp cn truyn mt lng d liu ln. C ch hot ng Chukri(CycleStealing)
DMAcmtnhtrongHnh221.Thtccbtubngvicyucuthc Trong kiu ny DMA s c thc hin trong nhng thi im chu k bus m CPU
hinDMAviCPU.Saukhixl,nucchpnhnCPUstraoquyniukhin khngsdngbusdokhngcnthchinthtcxlcpphtquyntruynhp
buschongoivivthchinqutrnhtraoidliu.SaukhithchinxongCPUs vthchinDMA.
nhncthngbovnhnliquyniukhinbus.TrongcchDMA,chaicch
truyndliu:kiuDMAchukn,vkiuDMAchuknhm(burst). Huhtccvixlhiniusdnggnnh100%dunglngbnhvbng
thngcabusnnskhngcnhiuthigiandnhchoDMAthchin.titkim
vtiutinguynthcncmttrngtiphnxvdliusctruynixp
chngtheothigian.NichungkiuDMAdngbursthiuqunhtkhikhongthi
giancnthchinDMAtnginh.TrongkhongthigianthchinDMA,ton
bbngthngcabusscsdngtiavtonbkhidliusctruyni
trong mt khong thi gian rt ngn. Nhng nhc im ca n l nu d liu cn
truynlnvcnmtkhongthigiandithsdnnvicblockCPUvcthb
quavicx l ccs kin v tc vkhc.ivi DMA chu k n th yu cutruy
nhpbnh,truynmttdliuvgiiphngbus.Cchnychophpthchin
truyninterleavevcbittivitngiinteleavedDMA.KiutruynDMAchuk
nphhptruyndliutrongmtkhongthigiandimcthigian
yucutruynhpvgiiphngbuschomilntruynmttdliu.Chnhvvys
gimbngthngtruynhpbusdophimtnhiuthigianyucutruynhpv
giiphngbus.TrongtrnghpnyCPUvccthitbkhcvncthchiasv
truyn d liu nhng trong mt di bng thng hp. Trong nhiu h thng bus thc
hincchxlvgiiquytyucutruynhp(trngti)thngquadliutruynv
vycngkhngnhhngnhiuntctruynDMA.

DMAcyucukhikhnngiukhincaCPUtruyndliuthchinqu
chm.DMAcngthcscnghakhiCPUangphithchincctcvkhcm
khngcnnhucutruynhpbus.

Hnh221:NhphotngDMA ICchcnngchuyndng

DMAchuknvnhm DAC/ADC
TrongkiuhotngDMAchuknhm,ngoivisnhncquyniukhinv
truynkhi d liu ri tr li quyniu khin cho CPU.Trongc chDMAchuk
nngoivisaukhinhncquyniukhinbuschtruynmttdliuritr
lingayquynkimsotbnhvbusdliuchoCPU.TrongcchthchinDMA

25 26

Hnh224:SnguynlcutrcADC1754A

Hnh222:SnguynlmchchuyniDAC


Hnh223:SnguynlmchchuyniADC

VdADC754A
cimkthut:
9 ChtotheocngnghCMOS. Hnh225:SbtrchncaChipADC574A
9 12bitvigiaodintngthchviccloiVXL/VK8,12v16bit.Cthlp
trnhhotngchuyni8bithoc12bit. Nguynliukhin
9 Tn hiu d liu ra tng thch vi chun TTL v ghp ni thng qua loi cng ADC574ciukhinbiccchntnhiunhmttrongbngsau:
logic3trngthi.
Bng1:TnhiuiukhinADC574A
9 Digitrinpuvocthlachnnhcuhnhgitrintrniu
vonhnccditnhiu(010)V,(020)V,(5+5)V,v(10+10)V. K hiu nh ngha Chc nng
9 CthmkhnngcungcpngunthamchiuniVref=+10V.
Chip Enable Must be high (1) to either initiate a conversion or read output data. 0-1 edge may be used to
9 Nguncungcpcthl+5V,12V,hoc15V CE (Pin 6) (active high) initiate a conversion.

9 Thigianchuyniccil25svithigiantruynhpbusl150ns. Chip Select Must be low (0) to either initiate a conversion or read output data. 1-0 edge may be used to
CS (Pin 3) (active low) initiate a conversion.

27 28
Read/Convert Must be low (0) to initiate either 8- or 12-bit conversions. 1-0 edge may be used to initiate a
R / C (Pin 5) (1 = read) conversion.
(0 = convert) Must be high (1) to read output data. 0-1 edge may be used to initiate a read operation.
In the start-convert mode, AO selects 8-bit (AO= 1) or 12-bit (AO= "0") conversion mode.
Byte Address
AO (Pin 4) Short Cycle
When reading output data in two 8-bit bytes, AO= 0 accesses 8 MSBs (high byte) and AO= 1
accesses 4 LSBs and trailing 0s (low byte).
Data Mode
Select When reading output data, 12/8 = 1 enables all 12 output bits simultaneously. 12/8 = 0 will
12 / 8 (Pin 2) (1 = 12 bits) enable the MSBs or LSBs as determined by the AOline.
(0 = 8 bits)

(1) Thitlpchhotng:Modechuyni8bithay12bitcthitlpbi
tnhiuA0.Tnhiunyphicchttrckhinhnctnhiulnhbt
uthchinchuyni.
(2) Kch hot qu trnh chuyn i: B chuyn i thc hin chuyn i khi nhn
ctnhiumnhlnhtchcctchntnhiuhocCE/CS,hocR/Cviiu
kincctnhiuiukhinkhccxclp.
(3) Trngthichuyni:TnhiuuraSTATUSbotrngthichuynihin
hnh ca ADC; thit lp mc cao nu ang thc hin chuyn i v mc
thpnuhonthnh.Trongqutrnhchuynicctnhiuiukhinb
khovdliukhngthccvccngtnhiuracchuynsang
trngthicaotr.
(4) c d liu ra: Qu trnh c d liu ra c th c thc thi nu cc tn hiu
iu khin xc lp trng thi cho php c v tn hiu STATUS trng thi

thp.Tuthucvomodechuynicthitlpvnhdngdliucra
Hnh226:Ginkhichcnngca82C55A
bithptrng 12 / 8 vA0.
Chcnngvnghacaccchnonchipca82C55AcmttrongBng2:Chc
Cngsongsongkhtrnh82C55A nngccchnonchipca82C55A.
82C55A l mt giao din ngoi vi cng song song kh trnh c ch to theo cng
nghCMOS.Nlmtthitbngoivivorakhtrnhamcchvcthcs Bng2:Chcnngccchnonchipca82C55A

dngvinhiuloiVXL/VKkhcnhau.82C55Ac24chnvoraonChipcchia K hiu Kiu M t chc nng

rathnh2nhm,minhm12chnvcthcsdngtheo3chhotng VCC
VCC: The +5V power supply pin. A 0.1F capacitor between VCC and GND is recommended for
decoupling.
khcnhau.Hnh226mtginkhichcnngcachip82C55A.
GND GROUND

D0-D7 I/O DATA BUS: The Data Bus lines are bidirectional three-state pins connected to the system data bus.

RESET: A high on this input clears the control register and all ports (A, B, C) are set to the input
RESET I
mode with the Bus Hold circuitry turned on

CHIP SELECT: Chip select is an active low input used to enable the 82C55A onto the Data Bus for
CS I
CPU communications.

READ: Read is an active low input control signal used by the CPU to read status information or data
RD I
via the data bus.

WRITE: Write is an active low input control signal used by the CPU to load control words and data
WR I
into the 82C55A.

ADDRESS: These input signals, in conjunction with the RD and WR inputs, control the selection of
A0-A1 I one of the three ports or the control word register. A0 and A1 are normally connected to the least
significant bits of the Address Bus A0, A1.
PORT A: 8-bit input and output port. Both bus hold high and bus hold low circuitry are present on
PA0-PA7 I/O
this port.

PB0-PB7 I/O PORT B: 8-bit input and output port. Bus hold high circuitry is present on this port.

29 30
PC0-PC7 I/O PORT C: 8-bit input and output port. Bus hold circuitry is present on this port.
9 Ccngtnhiuvokhngccht
9 Cthcuhnh16kiuhotngvorakhcnhau

82C55Acungcp3chhotngchnhvcthlptrnhlachn
Mode1(Voracbttay):Chhotngnycungcpkhnngtruyndliuti
Mode0:Hotngvoracbn
hocitmtcngcthcngvicctnhiubttay.TrongchnycngA,B
Mode1:Hotngvoranmbt(strobed)
csdngtruyndliuvcngChotngnhcngiukhincchng
Mode2:HotngBus2chiu
bbttay.Chhotngnycungcpccchcnngchnhsau:
Viclachnchhotngcthchinthngquathanhghitiukhinv
9 Hai nhm cng (Nhm A v Nhm B). Mi nhm bao gm 1 cng 8bit v mt
cmtnhtrongHnh227.
cngdliuiukhin4bit.

9 Cngdliu8bitcthhotngnhhoclcngvohoclcngravchai
chiudliuuccht.
9 The4bitportisusedforcontrolandstatusofthe8bitport.

Mode 2 (Bus vo ra hai chiu c bt tay): Ch hot ng ny cung cp kh nng
truynthngviccngoivihocccbusdliu8bitchovictruynnhndliu.
Cctnhiubttayccungcpduytrdngtnhiubustngtnhch1.
Cc c ch to ngt cng c th c thc hin ch ny. Mt s cc chc nng
chnhhtrtrongchnybaogm:
9 ChsdngnhmA
9 Mtcngbus2chiu8bit(cngA)vmtcngiukhin5bit(CngC)
9 Chaichiudliuvovrauccht.
9 Cngiukhin5bit(CngC)csdngchomcchiukhinvtrng
thichocngAtraoidliu2chiu8bit.

Bnhthi/BmC8254

Hnh227:Thanhghitiukhinchnchhotngcho82C55A
ylbmtccaocungcp3bnhthi16bitclpvcthccuhnh
hotngnhiuchhotng.Mibmcccknhdliuviukhin
KhiuvoRESETciukhinmccaothttccccngscthitlphot ring bit. H tr 2 kiu m ho m nh phn (0 65535) hoc BCD (binary coded
ng ch cng vo vi 24 ng tn hiu vo duy tr mc logic 1. Sau khi tn decimal)(09999).C4thanhghitchhpOnchiplugitrmvcuhnhhot
hiuiukhinRESETmctchccbloibth82C55Acthduytrchhot ng(tiukhin).
ngmkhngcnthmbtkvickhitonona.iunysgiploibc
ccintrtreocaohoctreothptrongccthitkchomchCMOS.Khikchhot Tnshotngcabmcthlmvicvixungnhptns10MHzvhtr6
ch thit lp th thanh ghi t iu khin s cha gi tr 9Bh. Trong qa trnh thc chhotngvcthcuhnhringl.
hinchngtrnhvncththayilachnchhotngkhcnhau,iuny
cho php 82C55 hot ng mt cch a dng p ng cho nhiu bi ton ng dng
khcnhau.Trongqatrnhthanhghitiukhinangcvitthttccccng
cthitlphotngchcngrasckhitobngzero.

Mode0(Voracbn):Cuhnhchhotngnycungcpcchotngvora
nginchoc3cngA,BvC.Dliuctraoitrctipvkhngcnphic
cchbttay.Chhotngnyhtrccchcnngcthnhsau:
9 Haicng8bitv2cng4bit
9 Btkcngnocngcthlcngvohoccngra
9 Ccngdliutnhiuraccht

31 32
Giaodinnitip

USART


Hnh228:Scutrcchcnng8254 Hnh230:CutrcnginhocaUSART


2.1.7 Giao din

Giaodinsongsong8bit/16bit
Cccngsongsonglmtdnggiaodinvoranginvphbinnhtktni
thngtinvingoivi.Cnhiuloicutrcgiaodinvtlinttdngcngvo
ranginccCollectorTTLhtrongccngdngcngmyinnccloicutrc
giaodincngtccaonhccchunbusIEEE488haySCSI.Huhtccchipiu
khin nhng c mt vi cng vo ra song song kh trnh (c th cu hnh). Cc giao
dinphhpvicccngvoranginnhcckhochuyn.Chngcngph
hptrongccbitonphcvgiaodinktniiukhinvgimsttheoccgiao
dinnhkiurlebndn.
Hnh231:Modehotngtruynthngngb


Hnh229:Cutrcnguynlinhnhcamtcngvo/ralogic


Hnh232:Modehotngtruynthngdb

33 34
I2C(InterIC) cmtVKgivaitrlCh(Master)vccVKcnlicthhoclChhocl
Giao thc u tin truyn thng ni tip c pht trin bi Philips Semiconductor v T.SPIc4tccthlptrnh,ccvphanhpnghkhtrnhvktthcngt
cgilbusI2C.VngungcncthitkliukhinlinthngIC(Inter truynthng.Nhpnghkhngnmtrongdngdliuvphiccungcpnh
IC)nnncttnlI2C.TtcccchpctchhpvtngthchviI2Cuc mttnhiutchclp.CbathanhghiSPSR,SPCRvSPDRchophpthchincc
thmmtgiaodintchhptrnChiptruynthngtrctipviccthitbtng chcnngiukhin,trngthivlutr.Cbnchncbncnthitthcthi
thchI2Ckhc.Victruyndliunitiptheohaihng8bitcthcthitheo3ch chungiaodintruynthngny.
sau:
Chun(Standard)100Kbits/sec DliuraMOSI(MasterOutputSlaveInput)
Nhanh(Fast)400Kbits/sec DliuvoMISO(MasterInputSlaveOutput)
Tccao(HighSpeed)3.4Mbits/sec NhpxungchunSCLK(SerialClock)
LachnthnhphntSS(SlaveSelect)
ngbusthchintruynthngnitipI2Cgmhainglngtruyndliu
nitipSDAvngtruynnhpxungnghnitipSCL.Vcchhotngl
ngbnnncncmtnhpxungtnhiungb.CcthitbhtrI2Cuc
mtachnhnghatrc,trongmtsbitachlthpcthcuhnh.nv
hocthitbkhitoqutrnhtruynthnglnvChvcnglnvtoxung

nhpng b,iu khin cho phpktthc qutrnhtruyn. NunvChmun
Hnh233:KtninguynltruynthngSPIgiamtMastervmtT
truynthngvinvkhcnsgikmthngtinachcanvmnmun
truyntrongdliutruyn.nvTucgnvnhachthngquan Hnh233chranguynlktnigiamtnvChvmtnvTtrongtruyn
vChcththitlptruynthngvtraoidliu.Busdliucthitkcho thngSPI.TrongtnhiuSCLKsctorabinvChvltnhiuvoca
phpthchinnhiunvChvTtrncngBus. nvT.MOSIlngtruyndliuratnvChtinvTvMISOl
ngtruyndliuvonvChntnvT.nvTclachnkhi
QutrnhtruynthngI2CcbtubngtnhiustarttorabinvCh.Sau nvChkchhottnhiu SS .
nvChstruynidliu7bitchaachcanvTmnmuntruyn
thng,theothtlccbitctrngslnnhtMSBsctruyntrc.Bitthtm
tiptheoschathngtinxcnhnvTsthchinvaitrnhn(0)haygi
(1)dliu.TiptheoslmtbitACKxcnhnbinvnhnnhnc1byte
trchaykhng.nvtruyn(gi)struyni1bytedliubtubiMSB.
Tiimcuicabytetruyn,nvnhnstoramtbitxcnhnACKmi.Khun
mu9bitny(gm8bitdliuv1bitxcnhn)sclplinucntruyntip
bytena.KhinvChtraoixongdliucnnsquanstbitxcnhnACK
cui cng ri sau s to ra mt tn hiu dng STOP kt thc qu trnh truyn
thng.

I2C l mt giao din truyn thng c bit thch hp cho cc ng dng truyn thng
giaccnvtrncngmtbomchvikhongcchngnvtcthp.Vdnh

truynthnggiaCPUvicckhichcnngtrncngmtbomchnhEEPROM,
Hnh234:SktnitruynthngSPIcamtnvChvinhiunvT
cmbin,nghtothigianthc...HuhtccthitbhtrI2Chotngtc
400Kbps,mtschophphotngtccaoviMbps.I2Ckhnginthc NuhthngcnhiunvtnvChstophiracctnhiutchbitchn
thiktninhiunvvnhtrcchxcnhach. nvT.CchcthchinnhsktninguynlmtnhtrongHnh
234.nvChstoratnhiuchnnvTnhccchntnhiulogicachc
SPI nng.Cctnhiunyphiciukhinvmbonnhvthigiantrnh
SPIlmtgiaodincngnitipngbbadychophpktnitruynthngnhiu trnghptnhiubthayitrongqutrnhangtruyndliu.Mtiudnhn
VKcphttrinbiMotorola.Trongcuhnhmngktnitruynthngnyphi

35 36
rarngSPIkhnghtrcchxcnhntrongqutrnhthchintruynthng.iu hpthmccngoivi.Ccngoivithnglcckhichcnngngoivithngdng
nyphthucvogiaothcnhnghahocphithchinbsungthmmtscc nhbnhthigian,bm,bchuyniA/D,giaodinsongsong,nitipMc
mrngphbnngoi. tchhpngoivicngkhcnhaututhucvomcchngdngscthtm
cChipphhp.Thctviccngdngyucutchhpcaothssdng
Kh nng truyn thng ng thi hai chiu vi tc ln n khong vi Mbit/s v giiphptchhptrnchip,nukhngthhuhtccChipucungcpgiiphp
nguynlkhnginnnSPIhontonphhpthchintruynthnggiacc mrngngoivipngchomtslngngdngrngvmmdo.
thitbyucutruynthngtcchm,cbithiuqutrongccngdngmt
nvChvmtnvT.TuynhintrongccngdngvinhiunvTvic
thcthilikhphctpvthiucchxcnhach,vsphctpstnglnkhi
snvTtng. Khi gii m a ch
CPU v iu khin Logic B nh Ngoi vi
2.2 Mt s nn phn cng nhng thng dng (P/DSP/PLA)
Trongphnnygiithiungngncutrcnguynlcaccchipxlnhngng
Bus a ch
dngtrongccnnphncngnhnghinnay.

Bus D liu
SphttrinnhanhchngccchngloiChipkhtrnhvimttchhpcaov
angcmttcngngknsthayitrongvicthit kccnnphncng
Bus iu khin
thitbxlviukhinstrongthpkgny.Michngloiucnhngc
imvphmviitngngdngvlunkhngngngphttrinpngmt Hnh235:KintrcnguynlcaVKvicutrcHavard
cchttnhtchoccyucucngngh.Chnganghngtitptrungchomtth
VdvkintrccahVKAVR
trng cng ngh tim nng rng ln l cc thit b x l v iu khin nhng.
Trongbivitnytcgigiithiungngnvccchngloichipxl,iukhin
nhnginhnhangtntivphttrinvmtscimvhngphmving
dngcachng.

C thkrahng lot ccChpkhtrnh c ths dng choccbitonthitkh


nhng nh cc h vi x l/vi iu khin nhng (Microprocessor/ Microcontroller), Chip
DSP (Digital Signal Processing), cc Chip kh trnh trng (FPD Field Programmable
Device).Chngtadbchongngpnubtucngvicthitkbngvictmkim
mtChipxliukhinphhpchongdng.Vvycnphicmthiubitv
sphnbitvcimvngdngcachngkhilachnvthitk.Ccthngtin
lin quan nh nh sn xut cung cp Chip, cc kin thc v cng c pht trin km
theoMtschngloiChipinhnhscgiithiu.

2.2.1 Chip Vi x l / Vi iu khin nhng


y l mt chng loi rt in hnh v ang c s dng rt ph bin hin ny.
ChngcraivsdngtheosphttrincaccChipxlngdngchomy
tnh.Vitngngdnglccthitbnhngnncutrccngcthayitheo
pngccngdng.Hinnaychngtacththycchvixliukhinca
rt nhiu cc nh ch to cung cp nh, Intel, Atmel, Motorola, Infineon. V cu trc,
chngcngtngtnhccChpxlphttrinchoPCnhngmcngin
hnnhiuvcngnngvtinguyn.PhbinvnlccChipcrngbusdliu

l8bit,16bit,32bit.Vbnchtcutrc,Chipviiukhinlchipvixlctch
Hnh236:KintrccahVKAVR

37 38
snguyn16bithocccsthctrongmtmingitrcnh.Tuynhinccgitr
vhstrunggiancthclutrvichnhxcl32bittrongthanhghitch
lu 40bit nhm gim thiu li tnh ton do php lm trn trong qu trnh tnh ton.
ThngthngccloiDSPduphytnhcgithnhrhnccloiDSPduphy
ngvyucuslngchnOnchipthnvcnsdnglngsiliconthn.

uimnibtcaccDSPduphynglcthxlvbiudinstrongdi
phmvigitrrngvng.Dovnvchuynivhnchvphmvibiu
dinskhngphiquantmnhiviloiDSPduphytnh.MtloiDSP32bit
du phy tnh in hnh l TMS320C67x c th x l v biu din s gm 24bit
mantissav8bitexponent.Phnmantissabiudinphnsltrongphmvi1.0+1.0
vphnexponentbiudinvtrcaduphynhphnvcthdchchuynsangtri
hocphitutheogitrsmnbiudin.iunytringcviccthitktrn
nn DSP du phy tnh, ngi pht trin chng trnh phi t qui c, tnh ton v
phnchiannhthangbiudinsvphilunlutmtikhnngtrnscth
xyratrongqutrnhxltnhton.Chnhiunygyrakhkhnkhngnh
i vi ngi lp trnh. Ni chung pht trin chng trnh cho DSP du phy ng
thngnginhnnhnggithnhlicaohnnhiuvnnglngtiuththng
thngcnglnhn.

V d chnh xc ca DSP du phy ng 32 bit l 223 vi 24 bit biu din phn
mantissa.Vngngl1.181038x3.41038.

Nhngnhthitkhthngphiquyt nhvngvchnhxccnthitchocc
ngdng.Ccvixlduphyngthngcsdngchoccngdngyucu
vchnhxccaovdibiudinslnphhpvihthngccutrcbnhln
HnnaccDSPduphyngchophpphttrinphnmmhiuquvngin
Hnh237:SkhichcnngkintrcPIC16F873A hnbngcctrnhbindchngnngbccaonhCdocthgimcgithnh
v thi gian pht trin. Tuy nhin gi thnh li cao nn cc DSP du phy ng ph
2.2.2 Chip DSP hpviccngdngkhcbitvthnglvislngt.
[Ref.SenKuo]
DSPvncbittinhmtloiviiukhincbitvikhnngxlnhanh
phcvccbitonyucukhilngvtcxltnhtonln.Viuimni
btvrngbngthngcabusvthanhghitchlu,chophpALUxlsongsong
vitccvxllnhnhanhhnccloiviiukhinthngthng.ChipDSP
chophpthchinnhiulnhtrongmtnhpnhvokintrcbnhHavard.

ThngthngkhiphisdngDSPtclpngccbitontnhtonlnvtc
caovvynhdngbiudintonhcslmtyutquantrngphnloiv
cquantm.Hinnaychyuchngvncphnloitheohaikiulduphy
ngvduphytnh.ycngchnhlmtyutquantrngphiquantmivi
ngi thit k la chn c mt DSP ph hp vi ng dng ca mnh. Cc loi
DSPduphytnhthnglloi16bithoc24bitcnccloiduphytnhthng
l32bit.MtvdinhnhvmtDSP16bitduphytnhlTMS320C55x,lucc

39 40


Hnh239:CutrcPROMvPLA

Lch s pht trin ca cc chng loi Chip kh trnh mng PLA (Programmable Logic
Array)c bt ngunt nguynl b nh chng trnh PROM (Programmable Read
OnlyMemory).Trongccuvoachngvaitrnhccngvocamch
logicvccngdliurangvaitrnhccngracamchlogic.VPROM
khng thc s ph hp cho mc ch thit k cc mch logic nn PLA ra i vo
uthpk70.Nrtphhpthchinmchlogiccdngtngcctch(vcu
thnhbiccphntlogicANDvOR).Nhngnhcimlchiphsnxutcaov
tchotngthp.khcphcnhcimnyPAL(ProgrammableArrayLogic)
cphttrin.NccuthnhtccphntANDkhtrnhvphntOR
gncnhvcchacphntflipflopurannckhnngthcthiccmch
logictunt.Hnh240mtcutrcchungcaPAL.


Hnh238:GinkhichcnngcaDSPTMS320C28xx

2.2.3 PAL
NgynaykhininccchngloiChipkhtrnhmngtathngbittimtstn
gi nh PAL, CPLD, FPGAMt cht lc s v s ra i v pht trin sau y s
gipchngtahnhdungccimvngungcraicachng.


Hnh240:CutrcchungcaPAL

TkhicraivphttrinPALtrthnhcschosraicahnglotcc
chngloiChipkhtrnhmngvicutrcphctphnnhSPLD(SimpleProgram
mable Logic Device), CPLD (Complex Programmable Logic Device), v sau ny l FPGA
(Field Programmable Gate Array). SPLD cng l tn gi cho nhm cc chng loi Chip

41 42
kiutngtnhPAL,PLA.VmtcutrcthSPLDchophptchhplogicvimt
caohnsoviPALthngthng,nhngkchthccanstnglnrtnhanh
nutiptcmrngvtngmttchhpsuvo.pngnhucumrng
mttchhpCPLDcphttrin.NlstchhpcanhiukhiSPLDv
cung cp thm kh nng kt ni kh trnh gia cc khi SPLD n l vi nhau. Vi
nguynlcutrcnyCPLDckhnngtchhpvimtcaotngngvi50
khiSPLDthngthng.

Nu ch dng n y chng ta c th thy mt c im chung ca cc chng loi


chipkiuPLAhayCPLDuchophpthchinccmchlogictrncsthplogic
caccuvovrabngccphntANDvOR.Vinguynlnyrrngsgp
Hnh242:CutrcCLBvLAB
khkhnkhithcthiccngdngihiccphptnhtonlogicphctpvitc
cao.pngiunyFPGA(FieldProgrammableGateArrays)rai.Nlscu NgynaycthphnloiramtskiuchngloiFPGAdavocutocachng:
thnhcacckhilogickhtrnhcngviccknhktnilinthngkhtrnhgia
cckhivinhau.MthnhnhtiubiuvcutrcnguynlcaFPGAcm CutotSRAM:
tnhtrongHnh241:CutrcnguynlcaFPGA. ViloinyccmtktnikhtrnhcthchinbngccphntSRAM,chnhv
vychophpthchinlptrnhlplinhiuln.uimnibtcaloinylcc
tngthitkmicthcthcthivthnghimnhanhchng.HnnaSRAM
cnganglmthngphttrinrtmnhhinnaytrongnncngnghipsnxut
bnhvcnguthcthitheocngnghCMOSrtphhpvicngnghchto
FPGA.

TuynhinmtcimcthxemnhlnhcimcaFPGAcutotccphn
tSRAMlchngphicuhnhlimikhingunhthngccungcp.Cngvic
nythngcthchinbimtbnhngoichuyndnghocbimtbviiu
khinkmtheomch.ChnhvvycnglmgithnhcaFPGAtngthm.

Hnh241:CutrcnguynlcaFPGA Cutotcuch(antifused)
FPGA ang tr thnh mt s la chn thay th rt cnh tranh ca cc chip x l KhnggingnhloiFPGAcutotSRAM,FPGAvicutkiucuchclp
nhngASICs.NhtrccuimvchcnnglachngingnhASICsnhng trnh offline bng mt thit b lp trnh chuyn dng. tng ch to loi FPGA ny
cho php chnh sa v thit k li sau khi s dng v gi thnh pht trin thp hn. xutphttnhucuvmtthitbkhtrnhckhnnglucuhnhsaukhics
FPGAchophpkhnngthitklinhhotvthchnghiddngchocctinchthit dng.Tclnkhngphilmcngviccuhnhmikhingunhthngccung
btiu,trongkhivnduytrckhnggiankchthcphncngvnnglng cp.KhiFPGAantifusedclptrnhthnkhngthbthayihayclp
tiuthcahthng.iunykhngddngnhnckhithitkdatrnnncc trnhlina.Chnh nh iunynnnkhngcn btkmtbnhngoino
ChipDSP. lutrcuhnhvcthtitkim,gimgithnhcathitb.

FPGAthcsphhpchoccngdngihilngtnhtonlnnhtrongxl MtuimnibtcaFPGAantifusedlkiucutrclinktkhbnvngvicc
tnhiu.FPGActhclptrnhhotngngthivimtsccngdliu loi nhiu bc x. c im ny kh quan trng khi thit b phi lm vic trong mi
songsong.Chnglccngdliuhotngcathpnhiuccchcnngt trngtimnngnhqunshochngkhngvtr.Vvyntrnhctrng
nginnphctpnhbcng,bnhn,bm,blutr,bsosnh,btnh hp ri ro c th xy ra nu s dng cng ngh SRAM l hin tng lt trng thi
tngquan, (flipped).Tuynhinhintngnycngcthckhcphcbngcchdphng
chp3nhnglilmtngthmchiphchto.

43 44
MtuimnibtcaloiFPGAantifusedlkhnngbovcngngh.Tcld
liu cuhnh lp trnh cho FPGAc thcbovbivicc bthpphphoc Ngi ta cng thng phn loi FPGA da vo phn t kin trc ca chng v bao
khngchophpc.Trongqatrnhxlhocphttrin,ngilptrnhssdng gm3loichnh:mn,thvtrungbnh.Bnchtvicphnloinyldavokiu
mt tp d liu cu hnh lp trnh v kim tra qu trnh np cu hnh cho FPGA. khilogickhtrnhcuthnhnnFPGA.ViloiFPGAmnthkintrccckhilogic
Cngvicnychthchinmtlnvskhngththayicna.Khithchin khtrnhthnglcccnglogicngin(kiuAND,OR,vccphntlugi
xongncthcthitlpthmmtthuctnhlchngctrctiptFPGAd nhTrigerD).Kiukintrcnyphhpvthngsdnghiuquvikintrc
liulinquanncuhnh.NgoirachngtacngcthbitthmrngFPGAanti ASIC.GnyxuthphttrincaFPGAangtptrungvoloikintrcth.Tc
fusedthngsdngtnnglnghnloiFPGASRAM,kchthccngnhhn,v lcckhilogickhtrnhlcckhickhnngxllogiclnvinhiuthplin
tccngnhanhhnmtchtnhkhongcchktnicnggiaccphntngn ktvphctpvinhiuuvovralinkt.Tutheomccakhilogickh
hn. trnhmngitaphnrathnhccloitrungbnh.

TuynhinnhcimlnnhtcaFPGAantifusedlchcthclptrnhvcu ChailoicutrccbncuthnhnncckhilogickhtrnhtrongkintrcFPGA
hnh mt ln. V vy n ch thc s ph hp khi thc thi hon chnh sn phm cui th hoc trung bnh l MUX (Multiplexer) v LUT (Lookup Table). Trong loi cu trc
cngvkhngphhpvimcchthitkphttrin. MUX th cc phn t logic c cu thnh theo cu trc t hp cc u vo ra theo
nguynlMUXnhmttrongHnh243:KhilogicdngMUX.
CutotEEPROM/FLASH
EEPROMorFLASHbasedFPGAscngcnguynlcutotngtnhloiFPGA
SRAM. Cc phn t cu hnh cancktni da trn mtchuithanhghidch
di.Chngcthccuhnhofflinebngccthitblptrnhchuyndng.Cngc
mtscthlptrnhonlinenhngthigianlptrnhcuhnhsgpkhong3ln
thi gian thc thi vi nn FPGASRAM. Khi c cu hnh c lp trnh th
chngcthcduytrvkhngbmtinhnguynllugicaEEPROMhoc
FLASH. Loi FPGAEEPROM/FLASH c cu to nh hn so vi loi FPGASRAM v
vy cng c th gim c thi gian lan truyn tn hiu kt ni lin thng gia cc
phntlogic.

bovcngnghkhiFPGAccuhnhvarasdng,tacthbov
bngcchkhammm(cutotkhong50bitnvitrmbit).Muncc
thngtincuhnhtrctiptFPGA,ngitacnphicmkhavcngrtkh
hockhngthmctheonguynlthsai.Vmunvytheoctnhcngphi
mtnhngtriunmmihyvngthnhcngmrac. Hnh243:KhilogicdngMUX
iviloicutrcLUTthccuvothcchtlccthpchnragitrtrong
TuynhincngnghchtoFPGAEEPROM/FLASHihithcthiquanhiucng bngchtlcahmchcnngcnthcthi.Nguynlcaloikhilogicnyc
onxlhnsoviloiFPGASRAMvvymsphttrincachngcngchm mtnhtrongHnh244.
hn.Hnnannglngtiuthcachngcnglnhnvphinuirtnhiucc
phntintrko(pullupresistor).

CutotthpFLASHSRAM
NgynayngitacngphttrinchtoccloiFPGAcutotccthpSRAM
vFLASHtndngcccuimcachaichngloiny.Thngthngcc
phn tcuhnhFLASHscsdngluccnidungcuhnhsaochp
choccphntcuhnhSRAM.VccphntcuhnhSRAMhontoncthc
cuhnhlitheoyucuthitktrongkhivnduytrmtphnthitkcuhnhgc Hnh244:LUTthchinhmthpANDvOR
lutrongccphntFLASH.

45 46
Hu ht cc ng dng u c nhu cu v b nh RAM on Chip v vy mt s dng
FPGA hin nay cng tch hp thm c cc phn t nh RAM v c gi l RAM
3 C S K THUT PHN MM NHNG
nhng (embedded RAM). Cc phn t RAM c t chc thnh tng khi v tu 3.1 c im phn mm nhng
thucvokintrccaFPGAnscphnblinhhot,thnglxungquanhcc
phntngoivihocphnbutrnbmtChip.Mthnhnhminhhovphn 9 Hngchcnnghocth
bRAMtrongkintrcFPGAcmtnhtrongHnh245. 9 Hnchvtinguynbnh
9 Yucuthigianthc

3.2 Biu din s v d liu


n v c bn nht trong biu din thng tin ca h thng s c gi l bit,
chnhlkhiuvitttcathutngbinarydigit.
1964,IBMthitkvchtomytnhssdngmtnhm8bitnh
achbnhvnhngharathutng8bit=1byte.
Ngynaysdngrngrithutngwordlmttdliudngbiudin
kchthcdliumcxlmtcchhiuqunhtivimiloikin
trcxlscth.Chnhvvymttcthl16bits,32bits,hoc64bits
Mimtbytecthcchiarathnhhaina4bitvcgilccnibble.
Nibblechaccbttrngslncgilnibblebccao,vnibblechaccbit
trngsnhcgilnibblebcthp.

Hnh245:HnhnhcaChipcccctlcckhiRAMnhng 3.2.1 Cc h thng c s
FPGAvihtnhnDSP Trongcchthngbiudinshinnayucbiudindngtngqutltng
Thcchtlmtthpnhmtngtcvkhnngtnhton.Khinimnycng luthatheocs,vcphnloitheogitrcs.Mtcchtngqutmthbiu
tngtnhccbngxltonhctrongkintrcmytnh.Nguynllnhm dinscsbvalmtsnguynnmtrongkhonggitrcsbcbiudin
sansvgimbttisangFPGAthcthiccchcnngtnhtonln(thngthng nhsau:
n
ihithchintrongnhiunhphotngcaChipDSP)vchophpChipDSPtp
A = an b n + an 1b n 1 + + a0 = ai bi (1.1)
trungthchinccchcnngnnhptiu.ThpFPGAvDSPlmtkintrc i =0

rtlinhhotvcbitcithinchiusutthchinvtngtchnrtnhiuso Vdnhcsbinary(nhphn),csdecimal(thpphn),cshexadecimal,cs8
vikintrcnhiuChipDPShocASICsngthigithnhlithphn. Octal(btphn).

Vdvbiudinccgitrtrongcchcskhcnhau:
243.5110=2x102+4x101+3x100+5x101+1x102
2123=2x32+1x31+2x30=2310
101102=1x24+0x23+1x22+1x21+0x20=2210

Hailoicsbiudinthngdngnhthinnaychocchthngxlslcsnh
phnvcsmisu.

3.2.2 S nguyn
Trongbiudinscduphnbitsdngvsmngitasdngbittrngs
lnnhtquiclmbitduvccbitcnlicsdngbiudingitrln
cas.Vdmtt8bitcsdngbiudingitr1scdngnhphnl
Hnh246:SnguynlmchghpniVKvFPGA 10000001,vgitr+1scdng00000001.Nhvyvimtt8bitcthbiudin

47 48
cccstrongphmvit127n+127.MtcchtngqutmttNbitsbiu Hinnayngitasdnghaiquicbiudinsnguynphnbittheothtca
dinc2(N1)1n+2(N1)1. bytetrngstrongmttcbiudin:
Litteedian:bytetrngsnhnhtngtrcthunlichophpcnghoc
Chkhithchincnghaiscdu: trv
9 Nuhaiscngduththchinphpcngphnbiudingitrvsdngbit Bigendian:bytetrngslnnhtngtrcthunlichophpnhnhoc
ducngduvihais. chia.
9 Nu hai s khc du th kt qu s nhn du ca ton t ln hn, v thc hin Vdxtmtsnhphn4byte
phptrgiatontcgitrlnhnvitontbhn.


Vd1:Cnghaiscdu010011112v001000112.
Theoquicbiudinlitteedianththtachlutrongbnhsl:
1111 carries
achcs+0=Byte0
01001111 (79)
achcs+1=Byte1
0+0100011 +(35)
achcs+2=Byte2
01110010 (114)
achcs+3=Byte3

Vtheoquicbiudinsbigediansl:
Vd2:Cnghaiscdu010011112v011000112.
achcs+0=Byte3
Nhcuicng 1 1111 carries
achcs+1=Byte2
Trn 0 1001111 (79)
achcs+2=Byte1
bnh 0+ 1100011 +(99)
achcs+3=Byte0
0 0110010 (50)
3.2.3 S du phy tnh
Vd3:Trhaiscdu010011112v011000112.
Chngtacthsdngmtkhiuduchmobiudinmtsthc.Duchm
0112 borrows ocsdngtrongtdliudngphnbitvngncchgiaphnbiudin
0 1100011 (99) gitrnguyncadliuvmtphnlthpphn.Vdvmtt8bitbiudins
0 1001111 (79) duphyngcchranhtrongHnh31.Vicchbiudinny,gitrthcca
0 0010100 (20) sctnhnhsau:
N = a4 24 + a3 23 + a2 22 + a1 21 + a0 20 + a1 21 + a2 22 + a3 23
Vd4:Cnghaiskhcdu100100112(19)v000011012(+13)
= 0 24 + 1 23 + 0 22 + 1 21 + 1 20 + 1 21 + 0 22 + 1 23
012 borrows
= 8 + 2 + 1 + 1/ 2 + 1/ 8
1 0010011 (19)
0 0001101 +(13) = 11.625
1 0000110 (6)

Thuttonthchinphptnhcdu:
(1) Khaibovxaccbinlugitrvduchunbthchinphptnh.
(2) Kimtraducatontthnhtxemcphismkhng.Nulsm
ththchinbduvbtont.Nukhngthchuynquathchinbc3.
(3) Kimtraducatontthhaixemcphismkhng.Nulsmth Hnh31:nhdngbiudinsduphytnh8bit
thchinbduvbtont.Nukhngthchuynsangthchinbc4. Nhcimcaphngphpbiudinsduphytnhlvngbiudinsnguyn
(4) Thchinphpnhnhocchiavicctontvaxl. bhnchbiduphytnhcgncnh.iunydxyrahintngtrns
(5) Kimtradu.Nuzerothcoinhktthc.Nubng1(0ffh)ththchin khithchinccphpnhnhaisln.
phptnhbhaiviktquthucvktthc.

49 50
3.2.4 S du phy ng N min = 0.5 2 (2
e1
1)
(1.4)
Phngphpbiudinschnhxcvlinhhotcsdngrngrihinnaylh TheotiuchunIEEE754v854c2nhdngchnhchosduphynglsthc
thng biu dins du phyng.ycng l mt phngphp biudins khoa di(long)vsthcngn(short)chngkhcnhauvdibiudinvlnlutr
hcbaogm2phn:phnbiudinlutrsmantissavmtphnlutrbiudin yucu.Theochunny,sthcdicnhdng8bytebaogm1bitdu,11bit
s exponent. V d trong h c s thp phn, mt s nguyn bng 5 c th c biu exponentv53bitlugitrscngha.Mtsthcngncnhdng4bytebao
dinhocl 0.5 101 , 50 101 ,hoc 0.05 102 ,Trongmytnhshochthngsni gm1bitdu,8bitlythav24bitlugitrscngha.Mtsthcngncth
chung,ccsduphyngnhphnthngcbiudindng biudinvxlcscgitrnmtrongdi1038to1038vsthcdicthbiu
N = M 2E (1.2) dinvxlcscgitrthucdi10308to10308 .biudinmtgitrtng
Trong,Mlphngitrsmantissa,ElphnlythacasN.Mthnglcc ngnhvybngsduphytnhthcnti256bithay32bytedliu.
gitrlmphnthpphncanthngnmtrongkhong 0.5 M 1 .
3.2.5 Mt s php tnh c bn
Hnh32mtbiudinmtsduphyngcat8bitgm5bitbiudinphns Thchinphpnhn
c ngha mantissa, v 3 bit biu din phn ly tha. V cc phn mantissa v ly tha VtrongccVKnhngthngkhnghtrccphpnhnnhiubyte.Cngvicny
ucthnhnccgitrmvvyccbitutincaccphngitructh phicthchinbingiphttrinchngtrnhvthhindidngmtthut
csdngbiudindukhicnthit. tondatrnccphptoncsnpdngchosnhphnlcng/trvdch.c
mtshiubitrrnghnvthuttonthchinphpnhn,chngtaxtmtvd
vmtphptnhnhnhaisnhphntngqutnhsau:

A = an 2n + + a1 21 + a0 20
B = bn 2n + + b1 21 + b0 20

bn ( A) 2n + + b1 ( A) 21 + b0 ( A) 20
Hnh32:Biudinduphyng8bt

TrongmtsVXL,VKdorngtnhphnnhnncthsdng2tbiu Nguynlthchinphp nhncngging nh tathchinphpnhn haia thc.
dinmtsduphyng.Mttsdngbiudingitrmantissa,vmtphn Trongtrnghpnhnhaisnhphnthmiphntlmtbit,bytehoct.Vd
biudingitrexponent. cthvihaisnhphn4bittathucphpnhnthchinnhsau:
Nuphnmantissacchunhathnhmtslcgitrtrongkhong 0.5 M 1
thbitutinsaubitduthnglmtvscmtduphynhphnnngaysau a3 23 + a2 22 + a1 21 + a0 20
bitdu.
b3 23 + b2 22 + b1 21 + b0 20
PhnbiudinexponentEsquytnhvtrcaduphyngsdchsangtri(E>0)
haysangphi(E<0)baonhiuvtr.Vdbiudinmtsthpphn6.5bngmtt a3 b0 23 + a2 b0 22 + a1 b0 21 + a0 b0 20

8bitduphyngnhsau: a3 b1 24 + a2 b1 23 + a1 b1 22 + a0 b1 21
N = .1101 2112 a3 b2 25 + a2 b2 24 + a1 b2 23 + a0 b2 22
1 1 1
a3 b3 26 + a2 b3 25 + a1 b3 24 + a0 b3 23
= + + 23 = 6.5
2 4 16
Trongtrnghpnyphnmantissagm4bitvphnexponentgm3bit.Nutadch Thuttonthchinphpnhn32bittheotrnhtsau:
duphysangphi3vtrbitthchngtascmtsnhphnduphyngbiu (1) Cpphtvngnhlnluscnhn32bitvcththchinphp
dincsl110.1. dchtri32ln.tgitrkhitochobmbitbng32vxathanhghi
Tngquthatrongtrnghpmtsnhphnduphyngnbitgmmbitbiu haybinlugiktquphpnhn.(Ch:Slngbitcnlugitrkt
dinphnmantissavebitbiudinphnexponentthgitrcaslnnhtcthbiu quphibngtngslngbitcnluccshngphpnhn)
dincsl (2) Dchsnhnsangphimtvtrbitvkimtracnh.Nukhngccnh
e1
N max = (1 2 m +1 )2(2 1)
(1.3) thtiptcthchinbc3.Nuxuthincnhthcngthmvobinlu
Vsdngnhnhtcthbiudinl ktquhinticaphpnhnmtgitrbnggitrcascnhn.

51 52
(3) Dchscnhnsangtrimtvtrbitvgimbmdchimt.Kim x nx
=
tra xem gi tr ca b m dch c bng khng khng? Nu bng khng th a an
thchintipbc4,cnkhngthquaytrlithchinbc2. iviphpchianhphnthnscchnlmtslythaca2vphilnhn
(4) Ktqucuicngcaphpnhnclutrongthanhghibinktqu. a.

Vdphpnhntnhphn4bit1100x1101 Thuttonthchinphpchiacthcthcthibiphpdch,cngvtrnhsau:
(1) Npbinlugitrthngsbnggitrcasbchia;sbcdchcnthc
0. A 1100(12) hinbngsbitlusbchia.
B 1101(13) (2) Dchtribinlugitrthngsvophnbinlugitrdcaphpchia.
Counter 100(4) (3) So snh s d vi s chia. Nu s d ln hn hoc bng s chia th thc hin
Product 0 php tr s d i mt gi tr bng gi tr s chia. Nu khng th chuyn sang
1. A 11000(24) thchinbctiptheo.
B 0110(6) (4) Gim bin lu gi tr s ln lp v kim tra xem n bng khng cha. Nu
Counter 011(3) chabngkhngthquaytrlibc2thchintip,cnnubngkhngth
Product 1100(12) gitrcaphpchiaclutrongnhchasdvthngs.
2. A 110000(48)
B 0011(3) ThcthithuttonbngngnngC/C++
Counter 010(2) i = 0; quotient = 0;
Product 1100(12) if (divisor == 0) goto error;
3. A 1100000(96)
while (dividend > divisor) divisor <<= 1; i++;
B 0001(1)
divisor >>= 1;
Counter 001(1)
while (i != 0){
Product 111100(60)
quotient <<= 1;
4. A 11000000(192)
if (divisor < dividend ) dividend -= divisor;
B 0001(1)
quotient ++;
Counter 000(0)
Product 10011100(156) divisor >>=1 ,

i--;
ThcthithuttonthchinphpnhnsnguynkhngdubngngnngC/C++: }

long product = 0;
Trckhithchinphpchiayucucnphikimtralichiakhngcthxyra.
while (multipier != 0){
Thuttonthchinphpchiachyudatrnphpdchvphptr.Sbchias
if (multiplier & 1){
dchsangtrivluvomtbin,phndscsosnhvischia.Nuphnd
product += multiplicand; bnghoclnhnschiathphndsctrimtgitrbngschiavsb

} chia s c cng thm mt v dch sang tri mt v tr bit v chnh c gi l

multiplier >> =1; thngs.Qutrnhnyclplivtiptcchonkhislndchbngngs


multiplicand <<= 1; bitcatlusbchia.
}
Cc bin c s dng trong qu trnh thc hin php chia bao gm 5 bin s: s b
Thchinphpchia chia,schia,thngs,sdvslndch.Trongqutrnhthchinthsbchia,
Phpchiacthcthchinbngcchchuynithnhphpnhnvphpdch. thngs,vsdcngchiaschungmtvngnh.Sdvsbchiasthuc
Vdmunthchinphpchia5tronghthpphnchngtacththchinbimt cng mt t ln. S b chia nm trong phn t trng s thp v s d s nm trong
php nhn 2 v dch du phy ca kt qu thu c sang tri mt n v. Mt cch phnttrngscao.Saukhithchinxongphpchiathsbchiascdchton
tngqutcththchinchuynimtphpchiatngngnhsau: bsangtrivophnbinsdvcthaythbngthngs.Ktqucnlithu

53 54
cchcnlsdvthngs.Hnhnhvbnhluccbinsthchintrong bnhcncungcpchoCPU.Cclnhcnggnvphchpthscncngtkhng
thuttonnycminhhonhtrongHnh33. gianbnhchngtrnh.Kintrctplnhphchpsdngcclnhvidibin
ituthucvophchpcacclnhtnginnphctp.Trongsc
mtslnglncclnhcthtruynhptrctipbnh.V vyvikintrctp
lnh phc hp chng ta s c c mt tp lnh a dng phc hp, gn, vi di
lnh thay i v dn n chu k thc hin lnh cng thay i tu theo phc hp
trongtnglnh.Mtvilnhphchp,cbitlcclnhtruynhpbnhcnti
vichcchukthchin.TrongmtstrnghpccnhthitkVXLthyrng
cnphigimchuknhp lnhcthigianchocclnh honthnhiuny
cngdnnthigianthchinbkodihn.

Mt s VK c pht trin theo kin trc my tnh tp lnh rt gn RISC (Reduced
Instruction Set Computer). RISC ph hp vi cc thit k kin trc x l cc lnh n.
Thutngrtgn(reduced)ikhibhiukhngthtchnhxctheonghaenca
nthcchttnggcxutphttkhnngcungcpmttplnhtithiuthc
hinttccchotngchnhnh:chuyndliu,cchotngALUvrnhnh
iu khin chng trnh. Ch c cc lnh np (load), lu tr (store) l c php truy
nhptrctipbnh.
B1:SosnhcimcaCISCvRISC

CISC RISC
Btklnhnocngcththam Ch c cc lnh Np (Load)
chiutibnh hoc Lu tr (Store) l c th
thamchiutibnh
Tntinhiulnhvkiuach Tntitlnhvkiuach
Khundnglnhadng Khundnglnhcnh
Chcmttpthanhghi Cnhiutpthanhghi
Cc lnh thc hin trong nhiu Cc lnh thc hin trong mt
nhpchuk nhpchuk
C mt chng trnh nh Lnh c thc hin trc tip
thngdchlnh ngaybiphncng
Chng trnh thng dch lnh Chng trnh bin dch m
Hnh33:Thchinphpchia phctp ngunphctp
Khnghtrcchpipeline Htrcchpipeline
3.3 Tp lnh Kchthcmchngtrnhnh Kchthcmchngtrnhln
gn
3.3.1 Cu trc tp lnh CISC v RISC
HuhtccviiukhinvVXLnhngccutrccphttrindatheokintrc
mytnhtplnhphchpCISC(ComplexInstructionSetComputer).CISClmtcu
trcxlcclnhphchp,tclmtlnhphchpsbaogmmtvilnhn.
Theo nguyn l ny c th gim bt c thi gian dng truy nhp v c m
chngtrnhtbnh.iunyrtcnghavicckintrcthitkxltnhton
theokiutunt.Ldochosraicatplnhphchpnhmgimthiudung
lngbnhcnthitlugichngtrnhthchin,vsgimcgithnhv

55 56
3.3.2 nh dng lnh gilachhiudngcatontvthnglng.Chngtasxtmtsloihnh
nhachcbnhinangcsdngrngritrongcchthchinlnh.

nhachtcth(ImmediateAddressing)
Phngphpnychophptruyngitrtontlnhmtcchtcthnhmtphn
caculnhcthcthi.Vdnusdngkiunhachtcthichoculnh
Load0x0008thgitr0x0008scnpngayvoAC.Trngbitthngdng
chatontlnhschagitrthccatontchkhngphiachcatont
cntruyncholnhthcthi.Kiuachtcthichophpthcthilnhrtnhanhv
khngphithchintruyxutbnhnpgitrtontmgitrtontc
gpnhmtphntrongculnhvcththcthingay.Vtontthamgianhmt
phncnhcachngtrnhvvykiunhachnychphhpvicctont
hngvbittrctithiimthchinchngtrnh,hayxcnhtithiim
bindchchngtrnh.

nhachtrctip(DirectAddressing)
Phngphpnychophptruyntontlnhthngquaachtrctipchatont
trongbnh.Vdnusdngcchnhachtonttrctipthtrongcu
Hnh34:nhdnglnhMIPS lnhLoad0x0008schiuldliuhaytontcnptrongculnhnynm
trongbnhtiach0x0008.Cchnhachtrctipcngthucloihnhkh

nhanh mc d khng nhanh c nh c ch truyn a ch tc thi nhng mm


docaohnvachcatontkhngnmtrongphnmlnhvgitrcththay
itrongqutrnhthcthichngtrnh.

nhachthanhghi(RegisterAddressing)
Trongcchnhachvtruyntontnythtontkhngnmtrongbnhnh
trng hp nh a ch trc tip m nm ti chnh trong thanh ghi. Khi ton t
cnpvothanhghithvicthchincthrtnhanhvtctruyxutthanhghi
nhanhhnsovibnh.Nhngslngthanhghichchnvphicchias
trongqutrnhthchinchngtrnhvvycctontphicnpvothanhghi
trckhincthcthi.

nhachgintip(IndirectAddressing)
Trongphngphptruyntontny,trngtonttrongculnhcsdng
thamchiutimtcontrnmtrongbnhtrtiachhiudngcatont.
C ch truyn ny c th ni l mm do nht so vi cc c ch truyn a ch khc
Hnh35:Phnloiccphpthcthilnh trongqutrnhthcthichngtrnh.Vdnupdngcchtruynachgintip
trongculnhLoad0x0008thschiulgitrdliucachti0x0008thc
3.3.3 Cc kiu truyn a ch ton t lnh chtlchaachhiudngcatontcntruynchoculnh.Githittivtr
Cckiunh/truyna chchophp chngta ch ra/truyn tont tham giatrong nh 0x0008 ang cha gi tr 0x02A0 th 0x02A0 chnh l gi tr thc ca ton t s
cclnhthcthi.Kiuachcthchralmthngs,mtthanhghihocmtkhu cnpvoAC.Mtbinthkhccngcththchintheocchnyltruyn
vccthtrongbnh.Mtskiunhachchophpsdngachngnv thamchiuticontrnmtrongkhuvcthanhghi.Cchnycncbittivi
mtsloithchophpchngtaxcnhkhuvcchatontlnh,vthngc tngilnhachgintipthanhghi.VdmtculnhLoadR1sdngcch

57 58
truynachgintipthanhghithchngtacthddngthngdchctont 3.3.4 Nguyn l thc hin pipeline
truyntrongculnhnycachhiudngnmtrongthanhghiR1.
Vi x l c th thc thi cc lnh vi mt tc rt nhanh. RISC s dng k thut

pipelinetngcngtcxlcclnhngthinhvokhnngthchinxp
Cchnhachcsvchs(IndexedandBasedAddressing)
chngcunchiulintccclnhtheoccphnonthchinlnh.Vdmtlnhc
Trongcchnyngitasdngmtthanhghichaoffset(chnhlchtng
thcctbnhtrongkhimtlnhkhcangcgiimchunbavo
i)msccngvitonttoramtachhiudng.Vd,nutontX
xlvmtlnhkhcthangcthchin.CngcmtsVKctngilmy
calnhLoadXcnhachtheocchachchsvthanhghiR1lthanh
tnh tp lnhc bitSISC (SpecificInstruction SetComputer) v chng cphttrin
ghichachsvcgitrl1thachhiudngcatontthcchtslX+1.C
datrntplnhcthitkcchngchomcchiukhin.
chnhachcscnggingnhvyngoitrmtiulthayvsdngthanh

ghiachoffsetthysdngthanhghiachcs.Vmtlthuytskhc
nhaugiahaicchthamchiuachnylchngcsdngthnochkhng
phicctontctnhtonthno.Mtthanhghichssluchsmsc
sdngnhmtoffsetsoviachcaratrongtrngachcalnhthc
thi.Thanhghicslumtachcsvtrngachtrongculnhthcthis
lu gi tr dch chuyn t a ch ny. Hai c ch tham chiu a ch ny rt hu ch
trong vic truy xut vi cc phn t kiu mng. Tu thuc vo thit k tp lnh cc
thanhghimcchchungthnghaycsdngtrongcchnhachny.

nhachngnxp(StackAddressing) Hnh36:Nguynlthchinpipeline
Trong c ch truyn a ch ny th ton t nhn c t nh ngn xp. Thay v s Pipelinecthchindatrnnguynlxpchngcunchiuccphnontrong
dngthanhghimcchchunghaynhkintrcdatrnngnxplucctont mi mt lnh. Thng thng mi mt lnh c chia ra lm nhiu phn on thc
trnnhcangnxp,vcthtruyxutviCPU.Kintrcnykhngchhiuqu hin,phbinhinnayl5phnontuntnhsau:
trongviclugiccgitrtrunggiantrongccphptnhphctpmcncungcp (1) Tr lnh(Instruction Fetch): Thc hin tr ti lnh thc hin bngcch ca
mtphngphphiuqutrongvictruynccthamstrongccligihmcng chlnhtthanhghicontrlnh(PC),clnhratbnhchngtrnhv
nhluctcccutrcdliuccbvnhngharaphmvitnticaccbin tnhtonrinpgitrmivotrongthanhghicontrlnhtrtilnhs
vcchmcon.Trongcccutrclnhtruyntontdatrnngnxp,huhtcc thcthitiptheo.
lnhchbaogmphnm,tuynhincngcmtslnhcbitchcmttontv (2) Giimlnh(Decode):Thchinthngdchvchuynimlnhthnhdng
dnhlnhctvo(push)hoclyra(pop)tngnxp.Chcmtslnhyucuhai mALUcthhiuvchunbthcthi.Qutrnhnythcchtlqutrnh
ton t thhaigitr chatrong 2 nh trnnhngnxpscs dng.V d cvchuyninidungtrongccthanhghichngtrnh.
nhlnhAdd,CPUlyrakhingnxphaiphntnmtrnnhrithchinphp (3) Thchinlnh(Execute):ALUthcthilnhvacgiim.
cngvsauluktqutrlinhngnxp. (4) Truy nhpb nh d liu(Memory):crahocvitvob nh d liu nu
lnhthchincnhucuny.
Cccchnhachkhc (5) Vittrli(Writeback):Honthnhvcpnhtnidungccthanhghi.
Crtnhiubinthtobicccchnhachgiithiutrn.lsthp
trongvictorahocxcnhachhiudngcatonttruyncholnhthcthi. Chngtacnphnbitcchpipelinevcchthchinsongsongmcdchaiu
Vdnhcchnhachchsgintipsdngngthichaicchnha nhmpngyucuthcthicnhtranhvtngtcthcthi.Cchpipelinegii
chngthi,tngtnhvycngccchnhachcs/offsetCngcmt quytvncnhtranhvtngtcthchinbngcchchianhtnhtonthnh
scchtngtnghocgimthanhghisdngtronglnhangthcthinhvy ccbcnhtrongkhicchsongsongssdngnhiunguntinguynclp
mcthgimclncamchngtrnhcbitphhpchoccngdng thchin.
Nhng.

59 60
thcthichng trnh.Vic pht hinv trnhc hin tng hazard lcnthit
mbochngtrnhcthcthing.Tutheonguynnhngyrahazardngi
taphnra3loihnhchnhtuthucvothtchocvittruynhplnhcacc
nhmlnhphthucnhautrongcchthchinsongsong.

Xthailnhivjtronglnhicthchintrclnhjtrongchngtrnh.Hin
tngHazarddliucthxyranhsau:
RAW(readafterwrite):csaukhivit
Khilnhivjucnsdngvtraoithngtinvicngmtgitrnh,trong
lnhicnphithchinxongvcpnhtgitrvonhrilnhjmicth
cvsdng.Nulnhichathchinxongmlnhjcgitrnhths
xyrahintngcgilhazarddliu.Lnhjcthngtintmtnhtrc
khilnhikpvitvovvylnhjschccgitrcchkhngphigitrmi
cnphisdng.Trongcchthchinpipeline5phnonsgpphihintng
hzarddliukhicmtlnhnp(load)theosaumtlnhALUsnguynvsdng
trctipktqunp.
WAW(writeafterwrite):Vitsaukhivit
Lnhjvitvomttonttrckhilnhivitvo.Myucuthcthingchng
trnhllnhiphivittrclnhjvgitrcuicnglutrongtontphidolnhj
arachkhngphilnhi.Hintngnycgilhazarddliukhicsph
thucuravnhiulnhcngcnhucutruynhpvitvocngmtbinhaymt
nh.
WAR(writeafterread):Vitsaukhic
jvitvotontchtrckhinccbilnhidolnhIsnhncgitr
sai. Hin tng Hazard ny xut hin khi c s ph thuc ton hng trong cc php
tnh
Hazarddosphthuciukhin
Kiuphthuccngkhphbinldocutrciukhin.Sphthuciukhin
cquytnhtrnhtthcthicamtlnhitheolnhrnhnhmbosaochon

cthcthingnhthtmongmun.Ttccclnhngoitrkhicbnu
Hnh37:Qutrnhthchinlnhtheonguynlpipeline
tincachngtrnhuc iukhintheocutrclnhrnhnhvphic
3.3.5 Harzard mbothcthingtheotht.Mtvdnginnhtvsphthuciu
khin l s ph thuc iu khin theo cu trc ifthenPhn thc thi trong phn
Trongcchthchinlnhpipelinethhinrcuimtrongvicthcyhiu thensphthucculnhiukinif.Vdonmchngtrnhminhhanh
sutthchinlnh,tuynhincthxyrahintngthcthisaidosthiungb sau:
vphthuclnnhaugiacclnhtrongnhmthcthipipeline.
if (p1) {
Hazarddliu S1;
Hintngharzardxyrakhicsphthuclngiacclnhnmtrongkhongxp }
chngthchincunchiutheonguynlpipeline.iunycthddnghnhdung if (p2) {
khihaihocnhiulnhthchinxpchngkhic nhucucgitrcacngmt S2;
tont.Dosphthucnhvynnkhivitchngtrnhchngtaphikimsot }
cthtchngtrnhmcclnhscthchinnhthno.Mcchcavic
thcthillmsaohtrccchthchinsongsongvtngchiusut

61 62
Culnhciukhinphthucvop1vS2ciukhinphthucp2ch bnhviKbytehocMbyte.Chotinay,iunychcClthcscththamn
khngphip1. vphhpnht.

Nichung,c2rngbuccthgithittrongsphthuciukhin: RrngCcmtsuimnibttiubiunhkhnhvddngchovichc,cc
(1) Mt lnh thc hin ph c quyt nh bi mt lnh iu khin r nhnh th chngtrnhbindchthngkhsnchohuhtccbxlangsdnghinnay,
khng th c php chuyn ln trc cu lnh thc hin kim tra iu kin. V d vcrtnhiungibitvlmchcngnngnyri,haynicchkhccng
chngtakhngthalnhtphnthenlntrcphnif. cphcptlu.HnnaCclithlkhngphthucvobxlthcthi
(2)Mtlnhthchinclpvkhngphthucvolnhrnhnhkhngthc m ngun. Ngi lp trnh ch phi tp trung ch yu vo vic xy dng thut ton,
chuynvokhuvcsauphnthchincanhnhthchinphthuc.Vdkhng ngdngvthhinbngngnngthnthinthayvphitmhiusuvkinthc
thamtlnhlntrcphnlnhifvchuynnvotrongphnthen. phn cng, cng nh rt nhiu cc u im ni bt khc ca ngn ng bc cao ni
chung.
Sphthuciukhinphicmbobi2thuctnhtrongcchpipelinen
gin. Th nht, cc lnh thc hin trong chng trnh phi ng theo trnh t c ClmtthmnhlnnhtcaClmtngnngbccaomcthpnht.Tclvi
iu khin ca n. Trnh t ny phi c m bo rng mt lnh m phi thc thi ngnngCchngtavncthiukhinvtruynhptrctipphncngkhthun
trcmtnhnhiukhinthphithchintrcnhnh.Thhai,vicphthin tinmkhnghphihysinhhaynhibtkmtthmnhnocangnngbc
rasxungtviukhin(controlhazard)smborngmtlnhmciu cao.Thcchtycnglmttrongnhngtiuchxydngcanhngngisng
khinphthucvomtnhnhthkhngcthchinchngnohngthchin lprangnngCmunhngti.Thctiunyccpnkhihainh
canhnhrrng.Bomcsphthuciukhinlcnthitvcngl sng lp ra ngn ng C, Kernighan v Ritchie a vo trong phn gii thiu ca
mt cch n gin m bo ng trnh t thc hin chng trnh. S ph thuc cunschcahTheCProgrammingLanguagenhsau:
iu khin khng phi l mt s hn ch c bn v kh nng thc thi chng trnh.
Chngtacthsnsngthcthithmnhnglnhmlrakhngnncthcthi Cisarelativelylowlevellanguage.Thischaracterizationisnotpejorative;itsimplymeans
nuchngkhnggynhhnggntnhngncachngtrnh,nukhngs thatCdealswiththesamesortofobjectsthatmostcomputersdo.Thesemaybecombinedand
xungtgyrabisphthuciukhincthxyra.Sphthucviukhin movedaboutwiththearithmeticandlogicaloperatorsimplementedbyrealmachines
khng phi l mt thuc tnh kch tnh bt buc phi bo m. Thay v iu , hai
thuctnhkchtnhchoviclptrnhmtcchngnvthngcboml TtnhinlCkhngphilngnngduynhtchoccnhlptrnhnhng.tnht
phitrnhcxungtbicsphthucvdliuviukhinvchnhl hinnayngitacngcthbittingoingnngClAssembly,C++,vAda.
hnhvingoilcthxyratronglungdliuthcthichngtrnh.
Trong nhng bui u pht trin h nhng th ngn ng Assembly ch yu c s
dngchoccvixlch.Vingnngnychophpngilptrnhiukhinv
3.4 Ngn ng v mi trng pht trin kimsothontonvixlcngnhphncnghthngtrongvicthcthichng
trnh.TuynhinngnngAssemblycnhiunhcimmcngchnhlldoti
3.4.1 Ngn ng
sao hin nay n t c ph cp v s dng. l, vic hc v s dng ngn ng
Mttrongnhngngnnglptrnhclphcprngrinhthinnaylngnng Assemblyrtkhkhnvcbitkhkhntrongvicphttrinccchngtrnhng
C. So vi bt k ngn ng lp trnh no khc ang tn ti C thc s ph hp v tr dnglnphctp.Hinnaynchcsdngchyunhimnigiangnng
thnhmtngnngphttrincahnhng.iunykhngphilchuvstn bccaovbcthpvcsdngkhicyucucbitvhiusutthchinv
timi,nhngtithiimnythCcllmtngnnggnginhttrthnh tiuvtcmkhngthtcbngngnngkhc.NgnngAssemblych
mt chun ngn ng trong th gii h nhng. Trong phn ny chng ta s cng tm thcsphhpchonhngngickinhnghimvhiubitttvcutrcphncng
hiutisaoClitrthnhmtngnngphbinnvyvtisaochngtalachn chcngnhnguynlthchincablnhvchpxl.
nnhmtngnngminhhachoviclptrnhhnhng.
C++lmtngnng kthat Cnhmvocclpngdngvtduylptrnh
Sthnhcngvphttrinphnmmthnglnhvoslachnngnngph hng i tng v cng bt u chim c s lng ln quan tm trong vic ng
hpnhtchomtdntra.Cnphitmmtngnngcthpngcyu dngchophttrinhnhng.TtccccimctlicaCvnckthahon
culptrnhchoccbxlt8bitn64bit,trongcchthngchchuhnv tontrongngnngC++vngoiracnhtrkhnngmivtrutnghadliu
vphhpvitduylptrnhhini;hngitng.Tuynhiniunybnh

63 64
i bi hiu sut v thi gian thc thi do ch ph hp vi cc d n pht trin cthcthitrnmych(mitrngphttrinchngtrnh)vcnctngilb
chngtrnhlnvkhngchuscplnvthigianthcthi. bindchcho(crosscompiler).Vbbindchchytrnmtnnphncngtora
mchngtrnhchytrnmitrngphncngkhc.Vicsdngbbindchcho
Adacnglmtngnnghngitngmcdnkhngcphcprngri ny l mt thnh phn khng th thiu trong qu trnh pht trin phn mm cho h
nh C++.Adacxy dng bi c quan quc phngM phc vphttrincc nhng.Ccbbindchchothngcthcuhnhthcthivicchuynicho
phn mm qun s chuyn dng c bit. Mc d cng c chun ha quc t nhiunnphncngkhcnhaumtcchlinhhot.Vviclachncuhnhbindch
(Ada83vAda95)nhngnvnkhngcphcprngringoivicngdngch tngngviccnnphncngikhicngkhclpvichngtrnhngdng
yutrongcclnhvcqunsvhngkhngvtr.Vncngdndnbmtu cabbindch.
thvsphcptrongthigiangny,ycnglmtiungticvbnthn
Adacnglmtngnngcnhiucimphhpchovicphttrinphnmm Ktquutincaqutrnhbindchnhnclmtdngmlnhcbitti
hnhngthayvphisdngC++. vi tn gi l tp i tng (object file). Ni dung ca tp i tng ny c th c
xemnhlmtcutrcdliutrunggianvthngcnhnghanhmtnh
3.4.2 Bin dch dngchunCOFF(CommonObjectFileFormat)haynhdngcablinktmrng
ELF (Extended Linker Format) Nu s dng nhiu b bin dch cho cc modul m
nguncamtchngtrnhlnthcnphimborngcctpitngcto
raphicchungmtkiunhdng.

Huhtnidungcacctpitngubtubimtphnheadermtcc
phntheosau.Mimtphnschamthocnhiukhimhocdliunhc
sdngtrongtpmngun.Tuynhincckhicnhmlibibbindchvo
trongccphnlinquan.Vdnhttccckhimcnhmlivotrongmt
phncgiltext,ccbintonccckhito(cngccgitrkhitoca
chng)votrongphndliu,vccbintonccchackhitovotrongphn
bss.

Cng kh ph bin thng c mt bng biu tng cha trong ni dung ca tp i
tng.Nchatnvachcattcccbinvhmcthamchiutrongtpm
ngun. Cc phn cha trong bng ny khng phi lc no cng y v c mt s
binvhmcnhnghavchatrongcctpmngunkhc.Chnhvvycn
Hnh38:Qutrnhphttrinvbindchphnmmnhng phicblinktthcthixlvnny.

Qutrnhbindch(Compiling)
Qutrnhlinkt(Linking)
Nhimvchnhcabbindchlchuynichngtrnhcvitbngngnng
Tt c cc tp i tng nhn c sau bc thc hin bin dch u tin u phi
thnthinviconngivdnhC,C++,thnhtpmlnhtngngcthc
cthplitheomtcchcbittrckhincnpvchytrnmitrng
vhiubibvixlch.Theocchhiunythbnchtmtbhpngcngl
phn cng ch. Nh thy trn, bn thn cc tp i tng cng c th l cha
mt b bin dch chuyni mtmtt mt dnglnh hpng thnhmtdng
hon thin v vy b lin kt phi x l t hp cc tp i tng vi nhau v
m lnh tng ng cho b vi x l c th hiu v thc thi. Chnh v vy i khi
honthinntphncnkhuytchoccbinhochmthamchiulinthnggiacc
ngi ta vn nhm hiu gia khi nim b hp ng v b bin dch. Tuy nhin vic
tpmnguncbindchclp.
bindchcabhp ngscthc thinginhnrtnhiusoviccbbin

dchchoccmngunvitbngngnngbccaokhc.
Ktquuracablinktlmttpitngmicchattcmvdliu

trongtpmngunvcngkiunhdngtp.Nthcthiciunybngccht
Mimtbxlthngcringngnngmyvvycnphichnlamtbbin
hpmtcchtngngccphntext,dliuvphnbsstcctpuvovto
dchphhpcthchuynichnhxcthnhdngmmytngngvibx
ramttpitngtheonhdngmmythngnht.Trongqatrnhblinkt
lch.ivicchthngnhng,bbindchlmtchngtrnhngdnglun
thchinthpccphnnidungtngngncnthchinthmcvnhon

65 66
chnhccachthamchiucaccbinvhmchacytrongbcthc tchngtaphitlmhuhtcngviccabcnybngcchcungcpthngtinv
hinbindch. bnhccuhnhtrnnnphncngmchngtaangphttrinvchnh
lthamsuvochovicthcthicabnhv.Bnhvssdngthngtinny
Ccblinktcthckchhotthchinclpvibbindchvcctpi gnccachvtlchomiphnmlnhvdliubntrongchngtrnhc
tng c to ra bi b bin dch c coi nh cc tham bin vo. i vi cc ng thcthimcthnhvli.Tiptheonstoramttpcchachngtrnhb
dngnhngnthngchaphnmkhitocbindchcngphicgp nhnhphncthnptrctipvobnhchngtrnhtrnnnphncngthc
trongdanhschthambinvony. thi.

Nucngmtbiutngckhaibohnmtlnnmtrongmttpitngth Trongnhiutrnghpbnhvlmtchngtrnhkhclpviccphncng
b lin kt s khng th x l. N s kch hot c ch bo li ngi pht trin ckhctronghthngphnmmphttrin.Tuynhintrongccbcngcphttrin
chng trnh xem xt li. Hoc khi mt biu tng khng th tm c a ch tham GNUchcnngnyctchhpluntrongblinkt.Tuynhinkhngnnnhm
chiuthctrongtonbcctpitngthblinktscgngtgiiquyttheo lnvchcnngcachngtrongqutrnhthcthibindch.Thngthngchng
khnngchophpdavoccthngtinvdnhchatrongphnmtcathvin trnhchytrnccmytnhmcchchungthhiuhnhsthchinvicchuyn
chun. iu ny cng thng hoc c th gp vi trng hp cc hm tham chiu ivgnchnhxcachthcchoccphnmvdliutrongchngtrnhng
trongchngtrnh. dng,cnvichngtrnhphttrinchytrnhnhngthvicnyphicthc
hinbibnhv.ycngchnhlimkhcbitcbnkhithc hinbindch
Rtngticlcchmthvinchunthngyucumtvithayitrckhin mtchngtrnhngdngchohnhng.
cthcsdngtrongchngtrnhngdngnhng.Vnylccthvin
chuncungcpchoccbcngcphttrinchdngnkhnngnhdngvto Thngtinvbnhvtlcahthngphncngphttrinmcnphicungcpcho
ratpitng.Hnnachngtacngrttkhicthtruynhpcvomngun bnhvGNUphicnhdngtheokiubiudincablinkt.Thngtinny
cacc th vin chun c tht thay i.Hin naycngc mts nhcungcp i khi c s dng iu khin mt cch chnh xc th t trong cc phn m
dch vphn mm h tr cng cchuyni haythayith vin C chunng chngtrnhvdliubntrongchngtrnhcthnhvli.Nhngychng
dng cho cc ng dng nhng, v d nh Cygnus. Gi phn mm ny c gi l ta cn phi thc hin nhiu hn th, tc l phi thit lp chnh xc khu vc ca mi
newlibvccungcpminph.ChngtacthtivtrangwebcaCygnus.Ns phntrongbnh.
htrchngtagiiquytvnmblinktcthgpphikhichngtrnhs
dngcchmthucthvinCchun. Sauylmtvdminhhacamttpthngtinlinktccungcpchomt
nnphncngnhng,githitlc512KBRAMv512KBROM.
Saukhihpnhtthnhcngttcccthnhphnmvphndliutngng
cng nh cc vn v tham chiu ti cc biu tng cha c thc thi trong qu MEMORY
trnhbindchnl,blinktstoramtbnsaocbitcachngtrnhc {
kh nng nh v li (relocatable). Hay ni cch khc, chng trnh c hon thin ram : ORIGIN = 0x00000, LENGTH = 512K
ngoitrmtiu:Khngcachbnhnochacgnbntrongccphnm rom : ORIGIN = 0x80000, LENGTH = 512K
v d liu. Nu chng ta khng phi l ang pht trin phn mm cho h nhng th }
qutrnhbindchcthktthctiy.Tuynhin,vihnhngngaychthng SECTIONS
nhng bao gm c h iu hnh chng ta vn cn phi c mt m chng trnh {
(image)nhphncnhvtuyti.Thctnucmthiuhnhthphnm data ram : /* Initialized data. */
v d liu cng thng gp c vo bn trong chng trnh c kh nng nh v li. {
Tonb ngdng nhng bao gmch iu hnh thnglinkttnh vinhauv
_DataStart = . ;
thchinnhmtmchngtrnhnhphnthngnht.
*(.data)

_DataEnd = . ;
Qutrnhnhv(Locating)
} >rom
Cngcthchinvicchuynimtchngtrnhckhnngnhvlithnhmt
dng m chng trnh nh phn c th thc thi c gi l b nh v. N s m
nhimvaitrcabcnginnhttrongccbcthcthibindchnichung.Thc

67 68

bss : /* Uninitialized data. */
{
_BssStart = . ;
*(.bss)

_BssEnd = . ;

_BottomOfHeap = . ; /* The heap starts here. */

_TopOfStack = 0x80000; /* The stack ends here. */

text rom : /* The actual instructions. */


{
*(.text)
}
}

onmnyccungcpchochobnhvcablinktGNUvthngtinb
nhccuhnhtrnnnmchcnghnhngchvchraccphndliuv
bssscnhvtrongRAM(btutiach0x00000)vphnmchngtrnh
scnhvtrongROM(btutiach0x80000).Tuynhinccgitrkhito
trongccondliuscthchinmtphntrongROMbtutphnnh
nghacakhuvcnhvcuicngtrongmchngtrnh.

Ttccctnbtubidugchdi(_)lccbincthcthamchiutbn
trongmngun.Blinktssdngccbiutngxlccthamchiutrong
cctpitng.Vdcthcmtphnchngtrnhngdngnhng(thngl Hnh39:VdvmtluphttrinphnmmchoDSPTMS320Cxx
thucphnmkhitochngtrnh)saochpccgitrkhitocaccbinc
khitotrongROMsangkhuvcdliutrongRAM.Ccachbtuvktthc 3.4.3 Simulator
chohotngnycthcthitlpmtcchbiutngbithamchiuticcbin Simulatorlmtchngtrnhphnmmchophpngiphttrinmchngtrnh
snguyn_DataStartv_DataEnd. chy m phng mt chng trnh vit cho mt nn VXL/VK (nn phn cng ch)
trnmtmitrngphncngkhc(haycngilmitrngphttrin).Thccht
Kt qu ca bc cui cng ny ca qu trnh bin dch l mt m chng trnh nh lqutrnhmphnghotngcachngtrnhthcthitheongnhiukin
phncthcnptrctipvchyctrnnnphncnghnhngch,tcl thchincamitrngchtrnmitrngphttrin.
c np vo b nh chng trnh ca h thng ch. Trong v d trn m chng
trnhnhphnctoracdunglngchnhxcl1MB.Tuynhinbivccgitr S dng b m phng m chng trnh c th c chy th tng bc hoc tng
cho phn d liu c khi to nm trong ROM nn na phn thp 512KB ca m phnvcthcchnhsatrctipthnghimccgiiphpkhcnhauchocc
chngtrnhnhphnnychchagitrzerovchcnaphncaocsdngl bitonthcthiphnmm.Tuynhinccbmphngkhnghtrccngtthcv
chyu. ccthitbngoiv.

Bmphngtrctip(bmphngphncng)baogmmtthitbphncngkt
nitrctipvihphttrinvchophpthcthiccphnnggingnhb
x l ch. B m phng trc tip trn mch c tt c cc chc nng ca mt b m

69 70
phngphnmmngthihtrcccchcnngemulationchocccngvoraca
VK.

3.4.4 Emulator
Emulatorlmtthitbphncngckhnngthchinnhmtnnphncngch.
Ncncbittinhmttngikhclcngcphttrinthigianthcbivn
chotaphnngviccskinnhVKchthcthi.CcbEmulatorthngckm
theo c phn chng trnh gim st (monitor program) cho php ngi pht trin HthngnymphngnnphncngthctrnPCchopnghnhvigingnhvi
chngtrnhchoVKchkimtranidung,trngthiccthanhghivcckhuvc vimchcngthcvmhnhitngcmhnhthcthitrnPC.Loihthng
bnhvthitlpccimdngkhithchinchychngtrnh. ny cng tng t nh h thng m phng offline tuy nhin c u im hn v kh
nngmphng hnhvivpngcavimchnhngchnhxchnvtrungthc
3.4.5 Thit k h thng bng my tnh hn.Vcngcmtnhcimlkhngthnghimcbitonthigianthc.

Mphngthigianthc(HardwareintheLoop)




Trong qu trnh pht trin phn mm cn phi c th nghim vi i tng iu H thng ny s dng nn phn cng nhng ch thc nhng i tng th ch l m
khin.Tuthucvotngmitrngphttrinchngtacthtinhnhtheomts hnhthigianthckhngphiitngthc.uimlkhmmdovthayi
ccphngphpsau. cuhnhngintrongqutrnhphttrinthnghimvicchnhvikhcnhau
caitng.Rtngtvnginhacngvicxydngitng.
Mphngoffline
Mhnhphttrinthc


Tronghthngphttrinnynnphncngnhngchcmphngbngmhnh
chytrnPCvitngiukhincnglmhnhmphngchytrnPC.Vvy
qu trnh pht trin thc cht l qu trnh chy m phng h thng c thc hin
hon ton trn PC. Vi h thng ny khng th th nghim cho cc s kin p ng Hthngnysdngnnphncngnhngchthcviitngthc.Tuynhinc
thi gian thc v thi gian ca m phng khc vi thi gian din bin thc ca h shtrcacngcphttrincthcitvthnghimtrctiptrnnnphn
thng. cngthc.ylmtdngmhnhchoktqutrungthcvchnhxcnhttrongcc
dnghthngphttrinnutrn.Tuynhinccnnphncngnythngcpht
Hthngphttrin(softwareintheloop) trinvhtrbiccnhcungcpcthtngthchvicngcphnmmkm
theo.

71 72
4.2 B np khi to (Boot-loader)
4 H IU HNH NHNG
Thutngbootstrapbtnguntcchdintcxacnghaltmnhvnln
4.1 H iu hnh bngchnhnlccabnthnpullingyourselfupbyyourownbootstraps.Nc
sdngnhmtthutngrtphbingitnmtphnmmthcthivickhi
Ngun gc ra i ca h iu hnh l m nhim vai tr trung gian tng tc
tochngtrnhthcthitrnccnnviintkhtrnhnichung.Chngtrnhny
trc tip vi phn cng ca my tnh, phc v cho nhiu ng dng a dng. Cc h
thngrtnhgnvmnhimchcnngtinhotngcahiuhnh.Cng
iu hnh cung cp mt tp cc chc nng cn thit cho php cc gi phn mm
rtphbinhinnayngitacngthngdngthutngbootloader(bnpkhi
iu khin phn cng my tnh m khng cn phi can thip trc tip su. H iu
to) thay v bootstrap. B np khi to thc cht l mt chng trnh nh thc hin
hnhcamytnhcththynbaogmccdriverschoccngoivitchhpvimy
tronghthngvmnhimchcnngcnthitahiuhnhvohotng.
tnh nh card mn hnh, card m thanh... Cc cng c qun l ti nguyn nh b
Trongcchnhng,cclnhcthchinutinthngnmtrongccvngnh
nhvccthitbngoivinichung.iunytoramtgiaodinrtthunlicho
ROMvthngthucloichm.D,mttrongnhngtcvphbincabnp
cc ng dng v ngi s dng pht trin phn mm trn cc nn phn cng c.
khi to l sao chp chng trnh ng dng chnh (main program) vo trong vng b
ngthi trnhc yucu vhiu bit su scv phncng vc th phttrin
nhnhanhtrckhichngcthchin.Bnpkhitocngcnhimvkhito
datrnccngnngbccao.
vngnhdliuvccthanhghihthngtrckhinhytichngtrnhngdng

chnh.Cngcrtnhiudng khcnhaucabnpkhito, tdngnginn


Hthngiuhnh bnchtcnglmtloiphn mmnhngnkhcviccloi
phctp.Dngnginnhtcthchlmtlnhnhytichngtrnhngdng
phn mm thng thng. S khc bit in hnh l h thng iu hnh c np v
chnhngaysaukhiresetmkhngthchinbtkmttcvkhitohaynpchng
thcthiutinkhihthngbtukhingvcthchintrctipbibx
trnhg.Chngtrnhngdngchnhsphitthitlpthcthitcvcamnh.
l ca h thng. H thng iu hnh c vit phc v iu khin b x l cng
Cc b np khi to phc tp hn c th thc hin nhim v chun on b nh v
nhcctinguynkhctronghthngbivnsmnhimchcnngqunlv
khitohthng,kimtrachngtrnhvnpchngtrckhichobxlnhyti
lplchccqutrnhsdngCPUvcngchiastinguyn.
thchinchngtrnhngdngchnh.


Sauychngtastmhiuvmtmitrngphttrinkhinhnhvtholun
vmtsccthuctnhnguynlcbncabnpkhito.


Hnh41:Kintrchiuhnh

Tmli,hiuhnhthcchtchnhlmtgiaodinquantrng,giaotiptrctip
vitngphncngcpthpphcvchocngisdngcngnhccchngtrnh
ng dng thc thi trn nn phn cng h thng. Hn na h iu hnh cn c vai tr

quantrngtrongvicmnhim3tcvnguynlchnh:(1)Qunlqutrnh,(2)
Hnh42:NguynlthchincabnpkhitoBootloader
Qunltinguyn,(3)Bovtinguynkhisxmphmcaccqutrnhthcthi
sai. Trong mi trng pht trin h nhng in hnh, nn phn cng ch cn pht trin
cktnivitrmch(host)thngquamtgiaodintruynthng.Mtmitrng
phttrinbaogmmtchngtrnhgri(debugger)vdnhCodeComposerStudio

73 74
caTexasInstrument,chophpngiphttrinchngtrnhnpvthchinth
nghimccchngtrnhtrnphncngch.Mtscccngchtrvdnh
thit lp cc im dng (breakpoint)v cc nhim v ph tr khc bm st trng
thiqutrnhthcthithigianthccachngtrnhthnghim.iunyrtc
nghavtonnmtsddnghntrongqutrnhphttrinvgrimtchng
trnhngdngmichonnphncngch.

ThngthngccngdngcphttrintrongmitrngngnngCthchng
trnhngdngchnhcthcthiv nmtrongphmvihmmain()phnkhito
chngtrnhvnptinthchinchngtrnhchnhthngkhngtngminhhoc
bni.Thcchtiunychngivinhngngiphttrinmchngtrnh
ngdngchnhbngngnngbccao(cbitchoccngdngkhngphichoh
nhng)mkhngcnphiquantmnhiuncctcvcsmnhimvickhi
toccthanhghihthng,ngnxpvdliuiunycngrtcnghatora Hnh43:CutrccabnpkhitoBootloader
mtcmgicvmitrngphttrinthnthinchongiphttrinchngtrnhv
chcntptrungphnthchinchcnngchnhcahthng.Tuynhintrongmi 4.3 Cc yu cu chung
trngphttrinhthngnhngvicthcthichngtrnhthngbtutiach
Nhchngtacbitivicchthngthigianthc,yucuthitkmth
chngtrnhnibtutcvkhitohthngtrckhinhytithchinchng
iu hnh kh c bit. H nhng thi gian thc li yu cu h iu hnh phi thc
trnh chnh main(). Qu trnh ny c bt u thc cht l thc thi mt tc v ngt
hinvimtnguntinguynthngrthnhp.Mcdkchthcbnhtchhp
kchhotbiskinreset.
onchipscthtnglntrongtnglainhngvisphttrinhinnayhiuhnh

chocchnhngchnnckhongnhhn32Kbytes.
Bootloadercngcnhiudngkhcnhau.Hnh42mtmtbnpkhitochomt

ngdngCnhng.TrongvdnyvectorRESETtrtithtcc_int00thchintc
Hthngiuhnhmnhimviciukhinccchcnngcbncahthngbao
vkhito.Ngoivickhitoccthanhghi,ngnxpccbinCcngcnc
gmchyulqunlbnh,ngoivivvoragiaotipvihthngphncng.
khitotrckhicthcthi.Qutrnhnyssaochptphn.cinitvvitvocc
Mt im khc bit c bn nh chng ta bit v h iu hnh vi cc phn mm
achdliutngngcachngtrongphn.bss.Saukhihonthnhchngtrnh
khclnthchinchcnngiukhinskinthcthitronghthng.Cnghal
chnhmain()micgivbtuthcthi.Trongvdnginnybnpkhi
nthchincctcvtheomnhlnhyucutccchngtrnhngdng,thitb
to t hp vector RESET cng vi hm khi to c_int00 v gi thit rng c chng
voravccskinngt.
trnhbnpkhitovchngtrnhngdngchnhunmcngtrongvngnh

vtlnonvolatile.Trongcctrnghphthngphctphn,bnpkhitocth
Bnnhntchnhtcngtrctiptiqutrnhthitkhiuhnhl(1)khnng
baohm ctcvsao chpchngtrnhchnhvo trong vng nh fast volatiletrc
thchin,(2)nnglngtiuth,(3)githnh,v(4)khnngtngthch.Hinnay
khi n c gi v thc thi. B np khi to cng c th m nhim c chc nng
chng ta cng c th bt gp rt nhiu h iu hnh khc nhau c bit cho cc h
chunon,grivnngcphthngnuc.Chcnngchunoncthchl
nhngcngvstcngca4nhntnutrn.Huhtchnguckiudngv
kimtrabnh,ngoivivtngthchtchhptronghthng.Chcnnggri
giao din kh ging nhau nhng c ch qun l v thc thi cc tc v bn trong rt
cngcthlmtgiaodingimstcungcpthngtinvtrngthithigianthcv
khc nhau. Mi h iu hnh c thit k phc v trc tip cc chc nng c th
hthngmngitavnthngbittivitngilchngtrnhmonitoring.Vic
phncngcahnhngvkhngddngsosnhcgiachngvinhau.
nngcphocthayichngtrnhbnpkhitocngcthcthcthinhkh

nnglptrnhFLASHincircuitvnptbnhngoithngquagiaodinvitrm
Hai thnh phn chnh trong thit k h iu hnh l: phn ht nhn (kernel) v cc
chhocchcnngtngt.
chng trnh h thng. Ht nhn n chnh l phn li ca h iu hnh. N c s

dngphcvchoccbqunlqutrnh,blplchbqunltinguynvb
qun l vo ra. Phn ht nhn m nhim chc nng lp lch, ng b v bo v h
thngbivicsdngsai,xlngtChcnngiukhinchnhcanlphcv
iukhinphncngbaogmngt,ccthanhghiiukhin,ccttrngthivcc

75 76
b nh thi gian. N np cc phn mm iu khin thit b cung cp cc tin ch H thng iu hnh thi gian thc l h iu hnh h tr kh nng xy dng cc h
chungvphihpvicchotngvoravihthng.Phnhtnhncvaitriu thngthigianthc.
khinrtquantrngmbottcccphncahthngcthlmvicnnh
vthngnht.

Haikintrcthitkphnhtnhnkinhinnhtlkintrcvihtnhnvnht
nhn(monolithic).Ccvihtnhncungcpccchcnngiuhnhcbnctli(th)
theocchccmoduletngiclpmnhimcctcvcthvchuynrirt
nhiu cc dch v in hnh iu hnh h thng thc thi trong khng gian ngi s
dng.Nhcchnymccdchvcthckhitohoccuhnhlimkhng
nhtthitphikhitolitonbhthng.Kintrcvihtnhncungcpanton
caobivdchvhthngchytngngisdngvihnchvtruynhpvoti Hnh44:SosnhkintrcRTOSvOSchun
nguyn ca h thng v c th c gim st. Kin trc vi ht nhn c th c xy
Hthngiuhnhviphnlilhtnhnphimnhimcctcvchnhnhsau:
dngmtcchmmdophhpvicuhnhphncngkhcnhaumtcchllinh
Xlngt
hothnsovikiukintrchtnhnmonilithic.Tuynhindotnhclptngi
Lutrngcnhchngtrnhtithiimxuthinngt
giaccmodultrongvihtnhnnncnthitphicmtcchtraoithngtinhay
Nhndngvlachnngbxlvphcvdchvngt
truynthnggiaccmodulvvycthlldolmchmtcvgimtnhhiu
iukhinqutrnh
qu hot ng ca h thng. c im ni bt v ct li ca kin trc vi ht nhn l
Tovktthcqutrnh/tcv
kchthcnhvddngsaicngnhxydnglinhhothn.Ccdchvthc
Lplchviuphihotnghthng
thitngtrncahtnhnvvytcantoncao.Kintrcvihtnhnc
nhthi
pht trin mnh m trong cc h thng a x l v d nh Windows 2000, Mach v
iukhinngoivi
QNX.
Xlngt

Khitogiaotipvora
Kiukintrcmonolithiccungcpttcchcnng/dchvchnhyuthngquamt

qua trnh x l n l. Chnh v vy kch thc ca chng thng ln hn kiu kin
trcvihtnhn.Loihnhkintrcnythngcpdngchyuchoccphn
cngcthmhtnhnmonolithiccstngtctrctipviphncngnhvym
khnngtiucngddnghnsovipdngkiukintrcvihtnhn.Chnhv
vycnglldotisaokintrcmonolithickhngththayimmdolinhhotnh
kiu vi ht nhn. V d in hnh v loi hnh kin trc ht nhn monolithic bao gm
Linux,MacOS,vDOS.

Vhiuhnhcngihivtinguynvkimcchcnngqunlchngvvy
ngithitkcnphinmcthngtinvchngmtcchy.Vdnhi
vihthngiuhnhchoSunMicrosystemSolarisyucutithiukhnggianbnh
trnal8MB;Windows2000yucukhonggphailnnhvy.

4.4 H iu hnh thi gian thc


QNXlmtvdinhnhvhthngthigianthcRTOScthitkpng
ccyucuvlplchrtkhtkhe.QNXcngchathcsphhpcthc Hnh45:Cutrchiuhnhthigianthc
thc thi cho cc h thng nhng bi v n i hi dung lng b nh khng nh v
Tytheocchthchinvxydnghotngcahtnhnngitaphnloimt
thngphhpchoccngdngihivantonvtincyln.
sloihnh:

77 78
(1)Hthngthigianthcnh:Viloinyccphnmmcphttrinmkhng Cc ht nhn thc thi theo c ch ngt rt ging vi loi ht nhn thc hin
cnchiuhnh,ngilptrnhphitqunlvxlccvnviukhin theocchvnglpthmd.Nxlttccctcvthngquaccdchv
hthngbaogm: ngt.
Xlngt Cchtnhnlnvphctphnsbaogmmtsccdchvphphcv
iukhinqutrnh/tcv chovictruynthnggiaccqutrnh.Vnucbsungynstr
Qunlbnh thnhmthiuhnhy.
(2)Cngnghanhim
Miqutrnhcmtkhnggianbnhring Cckiuloihtnhncbn
CcqutrnhphicchianhthnhccThreadcngchiaskhnggianb Htnhnthchinvnglpthmd
nh. Htnhnthchintheocchngt
(3)Ccdchvcungcpbihtnhn Htnhnqutrnhvnhnhqutrnh
Tovktthcqutrnh/tcv
Truynthnggiaccqutrnh Vic la chn loi ht nhn no hon ton ty thuc vo cc b x l v kch thc
Ccdchvvnhthigian phnmm,tuynhinringloihtnhnvnhnhtheoqutrnhkhngphhpvi
Mt s cc dchv cungcph tr victhcthilin quanniukhinh ccbxlnh.
thng
Htnhnqutrnh
cimcbncahtnhnthigianthcinhnh: Cchtnhnqutrnhrrnglphctphncchtnhnthchintheocchthm
Kchthcnh(lutrtonbtrongROM) dviukhinngt.Ccngtruyntnhiulogicbntrongccqutrnhvcc
Hthngngt dchvngtctchhpvthchinthngquavictruyndliu.
Khngnhtthitphiccccchbov
9 Chhtrphnkimtrachngtrnhngdng
9 Tngtcchuynngcnhvtruynthnggiaccqutrnh
9 Khiccqutrnhngdngangthchinthccyucuhthngiu
hnhcthcthchinthngquaccligihmthayvsdngc
chngtmm
Vihtnhn(Microkernel):Baogmmttpnhccdchvhtr
9 Qunlqutrnh
9 Ccdchvtruynthnggiaccqutrnhnucn
9 Ccphnmmiukhinthitblccqutrnhngdng Hnh46:Mhnhtrngthicaqutrnh

Htnhnsphimnhimchcnnglplchchoccqutrnhtheongmhnh
Htnhninhnhcbn
trngthi.
Loihtnhnnginnhtlmtvnglpvhnthmdccskinxut
RUN:qutrnhcthchin
hintronghthngvphnnglitheosthayinuc.
WAIT:ccqutrnhchmtskinhoctnhiuvorakchhotqutrnh
Vimtbxlcuhnhnhnht,khngphilcnoncngcthluct
READY:ccqutrnhsnsngcthchin
ngcnhvkhngththayicontrngnxphocvngngnxprthn

ch.
Cc phn t thuc tnh ca mt qutrnh: Cc phnt nycn thit phcv cho
Thay v s dng cc thanh ghi thit b, vng lp thm d c th gim st cc
viclplch.Vdivicchlplchtheomcutinsyucuthngtinsau
binmchusthayicpnhtbiccbxlngt.
vimiqutrnh:
Htnhncthcxydngsaochottccctnhiulogicciukhin
9 Tn(achbnhcaphntqutrnh)
bivnglpvnhpciukhinbiccngt.
9 Trngthi:RUN,WAIT,READY
Cctcvlncnnhiuthigianthchincthcchianhthnhcctc
9 Mcutin
vnhvcthchinticcthiimkhcnhaunhvocchchuynv
9 Ngcnh(dngcontrqunlluctthngtintrongngnxp)
sdngbm.

79 80
Thiimktthc di (duetime):Thiimmtcvphihonthnh.
5 K THT LP TRNH NHNG
5.1 Tc v v qu trnh (process)

Tcv(task)?Lmtcngviccnthcthithamgiatronghthng

Qutrnh(process)lmtdinbinthcthimttcvcahthng.
Hnh51:GinthchincamttcvTi

ikhingitavndnglnhaikhinimnyvkhngphnbit. Trncsblplchsphithchinbitontiuv:
Tcvchuk(period)vkhngchuk(aperiod) Thigianpng(responsetime)
Hiu sut thc hin (s lng cng vic thc hin xong trong mt n v thi
Cctcvphithchinlplimtcchuntheonhngkhongthigianpc gian)
gilcctcvcchukvpcgilchukcatcv.Ccloitcvkhcth Scngbngvthigianchi(cctcvkhngphichiqulu)
cgiltcvkhngchuk.
Vdvmtlchthchin2tcvcmtnhtrongHnh52.
5.2 Lp lch (Scheduling)

Tisaophilplch?
mboccchthcthichiastinguynhuhnvthomnyucuthi
gian thc. Lp lch phi nhm tho mn hay t ti c s tho hip gia cc rng
bucvtinguyn,sphthuclnnhauhaythigianthchin.

5.2.1 Cc khi nim


Lplchlmtphpthchinphnbvgnquytrnhthcthicctcvchobxl Hnh52:Ginlplchthchin2tcv
saochomitcvcthchinhonton.
Trongtrnghpcavdnyccthngsvthigianthchincacctcvtnh

cnhsau:
Lplch=tmkimmtginphnbthigianthchinanhimhplvicc
Thigiantnhton C1 = 9 v C2 = 12 .
iukinrngbucchotrc.Haynicchkhclblplchphixlquytnh
Thigianbtuthchin: s1 = 0 , s2 = 6 .
viuphiqutrnh/tcvthchin.
Thiimhonthnh: f1 = 18 , f 2 = 28 .
Cmtsthngtinvtcvlunphiquantmivibtkblplchthigian Khongthigianchnhlchthiimktthcvdeadline(Lateness) Li = fi di :
thcno,baogm: L1 = 4 , L2 = 1 .
Thigianxuthin ai (arrivaltime):Khiskinxyravtcvtngngc Khongthigianri/dthagiathigianchophpthchinvthigiancn
kchhot. thchintcv(Laxity) X i = di ai Ci : X 1 = 13 , X 2 = 11 .
Thiimbtuthcthi ri (releasetime):Thiimsmnhtkhivicxl
snsngvcthbtu. 5.2.2 Cc phng php lp lch ph bin
Thiimbtuthchin si (startingtime):Lthiimmtitcvbt
uvicthchincamnh.
Thigiantnhton/thcthi ci (Computationtime):Lkhongthigiancnthit
bxlthchinxongnhimvcamnhmkhngbngt.
Thiimhonthnh fi (finishingtime):Lthiimmtitcvhonthnh
victhchincamnh.
Thigianriro/xunht wi (worstcasetime):khongthigianthchinlunht
cthxyra.

81 82
Khng tn ti mt li gii ti u cho vic lp lch trong h thng nhiu b x l nu
thiimxuthinyucuthcthicacctcvkhngcbittrc.
Cc ht nhn c iu khin theo c ch ngt thng thc thi c ch lp lch non
preemtivengtrongkhiloihtnhnvnhnhtheoqutrnhlithcthitheocch
preemptiveng.

Mtthuttonlplchngcgiltiununcthtmracmtlchiu
phiiukhinhthngthomnccrngbucthigianchobtkkhinom
thuttontnhkhngtmrac.

Lplchtptrunghocphntn:Viclplchcthchinpdngchocctcv
thcthibimt(tptrung)hocnhiubxl(phntn).


LplchMonohayMultiprocessor:Nhimvlplchvthcthicmnhimbi
Hnh53:Phnloiccphngphplplch
mt(mono)hocnhiubvixl(multi).Tuthucvophctpvthuttoncn
Tuthucvoloihnhtcv,ngitarahaiphngphplplchlcchukv xlkhilplchmngitaquytnhphisdngphngphplplchmonohay
khngcchuk. multiprocessor.

Lp lch nonpreemptive: Phng php ny m bo cc tc v c thc hin hon Tnhkhlplch:Mththngvimttpcctcvvcciukinrngbucc
thnhmikhithcthi,vvythigianpngchoccskinkhccthlu. gilkhlplchnutntitnhtmtcchlchtrnhthchinthomncctcv
viukinrngbuc.
Lp lch preemptive: Phng php ny khc phc nhc im ca lp lch non
preemptivekhithigianthcthicctcvlu.Cctcvscthchinvcthb Vdvlplchchohthnganhimvi2tcv.Tcv1thchintheochukv
ngtgiachngphcvthcthicctcvkhc.Cchlplchnychophpm tcv2thchinkhngtheochukvithigianthcthilnhnthigianchuklp
bothigianpngchoccskinvtcvngnvnhanhhn. licatcv1.

Lplchoffline/tnh:Viclplchcthchindatrncchiubithocdbov
ccskintcvthchintronghthng(thiimxuthin,thigianthchin,
deadline) v c quyt nh ti thi im thit k v c p dng c nh trong
sutqutrnhhotngcahthng.Viclplchtrccmtsccuimsau:
Tcvtiptheocthclachnthcthitrongkhongthigianlhngs
Kh nng png yu cu thigian thcc thc bittrc vcm
bo
Nhcim:
o Khngththayilchtrnhthchincahthngtrongqutrnhthchin
o ihiphicthngtinthigianchnhxcvcctcvtnhtonlplch
Mtthuttonlplchtnhcgiltiununlunluncthtmcmt
lchiuphithomnccrngbucchotrongkhimtthuttontnhkhccng
tmcmtligii.

Lplchonline/ng:Bxlthchinviclplchtrongqutrnhthcthidatrn
csccthngtinhotnghinhnhcahthng.Slplchlkhngxcnh

trcvthayingtheoqutrnhthchin.
Hnh54:Ginthigianthchinlchcatcv
Ccthuttonlplchtnhtiukhngphiltiutronghthngng.

83 84
5.2.3 K thut lp lch EDFcthcpdngchocctptcvchukvcngcthmrngpng
FCFS chocctrnghpccdeadlinethayikhcnhautheochuk.
Trongcchlplchntrccphvtrcthccqutnhcxltheoth
tmnxuthinyucuvchonkhihonthnh.Cchlplchnythucloi VnchnhcathuttonlplichEDFlkhngthmboctcvnotrong
khngngtcvcuimlddngthcthi.Tuynhin,nkhngphhpcho hthngcthkhngcthcthitrongtnhhungquhthngbquti.Trong
cc h thng m h tr nhiu ngi s dng v c mt s bin i ln v thi gian nhiutrnghpmcdmcsdngtrungbnhnhhn100%nhngvncth
trungbnhmmtqutrnhhaytcvphichicxl.Hnnadovic trongmttnhhungnovnvtquakhnngpngcahthngtclsc
xlkhngngtcnnchintngchimhucquynbxltrongthigian tcvkhngcmbothcthing.Trongnhngtrnghpnhvycnphi
divcthgyrastrbtthngtrongqutrnhthchincacctcvphich iukhinbittcvnoblikhngthchinthnhcnghoctcvnoc
ikhc. thchinthnhcngtrongqutrnhqu.

ShortestJobFirstSJF MinimumLaxityfirst(MLF)
Trongcchlplchnytcvcthigianthcthingnnhtscquynutincao Cchlplchnysutintcvnocntthigiancnlithchinnhttrc
nht v s c phc v trc. Vn chnh gp phi trong c ch lp lch ny l khinphiktthcmboyucuthcthing.ycxemlcchlplch
khngbittrccthigianthcthicacctcvthamgiatrongchngtrnhv gn quyn u tin ng v d t c s ti u v hiu sut thc hin v s cng
thngthngphipdngcchtinonvnhgidavokinhnghimvcc bngtronghthng.
tcvthcthitronghthng.iunychcchnrtkhlunmboc
chnhxc.Cchlplchnycthpdngchocloingtcvkhngngtc. RoundRobin
y l mt c ch lp lch phn b u n, ngt c v n gin. Mi mt tc v
Ratemonotonic(RM): cxl/phcvtrongmtkhongthigiannhtnhvlplitheomtchutrnh
PhngphplplichRMclhinnylthuttoncbittinhiunhtpdng xuynsuttonbcctcvthamgiatronghthng.Khongthigianphcvcho
chocctcvhayqutrnhclp.Phngphpnydatrnmtsgithitsau: mitcvtrongqutrnhlmtsthohipgiathigianthchincacctcv
(1) Ttccctcvthamgiahthngphicdeadlinekiuchuk vthigianthchinmtchutrnh.Cthchnkhongthigianrtnhvi
(2) Ttccctcvclpvinhau lcchngtakhngnhncrarngangcsphnbthchintronghthng.
(3) Thigianthchincacctcvbittrcvkhngi Tuy nhin nu thi gian qu nh c th lm mt tnh hiu qu thc hin ton h
(4) Thigianchuyningcnhthchinlrtnhvcthbqua thng v cn nhiu thi gian trong vic chuyn i ng cnh cho mi tc v sau mi
chutrnhthchin.
ThuttonRMcthcthitheonguynlgnmcutinchocctcvdatrn
chukcachng.Tcvnocchuknhthsccgnmcutincao.Theo
nguynlnyvicctcvchukkhngthayithRMslphngphplplch
chophpngtvmcutincnh.TuynhinRMhtryucuhthngkhng
tt.

Earliestdeadlinefirst(EDF)
Nhngtngicaphngphp,thuttonlplichtheophngphpnysdng
deadlinecatcvhaynhiukinutinxliuphihotng.Tcvc
deadlinegnnhtscmcutincaonhtvcctcvcdeadlinexanhtsnhn
mcutinthpnht.uimnibtcaphngphpnylgiihncthlplch
pngc100%chottccctptcv.Hnnamcutingnchomitcv
trongqutrnhhotnglngvvychukcatcvcththayibtklc
notheothigian.

85 86
5.3 Truyn thng v ng b 9 mboloitrxungttronghotngtruynhpngthicanhiutc
v,vchcmttcvcthcthitimithiim.
5.3.1 Semaphore
Countingsemaphore
9 iukhintinguynmcthphcvcngmtlcnhiutcvhocmt
nguntinguynchophpphcvmtsnhtnhcctcvkhngng
bvhotngngthi.
9 NhiulungcthtruynSemaphore
9 SlnglungcquytnhbibinmNcaSemaphore

Thc cht mutex semaphore l mt dng c bit ca counting semaphore vi bin m
N=1.

ThcthiSemaphore


Hnh55:Truynthngqutrnh

Semaphores l mt cu trc d liu c nh ngha loi tr kh nng xung t


trongqutrnhchiastinguyncacctcvtronghotngcahthng.

Semaphoreshtrhaihotngchnhnhsau:
wait(semaphore):gimvkhochotikhisemaphorecm
signal(semaphore): tng v cho php thm mt lung mi c tham gia hot
ng S dng Semaphore trong vic ng b hai qu trnh to v s dng hng mc thng
Tronghotngphihpcngvisemaphorecmthngigmcctcvcnc quabmtrunggian.
thcthiscmtstnhhunghotngcbnnhsau:
Khimtlung(thread)giwait():
Nusemaphorecmthlungscgianhpvtiptcthcthi
Nu semaphore ang b ng th nhnh s b kho v phi nm ch
tronghngichotikhinosemaphorecm
signal()smsemaphore:
numtlungangnmtronghngivkhngbkho
nukhngclungnotronghngivtnhiusignalscnhv
dnhcholungtiptheo

CcloiSemaphore
Mutexsemaphore
9 Chophpiukhinhotngtruynhpnlvotinguynchiasca
hthng.

87 88
Nhnxt: 5.4 X l ngt
9 Semaphores c th c s dng gii quyt bt k mt bi ton hay vn
ngbtruynthngno Tn hiu iu khin b VXL kch hot bi mt s kin tham gia trong qu trnh hot
9 Tuynhinchngcmtsnhcim ngcahthnglmhthngngngvchuynhngthcthicgiltnhiu
o Chngchyusdngccbintoncctrongviciukhinhotng ngt.NsngtbVXLkhihotngmnangthcthivchuynsangthchin
ngbnncthtruynhpbtkutronghthngkhkimsot mtcngvickhcphcvchoskinkchhotngttngng.Vdnhtrongqu
o Khngcslinktchtchgiasemaphorevdliumcniu trnhthu thpd liu,VXL lun phich ithi imn nhn d liu vskch
khin. hotskinngtCPUmikhicdliuxuthinkpthighidliuvobnh.
o csdngngthichocvicloitrxungt(mutualexclusion)v Saukhihon thnh, CPU phchili trng thica hthng v tr li tiptcthc
hotngngbchocctcv(scheduling) hinchngtrnhtthiimmnbngt.ivibxlngt,nsphithc
hinhainhimvchnhl:(1)Xcnhcskinngtv(2)nhndngskin
5.3.2 Monitor ngttrckhitcvphcvngttngngckchhot.Hnh56mtmtchu
Monitor l mt ngn ng lp trnh c xy dng iu khin vic truy nhp vo trnhcbnthchinngttrongcchVXL/VK.
vngdliuchiastronghotngcahthng.Mchngtrnhngbcb
sungvotrongbbindchvthcthikhichychngtrnh.
3Monitorlmtmodulnggi
Cccutrcdliucchias
Ccthtchotngthaotctrncccutrcdliuchias
ngbcclungthcthingthimcthkchhotccthtctrong
hotnghthng
3Monitorcthbovdliukhistruynhpkhngccutrc.Nmborng
cclungtruynhpvodliuthngquaccthtctngtctheonhngcchhp
phpvckimsot.
3Monitormboloitrxungt
Ch c mt lung c th thc thi bt k th tc no ti mi mt thi im
(lungtrongmonitor)
Nucmtlungangthcthibntrongmtmonitornskhocclung Hnh56:Chutrnhthchinngt
khcmunvo,domonitorcngphicmthngi.



Hnh57:Vdvcutrcphncngxlngt

89 90
Ccngunngtngoi/cngcthcnhndngtheokiutnhiungt
Theosnxung(ngtckchhotkhi xuthinsnxungdngtichn
nhntnhiungt)
Theomc(ngtckchhotkhixuthinmttnhiuxungmctchccti
chnnhntnhiungt)
Mtskinngtcngcthckchhotchbimthotngchocvitvo
mtthanhghithitbngoivihocccthanhghiiukhinhoctrngthi.

S xung t tranh chp gia cc ngun ngt cng xut hin ti mt thi im c th
cgiiquytbngmcutinhocktnicngvibxl.Ccngunngt
ngoicthctiginvicxlbngskthpviphnmmvcngchiascc
ngtnhiungt.Cchthchinngtcstranhchpvgiiquytbngmc

utincmtnhtrongHnh510.
Hnh58:Cchthchinthtcngt

Th tc kch hot mt tc v phc v s kin ngt c m t nh trong Hnh 58.
ThngthngngitahayquantmnhiunpngcaCPUviskinngtv
thigianthchintcvngt.ythigianpngphthucvquytnhbi
tc v kh nngx l caphn cng cnthi gianthc hin tcv ngtchyu
quytnhbitcvngtdihayngnvdochngtrnhquytnh.


Hnh510:Cchthchinngttheomcutin


Hnh59:Vdvngunngt(DSPTMS320C2812)

91 92
nhiuthnhphnvmithnhphnthucccthuctnh.Ccthuctnhcth
6 THIT K H NHNG: T HP PHN CNG V MM thayivcctrng bi ccbin trng thi. Mtchuicctrngthis m t
6.1 Qui trnh pht trin qutrnhngcamththng.

Qutrnhphttrinphnmmnhngthchintheochutrnhsau: Mng Petri thc s l mt gii php m t h thng ng vi cc s kin ri rc tc
(1) Problemspecification nglmthayitrngthicaccitngtronghthngtheotngiukinc
(2) Tool/chipselection thtrngthicahthng.
(3) Softwareplan
(4) Deviceplan Mng Petri c thit lp da trn 3 thnh phn chnh: (1) Cc iu kin, (2) cc s
(5) Code/debug kin,v(3)quanhlung.Cciukincthlthomnhockhngthomn.Cc
(6) Test skinlcthxyrahockhng.Vquanhlungmtiukincahtrckhi
(7) Integrate skinxyra.

Cciukinihiphithomnmtskinxyrahocchuyntrngthithc
hinthcgiliukintrc(precondition).Cciukinmcthomnkhi
mtskinnoxyrathcgiliukinsau(postcondition).

6.3.2 Qui c biu din m hnh Petrinet


TrongquicbiudinhnhhothmngPetrisdngccvngtrnbiudincc
iukin,cchpbiudinccskin,vmitnbiudinquanhlung.Mtv
dminhhovmngPetricmttrongHnh61,trong:
P = { p1 , p2 ,..., pnp } ltpgm np vtrcbiudintrongmhnh(cmt
biccvngtrn);
T = {t1 , t2 ,..., tnt } ltpgm nt chuynitrongtpchuynibiudintrongm
hnh(cmtbicchnhchnht);
Ibiudinquanhivochuynivckhiubingmitntheo
hngtccvtrticcchuyni;
Obiudinquanhirakhichuynivckhiubiccngmi
tntheohngtccchuyniticcvtr;
M = {m1 , m2 ,...mnp } ldutrngthicaccchuynitronghthng.Ccgitr

mi lsccthbi(ckhiunhccchmtrnen)chabntrongccv
tr pi trongtpdu M .
6.2 Phn tch yu cu

6.3 M hnh ho s kin v tc v
6.3.1 Phng php m hnh Petrinet
Nm1962CarlAdamPetricngbphngphpmhnhhnhhotcvhayqu
trnhtheosphthucnhnqucphcprngrivcbittinhngy
nyvitngilmngPetri.

MngPetricsdngphbinbiudinmhnhvphntchcchthngc
scnhtranhtrongqutrnhhotng.Mththngcthhiulmtthpca

93 94
kinlmvic,ccvtrp2vp4biudiniukinli,t1vt2lccskinlitrong
cctcvC1vC2mtcchtngng.


(a) (b)
Hnh62:MhnhPetrinet2hotngsongsonga)clpvb)ngb

Tronghotngsongsong,cctcvhontonclp,tuynhinnuccskin
cnphiktthcvliukinchomtchuynikhcthhotngngbc

thcthchinnhbsungmtchuynit3nhmttrongHnh62(b).Khi
Hnh61:VdvmtmhnhmngPetri
chuynit3cnthbingthicacp2vp4.
HthngngcthcmtbimngPetrinhschuyndchccthbitrong
ccvtrcahthngmhnhvtunththeolutsau: Chiasngb
Mt chuyn i c php thc thi nu tt c cc v tr i vo chuyn i Mtyutctrngtronghotngcahthngphntnlthngphichiasmt
chatnhtmtthbi. s ti nguyn hu hn. S thiu thn v ti nguyn lm hn ch hot ng ca h
Khimtchuynicthcthixong(honthnh)thmtthbisbloi thngtrongqutrnhxlthmchlmtcnghnhthng.Vicmhnhvphntch
rakhivtrivochuyningthibsungthmmtthbivoccv cc h thng c hin tng tc nghn l mt tc v kh khn trong hu ht cc qu
truratngngcachuyni. trnhmhnhcthgpphi.

Cctrngthingcahthngcmtbitp R ( M ) nhdubiccdutrong
tp M. Trong v d trn c 5 phn t du trong tp R ln lt l M 1 , M 2 , M 3 , M 4 , M 5 .
Tngnglnltnhsau:
M 1 = (1, 0, 0, 0, 0) :
M 2 = (0,1,1, 0, 0) :
M 3 = (0,1, 0, 0,1) :
M 4 = (0, 0, 0,1,1) :
M 5 = (0, 0,1,1, 0) :

6.3.3 M t cc tnh hung hot ng c bn vi Petrinet


nghnh(Songsong)vngb
TrongmhnhPNmtnhtrongHnh62(a),ccchuynit1vt2cphpthc

hinngthi;hotngcachngkhngnhhngnnhau.Cchotngc
Hnh63:Hotngcabmvidunglnghuhn
mhnhbihaichuynithchinsongsong.Tronghthngdphngvitin
cycao,mhnhnycsdngbiudinhaithnhphnC1vC2songsong minhhotnhhungny,biudinhotngcabmvidunglnghuhn
mbohotngdphng;trongtrnghpnyccvtrp1vp3biudiniu cmtbiPNtrongHnh63.Vtrp3mhnhsccvtrbmcntrngvv
trp2mhnhsvtrciny;chrngtngccthbichatrongccv

95 96
trp2vp3lunlhngs(trongvdnyl3).Chuynit2mhnhqutrnhin muntruynhpvotinguynchiasCS;p3vp7biudinCSangbchimdngbi
ymtvtrbmvhonthnhnuctnhtmtvtrbmcntrngcng cctcvC1vC2mtcchtngng.Vtrp4mtquytnhxemtcvnocth
vithbichatrongvtrp1 vp3.Chuynit3cphpthchinnuctnht truynhptinguynCsvtrnhccvtrp3vp7bnhdungthi.Thctkhi
mtvtrbmciny.Khihonthnhchuynit3,mtthbisc p2vp6cnhduthccchuynit2vt5xungt.Vichonthnhmttrong
chuyntvtrp2sangvtrp3. haitcvskho/cmlnnhau.Vichonthnhchuynit3hoct6smhnhvic
giiphngnguntinguynchung(chuynthbitrlivtrp4)vtrviukin
Tunt lmvicbnhthng.
Hotngtuntscmtvminhhobihotngcabtovbsdng
thngquamtbm.Btossinhraccitngavotrongmtbmv
sclyrabibsdng.Qutrnhsdngsphicthchinmtcchtun
ttheoqutrnhtoraitng.MhnhchohotngnycdintbiPNnh
trongHnh64(a).Thbichatrongvtrp1cnghalbtosnsngthchin.
Khiccchuynit1vt2honthnhthmtitngctora(mtthbitng
ngcngscchuynvotrongbmmhnhbivtrp5)vbtolisnsng
trli.Nubsdngcnhucutiuth(cmhnhbithbichatrongvtr
p3)vangctnhtmtitngtrongbmthmtthbichatrongvtrp5s
clyivchuynit3shonthnh.


Hnh65:Hotngloitrcahaitcvsongsongchiaschungtinguyn

btulmquenvinguynlbiudinmhnhhabngmngPetrichngta
xthotngcamththngngbgiahotngtovsdngmthngmc
(item)thngquabmnhcmtttronghnhdi.
BtoProducer:
9 Torahngmcv
9 bsungvobm
(a) (b) Bsdng(tiuth)Consumer:
Hnh64:Hotngtovsdngvibma)vhnvb)huhn 9 Lyhngmcrakhibmv
TrongcchmttrongHnh64(a)thvictovsdngcthchinthngqua 9 Sdnghngmc
mtbmvigithitlcdunglngvhn.Trongthctthccbmlhu
hn,mthotngvibmloinyHnh64(b)csdng.Vtrp6m
hnhccvtrbmcntrngvvtrp5mhnhccvtrbmciny.
Tngslngccthbichatrongccvtrp5vp6philunlhngs.Numt
thbicgnchovtrp5trongdukhitothbtoskhngthtothmi
tngchngnobsdngvnchatiuthitngtrongbm.

Loitrxungt
HaitcvC1vC2cphplmvicsongsongvcngchiastinguynCS,nhng
khngctruynhpvotinguynngthi.GinPNchohotngnyc
mtnhtrongHnh65.Ccvtrp1vp5biudincctcvC1vC2lmvicc
lp;vtrp2vp6biudinccyucucacctcvC1vC2mtcchtngngkhi Hnh66:Hotngcahthnggm1btov1bsdng

97 98
Trongtrnghpcnhiuhnmtbsdngthhthngcbiudinnhsau: ViloimngbiudinnhtrnngitagilmngPetricbn(ElementaryNet)v
khiuttlEN.

thuntinvnginhatrongvicbiudinngitacthsdngccmitn
c thm trng s nguyn m t h thng c chung nhiu iu kin trc v sau
tngngcngvimtskinhociukin.cbitkhishngmctraoigia
b to v b s dng ln hn 1. Vi loi mng nh vy ngi ta phn loi v gi l
mngPetriChuyni/Vtr(Transitions/Places)khiuttlP/Tnet.

CngtngtnhEN,P/Tnetbaogm:
Ccvtrckhiuvmtbiccvngtrn:Ccvtrcthchamts
nguyndngccthbi.
Ccchuynicmtbicchnhchnht:Ccchuynislyihoc

thmvosthbithoctimtvtr.
Hnh67:Hotngcahthnggm1btov2bsdng
Ccmitnktnitrctipgiaccvtrvchuyni:Ccmitnckm
Hthngc2bm theocctrngstngngvislngthbimncthclyrahoc
thmvotrongccvtr.

Qui c: Mt tp v tr kt ni vi chuyn i thng qua mt mi tn trc tip theo
chiutvtrtichuynicgiltpcctinchuyni.Ngcli,mttpv
trktnivichuynithngquamtmitntrctiptheochiungctvtrti
chuynithcgiltpcchuchuyni.

Mtchuynicthxyra(thchin)khivchkhittcccvtrtrongtptinv
tr cha mt s lng ti thiu th bi nh c nh ngha bi cc trng s ca cc
mitntngng.

Hthngvaxtcmhnhhabiiukinvskin.Cciukincmt Khimtchuynicthcthins
biccvngtrnvnuiukinthamnthkhivngtrnscbiudinvi 9 loibbtsthbittptinvtrbngngslngcnhngha
mtchmtrnnmtrongtngngvimtthbi(token). chocctrngscaccmitntngngv
9 cngthmvoslngccthbivotphuvtrngbngvitrngsca
Skinckhiubicchphnhchnht.Vimimtskinthstnti ccmitntngng.
mttpcciukintrcvcnhnbitbiccmitnivoccskin Vdbiudinmtmthotnghthngvi2hngmccnngbgiabto
tcciukinv vbsdng.
mttpcciukinsaucnhnbitbiccmitnirakhiccskin
vivocciukin.

Mtskincthxyra(cthcthi)khivchkhi
9 ttccciukintrctngngcthamn(nhncthbi)v
9 ttccciukinsautngngchacthamn.
Numtskinxyrath
9 ttccciukintrctngngsbxab(reset)v
9 ttccciukinsautngngscthitlp(set).

99 100
l mng chuyn i/v tr. Cc v tr tng ng vi cc iu kin v cc chuyn i
tngngviccskintrongmngiukin/skin.

S lng token cho mi mt iu kin c gi l Marking. Vmt ton hc, Marking
chnhlmtnhxtonhcchophpchuynmttpccvtrvomttpccst
nhincmrngbiccbiutngcbit .

Vd:MtchngtrnhiukhinlungtuinbngmngPetrinetiukin/s
kintrnhtrnghpxungttrnmtngraytheohaihngtuchy.


Hnh68:Hotngngbvihaihngmc

cthbiudinhthngmtcchkhoahcvlogiccncmtnhnghay
mtbimngPetri.

Mngiukin/skin
nhngha: N = (C , E , F ) cgilmtmngnuvchnunthomnccthuc
tnhsau:
5 CvElcctpclpv C E . Cciukin:
5 F ( E x C ) (C x E ) lquanhnhphnvcgilquanhlung. Tumunvongraytheochiusangphi.
CcgilcciukinvEcgilccskin. Tuangchuynngtrnngraytheochiuphi.
Tuthotrakhingraytheochiuphi.
nhngha:ChomtmngNv x (C E ) . x := { y | yFx} cgiltpcciukin Tumunvongraytheochiusangtri.
trccaxv x := { y | xFy} cgiliukinsaucax. Tuangchuynngtrnngraytheochiutri.
Haynicchkhclmtiukincnphicthomnmtskinnoxy Tuthotrakhingraytheochiutri.
rathcgiliukintrcvmtiukincthomnsaukhimtskin
noxyrathcgiliukinsaucaskin. Ccskin:
Tuvongraytchiubntri
nhngha:Chomttp (c, e) C x E Turikhingraytheochiuphi
(c, e) cgilmtvnglpnu cFe eFc Turingray
MngNcgilthunnhtnuFkhngchabtkmtvnglpno. Tuvongraytchiubnphi
Turikhingraytheochiutri
nhngha:Mtmngcgilnginnukhngcbtkhaichuynit1,t2
noccngtpcciukintrcvcciukinsau. Token:ngraysnsngchotuvotheomttronghaichiu

Ccmngmkhngchabtkphnttchbitnocngnhkhngcthmbtk
mthnchnothcgilmngiukin/skin.

Mngchuyni/vtr
Trongccmngiukin/skinchchanhiunhtlmttokenchomimtiu
kin.hnchiunytclmtiukincthchanhiutokenvngitagi

101 102
6.4 Thit k phn mm iu khin
6.4.1 M hnh thc thi b iu khin nhng

6.3.4 Ngn ng m t phn cng (VHDL)


VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanuage)lmtngnng
chung mtccthitkphncng mcphntlogiccbncuthnhnnh
thngvcphttrinbitchcqucphngM.Mcchchnhlthun
tin cho vic trao i d liu thit k phn cng theo mt nh dng chun m mi

ngicthhiuvthngdch,toiukinthunlitrongvicphihphayhptc Hnh69:Hthngiukhins

trongccdnthitk.cbitnrtthuntintrongvicchuynihaytnghp thcthimtbiukhinstrnthitbvtlthcphiihixtxembiu
bin dch thnh mt dng ngn ng thc thi phn cng thc. iu ny rt kh thc khinvimhnhhmtruynchocthhinthchackhng.iukinphi
hinbngccngnngbccaonhCnhngviVHDLiunychnhluimni xtthcralmborngkhngcuranocahthnglixuthintrckhi
btvlthmnhtrongvicmhnhhohthng,mtmtcchchititccphnt ctnhiuvo.Haynicchkhchthngxydngphitunthtnhnhnqu.
cngcuthnhthamgiatronghthng. Nukhaitrinhmtruyncabiukhinscmtdngtngqut
b + b z 1 + + bm z m
VHDLlmtchunIEEE(Std1076)cshtrbirtnhiunhcungcppht GR ( z ) = 0 1 1 (1.5)
a0 + a1 z + + an z n
trinphncng.ngdngmtcchchuynnghipngnngnylphcvchovic
thnhchuilythatheozthnphikhngcphpchabtkphntnocha
mtccmchASICsphchp,chtothcthiccmchFPGA...
lythadngcaz.Haynicchkhclbiukhincmtnh(1.5)phic

bc 0 tclbccatsphinhhnhocbngbccamus( n m ).
NgnngVHDLcthchiukhddngvicutrccphprrnggnging
nhngnngVisualBasicvPascal.Ncthphthuycthmnhvcphp Saukhithitkcbiukhinsthviccnlillptrnhvnpvoccb
nhnghaxydngkiudliumivhtrchoviclptrnhtheonhm.Vixu iukhinvtlkhtrnh.Thcchtqutrnhnylthcthihmtruyncabiu
thhinnayccnhmphttrincththcthiviiukincchxanhauvkhong khinsbnglptrnhstrnccbiukhinvtlc.ychngtasch
cchal,vvyvicphihpvthitktheonhmlrtcnthit. yuquantmnvictrinkhaichunbchobclptrnhcchmtruyncab
iukhins.Xutphttmthmtruyndngtngqutcabiukhins
U ( z ) b0 + b1 z 1 + + bm z m
TomCantrellrecentlywrotethatthefutureisbrightforFPGAs,whichwillplayalargerolein GR ( z ) = = (1.6)
mainstreamapplications(MoreFlash,LessCash,CircuitCellar,178,May2005).Iagreewith E ( z ) a0 + a1 z 1 + + an z n
Tom, but Ill go further and predict that VHDL will become the premier technology used to trong, a0 0 nu b0 0 ; m v n lccsnguyndng.
define FPGA content either as output from design tools or with direct programming. In Cthtrinkhaithcthimthmtruyncabiukhinstheo3cchnhsau:
combination with VHDL, FPGAs provide a lowcost approach to defining complex hardware

designsthatwereinconceivableonlyafewdecadesago.Perhapsmostimportantly,usingVHDL
Trinkhailptrnhstrctip
todefinehardwareisfun
trinkhailptheophngphplptrnhtrctipthhmtruynbiukhin
chobiudintrongminzphicchuynivdnghmtruynrirc
n m
a0u* (t ) + ak u * (t kT ) = bk e* (t kT ) (1.7)
k =1 k =0

103 104
Tngthc(1.7)ddngtnhracgitrcaura u * (t ) cabiukhins 6.4.2 V d trin khai b iu khin PID s
chotheoccgitrhintivqukhcauvo e* (t ) cngnhccgitrqukh Xpxhothnhphnvitchphn
cachnhn C3phngphpxpxginonphbinpdngchoccthnhphntchphn:
1 m 1 n
u * (t ) = bk e* (t kT ) ak u * (t kT )
vttrc(forward),vtsau(backward),vtrapezoidal.
(1.8)
a0 k =0 a0 k =1
thchinbiukhinnyyucuphilutrccgitrqukhcauvov Xpxsaiphnvttrc
u ra ca b iu khin. Vi b iu khin choyu cu phi c n + m gi tr cn y f (kT + T ) y f (kT ) = Tx(kT ) (1.11)
philutrhaynicchkhccnphic n + m phntlutr. pdngchuynizcho(1.11)tathuc
y f ( z) T
= (1.12)
Mtphngphpkhctrinkhailptrnhtrctiplsdngcchtchtrctip x( z ) z 1
u vo v u ra ca b iu khin theo mt bin trung gian X(z). Khng mt tnh Dxpxhotchphnsl:
tngqutnuchngtanhnctvmucahmtruynbiukhinschovi 1 T
(1.13)
mtbinX(z).TrtrachmtruyncauvoE(z)theoX(z)vhmtruyn s z 1
cauraU(z)theoX(z).Phngphpnythchinnhsau:
1
U ( z ) = (b0 + b1 z 1 + + bm z m ) X ( z ) (1.9)
a0
1 1
X ( z ) = E ( z ) (a1 z 1 + a2 z 2 + + an z n ) X ( z ) (1.10)
a0 a0
Theophngphpnyyucusphntlutrchnhbnggitrn,bngbccaa
thcmustronghmtruynbiukhinscho.Tccngthc(1.9)v(1.10)
tacngddngxydngcgintrngthimthmtruyncabiukhin
s(githit m = n = 3 ).
Hnh611:Xpxsaiphnvttrc

b3 Xpxsaiphnvtsau
b2
b1 Tngtnhsaiphnvttrctacxpxtchphnnhsau:
1
1 Tz
U ( z ) a3 1 1 (1.14)

z z z 1 b0 Y ( z) s z 1
1
X z X 2
z X z 3
X
a2 / a3

a1 / a3
a0 / a3

Hnh610:Gintrngthicahthngs

Trinkhilptrnhsghptng
Cchtrinkhainyyucuchuynibiukhinvdngtchcacchmtruyn
n gin c th d dng thc hin bng cc chng trnh n gin. Hay ni cch
khcbiukhinscholktqughptngcanhiubiukhinnh.

Hnh612:Xpxsaiphnvtsau
Trinkhailptrnhssongsong XpxTrapezoidal
Biukhinchosctchrathnhtngcaccbiukhinnginvc Phpxpxtchphnthucsl:
ththchinlptrnhsongsongchoccbiukhin. 1 T z +1
(1.15)
s 2 z 1

105 106
t(1.21)cthxpxhmtruynthnhphnviphn
z 1
GD ( z ) = K D (1.22)
Tz
Nh vy hm truyn ca b iu khin PID s c th c xp x theo mt trong 3
dngnhsau:
Xpxvttrc:
( K T + K D ) z 2 + ( K I T 2 K PT 2 K D ) z + K D
GPID = P (1.23)
Tz ( z 1)
Xpxvtsau:
Hnh613:XpxTrapezoidal
( K T + K D + K I T 2 ) z 2 ( K PT + 2 K D ) z + K D
GPID = P (1.24)
ngthcltngmtbiukhinPID Tz ( z 1)
u (t ) = uP (t ) + uI (t ) + uD (t ) XpxTrapezoidal:
1
t
de(t ) (1.16) (2 K PT + K I T 2 + 2 K D ) z 2 + ( K I T 2 2 K PT 4 K D ) z + 2 K D
= K e(t ) + e( )d + TD GPID = (1.25)
TI 0
dt 2Tz ( z 1)
trong,Klhskhuchi, TI lhngsthigiantchphn, TD lhngsthi

gianviphn.
TI LIU THAM KHO
Trong trng hp chu k trch mu nh, ng thc (1.16) c th c chuyn sang
dngngthcsaiphnbngphngphprircho.Trong,thnhphnviphn
[1] PeterMarweden.EmbeddedSystemsDesign:Springer,2006.
cthcxpxnhphptnhsaiphnbcnhtvthnhphntchphncxp
[2] MichaelBarr.ProgrammingEmbeddedSystemsinCandC++.OReilly,1999.
xdngvttrc.Bngphprircnytathucngthcmtbiukhin
PIDsnhsau: [3] JackGanssle.TheArtofDesigningEmbeddedSystems.Newnes,1999.
T k 1 T [4] StuartR.Ball.EmbeddedMicroprocessorSystems.Newnes,2002
u (k ) = K P e(k ) + s e(i ) + D ( e(k ) e(k 1) ) (1.17)
[5] Qing Li and Carolyn Yao. Realtime Concepts for Embedded Systems, CMP
TI i =0 T s
Books,2003
Tngthc(1.17)taddngnhnthyrngthcthibiukhinPIDcnthng
[6] Olli S., Jaakko A.. Embedded Systems, Lecture Notes, Helsinki University of
tin ca tt ccc sai lchetrongqukh. thun tinchovicthchinlptrnh,
Tech.,2006.
dngquisphhphnvcthrtrat(1.17)nhsau:
[7] Lothar Thiele. Embedded Systems, Lecture Notes, Swiss Federal Institute of
T k 2 T
u (k 1) = K e( k 1) + s e(i) + D ( e(k 1) e(k 2) ) (1.18) Tech.,2006.
TI i =0 Ts
[8] Don Morgan. Numerical Methods: Realtime and Embedded Systems
T(1.17)v(1.18)tartracalgorithmiukhincaPIDs:
Programming.M&T,1992.
u (k ) u (k 1) = a0 e(k ) + a1e(k 1) + a2 e(k 2) (1.19)
[9] Jerrry Lueke. Analog and Digital Circuits for Electronic Control System
T T T TD Application.Newnes,2005.
trong, a0 = K 1 + D , a1 = K 1 + 2 D s , a2 = K
Ts Ts TI Ts [10] AdreaBobbio.SystemModellingwithPetriNets.A.G.Colombo,1990.
Mhnhbiukhindnghmtruyntac: [11] Linda Null and Julia Lobur. The essentials of computer Organization and
1 Architecture:JonesandBartlettPublishers,2003.
GPID = K P + K I + K D s (1.20)
s [12] Hennessy, J. L., & Patterson, D. A. Computer Architecture: A Quantitative
trong,thnhphntchphncthxpxtheomttrongbacchnhmttrong Approach,SanFrancisco:MorganKaufmann,1990.
phn6.1,thnhphnviphncthcxpxnhsau: [13] Sen M. Kuo, Bob H. Lee, Wenshun Tian. Realtime Digital Signal Processing:
de(t ) e(kT ) e(kT T ) ImplementationsandApplications,JohnWiley&Son,2006.
= (1.21)
dt t =T T [14] Kuo.DigitalControlSystems,Oxford,2005.

107 108

You might also like