You are on page 1of 54

TrngihcBchkhoaHNi

Bmniukhintng

Ni dung

Tiliutmttbiging

MU ................................................................................................................................5
1.1
1.2
1.3

H THNG IU KHIN NHNG


(EmbeddedControlSystems)

1.4

TS.LuHngVit
2

CUTRCPHNCNGHNHNG........................................................................11
2.1

2.2

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
Mtsnnphncngnhngthngdng(P/DSP/PLA) ...............................37
2.2.1 ChipVixl/Viiukhinnhng .......................................................37
2.2.2 ChipDSP......................................................................................................39
2.2.3 PAL...............................................................................................................41

CSKTHUTPHNMMNHNG....................................................................48
3.1
3.2

3.3

Cckhinimvhnhng......................................................................................5
Lnhvcngdngcahnhng...........................................................................7
cimcngnghvxuthphttrincahnhng .....................................8
1.3.1 cimcngngh.....................................................................................8
1.3.2 Xuthphttrinvstngtrngcahnhng .................................9
Mcchvnidungmnhc.............................................................................10

cimphnmmnhng ..................................................................................48
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
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

http://www.ebook.edu.vn

3.4

HIUHNHNHNG ...............................................................................................73
4.1
4.2
4.3
4.4

Hiuhnh............................................................................................................73
Bnpkhito(Bootloader) ..................................................................................74
Ccyucuchung...................................................................................................76
Hiuhnhthigianthc ..................................................................................77

KTHTLPTRNHNHNG .....................................................................................81
5.1
5.2

5.3

5.4
6

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

Tcvvqutrnh(process) ..................................................................................81
Lplch(Scheduling) ................................................................................................81
5.2.1 Cckhinim..............................................................................................81
5.2.2 Ccphngphplplchphbin ........................................................82
5.2.3 Kthutlplch .........................................................................................85
Truynthngvngb.......................................................................................87
5.3.1 Semaphore ...................................................................................................87
5.3.2 Monitor ........................................................................................................89
Xlngt .................................................................................................................90

THITKHNHNG:THPPHNCNGVMM.......................................93
6.1
6.2
6.3

6.4

Quitrnhphttrin .................................................................................................93
Phntchyucu.....................................................................................................93
Mhnhhoskinvtcv ..............................................................................93
6.3.1 PhngphpmhnhPetrinet................................................................93
6.3.2 QuicbiudinmhnhPetrinet ........................................................94
6.3.3 MtcctnhhunghotngcbnviPetrinet ............................95
6.3.4 Ngnngmtphncng(VHDL) ....................................................103
Thitkphnmmiukhin............................................................................104
6.4.1 Mhnhthcthibiukhinnhng .................................................104
6.4.2 VdthcthibiukhinPIDs ......................................................106

TILIUTHAMKHO ........................................................................................................108

http://www.ebook.edu.vn

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
chng loi (chim n 79% s cc vi x l ang tn ti [2] ) v vn cn tip tc pht
trinnhmpngvthomnrtnhiungdngadng.Trongsvncn
ng dng c cc Chip vi x l 8 bit, 16 bit v hin nay ch yu vn l 32 bit (chim
khong75%).Gnlinvisphttrinphncng,phnmmcngphttrinvi
tcnhanhkhngthuakmthmchstngnhanhhnrtnhiutheosphttrin
hnhng.

1.1

Cc khi nim v h nhng

Hnhng?
Trongthgiithccachngtabtkmtthitbhayhthngin/intckh
nng x l thng tin v iu khin u c th tim n trong mt thit b hay h
nhng, v d nh cc thit b truyn thng, thit b o lng iu khin, cc thit b
phcvsinhhothngngynhlvisng,mygit,cameraRtddngcth
k ra hng lot cc thit b hay h thng nh vy ang tn ti quanh ta, chng l h
nhng.Vyhnhngthcchtlgvnnhiuthnovhnhng?Hinnaycng
chacmtnhnghanothcsthongcchunhovthanhnrng
richohnhngmvnchlnhngkhinimdintvchngthngquanhngc
thchung.Tuynhinychngtacthhiuhnhnglmtphnhthngxl
thngtinnhngtrongcchthngln,phchpvclpvdnhtrongt,cc
thitbolng,iukhin,truynthngvthitbthngminhnichung.Chngl
nhngthpcaphncngvphnmmthchinmthocmtnhmchcnng
chuyn bit, c th (Tri ngc vi my tnh PC m chng ta thng thy c s
dngkhngphichomtchcnngmlrtnhiuchcnnghayphcvchungcho
nhiumcch).PCthcchtlilmththngln,thpcanhiuhthngnhng
vdnhcardmnhnh,mthanh,modem,cng,bnphmChnhiunylm
chngtadlngtngnuchinnhiuthnovPC,cphilhnhnghay
khng.

Hnh11:Mtvihnhnhvhnhng

Hthigianthc?
Trongccbitoniukhinvngdngchngtarthaygpthutngthigian
thc.Thigianthccphilthigianphnnhvtrungthccathigianhay
khng? Thi gian thc c phi l hin th chnh xc v ng b theo ng nh nhp
ng h m thi gian hay khng? Khng phi hon ton nh vy! Thc cht, theo
cchhiununitrongcchthngkthutcbitcchthngyucukhtkhev
srngbucthigian,thigianthcchiulyucucahthngphimbo
thomnvtnhtinnhtronghotngcahthng.Tnhtinnhnilnhnhvi
cahthngthchinngtrongmtkhungthigianchotrchontonxcnh.
Khungthigiannycquytnhbicimhocyucucahthng,cthl
vigiyvcngcthlvinanogiyhocnhhnna.ychngtaphnbit
yu t thi gian gn lin vi khi nim v thi gian thc. Khng phi h thng thc
hinrtnhanhlsmboctnhthigianthcvnhanhhaychmhontonl
php so snh c tnh tng i v mili giy c th l nhanh vi h thng iu khin
nhitnhnglilchmiviccitngiukhininnhdng,p.Hnth
nanuchnhanhkhngthchamphimboduytrnnhbngmtc
chhotngtincy.Chnhvvyhthngkhngkimsotchotngcan
(btnh)thkhngthlmththngmbotnhthigianthcmcdhthng
cthchopngrtnhanh,thmchnhanhhnrtnhiusoviyucutra.
Mt v d minh ho tiu biu l c ch truyn thng d liu qua ng truyn
chunEthernettruynthng,mcdaicngbittctruynlrtnhanhnhngvn
khngphihhotngthigianthcvkhngthomntnhtinnhtrongcch
truyndliu(cthlrtnhanhvcngcthlrtchmnucscanhtrnhv
giaothngngtruynbnghn).

http://www.ebook.edu.vn

Ngitaphnralmhailoiivikhinimthigianthclcng(hardrealtime)
vmm(softrealtime).Thigianthccnglkhihthnghotngviyucutho
mn s rngbuctrong khung thigiancng tclnuviphm ths dnnhot
ngcatonhthngbsaihocbphhu.Vdvhotngiukhinchomt
lphnnghtnhn,nuchmraquytnhcthdnnthmhogyradophn
ngphn hchvdnnbngnchthng.Thigianthcmmlkhihthng
hotngviyucuthomnrngbuctrongkhungthigianmm,nuviphmv
sai lch nm trong khong cho php th h thng vn c th hot ng c v chp
nhnc.Vdnhhthngphtthanhtruynhnh,nuthngtintruynittrm
pht ti ngi nghe/nhn chm mt vi giy th cng khng nh hng ng k n
tnhthiscatinctruynivhontoncchpnhnbingitheodi.

Thctthyrnghuhthnhnglcchthigianthcvhuhtcchthigian
thclhnhng.iunyphnnhmiquanhmtthitgiahnhngvthigian
thcvtnhthigianthctrthnhnhmtthuctnhtiubiucahnhng.V
vyhinnaykhicpticchnhngngitaunitictnhcbncanl
tnhthigianthc.
H thi gian thc

Hnhngthi
gianthc
H Nhng

Hnh12:Phnbvquanhgiahnhngvthigianthc

1.2

Lnh vc ng dng ca h nhng

Chngtacthkracrtnhiuccngdngcahthngnhngangcs
dnghinnay,vxuthscntiptctngnhanh.Mtscclnhvcvsnphm
thtrngrnglncacchnhngcthcnhmnhsau:
Ccthitbiukhin
t,tuin
Truynthng
Thitbyt
Hthngolngthmnh
Tonhthngminh
Thitbtrongccdytruynsnxut
Rbt
...

1.3

c im cng ngh v xu th pht trin ca h nhng

1.3.1

c im cng ngh

Cc h thng nh vy u c chung mt s c im nh yu cu v kh nng thi


gianthc,tincy,tnhclpvhiuqu.Mtcuhitraltisaohthng
nhngliphttrinvcphcpmtcchnhanhchngnhhinnay.Cutrli
thcranmccyucutnglnkhngngngtrongccngdngcngnghhin
nay.Mttrongnhngyucucbnl:

Khnngclpvthngminhho:iunycchrhnthngquamtscc
thuctnhyucu,cthnh:
; tincy
; Khnngbotrvnngcp
; Sphcpvtinsdng
; anton
; Tnhbomt

Hiuqu:Yucunycthhinthngquamtscccimcahthngnh
sau:
; Nnglngtiuth
; Kchthcvphncngvphnmm
; Hiuquvthigianthchin
; Kchthcvkhilng
; Githnh

Phnhochtcvvchcnngho:Ccbvixltrongcchnhngthngc
sdngmnhimvthchinmthocmtnhmchcnngrtclpvcng
cthchotngphnchcnngcahthnglnmncnhngvo.Vdnh
mtvixlthchinmtphniukhinchomtchcnngthuthp,xlvhin
thcathayhthngiukhinqutrnh.Khnngnylmtngthmschuyn
bithovchcnngcamththnglnvddnghnchoqutrnhxydng,
vnhnhvbotr.

Khnngthigianthc:Cchthngugnlinvivicmnhimmtchcnng
chnhvphicthchinngtheomtkhungthigianquinh.Thngthng
mtchcnngcahthngphicthchinvhonthnhtheomtyucuthi
gian nh trc m bo thng tin cp nht kp thi cho phn x l ca cc chc
nngkhcvcthnhhngtrctiptishotngngvchnhxccaton
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

http://www.ebook.edu.vn

cnglmtngthmtnhchuynbithocacch/thitbnhngmccthitba
nngkhngthcnhtranhc.

1.3.2

Xu th pht trin v s tng trng ca h nhng

Vsphttrinhnhnglskthpnhunnhuyngiaphncngvphnmm
nncngnghgnlinvincngchnhlcngnghkthpgiaccgiiphpcho
phncng vmm.V tnh chuyn bitca cc thit b /h nhng nh giithiu
nnccnnphncngcngcchtoutinpngchochcnnghaynhim
vcthcayucuthitktra.

Lp h nhng u tin pht trin theo tiu ch v kch thc nh gn, tiu th nng
lngt,githnhthp.Ccchpxlnhngcholphthngngdngthng
yucuvkhnngtnhtonthocvaphinnhuhtcxydngtrncs
bngxl8bt16bithoccnglml32bitvkhnghtrduphyngdos
hnchvdunglngvkhnngtnhton.

Lphnhngutinthcthikhnngxltnhtonvitcthchinnhanh.Cc
chpxlnhngchocchthngcngslccChippdngcccngnghcao
cpvikintrcxlsongsongpngccngtnhtonlnvtcm
ccChipxlachcnngthngthngkhngttic.

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

Vimi mt nn phn cng nhngthng c nhngc thringvkm theo 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,

FPGA, PSOC v s t hp ca chng...Km theo l cc k thut pht trin phn


mmchophpmnhimcccbitonyucukhtkhetrncsmtnnphn
cng hu hn v kh nng x l v khng gian b nh. Gii quyt cc bi ton thi
gianthcnhphnchiatcvvgiiquytcnhtranhchiastinguynchung.Hin
nay cng c nhiu nh pht trin cng ngh phn mm ln ang hng vo th
trnghnhngbaogmcMicrosoft.NgoimtscchiuhnhWindowsquen
thuc dng cho PC, Microsoft cng tung ra cc phin bn mini nh WindowsCE,
WindowsXPEmbeddedvcccngcphttrinngdngkmtheophcvchocc
thitbnhng,inhnhnhccthitbPDA,mtsthitbiukhincngnghip
nhccmytnhnhng,IPCcaSiemens...

C th ni h nhng tr thnh mt gii php cng ngh v pht trin mt cch


nhanh chng, ha hn nhiu thit b nhng s chim lnh c th trng rng ln
trong tng lai nhm p ng nhu cu ng dng khng ngng trong cuc sng ca
chngta.ivilnhvccngnghipviukhinvtngho,hnhngcngl
mtgiiphpytimnngvangcngdngrngri.Nrtphhp
thcthiccchcnngthngminhho,chuynbittrongcchthngvthitbcng
nghip,tcchthngtptrungncchthngphntn.Giiphphnhngcth
thcthitcpthpnhtcahthngcngnghipnhccuchphnhchoncc
cpcaohnnhgimstiukhinqutrnh.

1.4

Mc ch v ni dung mn hc

Hiukhinnhnglmtmnhcminhmcungcpkinthcchosinhvinv
khnngphntchvthitkhthngiukhinvthngminhhohthngtheo
chcnngtheogiiphpcngngh.Thitkthcthiiukhintrnnnphncng
nhng.

http://www.ebook.edu.vn

10

CU TRC PHN CNG H NHNG

2.1

Cc thnh phn kin trc c bn

Hnh21:KintrcinhnhcaccchpVXL/VKnhng

2.1.1

n v x l trung tm CPU

Hnh22:CutrcCPU

Ngi ta vn bit ti phn li x l ca cc b VXL l n v x l trung tm CPU


(Central Processing Unit) ng vai tr nh b no chu trch nhim thc thi cc php
tnh v thc hin cc lnh. Phn chnh ca CPU m nhim chc nng ny l n v
logictonhc(ALUArthimeticLogicUnit).NgoirahtrchohotngcaALU
cncthmmtsccthnhphnkhcnhbgiim(decoder),btunt(sequencer)
vccthanhghi.

11

Bgiimchuyni(thngdch)cclnhlutrtrongbmchngtrnhthnh
ccmmALUcthhiucvthcthi.Btuntcnhimvqunldngd
liutraoiquabusdliucaVXL.CcthanhghicsdngCPUlutrtm
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
nhaututheokintrctplnhcpdng.Cbaloihnhcbn:

(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
nhanhhnbnhthngvddngchobbindchxlthcthivcthcs
dngmtcchhiuqu.Hnnagithnhphncngngycngcxuthgimng
kvtpthanhghicthtngnhanh.Nucchtruynhpbnhnhanhthkintrc
datrnngnxpcthlslachnltng;cnnutruynhpbnhchmth
kintrcthanhghislslachnphhpnht.

Mt s thanh ghi vi chc nng in hnh thng c s dng trong cc kin trc
CPUnhsau:

http://www.ebook.edu.vn

12


Thanhghicontrngnxp(stackpointer):
Thanh ghi ny lu gi a ch tip theo ca ngn xp. Theo nguyn l gi tr a ch
chatrongthanhghicontrngnxpsgimnudliucluthmvongnxp
vstngkhidliuclyrakhingnxp.

Thanhghichs(indexregister)
Thanhghichscsdngluachkhimodeachcsdng.Ncn
cbittivitngilthanhghicontrhaythanhghilachntp(Microchip).

Thanhghiachlnh/Bmchngtrnh(ProgramCounter)
Mt trong nhng thanh ghi quan trng nht ca CPU l thanh ghi b m chng
trnh. Thanh ghi b m chng trnh lu a ch lnh tip theo ca chng trnh s
cCPUxl.MikhilnhctrtivcCPUxlthnidunggitrca
thanhghibmchngtrnhstnglnmt.Chngtrnhsktthckhithanhghi
PCcgitrbngachcuicngcachngtrnhnmtrongbnhchngtrnh.

Thanhghitchly(Accumulator)
ThanhghitchlylmtthanhghigiaotiptrctipviALU,csdnglu
gicctonthocktqucamtphptontrongqutrnhhotngcaALU.

2.1.2

nngtngthchkhicshotngphihpgiaccthitbghpnihaymrng
tronghthng.Thngthngthngtinvccnhpthigianhotngcngnhc
tnhkthutchititccungcphocquinhbiccnhchto.

Mtsctrngvthigiancacctrngthihotngcbncacctnhiuh
thnggmcnhsau:
9 Thigiantnghocgim
9 Thigiantrlantruyntnhiu
9 Thigianthitlp
9 Thigiangi
9 Trcmhotngvtrngthitreo(TriState)
9 rngxung
9 Tnsnhpxunghotng

Thigiantnghocgim

Xung nhp v trng thi tn hiu

TrongVXLvccvimchsnichung,hotngcahthngcthchinng
bhocdbtheoccxungnhpchun.Ccnhpclytrctiphocgintip
tmtngunxungchunthnglccmchtoxunghocdaongthchanh.
mthotngcahthng,cctn hiudliuviukhinthngcmt
trngthitheoginthigianvmctnhiunhcchratrongHnh23:Mt
vtrngthitnhiuhotngtrongVXL

Hnh24:Mttrngthitnhiulogictngvgim

Thigiantngcnhnghalkhongthigian tnhiutngt20%n80%
mctnhiucnthit.Thigiangimlkhongthigiantnhiugimt80%n
20%mctnhiucnthit.

Thigiantrlantruyn:
Lkhongthigiantntkhithayitnhiuvochotikhicsthayitnhiu
ura.ctnhnythngdocutovkhnngtruyndntnhiuvtltrongh
thngtnhiu.

Hnh23:MtvtrngthitnhiuhotngtrongVXL

Mcchcavicmttrngthitnhiutheoginthigianvmctnhiul
phntchvxcnhchuiskinhotngchitittrongmichukbus.Nhvic
mtnychngtacthxemxtnkhnngpngthigiancaccskinthc
thitronghthngvthigiancnthitthcthihotngtuntcngnhlkh

13

Hnh25:Mttrngthivtrlantruyntnhiu

Thigianthitlpvlugi
Khongthigiancnthittnhiutrchmuttimttrngthinnhtrckhi
nhpxungchunnghthayicgilthigianthitlp.Thigianlugil

http://www.ebook.edu.vn

14

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

Hnh28:Mtchuktnhiu3trngthivcontention

rngxungvtnsnhpxungchun

Hnh26:Thigianthitlpvlugi

Hnh29:rngvtnsxungnhpchun

Trongtrnghphotngchuyntrngthitnhiukhngngbvkhngm
bocthigianthitlpvlugiscthdnnsmtnnhhaykhngxc
nh mc tn hiu trong h thng. Hin tng ny c bit ti vi tn gi l
metastabilit. minh ha cho hin tng ny trong Hnh 27 m t hot ng li ca
mt Triger khi cc mc tn hiu vo khng tha mn yu cu v thi thit lp v lu
gi.

Hnh27:HintngMetastabilittronghotngcaTrigerD

Chuktnhiu3trngthivcontention

15

2.1.3

Bus a ch, d liu v iu khin

Busach
Busachlccngdntnhiulogicmtchiutruynachthamchiuti
cc khu vc b nh v ch ra d liu c lu gi u trong khng gian b nh.
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
ti.Quiccckhuvccnhachbtutach0vtngdnn2N1.
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 thut nychyu csdng m rng b nh vthng c
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.

http://www.ebook.edu.vn

16

Busdliu
BusdliulccknhtruyntithngtintheohaichiugiaCPUvbnhhoccc
thitbngoivivora.BusdliuciukhinbiCPUchocvitccd
liuhocmlnhthcthitrongqatrnhhotngcaCPU.rngcabusdliu
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
thng.Thngthng ccdliuiukhinbaogmcctnhiuchukngb
cc nhp chuyn ng v hot ng ca h thng. Bus iu khin thng c iu
khinbiCPUngbhanhphotngvdliutraoitrnccbus.Trong
trnghpvixlsdngdnknhbusdliuvbusachtclmtphnhoc
tonbbusdliuscsdngchungchiasvibusachthcnmttnhiu
iukhinphnnhptruynhpchophpchtlutrthngtinachmikhibt
umtchu k truyn. Mtv dvcc chu k bus v s ngb cachngtrong
hotngcahthngbusachvdliudnknhcchratrongHnh210.
ylhotnginhnhtronghviiukhin8051vnhiuloitngt.

TrongkintrcvonNeumannkhngphnbitvngchadliuvmchngtrnh.
C chng trnh v d liu u c truy nhp theo cng mt ng. iu ny cho
phpadliuvovngmchngtrnhROM,vcngcthlumchngtrnh
vovngdliuRAMvthchint.

Hnh211:KintrcbnhvonNeumannvHavard

KintrcHavardtch/phnbitvnglumchngtrnhvdliu.Mchngtrnh
chcthcluvthchintrongvngchaROMvdliucngchcthlu
vtraoitrongvngRAM.Huhtccvixlnhngngynaysdngkintrcb
nhHavardhockintrcHavardmrng(tclbnhchngtrnhvdliutch
bitnhngvnchophpkhnnghnchlydliuratvngmchngtrnh).
TrongkintrcbnhHavardmrngthngsdngmtslngnhcccontr
lydliutvngmchngtrnhtheocchnhngvotrongcclnhtcthi.
Mts Chipviiu khin nhngtiubiuhinnay s 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

http://www.ebook.edu.vn

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

Hnh214:SnguynlghpniEPROMviVXL

BnhchngtrnhPROM(ProgrammableReadOnlyMemory)
Vnglumchngtrnh.CbaloibnhPROMthngdngcsdngcho
hnhngvscgiithiulnltsauy.

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.

BnhdliuRAM
Vngluhoctraoidliutrunggiantrongqutrnhthchinchngtrnh.

Hnh215:CutrcnguynlbnhRAM

ChailoiSRAMvDRAM

Hnh213:NguynlcutovhotngxocaEPROM

19

http://www.ebook.edu.vn

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

Hnh217:Nguynlghpni(mrng)RAMviVXL

2.1.5

Khng gian v phn vng a ch

2.1.6

Ngoi vi

Bnhthigian/Bm
Huhtccchipviiukhinngynayuctnhtmtbnhthigian/bmc
thcuhnhhotnglinhhottheoccmodephcvnhiumcchtrongccng
dngxl,iukhin.Ccbnhthigianchophptoraccchuixungvngt
thigianhocmtheocckhongthigiancthlptrnh.Chngthngcng

21

Ngtlmtskinxyralmdnghotngchngtrnhhintiphcvthc
thimttcvhaymtchngtrnhkhc.CchngtgipCPUlmtngtcp
ngphcvccskintrongchngtrnhhotngcaVXL/VK.CcVKkhc
nhausnhnghaccnguntongtkhcnhaunhngucchungmtcchhot
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
trngthihotngchochngtrnhhintiangthchinvdnhnidungb
mchngtrnh(contrlnh)ccnidungthanhghiludliuiukhinchng
trnh ni chung thc thi chng trnh phc v tc v cho s kin ngt. Thc cht
qu trnh ngt l CPU nhn dng tn hiu ngt, nu chp nhn s a con tr lnh
chngtrnhtrtivngmchachngtrnhphcvtcvngt.Vvymimt
ngt u gn vi mt vector ngt nh mt con tr lu thng tin a ch ca vng b
nh cha m chng trnh phc v tc v ca ngt. CPU s thc hin chng trnh

http://www.ebook.edu.vn

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
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.

Hnh219:Snguynlhotngcabnhthichcanh

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.

Cmtscchthchincitbnhthichocanhgimsthotngcah
thngnhsau:

23

(a)

(b)

Hnh220:Nguynlhotngbnhthichcanh

BiukhintruynhpbnhtrctipDMA
DMA(DirectMemoryAccess)lcchhotngchophphaihaynhiuvixlhoc
ngoivichia sbuschung.Thit b no ang cquyn iu khinbus scthton

http://www.ebook.edu.vn

24

quyntruynhpvtraoidliutrctipviccbnhnhhthngcmtvix
l.ngdngphbinnhtcaDMAlchiasbnhchunggiahaibvixlhoc
ccngoivitruyndliutrctipgiathitbngoivivo/ravbnhdliu
caVXL.

Truynhpbnhtrctipcsdngpngnhucutraoidliuvora
tc cao gia ngoi vi vi b nh. Thng thng cc ngoi vi kt ni vi h thng
phichiasbusdliuvciukhinbiCPUtrongqutrnhtraoidliu.
iunylmhnchtctraoi,tngcngtcvloibscanthipca
CPU, c bit trong trng hp cn truyn mt lng d liu ln. C ch hot ng
DMAcmtnhtrongHnh221.Thtccbtubngvicyucuthc
hinDMAviCPU.Saukhixl,nucchpnhnCPUstraoquyniukhin
buschongoivivthchinqutrnhtraoidliu.SaukhithchinxongCPUs
nhncthngbovnhnliquyniukhinbus.TrongcchDMA,chaicch
truyndliu:kiuDMAchukn,vkiuDMAchuknhm(burst).

cncmtbcxlquytnhxemthitbnoscnhnquyniukhin
trongtrnghpcnhiuhnmtthitbcnhucusdngDMA.Thngthng
kiuDMAchuknhmcntdliuthngtiniukhin(overhead)nnckhnng
traoivitccaonhnglichimnhiuthigiantruynhpbusdotruynckhi
dliuln.iunycthnhhngnhotngcachthngdotrongsut
qutrnhthchinDMAnhm,CPUsbkhoquyntruynhpbnhvkhngth
x l cc nhim v khc ca h thng m c nhu cu b nh, v d nh cc dch v
ngt,hoccctcvthigianthc...

Chukri(CycleStealing)
Trong kiu ny DMA s c thc hin trong nhng thi im chu k bus m CPU
khngsdngbusdokhngcnthchinthtcxlcpphtquyntruynhp
vthchinDMA.

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.

ICchcnngchuyndng

Hnh221:NhphotngDMA

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

25

DAC/ADC

http://www.ebook.edu.vn

26

Hnh224:SnguynlcutrcADC1754A

Hnh222:SnguynlmchchuyniDAC

Hnh223:SnguynlmchchuyniADC

VdADC754A
cimkthut:
9 ChtotheocngnghCMOS.
9 12bitvigiaodintngthchviccloiVXL/VK8,12v16bit.Cthlp
trnhhotngchuyni8bithoc12bit.
9 Tn hiu d liu ra tng thch vi chun TTL v ghp ni thng qua loi cng
logic3trngthi.
9 Digitrinpuvocthlachnnhcuhnhgitrintrniu
vonhnccditnhiu(010)V,(020)V,(5+5)V,v(10+10)V.
9 CthmkhnngcungcpngunthamchiuniVref=+10V.
9 Nguncungcpcthl+5V,12V,hoc15V
9 Thigianchuyniccil25svithigiantruynhpbusl150ns.

27

Hnh225:SbtrchncaChipADC574A

Nguynliukhin
ADC574ciukhinbiccchntnhiunhmttrongbngsau:
Bng1:TnhiuiukhinADC574A
K hiu

nh ngha

CE (Pin 6)

Chip Enable
(active high)

Must be high (1) to either initiate a conversion or read output data. 0-1 edge may be used to
initiate a conversion.

CS

Chip Select
(active low)

Must be low (0) to either initiate a conversion or read output data. 1-0 edge may be used to
initiate a conversion.

(Pin 3)

Chc nng

http://www.ebook.edu.vn

28

R / C (Pin 5)

Read/Convert
(1 = read)
(0 = convert)

Must be low (0) to initiate either 8- or 12-bit conversions. 1-0 edge may be used to initiate a
conversion.
Must be high (1) to read output data. 0-1 edge may be used to initiate a read operation.

AO (Pin 4)

Byte Address
Short Cycle

In the start-convert mode, AO selects 8-bit (AO= 1) or 12-bit (AO= "0") conversion mode.
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).

12 / 8 (Pin 2)

Data Mode
Select
(1 = 12 bits)
(0 = 8 bits)

When reading output data, 12/8 = 1 enables all 12 output bits simultaneously. 12/8 = 0 will
enable the MSBs or LSBs as determined by the AOline.

(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
bithptrng 12 / 8 vA0.
Cngsongsongkhtrnh82C55A
82C55A l mt giao din ngoi vi cng song song kh trnh c ch to theo cng
nghCMOS.Nlmtthitbngoivivorakhtrnhamcchvcthcs
dngvinhiuloiVXL/VKkhcnhau.82C55Ac24chnvoraonChipcchia
rathnh2nhm,minhm12chnvcthcsdngtheo3chhotng
khcnhau.Hnh226mtginkhichcnngcachip82C55A.

29

Hnh226:Ginkhichcnngca82C55A

Chcnngvnghacaccchnonchipca82C55AcmttrongBng2:Chc
nngccchnonchipca82C55A.

Bng2:Chcnngccchnonchipca82C55A
K hiu

Kiu

GND
D0-D7

M t chc nng
VCC: The +5V power supply pin. A 0.1F capacitor between VCC and GND is recommended for
decoupling.

VCC

GROUND
I/O

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

RESET

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

CS

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

RD

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

WR

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

A0-A1

ADDRESS: These input signals, in conjunction with the RD and WR inputs, control the selection of
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.

PA0-PA7

I/O

PORT A: 8-bit input and output port. Both bus hold high and bus hold low circuitry are present on
this port.

PB0-PB7

I/O

PORT B: 8-bit input and output port. Bus hold high circuitry is present on this port.

http://www.ebook.edu.vn

30

PC0-PC7

I/O

9 Ccngtnhiuvokhngccht
9 Cthcuhnh16kiuhotngvorakhcnhau

PORT C: 8-bit input and output port. Bus hold circuitry is present on this port.

82C55Acungcp3chhotngchnhvcthlptrnhlachn
Mode0:Hotngvoracbn
Mode1:Hotngvoranmbt(strobed)
Mode2:HotngBus2chiu
Viclachnchhotngcthchinthngquathanhghitiukhinv
cmtnhtrongHnh227.

Mode1(Voracbttay):Chhotngnycungcpkhnngtruyndliuti
hocitmtcngcthcngvicctnhiubttay.TrongchnycngA,B
csdngtruyndliuvcngChotngnhcngiukhincchng
bbttay.Chhotngnycungcpccchcnngchnhsau:
9 Hai nhm cng (Nhm A v Nhm B). Mi nhm bao gm 1 cng 8bit v mt
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

KhiuvoRESETciukhinmccaothttccccngscthitlphot
ng ch cng vo vi 24 ng tn hiu vo duy tr mc logic 1. Sau khi tn
hiuiukhinRESETmctchccbloibth82C55Acthduytrchhot
ngmkhngcnthmbtkvickhitonona.iunysgiploibc
ccintrtreocaohoctreothptrongccthitkchomchCMOS.Khikchhot
ch thit lp th thanh ghi t iu khin s cha gi tr 9Bh. Trong qa trnh thc
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

ylbmtccaocungcp3bnhthi16bitclpvcthccuhnh
hotngnhiuchhotng.Mibmcccknhdliuviukhin
ring bit. H tr 2 kiu m ho m nh phn (0 65535) hoc BCD (binary coded
decimal)(09999).C4thanhghitchhpOnchiplugitrmvcuhnhhot
ng(tiukhin).

Tnshotngcabmcthlmvicvixungnhptns10MHzvhtr6
chhotngvcthcuhnhringl.

http://www.ebook.edu.vn

32

Giaodinnitip
USART

Hnh230:CutrcnginhocaUSART

Hnh228:Scutrcchcnng8254

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

http://www.ebook.edu.vn

34

I2C(InterIC)
Giao thc u tin truyn thng ni tip c pht trin bi Philips Semiconductor v
cgilbusI2C.VngungcncthitkliukhinlinthngIC(Inter
IC)nnncttnlI2C.TtcccchpctchhpvtngthchviI2Cuc
thmmtgiaodintchhptrnChiptruynthngtrctipviccthitbtng
thchI2Ckhc.Victruyndliunitiptheohaihng8bitcthcthitheo3ch
sau:
Chun(Standard)100Kbits/sec
Nhanh(Fast)400Kbits/sec
Tccao(HighSpeed)3.4Mbits/sec

ngbusthchintruynthngnitipI2Cgmhainglngtruyndliu
nitipSDAvngtruynnhpxungnghnitipSCL.Vcchhotngl
ngbnnncncmtnhpxungtnhiungb.CcthitbhtrI2Cuc
mtachnhnghatrc,trongmtsbitachlthpcthcuhnh.nv
hocthitbkhitoqutrnhtruynthnglnvChvcnglnvtoxung
nhpng b,iu khin cho phpktthc qutrnhtruyn. NunvChmun
truynthngvinvkhcnsgikmthngtinachcanvmnmun
truyntrongdliutruyn.nvTucgnvnhachthngquan
vChcththitlptruynthngvtraoidliu.Busdliucthitkcho
phpthchinnhiunvChvTtrncngBus.

QutrnhtruynthngI2CcbtubngtnhiustarttorabinvCh.Sau
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,
cmbin,nghtothigianthc...HuhtccthitbhtrI2Chotngtc
400Kbps,mtschophphotngtccaoviMbps.I2Ckhnginthc
thiktninhiunvvnhtrcchxcnhach.
SPI
SPIlmtgiaodincngnitipngbbadychophpktnitruynthngnhiu
VKcphttrinbiMotorola.Trongcuhnhmngktnitruynthngnyphi

35

cmtVKgivaitrlCh(Master)vccVKcnlicthhoclChhocl
T.SPIc4tccthlptrnh,ccvphanhpnghkhtrnhvktthcngt
truynthng.Nhpnghkhngnmtrongdngdliuvphiccungcpnh
mttnhiutchclp.CbathanhghiSPSR,SPCRvSPDRchophpthchincc
chcnngiukhin,trngthivlutr.Cbnchncbncnthitthcthi
chungiaodintruynthngny.

DliuraMOSI(MasterOutputSlaveInput)
DliuvoMISO(MasterInputSlaveOutput)
NhpxungchunSCLK(SerialClock)
LachnthnhphntSS(SlaveSelect)

Hnh233:KtninguynltruynthngSPIgiamtMastervmtT

Hnh233chranguynlktnigiamtnvChvmtnvTtrongtruyn
thngSPI.TrongtnhiuSCLKsctorabinvChvltnhiuvoca
nvT.MOSIlngtruyndliuratnvChtinvTvMISOl
ngtruyndliuvonvChntnvT.nvTclachnkhi
nvChkchhottnhiu SS .

Hnh234:SktnitruynthngSPIcamtnvChvinhiunvT

NuhthngcnhiunvtnvChstophiracctnhiutchbitchn
nvT.CchcthchinnhsktninguynlmtnhtrongHnh
234.nvChstoratnhiuchnnvTnhccchntnhiulogicachc
nng.Cctnhiunyphiciukhinvmbonnhvthigiantrnh
trnghptnhiubthayitrongqutrnhangtruyndliu.Mtiudnhn

http://www.ebook.edu.vn

36

rarngSPIkhnghtrcchxcnhntrongqutrnhthchintruynthng.iu
nyphthucvogiaothcnhnghahocphithchinbsungthmmtscc
mrngphbnngoi.

Kh nng truyn thng ng thi hai chiu vi tc ln n khong vi Mbit/s v


nguynlkhnginnnSPIhontonphhpthchintruynthnggiacc
thitbyucutruynthngtcchm,cbithiuqutrongccngdngmt
nvChvmtnvT.TuynhintrongccngdngvinhiunvTvic
thcthilikhphctpvthiucchxcnhach,vsphctpstnglnkhi
snvTtng.

2.2

CPU

Khi gii m a ch
v iu khin Logic

B nh

Ngoi vi

Mt s nn phn cng nhng thng dng (P/DSP/PLA)

Trongphnnygiithiungngncutrcnguynlcaccchipxlnhngng
dngtrongccnnphncngnhnghinnay.

SphttrinnhanhchngccchngloiChipkhtrnhvimttchhpcaov
angcmttcngngk nsthayi trongvicthitkccnnphncng
thitbxlviukhinstrongthpkgny.Michngloiucnhngc
imvphmviitngngdngvlunkhngngngphttrinpngmt
cchttnhtchoccyucucngngh.Chnganghngtitptrungchomtth
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

hpthmccngoivi.Ccngoivithnglcckhichcnngngoivithngdng
nhbnhthigian,bm,bchuyniA/D,giaodinsongsong,nitipMc
tchhpngoivi cngkhcnhaututhucvomcchngdngscthtm
cChipphhp.Thctviccngdngyucutchhpcaothssdng
giiphptchhptrnchip,nukhngthhuhtccChipucungcpgiiphp
mrngngoivipngchomtslngngdngrngvmmdo.

Bus a ch

Bus D liu

Bus iu khin

Hnh235:KintrcnguynlcaVKvicutrcHavard

VdvkintrccahVKAVR

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

37

Hnh236:KintrccahVKAVR

http://www.ebook.edu.vn

38


Hnh237:SkhichcnngkintrcPIC16F873A

2.2.2

Chip DSP

[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

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
hnbngcctrnhbindchngnngbccaonhCdocthgimcgithnh
v thi gian pht trin. Tuy nhin gi thnh li cao nn cc DSP du phy ng ph
hpviccngdngkhcbitvthnglvislngt.

http://www.ebook.edu.vn

40

Hnh239:CutrcPROMvPLA

Lch s pht trin ca cc chng loi Chip kh trnh mng PLA (Programmable Logic
Array)cbtngunt nguynl b nh chng trnhPROM (ProgrammableRead
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

http://www.ebook.edu.vn

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
khkhnkhithcthiccngdngihiccphptnhtonlogicphctpvitc
cao.pngiunyFPGA(FieldProgrammableGateArrays)rai.Nlscu
thnhcacckhilogickhtrnhcngviccknhktnilinthngkhtrnhgia
cckhivinhau.MthnhnhtiubiuvcutrcnguynlcaFPGAcm
tnhtrongHnh241:CutrcnguynlcaFPGA.

Hnh241:CutrcnguynlcaFPGA

FPGA ang tr thnh mt s la chn thay th rt cnh tranh ca cc chip x l


nhngASICs.NhtrccuimvchcnnglachngingnhASICsnhng
cho php chnh sa v thit k li sau khi s dng v gi thnh pht trin thp hn.
FPGAchophpkhnngthitklinhhotvthchnghiddngchocctinchthit
btiu,trongkhivnduytrckhnggiankchthcphncngvnnglng
tiuthcahthng.iunykhngddngnhnckhithitkdatrnnncc
ChipDSP.

FPGAthcsphhpchoccngdngihilngtnhtonlnnhtrongxl
tnhiu.FPGActhclptrnhhotngngthivimtsccngdliu
songsong.Chnglccngdliuhotngcathpnhiuccchcnngt
nginnphctpnhbcng,bnhn,bm,blutr,bsosnh,btnh
tngquan,

43

Hnh242:CutrcCLBvLAB

NgynaycthphnloiramtskiuchngloiFPGAdavocutocachng:

CutotSRAM:
ViloinyccmtktnikhtrnhcthchinbngccphntSRAM,chnhv
vychophpthchinlptrnhlplinhiuln.uimnibtcaloinylcc
tngthitkmicthcthcthivthnghimnhanhchng.HnnaSRAM
cnganglmthngphttrinrtmnhhinnaytrongnncngnghipsnxut
bnhvcnguthcthitheocngnghCMOSrtphhpvicngnghchto
FPGA.

TuynhinmtcimcthxemnhlnhcimcaFPGAcutotccphn
tSRAMlchngphicuhnhlimikhingunhthngccungcp.Cngvic
nythngcthchinbimtbnhngoichuyndnghocbimtbviiu
khinkmtheomch.ChnhvvycnglmgithnhcaFPGAtngthm.

Cutotcuch(antifused)
KhnggingnhloiFPGAcutotSRAM,FPGAvicutkiucuchclp
trnh offline bng mt thit b lp trnh chuyn dng. tng ch to loi FPGA ny
xutphttnhucuvmtthitbkhtrnhckhnnglucuhnhsaukhics
dng.Tclnkhngphilmcngviccuhnhmikhingunhthngccung
cp.KhiFPGAantifusedclptrnhthnkhngthbthayihayclp
trnhlina.Chnh nhiunynnnkhngcn btkmtbnhngoino
lutrcuhnhvcthtitkim,gimgithnhcathitb.

MtuimnibtcaFPGAantifusedlkiucutrclinktkhbnvngvicc
loi nhiu bc x. c im ny kh quan trng khi thit b phi lm vic trong mi
trngtimnngnhqunshochngkhngvtr.Vvyntrnhctrng
hp ri ro c th xy ra nu s dng cng ngh SRAM l hin tng lt trng thi
(flipped).Tuynhinhintngnycngcthckhcphcbngcchdphng
chp3nhnglilmtngthmchiphchto.

http://www.ebook.edu.vn

44

MtuimnibtcaloiFPGAantifusedlkhnngbovcngngh.Tcld
liucu hnhlptrnh cho FPGA c th cbo vbivicc bthpphphoc
khngchophpc.Trongqatrnhxlhocphttrin,ngilptrnhssdng
mt tp d liu cu hnh lp trnh v kim tra qu trnh np cu hnh cho FPGA.
Cngvicnychthchinmtlnvskhngththayicna.Khithchin
xongncthcthitlpthmmtthuctnhlchngctrctiptFPGAd
liulinquanncuhnh.NgoirachngtacngcthbitthmrngFPGAanti
fusedthngsdngtnnglnghnloiFPGASRAM,kchthccngnhhn,v
tccngnhanhhnmtchtnhkhongcchktnicnggiaccphntngn
hn.

TuynhinnhcimlnnhtcaFPGAantifusedlchcthclptrnhvcu
hnh mt ln. V vy n ch thc s ph hp khi thc thi hon chnh sn phm cui
cngvkhngphhpvimcchthitkphttrin.

CutotEEPROM/FLASH
EEPROMorFLASHbasedFPGAscngcnguynlcutotngtnhloiFPGA
SRAM. Cc phn t cu hnh cancktni da trn mtchuithanhghidch
di.Chngcthccuhnhofflinebngccthitblptrnhchuyndng.Cngc
mtscthlp trnhonlinenhngthigianlptrnhcuhnhsgpkhong3ln
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.

TuynhincngnghchtoFPGAEEPROM/FLASHihithcthiquanhiucng
onxlhnsoviloiFPGASRAMvvymsphttrincachngcngchm
hn.Hnnannglngtiuthcachngcnglnhnvphinuirtnhiucc
phntintrko(pullupresistor).

CutotthpFLASHSRAM
NgynayngitacngphttrinchtoccloiFPGAcutotccthpSRAM
vFLASHtndngcccuimcachaichngloiny.Thngthngcc
phntcuhnhFLASHscsdngluccnidungcuhnhsaochp
choccphntcuhnhSRAM.VccphntcuhnhSRAMhontoncthc
cuhnhlitheoyucuthitktrongkhivnduytrmtphnthitkcuhnhgc
lutrongccphntFLASH.

45

Ngi ta cng thng phn loi FPGA da vo phn t kin trc ca chng v bao
gm3loichnh:mn,thvtrungbnh.Bnchtvicphnloinyldavokiu
khilogickhtrnhcuthnhnnFPGA.ViloiFPGAmnthkintrccckhilogic
khtrnhthnglcccnglogicngin(kiuAND,OR,vccphntlugi
nhTrigerD).Kiukintrcnyphhpvthngsdnghiuquvikintrc
ASIC.GnyxuthphttrincaFPGAangtptrungvoloikintrcth.Tc
lcckhilogickhtrnhlcckhickhnngxllogiclnvinhiuthplin
ktvphctpvinhiuuvovralinkt.Tutheomccakhilogickh
trnhmngitaphnrathnhccloitrungbnh.

ChailoicutrccbncuthnhnncckhilogickhtrnhtrongkintrcFPGA
th hoc trung bnh l MUX (Multiplexer) v LUT (Lookup Table). Trong loi cu trc
MUX th cc phn t logic c cu thnh theo cu trc t hp cc u vo ra theo
nguynlMUXnhmttrongHnh243:KhilogicdngMUX.

Hnh243:KhilogicdngMUX

iviloicutrcLUTthccuvothcchtlccthpchnragitrtrong
bngchtlcahmchcnngcnthcthi.Nguynlcaloikhilogicnyc
mtnhtrongHnh244.

Hnh244:LUTthchinhmthpANDvOR

http://www.ebook.edu.vn

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
nhng (embedded RAM). Cc phn t RAM c t chc thnh tng khi v tu
thucvokintrccaFPGAnscphnblinhhot,thnglxungquanhcc
phntngoivihocphnbutrnbmtChip.Mthnhnhminhhovphn
bRAMtrongkintrcFPGAcmtnhtrongHnh245.

C S K THUT PHN MM NHNG

3.1

c im phn mm nhng

9
9
9

Hngchcnnghocth
Hnchvtinguynbnh
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.

3.2.1

Hnh245:HnhnhcaChipcccctlcckhiRAMnhng

FPGAvihtnhnDSP
Thcchtlmtthpnhmtngtcvkhnngtnhton.Khinimnycng
tngtnhccbngxltonhctrongkintrcmytnh.Nguynllnhm
sansvgimbttisangFPGAthcthiccchcnngtnhtonln(thngthng
ihithchintrongnhiunhphotngcaChipDSP)vchophpChipDSPtp
trungthchinccchcnngnnhptiu.ThpFPGAvDSPlmtkintrc
rtlinhhotvcbitcithinchiusutthchinvtngtchnrtnhiuso
vikintrcnhiuChipDPShocASICsngthigithnhlithphn.

Cc h thng c s

Trongcchthngbiudinshinnayucbiudindngtngqutltng
luthatheocs,vcphnloitheogitrcs.Mtcchtngqutmthbiu
dinscsbvalmtsnguynnmtrongkhonggitrcsbcbiudin
nhsau:
n

A = an b n + an 1b n 1 + + a0 = ai bi

(1.1)

i =0

Vdnhcsbinary(nhphn),csdecimal(thpphn),cshexadecimal,cs8
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
10000001,vgitr+1scdng00000001.Nhvyvimtt8bitcthbiudin

Hnh246:SnguynlmchghpniVKvFPGA

47

http://www.ebook.edu.vn

48

cccstrongphmvit127n+127.MtcchtngqutmttNbitsbiu
dinc2(N1)1n+2(N1)1.

Chkhithchincnghaiscdu:
9 Nuhaiscngduththchinphpcngphnbiudingitrvsdngbit
ducngduvihais.
9 Nu hai s khc du th kt qu s nhn du ca ton t ln hn, v thc hin
phptrgiatontcgitrlnhnvitontbhn.

Vd1:Cnghaiscdu010011112v001000112.

1111
carries

01001111
(79)

0+0100011
+(35)

01110010
(114)

Vd2:Cnghaiscdu010011112v011000112.
carries
Nhcuicng
1 1111
Trn

0 1001111
(79)
bnh

0+ 1100011
+(99)

0
0110010
(50)

Vd3:Trhaiscdu010011112v011000112.

Hinnayngitasdnghaiquicbiudinsnguynphnbittheothtca
bytetrngstrongmttcbiudin:
Litteedian:bytetrngsnhnhtngtrcthunlichophpcnghoc
trv
Bigendian:bytetrngslnnhtngtrcthunlichophpnhnhoc
chia.
Vdxtmtsnhphn4byte

Theoquicbiudinlitteedianththtachlutrongbnhsl:
achcs+0=Byte0
achcs+1=Byte1
achcs+2=Byte2
achcs+3=Byte3
Vtheoquicbiudinsbigediansl:
achcs+0=Byte3
achcs+1=Byte2
achcs+2=Byte1
achcs+3=Byte0

3.2.3

S du phy tnh

Chngtacthsdngmtkhiuduchmobiudinmtsthc.Duchm
ocsdngtrongtdliudngphnbitvngncchgiaphnbiudin
gitrnguyncadliuvmtphnlthpphn.Vdvmtt8bitbiudins
duphyngcchranhtrongHnh31.Vicchbiudinny,gitrthcca
sctnhnhsau:
N = a4 24 + a3 23 + a2 22 + a1 21 + a0 20 + a1 21 + a2 22 + a3 23

0112
borrows

0
1100011

(99)

0 1001111
(79)

0
0010100

(20)

Vd4:Cnghaiskhcdu100100112(19)v000011012(+13)

012
borrows

1
0010011

(19)

0 0001101
+(13)

1
0000110

(6)

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

49

= 0 24 + 1 23 + 0 22 + 1 21 + 1 20 + 1 21 + 0 22 + 1 23
= 8 + 2 + 1 + 1/ 2 + 1/ 8
= 11.625

Hnh31:nhdngbiudinsduphytnh8bit

Nhcimcaphngphpbiudinsduphytnhlvngbiudinsnguyn
bhnchbiduphytnhcgncnh.iunydxyrahintngtrns
khithchinccphpnhnhaisln.

http://www.ebook.edu.vn

50

3.2.4

S du phy ng

Phngphpbiudinschnhxcvlinhhotcsdngrngrihinnaylh
thng biu dins du phyng.ycng l mt phngphp biudins khoa
hcbaogm2phn:phnbiudinlutrsmantissavmtphnlutrbiudin
s exponent. V d trong h c s thp phn, mt s nguyn bng 5 c th c biu
dinhocl 0.5 101 , 50 101 ,hoc 0.05 102 ,Trongmytnhshochthngsni
chung,ccsduphyngnhphnthngcbiudindng
(1.2)

N = M 2E
Trong,Mlphngitrsmantissa,ElphnlythacasN.Mthnglcc
gitrlmphnthpphncanthngnmtrongkhong 0.5 M 1 .

Hnh32mtbiudinmtsduphyngcat8bitgm5bitbiudinphns
c ngha mantissa, v 3 bit biu din phn ly tha. V cc phn mantissa v ly tha
ucthnhnccgitrmvvyccbitutincaccphngitructh
csdngbiudindukhicnthit.

N min = 0.5 2 (2

e1

1)

(1.4)

TheotiuchunIEEE754v854c2nhdngchnhchosduphynglsthc
di(long)vsthcngn(short)chngkhcnhauvdibiudinvlnlutr
yucu.Theochunny,sthcdicnhdng8bytebaogm1bitdu,11bit
exponentv53bitlugitrscngha.Mtsthcngncnhdng4bytebao
gm1bitdu,8bitlythav24bitlugitrscngha.Mtsthcngncth
biudinvxlcscgitrnmtrongdi1038to1038vsthcdicthbiu
dinvxlcscgitrthucdi10308to10308 .biudinmtgitrtng
ngnhvybngsduphytnhthcnti256bithay32bytedliu.

3.2.5

Mt s php tnh c bn

Thchinphpnhn
VtrongccVKnhngthngkhnghtrccphpnhnnhiubyte.Cngvicny
phicthchinbingiphttrinchngtrnhvthhindidngmtthut
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
dinmtsduphyng.Mttsdngbiudingitrmantissa,vmtphn
biudingitrexponent.
Nuphnmantissacchunhathnhmtslcgitrtrongkhong 0.5 M 1
thbitutinsaubitduthnglmtvscmtduphynhphnnngaysau
bitdu.
PhnbiudinexponentEsquytnhvtrcaduphyngsdchsangtri(E>0)
haysangphi(E<0)baonhiuvtr.Vdbiudinmtsthpphn6.5bngmtt
8bitduphyngnhsau:
N = .1101 2112

1 1 1
= + + 23 = 6.5
2 4 16
Trongtrnghpnyphnmantissagm4bitvphnexponentgm3bit.Nutadch
duphysangphi3vtrbitthchngtascmtsnhphnduphyngbiu
dincsl110.1.
Tngquthatrongtrnghpmtsnhphnduphyngnbitgmmbitbiu
dinphnmantissavebitbiudinphnexponentthgitrcaslnnhtcthbiu
dincsl

N max = (1 2 m +1 )2(2

e1

1)

(1.3)

Vsdngnhnhtcthbiudinl

51

Nguynlthchinphp nhncngging nh ta thchin phpnhn haiathc.


Trongtrnghpnhnhaisnhphnthmiphntlmtbit,bytehoct.Vd
cthvihaisnhphn4bittathucphpnhnthchinnhsau:

a3 23 + a2 22 + a1 21 + a0 20
b3 23 + b2 22 + b1 21 + b0 20
a3 b0 23 + a2 b0 22 + a1 b0 21 + a0 b0 20
a3 b1 24 + a2 b1 23 + a1 b1 22 + a0 b1 21

a3 b2 25 + a2 b2 24 + a1 b2 23 + a0 b2 22
a3 b3 26 + a2 b3 25 + a1 b3 24 + a0 b3 23

Thuttonthchinphpnhn32bittheotrnhtsau:
(1) Cpphtvngnhlnluscnhn32bitvcththchinphp
dchtri32ln.tgitrkhitochobmbitbng32vxathanhghi
haybinlugiktquphpnhn.(Ch:Slngbitcnlugitrkt
quphibngtngslngbitcnluccshngphpnhn)
(2) Dchsnhnsangphimtvtrbitvkimtracnh.Nukhngccnh
thtiptcthchinbc3.Nuxuthincnhthcngthmvobinlu
ktquhinticaphpnhnmtgitrbnggitrcascnhn.

http://www.ebook.edu.vn

52

(3) Dchscnhnsangtrimtvtrbitvgimbmdchimt.Kim
tra xem gi tr ca b m dch c bng khng khng? Nu bng khng th
thchintipbc4,cnkhngthquaytrlithchinbc2.
(4) Ktqucuicngcaphpnhnclutrongthanhghibinktqu.

Vdphpnhntnhphn4bit1100x1101

0. A
1100(12)

B
1101(13)

Counter
100(4)

Product
0
1. A
11000(24)

B
0110(6)

Counter
011(3)

Product
1100(12)
2. A
110000(48)

B
0011(3)

Counter
010(2)

Product
1100(12)
3. A
1100000(96)

B
0001(1)

Counter
001(1)
111100(60)

Product
4. A
11000000(192)

B
0001(1)

Counter
000(0)

Product
10011100(156)

ThcthithuttonthchinphpnhnsnguynkhngdubngngnngC/C++:

long product = 0;

while (multipier != 0){

if (multiplier & 1){

product += multiplicand;

multiplier >> =1;

multiplicand <<= 1;

Thchinphpchia
Phpchiacthcthchinbngcchchuynithnhphpnhnvphpdch.
Vdmunthchinphpchia5tronghthpphnchngtacththchinbimt
php nhn 2 v dch du phy ca kt qu thu c sang tri mt n v. Mt cch
tngqutcththchinchuynimtphpchiatngngnhsau:

53

x nx

=
a an
iviphpchianhphnthnscchnlmtslythaca2vphilnhn
a.

Thuttonthchinphpchiacthcthcthibiphpdch,cngvtrnhsau:
(1) Npbinlugitrthngsbnggitrcasbchia;sbcdchcnthc
hinbngsbitlusbchia.
(2) Dchtribinlugitrthngsvophnbinlugitrdcaphpchia.
(3) So snh s d vi s chia. Nu s d ln hn hoc bng s chia th thc hin
php tr s d i mt gi tr bng gi tr s chia. Nu khng th chuyn sang
thchinbctiptheo.
(4) Gim bin lu gi tr s ln lp v kim tra xem n bng khng cha. Nu
chabngkhngthquaytrlibc2thchintip,cnnubngkhngth
gitrcaphpchiaclutrongnhchasdvthngs.

ThcthithuttonbngngnngC/C++

i = 0; quotient = 0;

if (divisor == 0) goto error;

while (dividend > divisor) divisor <<= 1; i++;

divisor >>= 1;

while (i != 0){

quotient <<= 1;

if (divisor < dividend ) dividend -= divisor;

quotient ++;

divisor >>=1 ,

i--;

Trckhithchinphpchiayucucnphikimtralichiakhngcthxyra.
Thuttonthchinphpchiachyudatrnphpdchvphptr.Sbchias
dchsangtrivluvomtbin,phndscsosnhvischia.Nuphnd
bnghoclnhnschiathphndsctrimtgitrbngschiavsb
chia s c cng thm mt v dch sang tri mt v tr bit v chnh c gi l
thngs.Qutrnhnyclplivtiptcchonkhislndchbngngs
bitcatlusbchia.

Cc bin c s dng trong qu trnh thc hin php chia bao gm 5 bin s: s b
chia,schia,thngs,sdvslndch.Trongqutrnhthchinthsbchia,
thngs,vsdcngchiaschungmtvngnh.Sdvsbchiasthuc
cng mt t ln. S b chia nm trong phn t trng s thp v s d s nm trong
phnttrngscao.Saukhithchinxongphpchiathsbchiascdchton
bsangtrivophnbinsdvcthaythbngthngs.Ktqucnlithu

http://www.ebook.edu.vn

54

cchcnlsdvthngs.Hnhnhvbnhluccbinsthchintrong
thuttonnycminhhonhtrongHnh33.

bnhcncungcpchoCPU.Cclnhcnggnvphchpthscncngtkhng
gianbnhchngtrnh.Kintrctplnhphchpsdngcclnhvidibin
ituthucvophchpcacclnhtnginnphctp.Trongsc
mtslnglncc lnhcthtruynhptrctipbnh.Vvyvikintrctp
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 lnh cthigianchocclnhhonthnhiuny
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
phctp
ngunphctp
Khnghtrcchpipeline
Htrcchpipeline
Kchthcmchngtrnhnh Kchthcmchngtrnhln
gn

Hnh33:Thchinphpchia

3.3

Tp lnh

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

http://www.ebook.edu.vn

56

3.3.2

nh dng lnh

Hnh34:nhdnglnhMIPS

Hnh35:Phnloiccphpthcthilnh

3.3.3

Cc kiu truyn a ch ton t lnh

Cckiunh/truyna chchophp chngta ch ra/truyn tont tham giatrong


cclnhthcthi.Kiuachcthchralmthngs,mtthanhghihocmtkhu
vccthtrongbnh.Mtskiunhachchophpsdngachngnv
mtsloithchophpchngtaxcnhkhuvcchatontlnh,vthngc

57

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
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
trongqutrnhthcthichngtrnh.Vdnupdngcchtruynachgintip
trongculnhLoad0x0008thschiulgitrdliucachti0x0008thc
chtlchaachhiudngcatontcntruynchoculnh.Githittivtr
nh 0x0008 ang cha gi tr 0x02A0 th 0x02A0 chnh l gi tr thc ca ton t s
cnpvoAC.Mtbinthkhccngcththchintheocchnyltruyn
thamchiuticontrnmtrongkhuvcthanhghi.Cchnycncbittivi
tngilnhachgintipthanhghi.VdmtculnhLoadR1sdngcch

http://www.ebook.edu.vn

58

truynachgintipthanhghithchngtacthddngthngdchctont
truyntrongculnhnycachhiudngnmtrongthanhghiR1.

Cchnhachcsvchs(IndexedandBasedAddressing)
Trongcchnyngitasdngmtthanhghichaoffset(chnhlchtng
i)msccngvitonttoramtachhiudng.Vd,nutontX
calnhLoadXcnhachtheocchachchsvthanhghiR1lthanh
ghichachsvcgitrl1thachhiudngcatontthcchtslX+1.C
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)
Trong c ch truyn a ch ny th ton t nhn c t nh ngn xp. Thay v s
dngthanhghimcchchunghaynhkintrcdatrnngnxplucctont
trnnhcangnxp,vcthtruyxutviCPU.Kintrcnykhngchhiuqu
trongviclugiccgitrtrunggiantrongccphptnhphctpmcncungcp
mtphngphphiuqutrongvictruynccthamstrongccligihmcng
nhluctcccutrcdliuccbvnhngharaphmvitnticaccbin
vcchmcon.Trongcccutrclnhtruyntontdatrnngnxp,huhtcc
lnhchbaogmphnm,tuynhincngcmtslnhcbitchcmttontv
dnhlnhctvo(push)hoclyra(pop)tngnxp.Chcmtslnhyucuhai
ton t thhaigitr chatrong 2 nh trnnhngnxpscs dng.V d
nhlnhAdd,CPUlyrakhingnxphaiphntnmtrnnhrithchinphp
cngvsauluktqutrlinhngnxp.

Cccchnhachkhc
Crtnhiubinthtobicccchnhachgiithiutrn.lsthp
trongvictorahocxcnhachhiudngcatonttruyncholnhthcthi.
Vdnhcchnhachchsgintipsdngngthichaicchnha
chngthi,tngtnhvycngccchnhachcs/offsetCngcmt
scchtngtnghocgimthanhghisdngtronglnhangthcthinhvy
mcthgimclncamchngtrnhcbitphhpchoccngdng
Nhng.

59

3.3.4

Nguyn l thc hin pipeline

Vi x l c th thc thi cc lnh vi mt tc rt nhanh. RISC s dng k thut


pipelinetngcngtcxlcclnhngthinhvokhnngthchinxp
chngcunchiulintccclnhtheoccphnonthchinlnh.Vdmtlnhc
thcctbnhtrongkhimtlnhkhcangcgiimchunbavo
xlvmtlnhkhcthangcthchin.CngcmtsVKctngilmy
tnhtplnh cbit SISC(SpecificInstructionSetComputer)vchngcphttrin
datrntplnhcthitkcchngchomcchiukhin.

Hnh36:Nguynlthchinpipeline

Pipelinecthchindatrnnguynlxpchngcunchiuccphnontrong
mi mt lnh. Thng thng mi mt lnh c chia ra lm nhiu phn on thc
hin,phbinhinnayl5phnontuntnhsau:
(1) Tr lnh(Instruction Fetch): Thc hin tr ti lnh thc hin bngcch ca
chlnhtthanhghicontrlnh(PC),clnhratbnhchngtrnhv
tnhtonrinpgitrmivotrongthanhghicontrlnhtrtilnhs
thcthitiptheo.
(2) Giimlnh(Decode):Thchinthngdchvchuynimlnhthnhdng
mALUcthhiuvchunbthcthi.Qutrnhnythcchtlqutrnh
cvchuyninidungtrongccthanhghichngtrnh.
(3) Thchinlnh(Execute):ALUthcthilnhvacgiim.
(4) Truy nhpb nh d liu(Memory):crahocvitvob nh d liu nu
lnhthchincnhucuny.
(5) Vittrli(Writeback):Honthnhvcpnhtnidungccthanhghi.

Chngtacnphnbitcchpipelinevcchthchinsongsongmcdchaiu
nhmpngyucuthcthicnhtranhvtngtcthcthi.Cchpipelinegii
quytvncnhtranhvtngtcthchinbngcchchianhtnhtonthnh
ccbcnhtrongkhicchsongsongssdngnhiunguntinguynclp
thchin.

http://www.ebook.edu.vn

60


Hnh37:Qutrnhthchinlnhtheonguynlpipeline

3.3.5

Harzard

Trongcchthchinlnhpipelinethhinrcuimtrongvicthcyhiu
sutthchinlnh,tuynhincthxyrahintngthcthisaidosthiungb
vphthuclnnhaugiacclnhtrongnhmthcthipipeline.

Hazarddliu
Hintngharzardxyrakhicsphthuclngiacclnhnmtrongkhongxp
chngthchincunchiutheonguynlpipeline.iunycthddnghnhdung
khihaihocnhiulnhthchinxpchngkhicnhucucgitrcacngmt
tont.Dosphthucnhvynnkhivitchngtrnhchngtaphikimsot
cthtchngtrnhmcclnhscthchinnhthno.Mcchcavic
thcthillmsaohtrccchthchinsongsongvtngchiusut

61

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
tincachng trnhuciukhintheocutrclnhrnhnhvphic
mbothcthingtheotht.Mtvdnginnhtvsphthuciu
khin l s ph thuc iu khin theo cu trc ifthenPhn thc thi trong phn
thensphthucculnhiukinif.Vdonmchngtrnhminhhanh
sau:

if (p1) {
S1;

}
if (p2) {

S2;
}

http://www.ebook.edu.vn

62

Culnhciukhinphthucvop1vS2ciukhinphthucp2ch
khngphip1.

Nichung,c2rngbuccthgithittrongsphthuciukhin:
(1) Mt lnh thc hin ph c quyt nh bi mt lnh iu khin r nhnh th
khng th c php chuyn ln trc cu lnh thc hin kim tra iu kin. V d
chngtakhngthalnhtphnthenlntrcphnif.
(2)Mtlnhthchinclpvkhngphthucvolnhrnhnhkhngthc
chuynvokhuvcsauphnthchincanhnhthchinphthuc.Vdkhng
thamtlnhlntrcphnlnhifvchuynnvotrongphnthen.

Sphthuciukhinphicmbobi2thuctnhtrongcchpipelinen
gin. Th nht, cc lnh thc hin trong chng trnh phi ng theo trnh t c
iu khin ca n. Trnh t ny phi c m bo rng mt lnh m phi thc thi
trcmtnhnhiukhinthphithchintrcnhnh.Thhai,vicphthin
rasxungtviukhin(controlhazard)smborngmtlnhmciu
khinphthucvomtnhnhthkhngcthchinchngnohngthchin
canhnhrrng.Bomcsphthuciukhinlcnthitvcngl
mt cch n gin m bo ng trnh t thc hin chng trnh. S ph thuc
iu khin khng phi l mt s hn ch c bn v kh nng thc thi chng trnh.
Chngtacthsnsngthcthithmnhnglnhmlrakhngnncthcthi
nuchngkhnggynhhnggntnhngncachngtrnh,nukhngs
xungtgyrabisphthuciukhincthxyra.Sphthucviukhin
khng phi l mt thuc tnh kch tnh bt buc phi bo m. Thay v iu , hai
thuctnhkchtnhchoviclptrnhmtcchngnvthngcboml
phitrnhcxungtbicsphthucvdliuviukhinvchnhl
hnhvingoilcthxyratronglungdliuthcthichngtrnh.

3.4

Ngn ng v mi trng pht trin

3.4.1

Ngn ng

Mttrongnhngngnnglptrnhclphcprngrinhthinnaylngnng
C. So vi bt k ngn ng lp trnh no khc ang tn ti C thc s ph hp v tr
thnhmtngnngphttrincahnhng.iunykhngphilchuvstn
timi,nhngtithiimnythCcllmtngnnggnginhttrthnh
mt chun ngn ng trong th gii h nhng. Trong phn ny chng ta s cng tm
hiutisaoClitrthnhmtngnngphbinnvyvtisaochngtalachn
nnhmtngnngminhhachoviclptrnhhnhng.

Sthnhcngvphttrinphnmmthnglnhvoslachnngnngph
hpnhtchomtdntra.Cnphitmmtngnngcthpngcyu
culptrnhchoccbxlt8bitn64bit,trongcchthngchchuhnv

63

bnhviKbytehocMbyte.Chotinay,iunychcClthcscththamn
vphhpnht.

RrngCcmtsuimnibttiubiunhkhnhvddngchovichc,cc
chngtrnhbindchthngkhsnchohuhtccbxlangsdnghinnay,
vcrtnhiungibitvlmchcngnngnyri,haynicchkhccng
cphcptlu.HnnaCclithlkhngphthucvobxlthcthi
m ngun. Ngi lp trnh ch phi tp trung ch yu vo vic xy dng thut ton,
ngdngvthhinbngngnngthnthinthayvphitmhiusuvkinthc
phn cng, cng nh rt nhiu cc u im ni bt khc ca ngn ng bc cao ni
chung.

ClmtthmnhlnnhtcaClmtngnngbccaomcthpnht.Tclvi
ngnngCchngtavncthiukhinvtruynhptrctipphncngkhthun
tinmkhnghphihysinhhaynhibtkmtthmnhnocangnngbc
cao.Thcchtycnglmttrongnhngtiuchxydngcanhngngisng
lprangnngCmunhngti.Thctiunyccpnkhihainh
sng lp ra ngn ng C, Kernighan v Ritchie a vo trong phn gii thiu ca
cunschcahTheCProgrammingLanguagenhsau:

Cisarelativelylowlevellanguage.Thischaracterizationisnotpejorative;itsimplymeans
thatCdealswiththesamesortofobjectsthatmostcomputersdo.Thesemaybecombinedand
movedaboutwiththearithmeticandlogicaloperatorsimplementedbyrealmachines

TtnhinlCkhngphilngnngduynhtchoccnhlptrnhnhng.tnht
hinnayngitacngcthbittingoingnngClAssembly,C++,vAda.

Trong nhng bui u pht trin h nhng th ngn ng Assembly ch yu c s


dngchoccvixlch.Vingnngnychophpngilptrnhiukhinv
kimsothontonvixlcngnhphncnghthngtrongvicthcthichng
trnh.TuynhinngnngAssemblycnhiunhcimmcngchnhlldoti
sao hin nay n t c ph cp v s dng. l, vic hc v s dng ngn ng
Assemblyrtkhkhnvcbitkhkhntrongvicphttrinccchngtrnhng
dnglnphctp.Hinnaynchcsdngchyunhimnigiangnng
bccaovbcthpvcsdngkhicyucucbitvhiusutthchinv
tiuvtcmkhngthtcbngngnngkhc.NgnngAssemblych
thcsphhpchonhngngickinhnghimvhiubitttvcutrcphncng
chcngnhnguynlthchincablnhvchpxl.

C++lmtngnng kthat Cnhmvocclpngdngvtduylptrnh


hng i tng v cng bt u chim c s lng ln quan tm trong vic ng
dngchophttrinhnhng.TtccccimctlicaCvnckthahon
tontrongngnngC++vngoiracnhtrkhnngmivtrutnghadliu
vphhpvitduylptrnhhini;hngitng.Tuynhiniunybnh

http://www.ebook.edu.vn

64

i bi hiu sut v thi gian thc thi do ch ph hp vi cc d n pht trin


chngtrnhlnvkhngchuscplnvthigianthcthi.

Adacnglmtngnnghngitngmcdnkhngcphcprngri
nh C++.Adacxy dng bi c quan quc phngM phc vphttrincc
phn mm qun s chuyn dng c bit. Mc d cng c chun ha quc t
(Ada83vAda95)nhngnvnkhngcphcprngringoivicngdngch
yutrongcclnhvcqunsvhngkhngvtr.Vncngdndnbmtu
thvsphcptrongthigiangny,ycnglmtiungticvbnthn
Adacnglmtngnngcnhiucimphhpchovicphttrinphnmm
hnhngthayvphisdngC++.

3.4.2

Bin dch

Hnh38:Qutrnhphttrinvbindchphnmmnhng

Qutrnhbindch(Compiling)
Nhimvchnhcabbindchlchuynichngtrnhcvitbngngnng
thnthinviconngivdnhC,C++,thnhtpmlnhtngngcthc
vhiubibvixlch.Theocchhiunythbnchtmtbhpngcngl
mt b bin dch chuyni mtmtt mt dnglnh hpng thnhmtdng
m lnh tng ng cho b vi x l c th hiu v thc thi. Chnh v vy i khi
ngi ta vn nhm hiu gia khi nim b hp ng v b bin dch. Tuy nhin vic
bindchcabhp ngscthc thinginhnrtnhiusoviccbbin
dchchoccmngunvitbngngnngbccaokhc.

Mimtbxlthngcringngnngmyvvycnphichnlamtbbin
dchphhpcthchuynichnhxcthnhdngmmytngngvibx
lch.ivicchthngnhng,bbindchlmtchngtrnhngdnglun

65

cthcthitrnmych(mitrngphttrinchngtrnh)vcnctngilb
bindchcho(crosscompiler).Vbbindchchytrnmtnnphncngtora
mchngtrnhchytrnmitrngphncngkhc.Vicsdngbbindchcho
ny l mt thnh phn khng th thiu trong qu trnh pht trin phn mm cho h
nhng.Ccbbindchchothngcthcuhnhthcthivicchuynicho
nhiunnphncngkhcnhaumtcchlinhhot.Vviclachncuhnhbindch
tngngviccnnphncngikhicngkhclpvichngtrnhngdng
cabbindch.

Ktquutincaqutrnhbindchnhnclmtdngmlnhcbitti
vi tn gi l tp i tng (object file). Ni dung ca tp i tng ny c th c
xemnhlmtcutrcdliutrunggianvthngcnhnghanhmtnh
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
phicblinktthcthixlvnny.

Qutrnhlinkt(Linking)
Tt c cc tp i tng nhn c sau bc thc hin bin dch u tin u phi
cthplitheomtcchcbittrckhincnpvchytrnmitrng
phn cng ch. Nh thy trn, bn thn cc tp i tng cng c th l cha
hon thin v vy b lin kt phi x l t hp cc tp i tng vi nhau v
honthinntphncnkhuytchoccbinhochmthamchiulinthnggiacc
tpmnguncbindchclp.

Ktquuracablinktlmttpitngmicchattcmvdliu
trongtpmngunvcngkiunhdngtp.Nthcthiciunybngccht
hpmtcchtngngccphntext,dliuvphnbsstcctpuvovto
ramttpitngtheonhdngmmythngnht.Trongqatrnhblinkt
thchinthpccphnnidungtngngncnthchinthmcvnhon

http://www.ebook.edu.vn

66

chnhccachthamchiucaccbinvhmchacytrongbcthc
hinbindch.

Ccblinktcthckchhotthchinclpvibbindchvcctpi
tng c to ra bi b bin dch c coi nh cc tham bin vo. i vi cc ng
dngnhngnthngchaphnmkhitocbindchcngphicgp
trongdanhschthambinvony.

Nucngmtbiutngckhaibohnmtlnnmtrongmttpitngth
b lin kt s khng th x l. N s kch hot c ch bo li ngi pht trin
chng trnh xem xt li. Hoc khi mt biu tng khng th tm c a ch tham
chiuthctrongtonbcctpitngthblinktscgngtgiiquyttheo
khnngchophpdavoccthngtinvdnhchatrongphnmtcathvin
chun. iu ny cng thng hoc c th gp vi trng hp cc hm tham chiu
trongchngtrnh.

Rtngticlcchmthvinchunthngyucumtvithayitrckhin
cthcsdngtrongchngtrnhngdngnhng.Vnylccthvin
chuncungcpchoccbcngcphttrinchdngnkhnngnhdngvto
ratpitng.Hnnachngtacngrttkhicthtruynhpcvomngun
cacc th vin chun c tht thay i.Hin naycngc mts nhcungcp
dch vphn mm h tr cng cchuyni haythayith vin C chunng
dng cho cc ng dng nhng, v d nh Cygnus. Gi phn mm ny c gi l
newlibvccungcpminph.ChngtacthtivtrangwebcaCygnus.Ns
htrchngtagiiquytvnmblinktcthgpphikhichngtrnhs
dngcchmthucthvinCchun.

Saukhihpnhtthnhcngttcccthnhphnmvphndliutngng
cng nh cc vn v tham chiu ti cc biu tng cha c thc thi trong qu
trnhbindchnl,blinktstoramtbnsaocbitcachngtrnhc
kh nng nh v li (relocatable). Hay ni cch khc, chng trnh c hon thin
ngoitrmtiu:Khngcachbnhnochacgnbntrongccphnm
v d liu. Nu chng ta khng phi l ang pht trin phn mm cho h nhng th
qutrnhbindchcthktthctiy.Tuynhin,vihnhngngaychthng
nhng bao gm c h iu hnh chng ta vn cn phi c mt m chng trnh
(image)nhphncnhvtuyti.Thctnucmthiuhnhthphnm
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
thchinnhmtmchngtrnhnhphnthngnht.

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

67

tchngtaphitlmhuhtcngviccabcnybngcchcungcpthngtinv
bnhccuhnhtrnnnphncngmchngtaangphttrinvchnh
lthamsuvochovicthcthicabnhv.Bnhvssdngthngtinny
gnccachvtlchomiphnmlnhvdliubntrongchngtrnhc
thcthimcthnhvli.Tiptheonstoramttpcchachngtrnhb
nhnhphncthnptrctipvobnhchngtrnhtrnnnphncngthc
thi.

Trongnhiutrnghpbnhvlmtchngtrnhkhclpviccphncng
ckhctronghthngphnmmphttrin.Tuynhintrongccbcngcphttrin
GNUchcnngnyctchhpluntrongblinkt.Tuynhinkhngnnnhm
lnvchcnngcachngtrongqutrnhthcthibindch.Thngthngchng
trnhchytrnccmytnhmcchchungthhiuhnhsthchinvicchuyn
ivgnchnhxcachthcchoccphnmvdliutrongchngtrnhng
dng,cnvichngtrnhphttrinchytrnhnhngthvicnyphicthc
hinbibnhv.ycngchnhlimkhcbitcbnkhithc hinbindch
mtchngtrnhngdngchohnhng.

Thngtinvbnhvtlcahthngphncngphttrinmcnphicungcpcho
bnhvGNUphicnhdngtheokiubiudincablinkt.Thngtinny
i khi c s dng iu khin mt cch chnh xc th t trong cc phn m
chngtrnhvdliubntrongchngtrnhcthnhvli.Nhngychng
ta cn phi thc hin nhiu hn th, tc l phi thit lp chnh xc khu vc ca mi
phntrongbnh.

Sauylmtvdminhhacamttpthngtinlinktccungcpchomt
nnphncngnhng,githitlc512KBRAMv512KBROM.

MEMORY
{
ram : ORIGIN = 0x00000, LENGTH = 512K

rom : ORIGIN = 0x80000, LENGTH = 512K

}
SECTIONS
{

data ram : /* Initialized data. */


{

_DataStart = . ;

*(.data)

_DataEnd = . ;

} >rom

http://www.ebook.edu.vn

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
thucphnmkhitochngtrnh)saochpccgitrkhitocaccbinc
khitotrongROMsangkhuvcdliutrongRAM.Ccachbtuvktthc
chohotngnycthcthitlpmtcchbiutngbithamchiuticcbin
snguyn_DataStartv_DataEnd.

Kt qu ca bc cui cng ny ca qu trnh bin dch l mt m chng trnh nh


phncthcnptrctipvchyctrnnnphncnghnhngch,tcl
c np vo b nh chng trnh ca h thng ch. Trong v d trn m chng
trnhnhphnctoracdunglngchnhxcl1MB.Tuynhinbivccgitr
cho phn d liu c khi to nm trong ROM nn na phn thp 512KB ca m
chngtrnhnhphnnychchagitrzerovchcnaphncaocsdngl
chyu.

69

Hnh39:VdvmtluphttrinphnmmchoDSPTMS320Cxx

3.4.3

Simulator

Simulatorlmtchngtrnhphnmmchophpngiphttrinmchngtrnh
chy m phng mt chng trnh vit cho mt nn VXL/VK (nn phn cng ch)
trnmtmitrngphncngkhc(haycngilmitrngphttrin).Thccht
lqutrnhmphnghotngcachngtrnhthcthitheongnhiukin
thchincamitrngchtrnmitrngphttrin.

S dng b m phng m chng trnh c th c chy th tng bc hoc tng


phnvcthcchnhsatrctipthnghimccgiiphpkhcnhauchocc
bitonthcthiphnmm.Tuynhinccbmphngkhnghtrccngtthcv
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

http://www.ebook.edu.vn

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
chngtrnhchoVKchkimtranidung,trngthiccthanhghivcckhuvc
bnhvthitlpccimdngkhithchinchychngtrnh.

3.4.5

Thit k h thng bng my tnh

HthngnymphngnnphncngthctrnPCchopnghnhvigingnhvi
vimchcngthcvmhnhitngcmhnhthcthitrnPC.Loihthng
ny cng tng t nh h thng m phng offline tuy nhin c u im hn v kh
nngmphng hnhvivpngcavimchnhngchnhxchnvtrungthc
hn.Vcngcmtnhcimlkhngthnghimcbitonthigianthc.

Mphngthigianthc(HardwareintheLoop)

Trong qu trnh pht trin phn mm cn phi c th nghim vi i tng iu


khin.Tuthucvotngmitrngphttrinchngtacthtinhnhtheomts
ccphngphpsau.

Mphngoffline

H thng ny s dng nn phn cng nhng ch thc nhng i tng th ch l m


hnhthigianthckhngphiitngthc.uimlkhmmdovthayi
cuhnhngintrongqutrnhphttrinthnghimvicchnhvikhcnhau
caitng.Rtngtvnginhacngvicxydngitng.

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
thi gian thc v thi gian ca m phng khc vi thi gian din bin thc ca h
thng.

Hthngphttrin(softwareintheloop)

71

Hthngnysdngnnphncngnhngchthcviitngthc.Tuynhinc
shtrcacngcphttrincthcitvthnghimtrctiptrnnnphn
cngthc.ylmtdngmhnhchoktqutrungthcvchnhxcnhttrongcc
dnghthngphttrinnutrn.Tuynhinccnnphncngnythngcpht
trinvhtrbiccnhcungcpcthtngthchvicngcphnmmkm
theo.

http://www.ebook.edu.vn

72

H IU HNH NHNG

4.1

H iu hnh

4.2

Ngun gc ra i ca h iu hnh l m nhim vai tr trung gian tng tc


trc tip vi phn cng ca my tnh, phc v cho nhiu ng dng a dng. Cc h
iu hnh cung cp mt tp cc chc nng cn thit cho php cc gi phn mm
iu khin phn cng my tnh m khng cn phi can thip trc tip su. H iu
hnhcamytnhcththynbaogmccdriverschoccngoivitchhpvimy
tnh nh card mn hnh, card m thanh... Cc cng c qun l ti nguyn nh b
nhvccthitbngoivinichung.iunytoramtgiaodinrtthunlicho
cc ng dng v ngi s dng pht trin phn mm trn cc nn phn cng c.
ngthi trnhc yucu vhiu bit su scv phncng vc thphttrin
datrnccngnngbccao.

Hthngiuhnhbnchtcnglmtloiphn mmnhngnkhcviccloi
phn mm thng thng. S khc bit in hnh l h thng iu hnh c np v
thcthiutinkhihthngbtukhingvcthchintrctipbibx
l ca h thng. H thng iu hnh c vit phc v iu khin b x l cng
nhcctinguynkhctronghthngbivnsmnhimchcnngqunlv
lplchccqutrnhsdngCPUvcngchiastinguyn.

B np khi to (Boot-loader)

Thutngbootstrapbtnguntcchdintcxacnghaltmnhvnln
bngchnhnlccabnthnpullingyourselfupbyyourownbootstraps.Nc
sdngnhmtthutngrtphbingitnmtphnmmthcthivickhi
tochngtrnhthcthitrnccnnviintkhtrnhnichung.Chngtrnhny
thngrtnhgnvmnhimchcnngtinhotngcahiuhnh.Cng
rtphbinhinnayngitacngthngdngthutngbootloader(bnpkhi
to) thay v bootstrap. B np khi to thc cht l mt chng trnh nh thc hin
tronghthngvmnhimchcnngcnthitahiuhnhvohotng.
Trongcchnhng,cclnhcthchinutinthngnmtrongccvngnh
ROMvthngthucloichm.D,mttrongnhngtcvphbincabnp
khi to l sao chp chng trnh ng dng chnh (main program) vo trong vng b
nhnhanhtrckhichngcthchin.Bnpkhitocngcnhimvkhito
vngnhdliuvccthanhghihthngtrckhinhytichngtrnhngdng
chnh.Cngcrtnhiudng khcnhaucabnpkhito, tdngnginn
phctp.Dngnginnhtcthchlmtlnhnhytichngtrnhngdng
chnhngaysaukhiresetmkhngthchinbtkmttcvkhitohaynpchng
trnhg.Chngtrnhngdngchnhsphitthitlpthcthitcvcamnh.
Cc b np khi to phc tp hn c th thc hin nhim v chun on b nh v
khitohthng,kimtrachngtrnhvnpchngtrckhichobxlnhyti
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)
Qunltinguyn,(3)Bovtinguynkhisxmphmcaccqutrnhthcthi
sai.

73

Hnh42:NguynlthchincabnpkhitoBootloader

Trong mi trng pht trin h nhng in hnh, nn phn cng ch cn pht trin
cktnivitrmch(host)thngquamtgiaodintruynthng.Mtmitrng
phttrinbaogmmtchngtrnhgri(debugger)vdnhCodeComposerStudio

http://www.ebook.edu.vn

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
mtcmgicvmitrngphttrinthnthinchongiphttrinchngtrnhv
chcntptrungphnthchinchcnngchnhcahthng.Tuynhintrongmi
trngphttrinhthngnhngvicthcthichngtrnhthngbtutiach
chngtrnhnibtutcvkhitohthngtrckhinhytithchinchng
trnh chnh main(). Qu trnh ny c bt u thc cht l thc thi mt tc v ngt
kchhotbiskinreset.

Bootloadercngcnhiudngkhcnhau.Hnh42mtmtbnpkhitochomt
ngdngCnhng.TrongvdnyvectorRESETtrtithtcc_int00thchintc
vkhito.Ngoivickhitoccthanhghi,ngnxpccbinCcngcnc
khitotrckhicthcthi.Qutrnhnyssaochptphn.cinitvvitvocc
achdliutngngcachngtrongphn.bss.Saukhihonthnhchngtrnh
chnhmain()micgivbtuthcthi.Trongvdnginnybnpkhi
to t hp vector RESET cng vi hm khi to c_int00 v gi thit rng c chng
trnhbnpkhitovchngtrnhngdngchnhunmcngtrongvngnh
vtlnonvolatile.Trongcctrnghphthngphctphn,bnpkhitocth
baohm ctcvsao chpchngtrnhchnhvo trong vng nh fast volatiletrc
khi n c gi v thc thi. B np khi to cng c th m nhim c chc nng
chunon,grivnngcphthngnuc.Chcnngchunoncthchl
kimtrabnh,ngoivivtngthchtchhptronghthng.Chcnnggri
cngcthlmtgiaodingimstcungcpthngtinvtrngthithigianthcv
hthngmngitavnthngbittivitngilchngtrnhmonitoring.Vic
nngcphocthayichngtrnhbnpkhitocngcthcthcthinhkh
nnglptrnhFLASHincircuitvnptbnhngoithngquagiaodinvitrm
chhocchcnngtngt.

75

Hnh43:CutrccabnpkhitoBootloader

4.3

Cc yu cu chung

Nhchngtacbitivicchthngthigianthc,yucuthitkmth
iu hnh kh c bit. H nhng thi gian thc li yu cu h iu hnh phi thc
hinvimtnguntinguynthngrthnhp.Mcdkchthcbnhtchhp
onchipscthtnglntrongtnglainhngvisphttrinhinnayhiuhnh
chocchnhngchnnckhongnhhn32Kbytes.

Hthngiuhnhmnhimviciukhinccchcnngcbncahthngbao
gmchyulqunlbnh,ngoivivvoragiaotipvihthngphncng.
Mt im khc bit c bn nh chng ta bit v h iu hnh vi cc phn mm
khclnthchinchcnngiukhinskinthcthitronghthng.Cnghal
nthchincctcvtheomnhlnhyucutccchngtrnhngdng,thitb
voravccskinngt.

Bnnhntchnhtcngtrctiptiqutrnhthitkhiuhnhl(1)khnng
thchin,(2)nnglngtiuth,(3)githnh,v(4)khnngtngthch.Hinnay
chng ta cng c th bt gp rt nhiu h iu hnh khc nhau c bit cho cc h
nhngcngvstcngca4nhntnutrn.Huhtchnguckiudngv
giao din kh ging nhau nhng c ch qun l v thc thi cc tc v bn trong rt
khc nhau. Mi h iu hnh c thit k phc v trc tip cc chc nng c th
phncngcahnhngvkhngddngsosnhcgiachngvinhau.

Hai thnh phn chnh trong thit k h iu hnh l: phn ht nhn (kernel) v cc
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

http://www.ebook.edu.vn

76

b nh thi gian. N np cc phn mm iu khin thit b cung cp cc tin ch


chungvphihpvicchotngvoravihthng.Phnhtnhncvaitriu
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
nguyn ca h thng v c th c gim st. Kin trc vi ht nhn c th c xy
dngmtcchmmdophhpvicuhnhphncngkhcnhaumtcchllinh
hothnsovikiukintrchtnhnmonilithic.Tuynhindotnhclptngi
giaccmodultrongvihtnhnnncnthitphicmtcchtraoithngtinhay
truynthnggiaccmodulvvycthlldolmchmtcvgimtnhhiu
qu hot ng ca h thng. c im ni bt v ct li ca kin trc vi ht nhn l
kchthcnhvddngsaicngnhxydnglinhhothn.Ccdchvthc
thitngtrncahtnhnvvytcantoncao.Kintrcvihtnhnc
pht trin mnh m trong cc h thng a x l v d nh Windows 2000, Mach v
QNX.

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 thng iu hnh thi gian thc l h iu hnh h tr kh nng xy dng cc h


thngthigianthc.

Hnh44:SosnhkintrcRTOSvOSchun

Hthngiuhnhviphnlilhtnhnphimnhimcctcvchnhnhsau:
Xlngt
Lutrngcnhchngtrnhtithiimxuthinngt
Nhndngvlachnngbxlvphcvdchvngt
iukhinqutrnh
Tovktthcqutrnh/tcv
Lplchviuphihotnghthng
nhthi
iukhinngoivi
Xlngt
Khitogiaotipvora

H iu hnh thi gian thc

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

77

Hnh45:Cutrchiuhnhthigianthc

Tytheocchthchinvxydnghotngcahtnhnngitaphnloimt
sloihnh:

http://www.ebook.edu.vn

78

(1)Hthngthigianthcnh:Viloinyccphnmmcphttrinmkhng
cnchiuhnh,ngilptrnhphitqunlvxlccvnviukhin
hthngbaogm:

Xlngt

iukhinqutrnh/tcv

Qunlbnh
(2)Cngnghanhim

Miqutrnhcmtkhnggianbnhring

CcqutrnhphicchianhthnhccThreadcngchiaskhnggianb
nh.
(3)Ccdchvcungcpbihtnhn

Tovktthcqutrnh/tcv

Truynthnggiaccqutrnh

Ccdchvvnhthigian

Mt s cc dchv cungcph tr victhcthilin quanniu khin h


thng

cimcbncahtnhnthigianthcinhnh:

Kchthcnh(lutrtonbtrongROM)

Hthngngt

Khngnhtthitphiccccchbov
9 Chhtrphnkimtrachngtrnhngdng
9 Tngtcchuynngcnhvtruynthnggiaccqutrnh
9 Khiccqutrnhngdngangthchinthccyucuhthngiu
hnhcthcthchinthngquaccligihmthayvsdngc
chngtmm

Vihtnhn(Microkernel):Baogmmttpnhccdchvhtr
9 Qunlqutrnh
9 Ccdchvtruynthnggiaccqutrnhnucn
9 Ccphnmmiukhinthitblccqutrnhngdng

Htnhninhnhcbn

Loihtnhnnginnhtlmtvnglpvhnthmdccskinxut
hintronghthngvphnnglitheosthayinuc.

Vimtbxlcuhnhnhnht,khngphilcnoncngcthluct
ngcnhvkhngththayicontrngnxphocvngngnxprthn
ch.

Thay v s dng cc thanh ghi thit b, vng lp thm d c th gim st cc


binmchusthayicpnhtbiccbxlngt.

Htnhncthcxydngsaochottccctnhiulogicciukhin
bivnglpvnhpciukhinbiccngt.

Cctcvlncnnhiuthigianthchincthcchianhthnhcctc
vnhvcthchinticcthiimkhcnhaunhvocchchuynv
sdngbm.

79

Cc ht nhn thc thi theo c ch ngt rt ging vi loi ht nhn thc hin
theocchvnglpthmd.Nxlttccctcvthngquaccdchv
ngt.
Cchtnhnlnvphctphnsbaogmmtsccdchvphphcv
chovictruynthnggiaccqutrnh.Vnucbsungynstr
thnhmthiuhnhy.

Cckiuloihtnhncbn

Htnhnthchinvnglpthmd

Htnhnthchintheocchngt

Htnhnqutrnhvnhnhqutrnh

Vic la chn loi ht nhn no hon ton ty thuc vo cc b x l v kch thc


phnmm,tuynhinringloihtnhnvnhnhtheoqutrnhkhngphhpvi
ccbxlnh.

Htnhnqutrnh
Cchtnhnqutrnhrrnglphctphncchtnhnthchintheocchthm
dviukhinngt.Ccngtruyntnhiulogicbntrongccqutrnhvcc
dchvngtctchhpvthchinthngquavictruyndliu.

Hnh46:Mhnhtrngthicaqutrnh

Htnhnsphimnhimchcnnglplchchoccqutrnhtheongmhnh
trngthi.
RUN:qutrnhcthchin
WAIT:ccqutrnhchmtskinhoctnhiuvorakchhotqutrnh
READY:ccqutrnhsnsngcthchin

Cc phn t thuc tnh ca mt qutrnh: Ccphnt ny cn thit phcv cho


viclplch.Vdivicchlplchtheomcutinsyucuthngtinsau
vimiqutrnh:
9
Tn(achbnhcaphntqutrnh)
9
Trngthi:RUN,WAIT,READY
9
Mcutin
9
Ngcnh(dngcontrqunlluctthngtintrongngnxp)

http://www.ebook.edu.vn

80

K THT LP TRNH NHNG

5.1

Tc v v qu trnh (process)

Thiimktthc di (duetime):Thiimmtcvphihonthnh.

Tcv(task)?Lmtcngviccnthcthithamgiatronghthng
Qutrnh(process)lmtdinbinthcthimttcvcahthng.

ikhingitavndnglnhaikhinimnyvkhngphnbit.
Tcvchuk(period)vkhngchuk(aperiod)

Cctcvphithchinlplimtcchuntheonhngkhongthigianpc
gilcctcvcchukvpcgilchukcatcv.Ccloitcvkhcth
cgiltcvkhngchuk.

5.2

Lp lch (Scheduling)

Hnh51:GinthchincamttcvTi

Trncsblplchsphithchinbitontiuv:
Thigianpng(responsetime)
Hiu sut thc hin (s lng cng vic thc hin xong trong mt n v thi
gian)
Scngbngvthigianchi(cctcvkhngphichiqulu)

Vdvmtlchthchin2tcvcmtnhtrongHnh52.

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
saochomitcvcthchinhonton.

Lplch=tmkimmtginphnbthigianthchinanhimhplvicc
iukinrngbucchotrc.Haynicchkhclblplchphixlquytnh
viuphiqutrnh/tcvthchin.

Cmtsthngtinvtcvlunphiquantmivibtkblplchthigian
thcno,baogm:
Thigianxuthin ai (arrivaltime):Khiskinxyravtcvtngngc

kchhot.
Thiimbtuthcthi ri (releasetime):Thiimsmnhtkhivicxl

snsngvcthbtu.
Thiimbtuthchin si (startingtime):Lthiimmtitcvbt

uvicthchincamnh.
Thigiantnhton/thcthi ci (Computationtime):Lkhongthigiancnthit

bxlthchinxongnhimvcamnhmkhngbngt.
Thiimhonthnh fi (finishingtime):Lthiimmtitcvhonthnh

victhchincamnh.
Thigianriro/xunht wi (worstcasetime):khongthigianthchinlunht

Hnh52:Ginlplchthchin2tcv

Trongtrnghpcavdnyccthngsvthigianthchincacctcvtnh
cnhsau:
Thigiantnhton C1 = 9 v C2 = 12 .
Thigianbtuthchin: s1 = 0 , s2 = 6 .
Thiimhonthnh: f1 = 18 , f 2 = 28 .
Khongthigianchnhlchthiimktthcvdeadline(Lateness) Li = fi di :

L1 = 4 , L2 = 1 .
Khongthigianri/dthagiathigianchophpthchinvthigiancn
thchintcv(Laxity) X i = di ai Ci : X 1 = 13 , X 2 = 11 .

5.2.2

Cc phng php lp lch ph bin

cthxyra.

81

http://www.ebook.edu.vn

82


Hnh53:Phnloiccphngphplplch

Tuthucvoloihnhtcv,ngitarahaiphngphplplchlcchukv
khngcchuk.

Lp lch nonpreemptive: Phng php ny m bo cc tc v c thc hin hon


thnhmikhithcthi,vvythigianpngchoccskinkhccthlu.

Lp lch preemptive: Phng php ny khc phc nhc im ca lp lch non


preemptivekhithigianthcthicctcvlu.Cctcvscthchinvcthb
ngtgiachngphcvthcthicctcvkhc.Cchlplchnychophpm
bothigianpngchoccskinvtcvngnvnhanhhn.

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 th c bittrc vcm
bo
Nhcim:
o Khngththayilchtrnhthchincahthngtrongqutrnhthchin
o ihiphicthngtinthigianchnhxcvcctcvtnhtonlplch
Mtthuttonlplchtnhcgiltiununlunluncthtmcmt
lchiuphithomnccrngbucchotrongkhimtthuttontnhkhccng
tmcmtligii.

Lplchonline/ng:Bxlthchinviclplchtrongqutrnhthcthidatrn
csccthngtinhotnghinhnhcahthng.Slplchlkhngxcnh
trcvthayingtheoqutrnhthchin.
Ccthuttonlplchtnhtiukhngphiltiutronghthngng.

83

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
mt(mono)hocnhiubvixl(multi).Tuthucvophctpvthuttoncn
xlkhilplchmngitaquytnhphisdngphngphplplchmonohay
multiprocessor.

Tnhkhlplch:Mththngvimttpcctcvvcciukinrngbucc
gilkhlplchnutntitnhtmtcchlchtrnhthchinthomncctcv
viukinrngbuc.

Vdvlplchchohthnganhimvi2tcv.Tcv1thchintheochukv
tcv2thchinkhngtheochukvithigianthcthilnhnthigianchuklp
licatcv1.

Hnh54:Ginthigianthchinlchcatcv

http://www.ebook.edu.vn

84

5.2.3

K thut lp lch

FCFS
Trongcchlplchntrccphvtrcthccqutnhcxltheoth
tmnxuthinyucuvchonkhihonthnh.Cchlplchnythucloi
khngngtcvcuimlddngthcthi.Tuynhin,nkhngphhpcho
cc h thng m h tr nhiu ngi s dng v c mt s bin i ln v thi gian
trungbnhmmtqutrnhhaytcvphichicxl.Hnnadovic
xlkhngngtcnnchintngchimhucquynbxltrongthigian
divcthgyrastrbtthngtrongqutrnhthchincacctcvphich
ikhc.

ShortestJobFirstSJF
Trongcchlplchnytcvcthigianthcthingnnhtscquynutincao
nht v s c phc v trc. Vn chnh gp phi trong c ch lp lch ny l
khngbittrccthigianthcthicacctcvthamgiatrongchngtrnhv
thngthngphipdngcchtinonvnhgidavokinhnghimvcc
tcvthcthitronghthng.iunychcchnrtkhlunmboc
chnhxc.Cchlplchnycthpdngchocloingtcvkhngngtc.

Ratemonotonic(RM):
PhngphplplichRMclhinnylthuttoncbittinhiunhtpdng
chocctcvhayqutrnhclp.Phngphpnydatrnmtsgithitsau:
(1) Ttccctcvthamgiahthngphicdeadlinekiuchuk
(2) Ttccctcvclpvinhau
(3) Thigianthchincacctcvbittrcvkhngi
(4) Thigianchuyningcnhthchinlrtnhvcthbqua

ThuttonRMcthcthitheonguynlgnmcutinchocctcvdatrn
chukcachng.Tcvnocchuknhthsccgnmcutincao.Theo
nguynlnyvicctcvchukkhngthayithRMslphngphplplch
chophpngtvmcutincnh.TuynhinRMhtryucuhthngkhng
tt.

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

85

EDFcthcpdngchocctptcvchukvcngcthmrngpng
chocctrnghpccdeadlinethayikhcnhautheochuk.

VnchnhcathuttonlplichEDFlkhngthmboctcvnotrong
hthngcthkhngcthcthitrongtnhhungquhthngbquti.Trong
nhiutrnghpmcdmcsdngtrungbnhnhhn100%nhngvncth
trongmttnhhungnovnvtquakhnngpngcahthngtclsc
tcvkhngcmbothcthing.Trongnhngtrnghpnhvycnphi
iukhinbittcvnoblikhngthchinthnhcnghoctcvnoc
thchinthnhcngtrongqutrnhqu.

MinimumLaxityfirst(MLF)
Cchlplchnysutintcvnocntthigiancnlithchinnhttrc
khinphiktthcmboyucuthcthing.ycxemlcchlplch
gn quyn u tin ng v d t c s ti u v hiu sut thc hin v s cng
bngtronghthng.

RoundRobin
y l mt c ch lp lch phn b u n, ngt c v n gin. Mi mt tc v
cxl/phcvtrongmtkhongthigiannhtnhvlplitheomtchutrnh
xuynsuttonbcctcvthamgiatronghthng.Khongthigianphcvcho
mitcvtrongqutrnhlmtsthohipgiathigianthchincacctcv
vthigianthchinmtchutrnh.Cthchnkhongthigianrtnhvi
lcchngtakhngnhncrarngangcsphnbthchintronghthng.
Tuy nhin nu thi gian qu nh c th lm mt tnh hiu qu thc hin ton h
thng v cn nhiu thi gian trong vic chuyn i ng cnh cho mi tc v sau mi
chutrnhthchin.

http://www.ebook.edu.vn

86

5.3

Truyn thng v ng b

5.3.1

Semaphore

9 mboloitrxungttronghotngtruynhpngthicanhiutc
v,vchcmttcvcthcthitimithiim.

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
Tronghotngphihpcngvisemaphorecmthngigmcctcvcnc
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

S dng Semaphore trong vic ng b hai qu trnh to v s dng hng mc thng


quabmtrunggian.

http://www.ebook.edu.vn

88

Nhnxt:
9 Semaphores c th c s dng gii quyt bt k mt bi ton hay vn
ngbtruynthngno
9 Tuynhinchngcmtsnhcim
o Chngchyusdngccbintoncctrongviciukhinhotng
ngbnncthtruynhpbtkutronghthngkhkimsot
o Khngcslinktchtchgiasemaphorevdliumcniu
khin.
o csdngngthichocvicloitrxungt(mutualexclusion)v
hotngngbchocctcv(scheduling)

5.3.2

Monitor

Monitor l mt ngn ng lp trnh c xy dng iu khin vic truy nhp vo


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
khcmunvo,domonitorcngphicmthngi.

5.4

X l ngt

Tn hiu iu khin b VXL kch hot bi mt s kin tham gia trong qu trnh hot
ngcahthnglmhthngngngvchuynhngthcthicgiltnhiu
ngt.NsngtbVXLkhihotngmnangthcthivchuynsangthchin
mtcngvickhcphcvchoskinkchhotngttngng.Vdnhtrongqu
trnhthu thpd liu,VXL lun phichithi imn nhn d liu vskch
hotskinngtCPUmikhicdliuxuthinkpthighidliuvobnh.
Saukhihon thnh, CPU phchilitrngthicahthngvtr litiptc thc
hinchngtrnh tthiimmnbngt.ivibxlngt,nsphithc
hinhainhimvchnhl:(1)Xcnhcskinngtv(2)nhndngskin
ngttrckhitcvphcvngttngngckchhot.Hnh56mtmtchu
trnhcbnthchinngttrongcchVXL/VK.

Hnh56:Chutrnhthchinngt

Hnh57:Vdvcutrcphncngxlngt

89

http://www.ebook.edu.vn

90

Ccngunngtngoi/cngcthcnhndngtheokiutnhiungt
Theosnxung(ngtckchhotkhi xuthinsnxung dngtichn
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

http://www.ebook.edu.vn

92

THIT K H NHNG: T HP PHN CNG V MM

6.1

Qui trnh pht trin

nhiuthnhphnvmithnhphnthucccthuctnh.Ccthuctnhcth
thayi vcctrng bi cc bin trngthi. Mtchui cc trng thi sm t
qutrnhngcamththng.

Mng Petri thc s l mt gii php m t h thng ng vi cc s kin ri rc tc


nglmthayitrngthicaccitngtronghthngtheotngiukinc
thtrngthicahthng.

Mng Petri c thit lp da trn 3 thnh phn chnh: (1) Cc iu kin, (2) cc s
kin,v(3)quanhlung.Cciukincthlthomnhockhngthomn.Cc
skinlcthxyrahockhng.Vquanhlungmtiukincahtrckhi
skinxyra.

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

Qutrnhphttrinphnmmnhngthchintheochutrnhsau:
(1) Problemspecification
(2) Tool/chipselection
(3) Softwareplan
(4) Deviceplan
(5) Code/debug
(6) Test
(7) Integrate

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

Phn tch yu cu

6.3

M hnh ho s kin v tc v

6.3.1

Phng php m hnh Petrinet

hnh(cmtbicchnhchnht);
Ibiudinquanhivochuynivckhiubingmitntheo
hngtccvtrticcchuyni;
Obiudinquanhirakhichuynivckhiubiccngmi
tntheohngtccchuyniticcvtr;
M = {m1 , m2 ,...mnp } ldutrngthicaccchuynitronghthng.Ccgitr

mi lsccthbi(ckhiunhccchmtrnen)chabntrongccv

6.2

biccvngtrn);
T = {t1 , t2 ,..., tnt } ltpgm nt chuynitrongtpchuynibiudintrongm

tr pi trongtpdu M .

Nm1962CarlAdamPetricngbphngphpmhnhhnhhotcvhayqu
trnhtheosphthucnhnqucphcprngrivcbittinhngy
nyvitngilmngPetri.

MngPetricsdngphbinbiudinmhnhvphntchcchthngc
scnhtranhtrongqutrnhhotng.Mththngcthhiulmtthpca

93

http://www.ebook.edu.vn

94

kinlmvic,ccvtrp2vp4biudiniukinli,t1vt2lccskinlitrong
cctcvC1vC2mtcchtngng.

(a)

(b)

Hnh62:MhnhPetrinet2hotngsongsonga)clpvb)ngb

Hnh61:VdvmtmhnhmngPetri

HthngngcthcmtbimngPetrinhschuyndchccthbitrong
ccvtrcahthngmhnhvtunththeolutsau:
Mt chuyn i c php thc thi nu tt c cc v tr i vo chuyn i
chatnhtmtthbi.
Khimtchuynicthcthixong(honthnh)thmtthbisbloi
rakhivtrivochuyningthibsungthmmtthbivoccv
truratngngcachuyni.

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 .

Tronghotngsongsong,cctcvhontonclp,tuynhinnuccskin
cnphiktthcvliukinchomtchuynikhcthhotngngbc
thcthchinnhbsungmtchuynit3nhmttrongHnh62(b).Khi
chuynit3cnthbingthicacp2vp4.

Chiasngb
Mtyutctrngtronghotngcahthngphntnlthngphichiasmt
s ti nguyn hu hn. S thiu thn v ti nguyn lm hn ch hot ng ca h
thngtrongqutrnhxlthmchlmtcnghnhthng.Vicmhnhvphntch
cc h thng c hin tng tc nghn l mt tc v kh khn trong hu ht cc qu
trnhmhnhcthgpphi.

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
mhnhbihaichuynithchinsongsong.Tronghthngdphngvitin
cycao,mhnhnycsdngbiudinhaithnhphnC1vC2songsong
mbohotngdphng;trongtrnghpnyccvtrp1vp3biudiniu

95

Hnh63:Hotngcabmvidunglnghuhn

minhhotnhhungny,biudinhotngcabmvidunglnghuhn
cmtbiPNtrongHnh63.Vtrp3mhnhsccvtrbmcntrngvv
trp2mhnhsvtrciny;chrngtngccthbichatrongccv

http://www.ebook.edu.vn

96

trp2vp3lunlhngs(trongvdnyl3).Chuynit2mhnhqutrnhin
ymtvtrbmvhonthnhnuctnhtmtvtrbmcntrngcng
vithbichatrongvtrp1 vp3.Chuynit3cphpthchinnuctnht
mtvtrbmciny.Khihonthnhchuynit3,mtthbisc
chuyntvtrp2sangvtrp3.

Tunt
Hotngtuntscmtvminhhobihotngcabtovbsdng
thngquamtbm.Btossinhraccitngavotrongmtbmv
sclyrabibsdng.Qutrnhsdngsphicthchinmtcchtun
ttheoqutrnhtoraitng.MhnhchohotngnycdintbiPNnh
trongHnh64(a).Thbichatrongvtrp1cnghalbtosnsngthchin.
Khiccchuynit1vt2honthnhthmtitngctora(mtthbitng
ngcngscchuynvotrongbmmhnhbivtrp5)vbtolisnsng
trli.Nubsdngcnhucutiuth(cmhnhbithbichatrongvtr
p3)vangctnhtmtitngtrongbmthmtthbichatrongvtrp5s
clyivchuynit3shonthnh.

muntruynhpvotinguynchiasCS;p3vp7biudinCSangbchimdngbi
cctcvC1vC2mtcchtngng.Vtrp4mtquytnhxemtcvnocth
truynhptinguynCsvtrnhccvtrp3vp7bnhdungthi.Thctkhi
p2vp6cnhduthccchuynit2vt5xungt.Vichonthnhmttrong
haitcvskho/cmlnnhau.Vichonthnhchuynit3hoct6smhnhvic
giiphngnguntinguynchung(chuynthbitrlivtrp4)vtrviukin
lmvicbnhthng.

Hnh65:Hotngloitrcahaitcvsongsongchiaschungtinguyn

(a)

(b)

Hnh64:Hotngtovsdngvibma)vhnvb)huhn

TrongcchmttrongHnh64(a)thvictovsdngcthchinthngqua
mtbmvigithitlcdunglngvhn.Trongthctthccbmlhu
hn,mthotngvibmloinyHnh64(b)csdng.Vtrp6m
hnhccvtrbmcntrngvvtrp5mhnhccvtrbmciny.
Tngslngccthbichatrongccvtrp5vp6philunlhngs.Numt
thbicgnchovtrp5trongdukhitothbtoskhngthtothmi
tngchngnobsdngvnchatiuthitngtrongbm.

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

97

btulmquenvinguynlbiudinmhnhhabngmngPetrichngta
xthotngcamththngngbgiahotngtovsdngmthngmc
(item)thngquabmnhcmtttronghnhdi.
BtoProducer:
9
Torahngmcv
9
bsungvobm
Bsdng(tiuth)Consumer:
9
Lyhngmcrakhibmv
9
Sdnghngmc

Hnh66:Hotngcahthnggm1btov1bsdng

http://www.ebook.edu.vn

98

Trongtrnghpcnhiuhnmtbsdngthhthngcbiudinnhsau:

Hnh67:Hotngcahthnggm1btov2bsdng

Hthngc2bm

Hthngvaxtcmhnhhabiiukinvskin.Cciukincmt
biccvngtrnvnuiukinthamnthkhivngtrnscbiudinvi
mtchmtrnnmtrongtngngvimtthbi(token).

Skinckhiubicchphnhchnht.Vimimtskinthstnti
mttpcciukintrcvcnhnbitbiccmitnivoccskin
tcciukinv
mttpcciukinsaucnhnbitbiccmitnirakhiccskin
vivocciukin.

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

99

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.
Ccmitnktnitrctipgiaccvtrvchuyni:Ccmitnckm
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.

Khimtchuynicthcthins
9 loibbtsthbittptinvtrbngngslngcnhngha
chocctrngscaccmitntngngv
9 cngthmvoslngccthbivotphuvtrngbngvitrngsca
ccmitntngng.
Vdbiudinmtmthotnghthngvi2hngmccnngbgiabto
vbsdng.

http://www.ebook.edu.vn

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 .
5
F ( E x C ) (C x E ) lquanhnhphnvcgilquanhlung.
CcgilcciukinvEcgilccskin.

nhngha:ChomtmngNv x (C E ) . x := { y | yFx} cgiltpcciukin


trccaxv x := { y | xFy} cgiliukinsaucax.
Haynicchkhclmtiukincnphicthomnmtskinnoxy
rathcgiliukintrcvmtiukincthomnsaukhimtskin
noxyrathcgiliukinsaucaskin.

nhngha:Chomttp (c, e) C x E
(c, e) cgilmtvnglpnu cFe eFc
MngNcgilthunnhtnuFkhngchabtkmtvnglpno.

nhngha:Mtmngcgilnginnukhngcbtkhaichuynit1,t2
noccngtpcciukintrcvcciukinsau.

Ccmngmkhngchabtkphnttchbitnocngnhkhngcthmbtk
mthnchnothcgilmngiukin/skin.

Mngchuyni/vtr
Trongccmngiukin/skinchchanhiunhtlmttokenchomimtiu
kin.hnchiunytclmtiukincthchanhiutokenvngitagi

101

Cciukin:
Tumunvongraytheochiusangphi.
Tuangchuynngtrnngraytheochiuphi.
Tuthotrakhingraytheochiuphi.
Tumunvongraytheochiusangtri.
Tuangchuynngtrnngraytheochiutri.
Tuthotrakhingraytheochiutri.

Ccskin:
Tuvongraytchiubntri
Turikhingraytheochiuphi
Turingray
Tuvongraytchiubnphi
Turikhingraytheochiutri

Token:ngraysnsngchotuvotheomttronghaichiu

http://www.ebook.edu.vn

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
trongccdnthitk.cbitnrtthuntintrongvicchuynihaytnghp
bin dch thnh mt dng ngn ng thc thi phn cng thc. iu ny rt kh thc
hinbngccngnngbccaonhCnhngviVHDLiunychnhluimni
btvlthmnhtrongvicmhnhhohthng,mtmtcchchititccphnt
cngcuthnhthamgiatronghthng.

VHDLlmtchunIEEE(Std1076)cshtrbirtnhiunhcungcppht
trinphncng.ngdngmtcchchuynnghipngnngnylphcvchovic
mtccmchASICsphchp,chtothcthiccmchFPGA...

NgnngVHDLcthchiukhddngvicutrccphprrnggnging
nhngnngVisualBasicvPascal.Ncthphthuycthmnhvcphp
nhnghaxydngkiudliumivhtrchoviclptrnhtheonhm.Vixu
thhinnayccnhmphttrincththcthiviiukincchxanhauvkhong
cchal,vvyvicphihpvthitktheonhmlrtcnthit.

TomCantrellrecentlywrotethatthefutureisbrightforFPGAs,whichwillplayalargerolein
mainstreamapplications(MoreFlash,LessCash,CircuitCellar,178,May2005).Iagreewith
Tom, but Ill go further and predict that VHDL will become the premier technology used to
define FPGA content either as output from design tools or with direct programming. In
combination with VHDL, FPGAs provide a lowcost approach to defining complex hardware
designsthatwereinconceivableonlyafewdecadesago.Perhapsmostimportantly,usingVHDL
todefinehardwareisfun

Hnh69:Hthngiukhins

thcthimtbiukhinstrnthitbvtlthcphiihixtxembiu
khinvimhnhhmtruynchocthhinthchackhng.iukinphi
xtthcralmborngkhngcuranocahthnglixuthintrckhi
ctnhiuvo.Haynicchkhchthngxydngphitunthtnhnhnqu.
Nukhaitrinhmtruyncabiukhinscmtdngtngqut
b + b z 1 + + bm z m
GR ( z ) = 0 1 1

a0 + a1 z + + an z n

thnhchuilythatheozthnphikhngcphpchabtkphntnocha
lythadngcaz.Haynicchkhclbiukhincmtnh(1.5)phic
bc 0 tclbccatsphinhhnhocbngbccamus( n m ).
Saukhithitkcbiukhinsthviccnlillptrnhvnpvoccb
iukhinvtlkhtrnh.Thcchtqutrnhnylthcthihmtruyncabiu
khinsbnglptrnhstrnccbiukhinvtlc.ychngtasch
yuquantmnvictrinkhaichunbchobclptrnhcchmtruyncab
iukhins.Xutphttmthmtruyndngtngqutcabiukhins
U ( z ) b0 + b1 z 1 + + bm z m
GR ( z ) =
=

(1.6)

E ( z ) a0 + a1 z 1 + + an z n
trong, a0 0 nu b0 0 ; m v n lccsnguyndng.
Cthtrinkhaithcthimthmtruyncabiukhinstheo3cchnhsau:

Trinkhailptrnhstrctip
trinkhailptheophngphplptrnhtrctipthhmtruynbiukhin
chobiudintrongminzphicchuynivdnghmtruynrirc

103

(1.5)

k =1

k =0

a0u* (t ) + ak u * (t kT ) = bk e* (t kT )

http://www.ebook.edu.vn

(1.7)

104

Tngthc(1.7)ddngtnhracgitrcaura u * (t ) cabiukhins

6.4.2

chotheoccgitrhintivqukhcauvo e* (t ) cngnhccgitrqukh
cachnhn
1 m
1 n
u * (t ) = bk e* (t kT ) ak u * (t kT )
(1.8)

a0 k =0
a0 k =1

Xpxhothnhphnvitchphn
C3phngphpxpxginonphbinpdngchoccthnhphntchphn:
vttrc(forward),vtsau(backward),vtrapezoidal.

Xpxsaiphnvttrc
y f (kT + T ) y f (kT ) = Tx(kT )
(1.11)

thchinbiukhinnyyucuphilutrccgitrqukhcauvov
u ra ca b iu khin. Vi b iu khin cho yu cu phi c n + m gi tr cn
philutrhaynicchkhccnphic n + m phntlutr.

Mtphngphpkhctrinkhailptrnhtrctiplsdngcchtchtrctip
u vo v u ra ca b iu khin theo mt bin trung gian X(z). Khng mt tnh
tngqutnuchngtanhnctvmucahmtruynbiukhinschovi
mtbinX(z).TrtrachmtruyncauvoE(z)theoX(z)vhmtruyn
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 ).

b3

b2
b1

1
U ( z ) a3
1
z
b0
z
z 1
Y ( z)

3
2
z X
X

z
X

z X
a2 / a3

a1 / a3
a0 / a3

V d trin khai b iu khin PID s

pdngchuynizcho(1.11)tathuc
y f ( z)
T

=
x( z ) z 1
Dxpxhotchphnsl:
1
T

s z 1

Hnh611:Xpxsaiphnvttrc

(1.12)

(1.13)

Xpxsaiphnvtsau
Tngtnhsaiphnvttrctacxpxtchphnnhsau:
1 Tz

s z 1

(1.14)

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
Biukhinchosctchrathnhtngcaccbiukhinnginvc
ththchinlptrnhsongsongchoccbiukhin.

XpxTrapezoidal
Phpxpxtchphnthucsl:

1 T z +1

s 2 z 1

(1.15)

105

http://www.ebook.edu.vn

106

t(1.21)cthxpxhmtruynthnhphnviphn
z 1

(1.22)
GD ( z ) = K D
Tz
Nh vy hm truyn ca b iu khin PID s c th c xp x theo mt trong 3
dngnhsau:

Hnh613:XpxTrapezoidal

ngthcltngmtbiukhinPID
u (t ) = uP (t ) + uI (t ) + uD (t )

1
de(t )
= K e(t ) + e( )d + TD

T
dt
I
0

(1.16)

trong,Klhskhuchi, TI lhngsthigiantchphn, TD lhngsthi


gianviphn.

Xpxvttrc:
( K T + K D ) z 2 + ( K I T 2 K PT 2 K D ) z + K D

GPID = P
Tz ( z 1)
Xpxvtsau:
( K T + K D + K I T 2 ) z 2 ( K PT + 2 K D ) z + K D
GPID = P

Tz ( z 1)
XpxTrapezoidal:
(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

GPID =
2Tz ( z 1)

(1.24)

(1.25)

TI LIU THAM KHO

Trong trng hp chu k trch mu nh, ng thc (1.16) c th c chuyn sang


dngngthcsaiphnbngphngphprircho.Trong,thnhphnviphn
cthcxpxnhphptnhsaiphnbcnhtvthnhphntchphncxp
xdngvttrc.Bngphprircnytathucngthcmtbiukhin
PIDsnhsau:

T k 1
T
(1.17)

u (k ) = K P e(k ) + s e(i ) + D ( e(k ) e(k 1) )


T
T
I i =0
s

Tngthc(1.17)taddngnhnthyrngthcthibiukhinPIDcnthng
tin ca tt ccc sai lchetrongqukh. thun tinchovicthchinlptrnh,
dngquisphhphnvcthrtrat(1.17)nhsau:

T k 2
T
(1.18)

u (k 1) = K e(k 1) + s e(i ) + D ( e(k 1) e(k 2) )


TI i =0
Ts

T(1.17)v(1.18)tartracalgorithmiukhincaPIDs:
u (k ) u (k 1) = a0 e(k ) + a1e(k 1) + a2 e(k 2)

trong,

(1.23)

T
a0 = K 1 + D
Ts

T T
a1 = K 1 + 2 D s
Ts TI

a2 = K

(1.19)

TD

Ts

[1]

PeterMarweden.EmbeddedSystemsDesign:Springer,2006.

[2]

MichaelBarr.ProgrammingEmbeddedSystemsinCandC++.OReilly,1999.

[3]

JackGanssle.TheArtofDesigningEmbeddedSystems.Newnes,1999.

[4]

StuartR.Ball.EmbeddedMicroprocessorSystems.Newnes,2002

[5]

Qing Li and Carolyn Yao. Realtime Concepts for Embedded Systems, CMP
Books,2003

[6]

Olli S., Jaakko A.. Embedded Systems, Lecture Notes, Helsinki University of
Tech.,2006.

[7]

Lothar Thiele. Embedded Systems, Lecture Notes, Swiss Federal Institute of


Tech.,2006.

[8]

Don Morgan. Numerical Methods: Realtime and Embedded Systems


Programming.M&T,1992.

[9]

Jerrry Lueke. Analog and Digital Circuits for Electronic Control System
Application.Newnes,2005.

[10] AdreaBobbio.SystemModellingwithPetriNets.A.G.Colombo,1990.

Mhnhbiukhindnghmtruyntac:
1

GPID = K P + K I + K D s
(1.20)
s
trong,thnhphntchphncthxpxtheomttrongbacchnhmttrong
phn6.1,thnhphnviphncthcxpxnhsau:
de(t )
e(kT ) e(kT T )

(1.21)

=
dt t =T
T

107

[11] Linda Null and Julia Lobur. The essentials of computer Organization and
Architecture:JonesandBartlettPublishers,2003.
[12] Hennessy, J. L., & Patterson, D. A. Computer Architecture: A Quantitative
Approach,SanFrancisco:MorganKaufmann,1990.
[13] Sen M. Kuo, Bob H. Lee, Wenshun Tian. Realtime Digital Signal Processing:
ImplementationsandApplications,JohnWiley&Son,2006.
[14] Kuo.DigitalControlSystems,Oxford,2005.

http://www.ebook.edu.vn

108

You might also like