Professional Documents
Culture Documents
+
a
0
=
=
n
o i
bi ai. (1.1)
V d nh c s binary( nh phn), c s decimal (thp phn), c s Hexaadecimal, c
s 8 Octal (bt phn)
V d v biu din cc gi tr trong cc h c s khc nhau:
243.51
10
= 210
2
+ 4 10
1
+ 310
0
+510
4
+110
-2
212
3
= 23
2
+ 13
1
+23
0
= 23
10
10110
2
= 12
4
+ 02
3
+ 12
2
+ 12
1
+ 02
0
= 22
10
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
Hai loi c s biu din thng dng nht hin nay cho cc h thng x l s l c s
thp phn v c s mi su.
3.2.2 S nguyn
Trong biu din s c du phn bit s dng v s m ngi ta s dng bit
trng s ln nht quy c lm bit du v cc bt cn li c s dng biu din gi
tr ln ca s. V d mt t 8 bt c biu din gi tr -1 s c dng nh phn l
10000001, v gi tr +1 s c dng 00000001. Nh vy vi mt t 8 bit c th biu
din c cc s trong phm vi t -127 n +127. Mt cch tng qut mt t N bit s
biu din c -2
(N-1)
-1 n +2
(N-1)
-1.
Ch khi thc hin cng hai s c du:
Nu hai s cng du th thc hin php cng phn biu din gi tr v s dng
bit cng du vi hai s .
Nu hai s khc du th kt qu s nhn du ca ton t ln hn, v thc hin
php tr gia tan t c gi tr ln hn vi ton t b hn.
V d 1: Cng hai s c du 01001111
2
v 00100011
2
.
1 1 1 1 1 carries
0 1 0 0 1 1 1 1 (79)
0+ 0 1 0 0 0 1 1 +(35)
0 1 1 1 0 0 1 0 (114)
V d 2: Cng hai s c du 01001111
2
v 01100011
2
Nh cui cng 1 1 1 1 1 carries
Trn 0 1 0 0 1 1 1 1 (79)
B nh 0 + 1 1 0 0 0 1 1 +(99)
0 0 1 1 0 0 1 0 (50)
V d 3 : tr hai s c du 01001111
2
v 01100011
2
0 1 1 2 borrows
0 1 1 0 0 0 1 1 (99)
0 - 1 0 0 1 1 1 1 -(79)
0 0 0 1 0 1 0 0 20
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
V d 4 : cng hai s khc du 10010011
2
v 00001101
2
(+13)
0 1 2 borrows
1 0 0 1 0 0 1 1 (-19 )
0 - 0 0 0 1 1 0 1 (+13)
1 0 0 0 0 1 1 0 (-6)
Thut ton thc hin php tnh c du:
(1) Khai bo v xa cc bin lu gi tr v du chun b thc hin php tnh.
(2) Kim tra du ca ton t th nht xem c phi s m khng . Nu l s m th
thc hin b du v b ton t. Nu khng th chuyn qua thc hin bc 3.
(3) Kim tra du ca ton t th 2 xem c phi s m khng. Nu l s m th
thc hin b du v b ton t. Nu khng th chuyn sang thc hin bc 4.
(4) Thc hin php nhn hoc chia vi cc ton t va x l.
(5) Kim tra du. Nu zero th coi nh kt thc. Nu bng -1(0ffh) th thc hin
php tnh b 2 vi kt qu thu c v kt thc.
Hin nay ngi ta s dng hai quy c biu din s nguyn phn bit theo th t
ca byte trng s trong mt t c biu din.
Litte edian: byte trng s nh nht ng trc thun li cho php cng hoc tr
v
Big endian: byte trng s ln nht ng trc thuwnj li cho php nhn hoc
chia.
V d xt mt s nhi phn 4- byte
Theo quy c biu din litte edian th th t a ch lu trong b nh s l:
a ch c s +0= Byte 0
a ch c s +1= Byte 1
a ch c s +2= Byte 2
a ch c s +3= Byte 3
V theo quy c biu din s big edian s l:
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
a ch c s +0= Byte 3
a ch c s +1= Byte 2
a ch c s +2= Byte 1
a ch c s +3= Byte 0
3.2.3 S du phy tnh
Chng ta c th s dng mt k hiu du chm o biu din mt s thc. Du chm
o c s dng trong t d liu dung phn bit v ngn cch gia phn biu din
gi tr nguyn ca d liu v mt phn l thp phn. V d v mt t 8 bit biu din s
du phy ng c ch ra nh trong hnh 3.1. Vi cch biu din ny, gi tr thc ca
s c tnh nh sau:
N = a
4
2
4
+ a
3
2
3
+ a
2
2
2
+a
1
2
1
+ a
0
2
0
+a
-1
2
-1
+a
-2
2
-2
+a
-3
2
-3
=0. 2
4
+ 1.2
3
+ 0.2
2
+ 1.2
1
+1.2
0
+1.2
-1
+0.2
-2
+ 1.2
-3
= 8+2+1+1/2+1/8
=11.625
Hnh 3.1 : nh dng biu din s du phy tnh 8 bit
Nhc im ca phng php biu din s du phy tnh l vng biu din s
nguyn b hn ch bi du phy tnh c gn c nh. iu ny d xy ra hin tng
trn s khi thc hin cc php nhn hai s ln.
3.2.4 S du phy ng
Phng php biu din s chnh xc v linh hot c s dng rng ri hin
nay l h thng biu din s du phy ng. y cng l mt phng php biu din
s khoa hc bao gm 2 phn: phn biu din lu tr s mantissa v mt phn lu tr
biu din s exponent. V d trong h c s thp phn, mt s nguyn bng 5 c
biu din hoc l 0.510
1
, 5010
-1
hoc 0.0510
-2
,trong my tnh s hoc h thng
s ni chung, cc s du phy ng nh phn thng c biu din dng :
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
N= M.2
E
(1.2)
Trong M l phn gi tr s mantissa, E l phn ly tha ca s N. M thng l cc
gi tr l m phn thp phn ca n thng nm trong khong 0.5 M 1.
Hnh 3.2 m t biu din mt s du phy ng ca t 8 bit gm 5 bit biu din phn
s c ngha mantissa, v 3 bit biu din phn ly tha. V cc mantissa v ly tha u
c th nhn cc gi tr m v vy cc bt u tin ca cc phn gi tr u c th
c s dng biu din du khi cn thit
Hnh 3.2: Biu din du phy ng 8 bit
Trong mt s VXL,VK do rng t nh phn nh nn c th s dng 2 t biu
din mt s du phy ng. Mt t s dng biu din gi tr mantissa, v mt phn
biu din gi tr exponent.
Nu phn mantissa c chun ha thnh mt s l c gi tr trong khong
0.5 M1 th bt u tin sau bit du thng l 1v s c mt du phy nh phn n
ngay sau bit du.
Phn biu bin exponent E s quyt nh v tr ca du phy ng s dch sang tri
(E>0) hay sang phi (E<0) bao nhiu v tr. V d biu din mt s thp phn 6.5 bng
mt t 8 bit du phy ng nh sau:
N=1101.2
11
2
=[1/2+1/4+1/16] 2
3
=6.5
Trong trn hp ny phn mantissa gm 4 bit v phn exponent gm 3 bit. Nu ta
dich du phy sang phi 3 v tr th chng ta s c mt s nh phn du phy ng biu
din c s l 1101
Tng qut ha trong trng hp mt s nh phn du phy ng n bit gm m bit biu
din phn mantissa v e bit biu din phn exponent th gi tr ca s ln nht c th
biu din c s l:
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
N
max
= (1-2
-m-1
)2
(2
1 e
-1)
V s dng nh nht c th biu din l:
N
min
= 0.5. 2
( 2
1 e
-1)
Theo tiu chun IEEE 754 v 854 c hai nh dng chnh cho s du phy ng l s
thc di (long) v s thc ngn( short) chng khc nhau v chiu di biu din v
ln lu tr yu cu. Theo chun ny, s thc di c nh dng 8 byte bao gm 1 bt
du , 11 bit exponent v 53 bit lu gi tr s c ngha. Mt s thc ngn c nh
dng 4 byte bao gm 1 bit du ,8 bit ly tha v 24 bit lu gi tr s c ngha. Mt s
thc ngn c th biu din v x l c s c gi tr nm trong di 10
38
to 10
-38
v s
thc di c th biu din v x l c s c gi tr thuc di 10
308
to 10
-308
. biu
din mt gi tr tng ng nh vy bng s du phy tnh th cn ti 256 bit hay 32
byte d liu.
3.2.5 Mt s php tnh c bn
Thc hin php nhn
V trong cc VK nhng thng khng h tr cc php nhn nhiu byte. Cng vic
ny phi c thc hin bi ngi pht trin chng trnh v th hin di dng mt
thut ton da trn cc php ton c sn p dng cho s nh phn l cng , tr v dch.
c mt s hiu bit r rng hn v thut ton thc hin php nhn , chng ta xt
mt v d v mt php tnh nhn hai s nh phn tng qut nh sau:
A= a
n
.2
n
++a
1
.2
1
+a
0
.2
0
B= b
n
.2
n
++b
1
.2
1
+b
0
.2
0
b
n
.(A) .2
n
++b
1
.(A).2
1
+b
0
.(A).2
0
Nguyn l thc hin php nhn cng ging nh ta thc hin php nhn hai a thc.
Trong trng hp nhn hai s nh phn th mi phn t l mt bit, byte hoc t v d
c th vi hai s nh phn 4 bit ta thu c php nhn thc hin nh sau:
a
3
. 2
3
+ a
2
. 2
2
+a
1
. 2
1
+a
0
. 2
0
b
3
. 2
3
+ b
2
. 2
2
+b
1
. 2
1
+b
0
. 2
0
a
3
.b
0
. 2
3
+a
2
.b
0
. 2
2
+a
1
. b
0
2
1
+a
0
.b
0
. 2
0
a
3
.b
1
. 2
4
+ a
2
.b
1
. 2
3
+a
1
.b
1
2
2
+a
0
.b
1
. 2
1
a
3
.b
2
. 2
5
+ a
2
.b
2
. 2
4
+a
1
.b
2
2
3
+a
0
.b
2
. 2
2
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
a
3
.b
3
. 2
6
+ a
2
.b
3
. 2
5
+ a
1
.b
3
.2
4
+a
0
.b
3
. 2
3
Thut ton thc hin php nhn 32 bit theo trnh t sau:
(1) Cp pht vng nh ln lu s c nhn 32 bit v c th thc hin php
dch tri 32 ln. t gi tr khi to cho b m bit bng 32 v xa thanh ghi hay bin
lu gi kt qu php nhn.(Ch : S lng bit cn lu gi tr kt qu phi bng
tng s lng bit cn lu cc s hng php nhn)
(2) Dch s nhn sang phi mt v tr bt v kim tra c nh. Nu khng c c nh th
tip tc thc hin bc 3. Nu xut hin c nh th cng thmvo bin lu kt qu
hin ti ca php nhn mt gi tr bng gi tr ca s c nhn.
(3) Dch s c nhn sang tri mt v tr bit v gim b m dch i 1. Kim tra
xem gi tr ca b m dch c bng 0 khng? Nu bng 0 th thc hin tip bc 4,
cn khng th quay tr li thc hin bc 3.
(4) Kt qu cui cng ca php nhn c lu trong thanh ghi bin kt qu.
V d php nhn t nh phn 4 bit 1100 1101
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)
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
Counter 001(1)
Product 111100(60)
4. A 11000000(192)
B 0001(1)
Counter 000(0)
Product 10011100(156)
Thc thi thut ton thc hin php nhn s nguyn khng du bng ngn ng C/C
++
;
Thc thi php chia
Php chia c th c thc thi bng cch chuyn i thnh php nhn v php dch. V
d mn thc hin php chia 5 trong h thp phn chng ta c th thc hin bi mt
nhn 2 v dch du phy ca kt qu thu c sang tri mt n v. Mt cch tng qut
c th thc hn chuyn i mt php chia tng ng nh sau:
a
x
=
a
n
a
x
i vi php chia nh phn th n s c chn l mt s ly tha ca 2 v phi ln hn
a. Thut ton thc hin php chia c th c thc thi bi php dch, cng v tr nh
sau:
(1) Np bin lu gi tr thng s bng gi tr ca s b chia,s bc dch cn thc
hin bng s bt lu s b chia.
(2) Dch tri bin lu gi tr thng s vo phn bin lu gi tr d ca php chia.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
(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 thc hin
bc tip theo.
(4) Gim bin lu gi tr s ln lp v kim tra xem n bng 0 cha. Nu cha
bng 0 th quay tr li bc 2 thc hin tip, cn nu bng 0 th gi tr ca php chia
c lu trong nh cha s d v thng s.
Thc thi thut ton bng ngn ng C/C
++
I=0; quotient =0 ;
If (divisior==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--;
}
Trc khi thc hin php chia yu cu cn phi kim tra li chia khng c th
xy ra. Thut ton thc hin php chia ch yu da trn php dch v php tr. S b
chia s dch sang tri v lu vo mt bin, phn d s oc so snh vi s chia.Nu
phn d bng hoc ln hn s chia th phn d s c tr i mt gi tr bng s chia
v s b chia s c cng thm 1 v dch sang tri mt v tr bt v chnh c gi
l thng s. Qu trnh ny c lp li v tip tc cho n khi s ln dch bng ng
s bit ca t lu s b chia.
Cc bin c s dng trong qu trnh thc hin php chia bao gm 5 bin s:
s b chia , s chia , thng s, s d v s ln dch. Trong qu trnh thc hin th s
b chia , thng s, v s d cng chia s chung mt vng nh. S d v s b chia
s thuc cng mt t ln. S b chia nm trong phn t trng s thp v s d s nm
trong phn t trng s cao. Sau khi thc hin xong php chia th s b chia s c
dch ton b sang tri vo phn bin s d v c thay th bng thng s. Kt qu
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
cn li thu c ch cn l s d vsf thng s. Hnh nh v b nh lu cc bin s
thc hin trong thut ton ny c minh ha nh trong hnh 3-3:
Hnh 3-3: Thc hin php chia
3.3 Tp lnh
3.3.1 Cu trc tp lnh CISC v RISC
Hu ht cc vi iu khin v VXL nhng c cu trc c pht trin da theo
kin trc my tnh tp lnh phc hp CISC (Complex Instruction Set Computer). CISC
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
4
l mt cu trc x l cc lnh phc hp, tc l mt lnh phc hp s bao gm mt vi
lnh n. Theo nguyn l ny c th gim bt c thi gian dng truy cp v c
m chng trnh t b nh. iu ny rt c ngha vi cc kin trc thit k x l tnh
ton theo kiu tun t. L do cho s ra i ca tp lnh phc hp nhm gim thiu
dung lng b nh cn thit lu gi chng trnh thc hin, v s gim c gi
thnh v b nh cn cung cp cho CPU. Cc lnh cng gn v phc hp th s cn
cng t khng gian b nh chng trnh. Kin trc tp lnh phc hp s dng cc lnh
vi di bin i ty thuc vo phc hp ca cc lnh t n gin n phc tp.
Trong s c mt s lng ln cc lnh c th truy nhp trc tip b nh. V vy vi
kin trc tp 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 ty theo
phc hp trong tng lnh. Mt vi lnh phc hp, c bit l cc lnh truy nhp b
nh cn ti vi chc chu k thc hin. Trong mt s trng hp cc nh thit k
VXL thy rng cn phi gim chu k nhp lnh c thi gian cho cc lnh hon
thnh iu ny cng dn n thi gian thc hin b ko di hn.
Mt s VK c pht trin theo cu trc my tnh tp lnh rt gn RISC
(Reduced Instruction Set Computer). RISC ph hp vi cc kin trc x l cc lnh
n. Thut ng rt gn ( reduced ) i khi b hiu khng tht chnh xc theo ngha
en ca n thc cht tng gc xut pht t kh nng cung cp mt tp lnh ti thiu
thc hin tt c cc hot ng chnh nh: chuyn d liu, cc hot ng ALU v r
nhnh iu khin chng trnh. Ch c cc lnh np (load), lu tr (store) l c php
truy nhp trc tip b nh.
B 1: So snh c im ca CISC v RISC
CISC RISC
Bt k lnh no cng c th tham chiu ti
b nh
Ch c cc lnh Np (load), hoc Lu
tr (store) l c th tham chiu ti b
nh
Tn ti nhiu lnh v kiu a ch Tn ti t lnh v kiu a ch
Khun dng lnh a dng Khun dng lnh c nh
Ch c mt tp thanh ghi C nhiu tp thanh ghi
Cc lnh thc hin trong nhiu nhp chu k Cc lnh thc hin trong mt nhp chu
k
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
C mt chng trnh nh thng dch
lnh
Lnh c thc hin trc tip ngay bi
phn cng
Chng trnh thng dch lnh phc tp Chng trnh bin dch m ngun
phc tp
Khng h tr c ch pipeline H tr c ch pipeline
Kch thc m chng trnh nh gn Kch thc m chng trnh ln
3.3.2 nh dng lnh
Hnh 3-4:nh dng lnh MIPS
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
Hnh 3-5: Phn loi cc php tnh thc thi lnh
3.3.3 Cc kiu truyn i ch ton t lnh
Cc kiu nh/truyn a ch cho php chng ta ch ra/truyn ton t tham gia
trong cc lnh thc thi. Kiu a ch c th ch ra l mt hng s, mt thanh ghi hoc
mt khu vc c th trong b nh. Mt s kiu nh a ch cho php s dng a ch
ngn v mt s loi th cho php chng ta xc nh khu vc cha ton t lnh v
thng c gi l a ch hiu dng ca ton t v thng l ng. Chng ta s xt
mt s loi hnh nh a ch c bn hin ang c s dng rng ri trong c ch
thc hin 5 lnh.
nh a ch tc th (Immediate Addressing)
Phng php ny cho php truyn gi tr ton t lnh mt cch tc th nh mt
phn ca cu lnh c thc thi.V d nu s dng kiu nh a ch tc thi cho cu
lnh Load 0x0008 th gi tr 0x0008 s c np ngay vo AC. Trng bit thng
dng cha ton t lnh s cha gi tr thc ca ton t ch khng phi a ch ca
ton t cn truyn cho lnh thc thi. Kiu a ch tc thi cho php thc thi lnh rt
nhanh v khng phi thc hin truy xut b nh np gi tr ton t m gi tr ton t
c gp nh mt phn trong cu lnh v c th thc thin gay. V ton t tham gia
nh mt phn c nh ca chng trnh v vy kiu nh a ch ny ch ph hp vi
cc ton t hng v bit trc ti thi im thc hin chng trnh, hay xc nh ti
thi im bin dch chng trnh.
nh a ch trc tip (Direct Addressing)
Phng php ny cho php truyn ton t lnh thng qua a ch trc tip cha
ton t trong b nh. V d nu s dng c ch nh a ch ton t trc tip th
trong cu lnh Load 00008 s c hiu l d liu hay ton t c np trong cu
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
lnh ny nm trong b nh ti a ch 00008. C ch nh a ch trc tip cng
thuc loi hnh kh nhanh mc d khng nhanh c nh c ch truyn a ch tc
thi nhng mm do cao hn v a ch ca ton t khng nm trong phn m lnh
v gi tr c th thay i trong qu trnh thc thi chng trnh.
nh a ch thanh ghi (Register Addressing)
Trong cch nh a ch v truyn ton t ny th ton t khng nm trong b
nh nh trng hp nh a ch trc tip m nm ti chnh trong thanh ghi. Khi ton
t c np vo thanh ghi th vic thc hin c th rt nhanh v tc truy xut
thanh ghi nhanh hn so vi b nh. Nhng s lng thanh ghi ch c hn v phi
c chia s trong qu trnh thc hin v vy cc ton t phi c np vo thanh ghi
trc khi n c thc thi.
nh a ch gin tip (Indirect Addressing)
Trong phng php truyn ton t ny, trng ton t trong cu lnh c s
dng tham chiu ti mt con tr nm trong b nh tr ti a ch hiu dng ca
ton t. C ch truyn ny c th ni l mm do nht so vi cc c ch truyn a ch
khc trong qu trnh thc thi chng trnh. V d nu p dng c ch truyn a ch
gin tip trong cu lnh Load 00008 th s c hiu l gi tr d liu c a ch ti
Load 00008 thc cht l cha i ch hiu dng ca ton t cn truyn cho cu lnh.
Gi thit ti v tr nh 00008 ang cha gi tr 002A0 th 002A0 chnh l gi tr
thc ca ton t s c np vo AC. Mt bin th khc cng c th thc hin theo c
ch ny l truyn tham chiu ti con tr nm trong khu vc thanh ghi. C ch ny cn
c bit ti vi tn gi l nh a ch gin tip thanh ghi. V d mt cu lnh Load
R1 s dng c ch truyn a ch gin tip thanh ghi th chng ta c th d dng thng
dch c ton t truyn trong cu lnh ny c a ch hiu dng nm trong thanh ghi
R1
nh a ch c s v ch s (Index and Base Addressing)
Trong c ch ny ngi ta s dng mt thanh ghi cha offset( chnh lch
tng i) m s c cng vi ton t to ra mt a ch hiu dng. V d nu
ton t X ca lnh Load X c nh a ch theo c ch a ch ch s v thanh ghiR1
l thanh ghi cha a ch s v c gi tr l 1 th a ch hiu dng ca ton t thc
cht s l X +1. C ch nh a ch c s cng ging nh vy loi tr mt iu l
thay v s dng thanh ghi a ch offset th y s dng thanh ghi a ch c s. V
mt l thuyt s khc nhau gia hai c ch tham chiu a ch ny l chng c s
dng th no ch khng phi cc ton t c tnh th no. Mt thanh ghi ch s s
lu ch s m s c s dng nh mt offset so vi a ch c a ra trong trng
a ch ca lnh thc thi. Thanh ghi c s lu mt a ch c s v trng a ch
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
trong cu lnh thc thi s lu gi tr dch chuyn t a ch ny. Hai c ch tham chiu
a ch ny rt hu ch tng vic truy xut vi cc phn t kiu mng. Ty thuc vo
thit kt tp lnh cc thanh ghi mc ch chung thng hay c s dng trong c ch
nh a ch ny.
nh a ch ngn xp (Stack Addressing)
Trong c ch truyn a ch ny th ton t nhn c t nh ngn xp. Thay
v s dng thanh ghi mc ch chung hay nh kin trc da trn ngn xp lu cc
ton t trn nh ca ngn xp, v c th truy xut vi CPU. Kin trc ny khng ch
hiu qa trong vic lu gi cc gi tr trung gian trong cc php tnh phc tp m cn
cung cp mt phng php hiu qu trong vic truyn cc tham s trong cc li gi
hm cng nh lu ct cc cu trc d liu cc b v nh ngha ra phm vi tn ti
ca cc bin v cc hm con. Trong cc cu trc lnh truyn ton t da trn ngn xp
hu ht cc lnh ch bao gm phn m, tuy nhin cng c mt s lnh c bit ch c
mt ton t v d nh lnh ct vo(push) hoc ly ra (pop) t ngn xp. Ch c mt s
lnh yu cu hai ton t th hai gi tr cha trong hai nh trn nh ngn xp s c
s dng. V d nh lnh Add, CPU ly ra khi ngn xp hai phn t nm trn nh ri
thc hin php cng v sau lu kt qu tr li nh ngn xp.
Cc cch nh a ch khc
C rt nhiu bin th to bi cc c ch nh a ch gii thiu trn. l s
t hp trong vic to ra hoc xc nh a ch hiu dng ca ton t truyn cho lnh
thc thi. V d nh c ch nh a ch ch s gin tip s dng ng thi c hai c
ch nh a ch ng thi, tng t nh vy cng c c ch nh a ch c s
offsetCng c mt s c ch t ng tng hoc gim thanh ghi s dng trong lnh
ang thc thi nh vy m c th gim c ln ca m chng trnh c bit ph
hp cho cc ng dng Nhng.
3.3.4 Nguyn l thc hin PIPELINE
Vi x l c th tc thi cc lnh vi mt tc rt nhanh. RISC s dng k thut
pipeline tng cng tc x l cc lnh ng thi nh vo kh nng thc hin xp
chng cun chiu lin tc cc lnh theo cc phn on thc hin lnh. V d mt lnh
c th c c t b nh trong khi mt lnh khc ang c gii m chun b a
vo x l v mt lnh khc th ang c thc hin. Cng c mt s VK c tn gi
l my tnh tp lnh c bit SISC ( Specific Instruction Set Computer) v chng c
pht trin da trn tp lnh c thit k c chng cho mc ch iu khin.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
Hnh 3.6 : Nguyn l thc hin pipeline
Pipeline c thc hin da trn nguyn l xp chng cun chiu cc phn on
trong mi mt lnh. Thng thng mi mt lnh c chia ra lm nhiu phn on
thc hin, ph bin hin nay l 5 phn on tun t nh sau:
Hnh 3-7: qu trnh thc hin nguyn l pipeline
(1) Tr lnh (Instrution Fetch): Thc hin tr ti lnh thc hin bng cch c a
ch lnh t thanh ghi con tr lnh (PC), c lnh ra t b nh chng trnh v
tnh ton ri np gi tr mi vo trong thanh ghi con tr lnh tr ti lnh s
thc thi tip theo.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
(2) Gii m lnh(Decode): Thc hin thng dch v chuyn i m lnh thnh dng
m ALU c th hiu v chun b thc thi. Qu trnh ny thc cht l qu trinh
c v chuyn i ni dung trong cc thanh ghi chng trnh.
(3) Thc thi lnh (Excute): ALU thc thi lnh va c gii m.
(4) Truy nhp b nh d liu( Memory): c ra hoc vit vo b nh d liu nu
lnh thc hin c nhu cu ny.
(5) Vit tr li (Write back): Hon thnh v cp nht ni dung cc thanh ghi.
Chng ta cn phn bit c ch pipeline v c ch thc thi song song mc d c
hai u nhm p ng yu cu thc thi canh tranh v tng tc thc thi. C ch
Pipeline gii quyt vn cnh tranh v tng tc thc hin bng cch chia nh tnh
ton thnh cc bc nh trong khi c ch song song s s dng nhiu ngun ti
nguyn c lp thc hin.
3.3.5 Harzard
Trong c ch thc hin lnh pipeline th hin r c u im trong vic thc
y hiu sut thc hin lnh, tuy nhin c th xy ra hin tng thc thi sai do s thiu
ng b v ph thuc ln nhau gia cc lnh trong nhm thc thi pipeline.
Hazard d liu
Hin tng harzard xy ra khi c s ph thuc ln gia cc lnh nm trong
khong xp chng thc hin cun chiu theo nguyn l pipeline. iu ny c th d
dng hnh dung khi hai hoc nhiu lnh thc hin xp chng khi c nhu cu c gi tr
ca cng mt ton t. Do s ph thuc nh vy nn khi vit chng trnh chng ta
phi kim sot c th t chng trnh m cc lnh s c thc hin nh th no.
Mc ch ca vic thc thi l lm sao h tr c c ch thc hin song song v
tng c hiu sut thc thi chng trnh. Vic pht hin v trnh c hin tng
hazard l cn thit m bo chng trnh c thc thi ng.Tu theo nguyn nhn
gy ra hazard ngi ta phn ra 3 loi hnh chnh tu thuc vo th t c hoc vit
truy nhp lnh ca cc nhm lnh ph thuc nhau trong c ch thc hin song song.
Xt hai lnh i v j trong lnh i c thc hin trc lnh j trong chng
trnh. Hin tng Hazard d liu c th xy ra nh sau:
RAW (read after write): c sau khi vit
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
Khi lnh i v j u cn s dng v trao i thng tin vi cng mt gi tr
nh, trong lnh i cn phi thc hin xong v cp nht gi tr vo nh ri
lnh j mi c th c v s dng. Nu lnh i cha thc hin xong m lnh j c
gi tr nh th s xy ra hin tng c gi l hazard d liu. Lnh j c
thng tin t mt nh trc khi lnh i kp vit vo v vy lnh j s ch c c gi
tr c ch khng phi gi tr mi cn phi s dng. Trong c ch thc hin pipeline
5 phn on s gp phi hin tng hzard d liu khi c mt lnh np (load) theo
sau mt lnh ALU s nguyn v s dng trc tip kt qu np.
WAW (write after write): Vit sau khi vit
Lnh j vit vo mt ton t trc khi lnh i vit vo. M yu cu thc thi
ng chng trnh l lnh i phi vit trc lnh j v gi tr cui cng lu trong ton
t phi do lnh j a ra ch khng phi lnh i. Hin tng ny c gi l hazard
d liu khi c s ph thuc u ra v nhiu lnh cng c nhu cu truy nhp vit vo
cng mt bin hay mt nh.
WAR (write after read): Vit sau khi c
j vit vo ton t ch trc khi n c c bi lnh i do lnh I s nhn
c gi tr sai. Hin tng Hazard ny xut hin khi c s ph thuc ton hng
trong cc php tnh.
Hazard do s ph thuc iu khin
Kiu ph thuc cng kh ph bin l do cu trc iu khin. S ph thuc
iu khin c quyt nh trnh t thc thi ca mt lnh i theo lnh r nhnh m
bo sao cho n c thc thi ng nh th t mong mun. Tt c cc lnh ngoi tr
khi c bn u tin ca chng trnh u c iu khin theo cu trc lnh r
nhnh v phi c m bo thc thi ng theo th t. Mt v d n gin nht
v s ph thuc iu khin l s ph thuc iu khin theo cu trc ifthen
Phn thc thi trong phn then s ph thuc cu lnh iu kin if. V d on
m chng trnh minh ha nh sau:
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
Cu lnh c iu khin ph thuc vo p1 v S2 c iu khin ph thuc
p2 ch khng phi p1.
Ni chung, c 2 rng buc c th gi thit trong s ph thuc iu khin:
(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 chng ta khng th a lnh t phn then ln trc phn if.
(2) Mt lnh thc hin c lp v khng ph thuc vo lnh r nhnh khng th
c chuyn vo khu vc sau phn thc hin ca nhnh thc hin ph thuc. V d
khng th a mt lnh ln trc phn lnh if v chuyn n vo trong phn then. S
ph thuc iu khin phi c m bo bi 2 thuc tnh trong c ch pipeline n
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 trc mt nhnh iu khin th phi thc hin trc nhnh . Th hai, vic
pht hin ra s xung t v iu khin (control hazard) s m bo rng mt lnh
m c iu khin ph thuc vo mt nhnh th khng c thc hin chng no
hng thc hin ca nhnh r rng. Bo m c s ph thuc iu khin l
cn thit v cng l 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. Chng ta c th sn sng thc thi thm nhng lnh m l ra
khng nn c thc thi nu chng khng gy nh hng g n tnh ng n ca
chng trnh, nu khng s xung t gy ra bi s ph thuc iu khin c th xy
ra. S ph thuc v iu khin khng phi l mt thuc tnh kch tnh bt buc phi
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
bo m. Thay v iu , hai thuc tnh kch tnh cho vic lp trnh mt cch ng
n v thng c bo m l phi trnh c xung t bi c s ph thuc v d
liu v iu khin v chnh l hnh vi ngoi l c th xy ra trong lung d liu
thc thi chng trnh.
3.4 Ngn ng v mi trng pht trin
3.4.1 Ngn ng
Mt trong nhng ngn ng lp trnh c l ph cp rng ri nht hin nay l
ngn ng C. So vi bt k ngn ng lp trnh no khc ang tn ti C thc s ph
hp v tr thnh mt ngn ng pht trin ca h nhng. iu ny khng phi l c
hu v s tn ti mi, nhng ti thi im ny th C c l l mt ngn ng gn gi
nht tr thnh mt chun ngn ng trong th gii h nhng. Trong phn ny
chng ta s cng tm hiu ti sao C li tr thnh mt ngn ng ph bin n vy v
ti sao chng ta la chn n nh mt ngn ng minh ha cho vic lp trnh h nhng.
S thnh cng v pht trin phn mm thng l nh vo s la chn ngn
ng ph hp nht cho mt d n t ra. Cn phi tm mt ngn ng c th p
ng c yu cu lp trnh cho cc b x l t 8bit n 64bit, trong cc h thng
ch c hu hn v b nh vi Kbyte hoc Mbyte. Cho ti nay, iu ny ch c C l
thc s c th tha mn v ph hp nht.
R rng C c mt s u im ni bt tiu biu nh kh nh v d dng cho
vic hc, cc chng trnh bin dch thng kh sn cho hu ht cc b x l
ang s dng hin nay, v c rt nhiu ngi bit v lm ch c ngn ng
ny ri, hay ni cch khc cng c ph cp t lu. Hn na C c li th l
khng ph thuc vo b x l thc thi m ngun. Ngi lp trnh ch phi tp
trung ch yu vo vic xy dng thut ton, ng dng v th hin bng ngn ng
thn thin thay v phi tm hiu su v kin thc phn cng, cng nh rt nhiu cc
u im ni bt khc ca ngn ng bc cao ni chung.
C l mt th mnh ln nht ca C l mt ngn ng bc cao mc thp
nht. Tc l vi ngn ng C chng ta vn c th iu khin v truy nhp trc tip
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
5
phn cng kh thun tin m khng h phi hy sinh hay nh i bt k mt th
mnh no ca ngn ng bc cao. Thc cht y cng l mt trong nhng tiu ch
xy dng ca nhng ngi sng lp ra ngn ng C mun hng ti. Thc t iu
ny c cp n khi hai nh sng lp ra ngn ng C, Kernighan v Ritchie
a vo trong phn gii thiu ca cun sch ca h The C Programming
Language nh sau:
C is a relatively low level language. This characterization is not
pejorative; it simply means that C deals with the same sort of objects that most
computers do. These may be combined and moved about with the arithmetic and
logical operators implemented by real machines
Tt nhin l C khng phi l ngn ng duy nht cho cc nh lp trnh
nhng. t nht hin nay ngi ta cng c th bit ti ngoi ngn ng C l Assembly,
C++, v Ada.
Trong nhng bui u pht trin h nhng th ngn ng Assembly ch yu
c s dng cho cc vi x l ch. Vi ngn ng ny cho php ngi lp trnh
iu khin v kim sot hon ton vi x l cng nh phn cng h thng trong
vic thc thi chng trnh. Tuy nhin ngn ng Assembly c nhiu nhc im
m cng chnh l l do ti sao hin nay n t c ph cp v s dng. l,
vic hc v s dng ngn ng Assembly rt kh khn v c bit kh khn
trong vic pht trin cc chng trnh ng dng ln phc tp. Hin nay n ch
c s dng ch yu nh im ni gia ngn ng bc cao v bc thp v c s
dng khi c yu cu c bit v hiu sut thc hin v ti u v tc m khng
th t c bng ngn ng khc. Ngn ng Assembly ch thc s ph hp cho
nhng ngi c kinh nghim v hiu bit tt v cu trc phn cng ch cng
nh nguyn l thc hin ca b lnh v chp x l.
C++ l mt ngn ng k tha t C nhm vo cc lp ng dng v t
duy lp trnh hng i tng v cng bt u chim c s lng ln quan
tm trong vic ng dng cho pht trin h nhng. Tt c cc c im ct li ca C
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
vn c k tha hon ton trong ngn ng C++ v ngoi ra cn h tr kh nng
mi v tru tng ha d liu v ph hp vi t duy lp trnh hin i; hng
i tng. Tuy nhin iu ny b nh i bi hiu sut v thi gian thc thi do
ch ph hp vi cc d n pht trin chng trnh ln v khng chu sc p
ln v thi gian thc thi.
Ada cng l mt ngn ng hng i tng mc d n khng c ph cp
rng ri nh C++. Ada c xy dng bi c quan quc phng M phc v
pht trin cc phn mm qun s chuyn dng c bit. Mc d cng c
chun ha quc t (Ada83 v Ada95) nhng n vn khng c ph cp rng ri
ngoi vic ng dng ch yu trong cc lnh vc qun s v hng khng v tr. V
n cng dn dn b mt u th v s ph cp trong thi gian gn y, y cng l
mt iu ng tic v bn thn Ada cng l mt ngn ng c nhiu c im ph
hp cho vic pht trin phn mm h nhng thay v phi s dng C++.
3.4.2 Bin dch
Hnh 3-8: qu trnh pht trin v bin dch phn mm nhng
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
Qu trnh bin dch (Compiling)
Nhim v chnh ca b bin dch l chuyn i chng trnh c vit bng
ngn ng thn thin vi con ngi v d nh C, C++,thnh tp m lnh tng
ng c th c v hiu bi b vi x l ch. Theo cch hiu ny th bn cht mt
b hp ng cng l mt b bin dch chuyn i mtmt t mt dng lnh
hp ng thnh mt dng 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 bin dch ca b hp ng s c thc thi n gin hn
rt nhiu so vi cc b bin dch cho cc m ngun vit bng ngn ng bc cao
khc.
Mi mt b x l thng c ring ngn ng my v vy cn phi chn la
mt b bin dch ph hp c th chuyn i chnh xc thnh dng m my tng
ng vi b x l ch. i vi cc h thng nhng, b bin dch l mt chng
trnh ng dng lun c thc thi trn my ch (mi trng pht trin chng trnh)
v cn c tn gi l b bin dch cho (cross compiler). V b bin dch chy trn
mt nn phn cng to ra m chng trnh chy trn mi trng phn cng khc.
Vic s dng b bin dch cho ny l mt thnh phn khng th thiu trong qu
trnh pht trin phn mm cho h nhng. Cc b bin dch cho thng c th cu
hnh thc thi vic chuyn i cho nhiu nn phn cng khc nhau mt cch linh
hot. V vic la chn cu hnh bin dch tng ng vi cc nn phn cng i khi
cng kh c lp vi chng trnh ng dng ca b bin dch.
Kt qu u tin ca qu trnh bin dch nhn c l mt dng m lnh
c bit ti vi tn gi l tp i tng (object file). Ni dung ca tp i tng
ny c th c xem nh l mt cu trc d liu trung gian v thng c nh
ngha nh mt nh dng chun COFF (Common Object File Format) hay nh
dng ca b lin kt m rng ELF (Extended Linker Format) Nu s dng
nhiu b bin dch cho cc modul m ngun ca mt chng trnh ln th cn
phi m bo rng cc tp i tng c to ra phi c chung mt kiu nh dng.
Hu ht ni dung ca cc tp i tng u bt u bi mt phn header
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
m t cc phn theo sau. Mi mt phn s cha mt hoc nhiu khi m hoc d
liu nh c s dng trong tp m ngun. Tuy nhin cc khi c nhm li
bi b bin dch vo trong cc phn lin quan. V d nh tt c cc khi m c
nhm li vo trong mt phn c gi l text, cc bin ton cc c khi to
(cng cc gi tr khi to ca chng) vo trong phn d liu, v cc bin ton cc
cha c khi to vo trong phn bss.
Cng kh ph bin thng c mt bng biu tng cha trong ni dung
ca tp i tng. N cha tn v a ch ca tt c cc bin v hm c tham
chiu trong tp m ngun. Cc phn cha trong bng ny khng phi lc no cng
y v c mt s bin v hm c nh ngha v cha trong cc tp m ngun
khc. Chnh v vy cn phi c b lin kt thc thi x l vn ny.
Qu trnh lin kt (Linking)
Tt c cc tp i tng nhn c sau bc thc hin bin dch u tin
u phi c t hp li theo mt cch c bit trc khi n c np v chy
trn mi trng 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 hon thin nt phn cn khuyt cho cc bin hoc hm tham
chiu lin thng gia cc tp m ngun c bin dch c lp.
Kt qu u ra ca b lin kt l mt tp i tng mi c cha tt c m
v d liu trong tp m ngun v cng kiu nh dng tp. N thc thi c iu
ny bng cch t hp mt cch tng ng cc phn text, d liu v phn bss t
cc tp u vo v to ra mt tp i tng theo nh dng m my thng nht.
Trong qa trnh b lin kt thc hin t hp cc phn ni dung tng ng n cn
thc hin thm c vn hon chnh cc a ch tham chiu ca cc bin v hm
cha c y trong bc thc hin bin dch.
Cc b lin kt c th c kch hot thc hin c lp vi b bin dch v
cc tp i tng c to ra bi b bin dch c coi nh cc tham bin vo.
i vi cc ng dng nhng n thng cha phn m khi to c bin dch
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
cng phi c gp trong danh sch tham bin vo ny.
Nu cng mt biu tng c khai bo hn mt ln nm trong mt tp i
tng th 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 chiu thc trong ton b cc tp i tng th b lin kt s c
gng t gii quyt theo kh nng cho php da vo cc thng tin v d nh cha
trong phn m t ca th vin chun. iu ny cng thng hoc c th gp vi
trng hp cc hm tham chiu trong chng trnh.
Rt ng tic l cc hm th vin chun thng yu cu mt vi thay i
trc khi n c th c s dng trong chng trnh ng dng nhng. Vn y
l cc th vin chun cung cp cho cc b cng c pht trin ch dng n kh nng
nh dng v to ra tp i tng. Hn na chng ta cng rt t khi c th truy nhp
c vo m ngun ca cc th vin chun c th t thay i. Hin nay cng c
mt s nh cung cp dch v phn mm h tr cng c chuyn i hay thay i th
vin C chun ng dng cho cc ng dng nhng, v d nh Cygnus. Gi phn
mm ny c gi l newlib v c cung cp min ph. Chng ta c th ti v
trang web ca Cygnus. N s h tr chng ta gii quyt vn m b lin kt c
th gp phi khi chng trnh s dng cc hm thuc th vin C chun.
Sau khi hp nht thnh cng tt c cc thnh phn m v phn d liu
tng ng cng nh cc vn v tham chiu ti cc biu tng cha c thc
thi trong qu trnh bin dch n l, b lin kt s to ra mt bn sao c bit ca
chng trnh c kh nng nh v li (relocatable). Hay ni cch khc, chng
trnh c hon thin ngoi tr mt iu: Khng c a ch b nh no cha c
gn bn trong cc phn m v d liu. Nu chng ta khng phi l ang pht trin
phn mm cho h nhng th qu trnh bin dch c th kt thc ti y. Tuy nhin,
vi h nhng ngay c h thng nhng bao gm c h iu hnh chng ta vn
cn phi c mt m chng trnh (image) nh phn c nh v tuyt i. Thc t
nu c mt h iu hnh th phn m v d liu cng thng gp c vo bn trong
chng trnh c kh nng nh v li. Ton b ng dng nhng bao gm c h iu
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
hnh thng lin kt tnh vi nhau v thc hin nh mt m chng trnh nh phn
thng nht.
Qu trnh nh v (Locating)
Cng c thc hin vic chuyn i mt chng trnh c kh nng nh v li
thnh mt dng m chng trnh nh phn c th thc thi c gi l b nh v.
N s m nhim vai tr ca bc n gin nht trong cc bc thc thi bin dch
ni chung. Thc t chng ta phi t lm hu ht cng vic ca bc ny bng cch
cung cp thng tin v b nh c cu hnh trn nn phn cng m chng ta ang
pht trin v chnh l tham s u vo cho vic thc thi ca b nh v. B nh v
s s dng thng tin ny gn cc a ch vt l cho mi phn m lnh v d liu
bn trong chng trnh c thc thi m c th nh v li. Tip theo n s to ra
mt tp c cha chng trnh b nh nh phn c th np trc tip vo b nh
chng trnh trn nn phn cng thc thi.
Trong nhiu trng hp b nh v l mt chng trnh kh c lp vi cc
phn cng c khc trong h thng phn mm pht trin. Tuy nhin trong cc b
cng c pht trin GNU chc nng ny c tch hp lun trong b lin kt. Tuy
nhin khng nn nhm ln v chc nng ca chng trong qu trnh thc thi bin
dch. Thng thng chng trnh chy trn cc my tnh mc ch chung th h
iu hnh s thc hin vic chuyn i v gn chnh xc a ch thc cho cc phn
m v d liu trong chng trnh ng dng, cn vi chng trnh pht trin chy
trn h nhng th vic ny phi c thc hin bi b nh v. y cng chnh l
im khc bit c bn khi thc hin bin dch mt chng trnh ng dng cho h
nhng.
Thng tin v b nh vt l ca h thng phn cng pht trin m cn phi
cung cp cho b nh v GNU phi c nh dng theo kiu biu din ca b lin
kt. Thng tin ny i khi c s dng iu khin mt cch chnh xc th
t trong cc phn m chng trnh v d liu bn trong chng trnh c th nh
v li. Nhng y chng ta cn phi thc hin nhiu hn th, tc l phi thit lp
chnh xc khu vc ca mi phn trong b nh.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
Sau y l mt v d minh ha ca mt tp thng tin lin kt c cung cp
cho mt nn phn cng nhng, gi thit l c 512 KB RAM v 512 KB ROM.
on m ny c cung cp cho cho b nh v ca b lin kt GNU v
thng tin b nh c cu hnh trn nn mch cng h nhng ch v ch ra cc
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
phn d liu v bss s c nh v trong RAM (bt u ti a ch 0x00000) v
phn m chng trnh s c nh v trong ROM (bt u ti a ch 0x80000).
Tuy nhin cc gi tr khi to trong cc on d liu s c thc hin mt phn
trong ROM bt u t phn nh ngha ca khu vc nh v cui cng trong m
chng trnh.
Hnh 3-9: v d v mt lu pht trin phn mm cho DSP TMS320CMDxx
Tt c cc tn bt u bi du gch di (_) l cc bin c th c tham
chiu t bn trong m ngun. B lin kt s s dng cc biu tng x l cc
tham chiu trong cc tp i tng. V d c th c mt phn chng trnh ng
dng nhng (thng l thuc phn m khi to chng trnh) sao chp cc gi tr
khi to ca cc bin c khi to trong ROM sang khu vc d liu trong
RAM. Cc a ch bt u v kt thc cho hot ng ny c th c thit lp mt
cch biu tng bi tham chiu ti cc bin s nguyn _DataStart v _DataEnd.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
Kt qu ca bc cui cng ny ca qu trnh bin dch l mt m chng
trnh nh phn c th c np trc tip v chy c trn nn phn cng h nhng
ch, tc l c np vo b nh chng trnh ca h thng ch. Trong v d trn
m chng trnh nh phn c to ra c dung lng chnh xc l 1MB. Tuy nhin
bi v cc gi tr cho phn d liu c khi to nm trong ROM nn na phn
thp 512KB ca m chng trnh nh phn ny ch cha gi tr zero v ch c na
phn cao c s dng l ch yu.
3.4.3 Simulator
Simulator l mt chng trnh phn mm cho php ngi pht trin m
chng trnh chy m phng mt chng trnh vit cho mt nn VXL/VK (nn
phn cng ch) trn mt mi trng phn cng khc (hay cn gi l mi trng
pht trin). Thc cht l qu trnh m phng hot ng ca chng trnh thc thi
theo ng nh iu kin thc hin ca mi trng ch trn mi trng pht trin.
S dng b m phng m chng trnh c th c chy th tng bc
hoc tng phn v c th c chnh sa trc tip th nghim cc gii php khc
nhau cho cc bi ton thc thi phn mm. Tuy nhin cc b m phng khng h tr
cc ngt thc v cc thit b ngoi v.
B m phng trc tip (b m phng phn cng) bao gm mt thit b phn
cng kt ni trc tip vi h pht trin v cho php thc thi c c phn ng
ging nh b x l ch. B m phng trc tip trn mch c tt c cc chc
nng ca mt b m phng phn mm ng thi h tr c cc chc nng
emulation cho cc cng vo ra ca VK.
3.4.4 Emulator
Emulator l mt thit b phn cng c kh nng thc hin nh mt nn phn
cng ch. N cn c bit ti nh mt tn gi khc l cng c pht trin thi gian
thc bi v n cho ta phn ng vi cc s kin nh VK ch thc thi. Cc b
Emulator thng c km theo c phn chng trnh gim st (monitor program)
cho php ngi pht trin chng trnh cho VK ch kim tra ni dung, trng
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
thi cc thanh ghi v cc khu vc b nh v thit lp cc im dng khi thc hin
chy chng trnh.
3.4.5 Thit k h thng bng my tnh
Trong qu trnh pht trin phn mm cn phi c th nghim vi i
tng iu khin. Tu thuc vo tng mi trng pht trin chng ta c th tin
hnh theo mt s cc phng php sau.
M phng offline
Trong h thng pht trin ny nn phn cng nhng ch c m phng
bng m hnh chy trn PC v i tng iu khin cng l m hnh m phng
chy trn PC. V vy 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.
H thng pht trin (software in the loop)
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
6
H thng ny m phng nn phn cng thc trn PC cho p ng hnh vi
ging nh vi vi mch cng thc v m hnh i tng c m hnh thc thi
trn PC. Loi h thng ny cng tng t nh h thng m phng offline tuy
nhin c u im hn v kh nng m phng hnh vi v p ng ca vi mch
nhng chnh xc hn v trung thc hn. V cng c mt nhc im l khng th
nghim c bi ton thi gian thc.
M phng thi gian thc (Hardware in the Loop)
H thng ny s dng nn phn cng nhng ch thc nhng i tng
th ch l m hnh thi gian thc khng phi i tng thc. u im l kh
mm do v thay i cu hnh n gin trong qu trnh pht trin th nghim vi
cc hnh vi khc nhau ca i tng. Rt ngt v n gin ha cng vic xy dng
i tng.
M hnh pht trin thc
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
H thng ny s dng nn phn cng nhng ch thc vi i tng thc.
Tuy nhin c s h tr ca cng c pht trin c th ci t v th nghim trc
tip trn nn phn cng thc. y l mt dng m hnh cho kt qu trung thc v
chnh xc nht trong cc dng h thng pht trin nu trn. Tuy nhin cc nn phn
cng ny thng c pht trin v h tr bi cc nh cung cp c th tng
thch vi cng c phn mm km theo.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
CHNG 4
H IU HNH NHNG
4.1. H iu hnh
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 hnh ca my tnh c th thy n bao gm cc drivers cho cc
ngoi vi tch hp vi my tnh nh card mn hnh, card m thanh... Cc cng c
qun l ti nguyn nh b nh v cc thit b ngoi vi ni chung. iu ny to ra
mt giao din rt thun li cho cc ng dng v ngi s dng pht trin phn
mm trn cc nn phn cng c. ng thi trnh c yu cu v hiu bit su
sc v phn cng v c th pht trin da trn cc ngn ng bc cao.
Hnh 4-1: kin trc h iu hnh
H thng iu hnh bn cht cng l mt loi phn mm nhng n khc vi
cc loi phn mm thng thng. S khc bit in hnh l h thng iu hnh
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
c np v thc thi u tin khi h thng bt u khi ng v c thc hin trc
tip bi b x l ca h thng. H thng iu hnh c vit phc v iu khin
b x l cng nh cc ti nguyn khc trong h thng bi v n s m nhim chc
nng qun l v lp lch cc qu trnh s dng CPU v cng chia s ti nguyn.
Tm li, h iu hnh thc cht chnh l mt giao din quan trng, giao
tip trc tip vi tng phn cng cp thp phc v cho c ngi s dng cng
nh cc chng trnh ng dng thc thi trn nn phn cng h thng. Hn na
h iu hnh cn c vai tr quan trng trong vic m nhim 3 tc v nguyn l
chnh: (1) Qun l qu trnh, (2) Qun l ti nguyn, (3) Bo v ti nguyn khi s
xm phm ca cc qu trnh thc thi sai.
4.2 B np khi to (Boot-loader)
Thut ng bootstrap bt ngun t cch din t c xa c ngha l t
mnh vn ln bng chnh n lc ca bn thn pulling yourself up by your own
bootstraps. N c s dng nh mt thut ng rt ph bin gi tn mt
phn mm thc thi vic khi to chng trnh thc thi trn cc nn vi in t kh
trnh ni chung. Chng trnh ny thng rt nh gn v m nhim chc nng
tin hot ng ca h iu hnh. Cng rt ph bin hin nay ngi ta cng thng
dng thut ng bootloader (b np khi to) thay v bootstrap. B np khi
to thc cht l mt chng trnh nh thc hin trong h thng v m nhim chc
nng cn thit a h iu hnh vo hot ng. Trong cc h nhng, cc lnh
c thc hin u tin thng nm trong cc vng nh ROM v thng thuc loi
chm. D , mt trong nhng tc v ph bin ca b np khi to l sao chp
chng trnh ng dng chnh (main program) vo trong vng b nh nhanh trc
khi chng c thc hin. B np khi to cng c nhim v khi to vng nh d
liu v cc thanh ghi h thng trc khi nhy ti chng trnh ng dng chnh.
Cng c rt nhiu dng khc nhau ca b np khi to, t dng n gin n phc
tp. Dng n gin nht c th ch l mt lnh nhy ti chng trnh ng dng
chnh ngay sau khi reset m khng thc hin bt k mt tc v khi to hay np
chng trnh g. Chng trnh ng dng chnh s phi t thit lp thc thi tc v
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
ca mnh. Cc b np khi to phc tp hn c th thc hin nhim v chun
on b nh v khi to h thng, kim tra chng trnh v np chng trc khi
cho b x l nhy ti thc hin chng trnh ng dng chnh.
Sau y chng ta s tm hiu v mt mi trng pht trin kh in hnh v
tho lun v mt s cc thuc tnh nguyn l c bn ca b np khi to.
Hnh 4-2: nguyn l thc hin ca b np khi to boot- loader
Trong mi trng pht trin h nhng in hnh, nn phn cng ch cn
pht trin c kt ni vi trm ch (host) thng qua mt giao din truyn thng.
Mt mi trng pht trin bao gm mt chng trnh g ri (debugger) v d nh
Code Composer Studio ca Texas Instrument, cho php ngi pht trin chng
trnh np v thc hin th nghim cc chng trnh trn phn cng ch. Mt s
cc cng c h tr v d nh thit lp cc im dng (breakpoint)v cc
nhim v ph tr khc bm st trng thi qu trnh thc thi thi gian thc ca
chng trnh th nghim. iu ny rt c ngha v to nn mt s d dng hn
trong qu trnh pht trin v g ri mt chng trnh ng dng mi cho nn phn
cng ch.
Thng thng cc ng dng c pht trin trong mi trng ngn ng C th
chng trnh ng dng chnh c thc thi v nm trong phm vi hm main() phn
khi to chng trnh v np tin thc hin chng trnh chnh thng khng tng
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
minh hoc b n i. Thc cht iu ny ch ng i vi nhng ngi pht trin m
chng trnh ng dng chnh bng ngn ng bc cao (c bit cho cc ng dng
khng phi cho h nhng) m khng cn phi quan tm nhiu n cc tc v c s
m nhim vic khi to cc thanh ghi h thng, ngn xp v d liuiu ny
cng rt c ngha to ra mt cm gic v mi trng pht trin thn thin cho
ngi pht trin chng trnh v ch cn tp trung phn thc hin chc nng chnh
ca h thng. Tuy nhin trong mi trng pht trin h thng nhng vic thc thi
chng trnh thng bt u ti a ch chng trnh ni bt u tc v khi to h
thng trc khi nhy ti thc hin chng trnh chnh main(). Qu trnh ny c
bt u thc cht l thc thi mt tc v ngt kch hot bi s kin reset.
Boot-loader cng c nhiu dng khc nhau. Hnh 4-2 m t mt b np khi
to cho mt ng dng C nhng. Trong v d ny vector RESET tr ti th tc
c_int00 thc hin tc v khi to. Ngoi vic khi to cc thanh ghi, ngn xp
cc bin C cng cn c khi to trc khi c thc thi. Qu trnh ny s sao chp
t phn .cinit v vit vo cc a ch d liu tng ng ca chng trong phn .bss.
Sau khi hon thnh chng trnh chnh main() mi c gi v bt u thc thi.
Trong v d n gin ny b np khi to t hp vector RESET cng vi hm khi
to c_int00 v gi thit rng c chng trnh b np khi to v chng trnh ng
dng chnh u nm cng trong vng nh vt l non- volatile. Trong cc trng hp
h thng phc tp hn, b np khi to c th bao hm c tc v sao chp chng
trnh chnh vo trong vng nh fast volatile trc khi n c gi v thc thi. B
np khi to cng c th m nhim c chc nng chun on, g ri v nng cp
h thng nu c. Chc nng chun on c th ch l kim tra b nh, ngoi vi v
tng thch tch hp trong h thng. Chc nng g ri cng c th l mt giao
din gim st cung cp thng tin v trng thi thi gian thc v h thng m ngi ta
vn thng bit ti vi tn gi l chng trnh monitoring. Vic nng cp hoc thay
i chng trnh b np khi to cng c th c thc thi nh kh nng lp trnh
FLASH in-circuit v np t b nh ngoi thng qua giao din vi trm ch hoc
chc nng tng t.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
Hnh4-3: Cu trc b np khi to boot-loader
4.3 Cc yu cu chung
Nh chng ta c bit i vi cc h thng thi gian thc, yu cu thit
k mt h iu hnh kh c bit. H nhng thi gian thc li yu cu h iu
hnh phi thc hin vi mt ngun ti nguyn thng rt hn hp. Mc d kch
thc b nh tch hp on-chip s c th tng ln trong tng lai nhng vi s pht
trin hin nay h iu hnh cho cc h nhng ch nn c khong nh hn 32 Kbytes.
H thng iu hnh m nhim vic iu khin cc chc nng c bn ca h
thng bao gm ch yu l qun l b nh, ngoi vi v vo ra giao tip vi h
thng phn cng. Mt im khc bit c bn nh chng ta bit v h iu hnh
vi cc phn mm khc l n thc hin chc nng iu khin s kin thc thi trong
h thng. C ngha l n thc hin cc tc v theo mnh lnh yu cu t cc
chng trnh ng dng, thit b vo ra v cc s kin ngt.
Bn nhn t chnh tc ng trc tip ti qu trnh thit k h iu hnh l (1)
kh nng thc hin, (2) nng lng tiu th, (3) gi thnh, v (4) kh nng tng
thch. Hin nay chng ta cng c th bt gp rt nhiu h iu hnh khc nhau
c bit cho cc h nhng cng v s tc ng ca 4 nhn t nu trn. Hu ht
chng u c kiu dng v 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 phn cng ca h nhng v khng d dng so
snh c gia chng vi nhau.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
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 dng phc v cho cc b qun l qu trnh, b lp lch b
qun l ti nguyn v b qun l vo ra. Phn ht nhn m nhim chc nng lp
lch, ng b v bo v h thng bi vic s dng sai, x l ngtChc nng iu
khin chnh ca n l phc v iu khin phn cng bao gm ngt, cc thanh ghi
iu khin, cc t trng thi v cc b nh thi gian. N np cc phn mm iu
khin thit b cung cp cc tin ch chung v phi hp vi cc hot ng vo ra
vi h thng. Phn ht nhn c vai tr iu khin rt quan trng m bo tt c
cc phn ca h thng c th lm vic n nh v thng nht.
Hai kin trc thit k phn ht nhn kinh in nht l kin trc vi ht nhn v
n ht nhn (monolithic). Cc vi ht nhn cung cp cc chc nng iu hnh c bn
ct li (th) theo c ch cc module tng i c lp m nhim cc tc v c th
v chuyn ri rt nhiu cc dch v in hnh iu hnh h thng thc thi trong
khng gian ngi s dng. Nh c ch ny m cc dch v c th c khi to
hoc cu hnh li m khng nht thit phi khi to li ton b h thng. Kin trc vi
ht nhn cung cp an ton cao bi v dch v h thng chy tng ngi s dng
vi hn ch v truy nhp vo ti nguyn ca h thng v c th c gim st. Kin
trc vi ht nhn c th c xy dng mt cch mm do ph hp vi cu hnh
phn cng khc nhau mt cch llinh hot hn so vi kiu kin trc ht nhn
monilithic. Tuy nhin do tnh c lp tng i gia cc modul trong vi ht nhn nn
cn thit phi c mt c ch trao i thng tin hay truyn thng gia cc modul v
vy c th l l do lm chm tc v gim tnh hiu qu hot ng ca h thng.
c im ni bt v ct li ca kin trc vi ht nhn l kch thc nh v d dng
sa i cng nh xy dng linh hot hn. Cc dch v thc thi tng trn ca ht
nhn v vy t c an ton cao. Kin trc vi ht nhn c pht trin mnh m
trong cc h thng a x l v d nh Windows 2000, Mach v QNX.
Kiu kin trc monolithic cung cp tt c chc nng/dch v chnh yu thng
qua mt qua trnh x l n l. Chnh v vy kch thc ca chng thng ln hn
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
kiu kin trc vi ht nhn. Loi hnh kin trc ny thng c p dng ch yu
cho cc phn cng c th m ht nhn monolithic c s tng tc trc tip vi phn
cng nh vy m kh nng ti u cng d dng hn so vi p dng kiu kin trc vi
ht nhn. Chnh v vy cng l l do ti sao kin trc monolithic khng th thay i
mm do linh hot nh kiu vi ht nhn. V d in hnh v loi hnh kin trc ht
nhn monolithic bao gm Linux, MacOS, v DOS.
V h iu hnh cng i hi v ti nguyn v kim c chc nng qun l
chng v vy ngi thit k cn phi nm c thng tin v chng mt cch y .
V d nh i vi h thng iu hnh cho Sun Microsystem Solaris yu cu ti thiu
khng gian b nh trn a l 8MB; Windows 2000 yu cu khong gp hai ln nh
vy.
4.4 H iu hnh thi gian thc
QNX l mt v d in hnh v h thng thi gian thc RTOS c thit k
p ng cc yu cu v lp lch rt kht khe. QNX cng cha thc s ph hp
c th c thc thi cho cc h thng nhng bi v n i hi dung lng b nh
khng nh v thng ph hp cho cc ng dng i hi v an ton v tin cy
ln.
H thng iu hnh thi gian thc l h iu hnh h tr kh nng xy dng
cc h thng thi gian thc.
Hnh 4-4: So snh kin trc RTOS v OS chun
H thng iu hnh vi phn li l ht nhn phi m nhim cc tc v chnh
nh sau:
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
X l ngt
Lu tr ng cnh chng trnh ti thi im xut hin ngt
Nhn dng v la chn ng b x l v phc v dch v ngt
iu khin qu trnh
To v kt thc qu trnh/tc v
Lp lch v iu phi hot ng h thng
nh thi
iu khin ngoi vi
X l ngt
Khi to giao tip vo ra
Hnh 4-5: cu trc h iu hnh thi gian thc
Ty theo c ch thc hin v xy dng hot ng ca ht nhn ngi ta phn loi
mt s loi hnh:
(1) H thng thi gian thc nh: Vi loi ny cc phn mm c pht trin m
khng cn c h iu hnh, ngi lp trnh phi t qun l v x l cc vn v
iu khin h thng bao gm:
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
7
X l ngt
iu khin qu trnh/ tc v
Qun l b nh
(2) Cng ngh a nhim
Mi qu trnh c mt khng gian b nh ring
Cc qu trnh phi c chia nh thnh cc Thread cng chia s khng gian
b nh.
(3) Cc dch v cung cp bi ht nhn
To v kt thc qu trnh/ tc v
Truyn thng gia cc qu trnh
Cc dch v v nh thi gian
Mt s cc dch v cung cp h tr vic thc thi lin quan n iu khin h
thng
c im c bn ca ht nhn thi gian thc in hnh:
Kch thc nh (lu tr ton b trong ROM)
H thng ngt
Khng nht thit phi c cc c ch bo v
Ch h tr phn kim tra chng trnh ng dng
Tng tc chuyn ng cnh v truyn thng gia cc qu trnh
Khi cc qu trnh ng dng ang thc hin th cc yu cu h thng
iu hnh c th c thc hin thng qua cc li gi hm thay v s
dng c ch ngt mm
Vi ht nhn (Micro - kernel): Bao gm mt tp nh cc dch v h tr
Qun l qu trnh
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
Cc dch v truyn thng gia cc qu trnh nu cn
Cc phn mm iu khin thit b l cc qu trnh ng dng
Ht nhn in hnh c bn
Loi ht nhn n gin nht l mt vng lp v hn thm d cc s kin xut
hin trong h thng v phn ng li theo s thay i nu c.
Vi mt b x l cu hnh nh nht, khng phi lc no n cng c th lu
ct ng cnh v khng th thay i con tr ngn xp hoc vng ngn xp rt
hn ch.
Thay v s dng cc thanh ghi thit b, vng lp thm d c th gim st cc
bin m chu s thay i cp nht bi cc b x l ngt.
Ht nhn c th c xy dng sao cho tt c cc tn hiu logic c iu
khin bi vng lp v nhp c iu khin bi cc ngt.
Cc tc v ln cn nhiu thi gian thc hin c th c chia nh thnh cc
tc v nh v c thc hin ti cc thi im khc nhau nh vo c ch
chuyn v s dng b m.
Cc ht nhn thc thi theo c ch ngt rt ging vi loi ht nhn thc hin
theo c ch vng lp thm d. N x l tt c cc tc v thng qua cc dch
v ngt.
Cc ht nhn ln v phc tp hn s bao gm mt s cc dch v ph phc v
cho vic truyn thng gia cc qu trnh. V nu c b sung y n s
tr thnh mt h iu hnh y .
Cc kiu loi ht nhn c bn
Ht nhn thc hin vng lp thm d
Ht nhn thc hin theo c ch ngt
Ht nhn qu trnh vn hnh qu trnh
Vic la chn loi ht nhn no hon ton ty thuc vo cc b x l v
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
kch thc phn mm, tuy nhin ring loi ht nhn vn hnh theo qu trnh khng
ph hp vi cc b x l nh.
Ht nhn qu trnh
Cc ht nhn qu trnh r rng l phc tp hn cc ht nhn thc hin theo c
ch thm d v iu khin ngt. Cc ng truyn tn hiu logic bn trong cc qu
trnh v cc dch v ngt c tch hp v thc hin thng qua vic truyn d liu.
Hnh 4-6: m hnh trng thi ca qu trnh
Ht nhn s phi m nhim chc nng lp lch cho cc qu trnh theo ng
m hnh trng thi.
RUN: qu trnh c thc hin
WAIT: cc qu trnh ch mt s kin hoc tn hiu vo ra kch hot qu trnh
READY: cc qu trnh sn sng c thc hin
Cc phn t thuc tnh ca mt qu trnh: Cc phn t ny cn thit
phc v cho vic lp lch. V d i vi c ch lp lch theo mc u tin s yu
cu thng tin sau vi mi qu trnh:
Tn (a ch b nh ca phn t qu trnh)
Trng thi: RUN, WAIT, READY
Mc u tin
Ng cnh (dng con tr qun l lu ct thng tin trong ngn xp)
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
CHNG 5
K THUT LP TRNH NHNG
5.1 Tc v v qu trnh (process)
Tc v (task)? L mt cng vic cn thc thi tham gia trong h thng
Qu trnh (process) l mt din bin thc thi mt tc v ca h thng.
i khi ngi ta vn dng ln hai khi nim ny v khng phn bit.
Tc v chu k (period) v khng chu k (aperiod).
Cc tc v phi thc hin lp li mt cch u n theo nhng khong thi
gian p c gi l cc tc v c chu k v p c gi l chu k ca tc v. Cc loi
tc v khc th c gi l tc v khng chu k.
5.2 Lp lch (Scheduling)
Ti sao phi lp lch?
m bo c c ch thc thi chia s ti nguyn hu hn v tho mn yu
cu thi gian thc. Lp lch phi nhm tho mn hay t ti c s tho hip gia
cc rng buc v ti nguyn, s ph thuc ln nhau hay thi gian thc hin.
5.2.1 Cc khi nim
Lp lch l mt php thc hin phn b v gn quy trnh thc thi cc tc v
cho b x l sao cho mi tc v c thc hin hon ton.
Lp lch = tm kim mt gin phn b thi gian thc hin a nhim hp
l vi cc iu kin rng buc cho trc. Hay ni cch khc l b lp lch phi x l
quyt nh v iu phi qu trnh/tc v thc hin.
C mt s thng tin v tc v lun phi quan tm i vi bt k b lp lch
thi gian thc no, bao gm:
- Thi gian xut hin a
i
(arrival time): Khi s kin xy ra v tc v tng ng
c kch hot.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
- Thi im bt u thc thi r
i
(release time): Thi im sm nht khi vic x
l
- sn sng v c th bt u.
- Thi im bt u thc hin s
i
(starting time): L thi im m ti tc v
bt u vic thc hin ca mnh.
- Thi gian tnh ton/thc thi c
i
(Computation time): L khong thi gian cn
thit b x l thc hin xong nhim v ca mnh m khng b ngt.
- Thi im hon thnh f
i
(finishing time): L thi im m ti tc v hon
thnh vic thc hin ca mnh.
- Thi gian ri ro/ xu nht w
i
(worst case time): khong thi gian thc hin lu
nht
- c th xy ra.
- Thi im kt thc d
i
(due time): Thi im m tc v phi hon thnh.
Hnh 5-1: gin thc hin ca mt tc v Ti
Trn c s b lp lch s phi thc hin bi ton ti u v:
Thi gian p ng (response time)
Hiu sut thc hin (s lng cng vic thc hin xong trong mt n v
thi gian)
S cng bng v thi gian ch i (cc tc v khng phi ch i qu lu)
V d v mt lch thc hin 2 tc v c m t nh trong Hnh 5-2.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
Hnh 5-2: gin lp lch thc hin 2 tc v
Trong trng hp ca v d ny cc thng s v thi gian thc hin ca cc
tc v tnh c nh sau:
Thi gian tnh ton C
1
= 9 v C
2
= 12 .
Thi gian bt u thc hin s
1
= 0; s
2
= 6
Thi im hon thnh: f
1 =
18 , f
2 =
28 .
Khong thi gian chnh lch thi im kt thc v deadline (Lateness) L
i =
f
i
d
i
:
L
1 =
4 , L
2 =
1 .
Khong thi gian ri/d tha gia thi gian cho php thc hin v thi gian
cn thc hin tc v (Laxity) X
I =
d
i
a
i
C
i
: X
1 =
13 , X
2 =
11 .
5.2.2 Cc phng php lp lch ph bin
Hnh 5-3: phn loi cc phng php lp lch
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
Tu thuc vo loi hnh tc v, ngi ta ra hai phng php lp lch l c
chu k v khng c chu k.
Lp lch non-preemptive: Phng php ny m bo cc tc v c thc
hin hon thnh mi khi thc thi, v vy thi gian p ng cho cc s kin khc c
th lu.
Lp lch preemptive: Phng php ny khc phc nhc im ca lp
lch non- preemptive khi thi gian thc thi cc tc v lu. Cc tc v s c thc
hin v c th b ngt gia chng phc v thc thi cc tc v khc. C ch lp
lch ny cho php m bo thi gian p ng cho cc s kin v tc v ngn v nhanh
hn.
Lp lch offline/tnh: Vic lp lch c thc hin da trn cc hiu bit hoc
d bo v cc s kin tc v thc hin trong h thng (thi im xut hin, thi
gian thc hin, deadline) v c quyt nh ti thi im thit k v c p
dng c nh trong sut qu trnh hot ng ca h thng. Vic lp lch trc c mt
s cc u im sau:
- Tc v tip theo c th c la chn thc thi trong khong thi gian l hng
s
- Kh nng p ng yu cu thi gian thc c th c bit trc v c
m bo
Nhc im:
o Khng th thay i lch trnh thc hin ca h thng trong qu trnh thc
hin
o i hi phi c thng tin thi gian chnh xc v cc tc v tnh ton lp
lch
Mt thut ton lp lch tnh c gi l ti u nu n lun lun c th tm
c mt lch iu phi tho mn cc rng buc cho trong khi mt thut ton
tnh khc cng tm c mt li gii.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
Lp lch online/ng: B x l thc hin vic lp lch trong qu trnh thc thi
da trn c s cc thng tin hot ng hin hnh ca h thng. S lp lch l
khng xc nh trc v thay i ng theo qu trnh thc hin.
Cc thut ton lp lch tnh ti u khng phi l ti u trong h thng
ng.
Khng tn ti mt li gii ti u cho vic lp lch trong h thng nhiu b
x l nu thi im xut hin yu cu thc thi ca cc tc v khng c bit trc.
Cc ht nhn c iu khin theo c ch ngt thng thc thi c ch lp
lch non- preemtive ng trong khi loi ht nhn vn hnh theo qu trnh li thc
thi theo c ch preemptive ng.
Mt thut ton lp lch ng c gi l ti u nu n c th tm ra c mt
lch iu phi iu khin h thng tho mn cc rng buc thi gian cho bt k
khi no m thut ton tnh khng tm ra c.
Lp lch tp trung hoc phn tn: Vic lp lch c thc hin p dng cho
cc tc v thc thi bi mt (tp trung) hoc nhiu b x l (phn tn).
Lp lch Mono hay Multi- processor: Nhim v lp lch v thc thi c
m nhim bi mt (mono) hoc nhiu b vi x l (multi). Tu thuc vo phc
tp v thut ton cn x l khi lp lch m ngi ta quyt nh phi s dng phng
php lp lch mono hay multi- processor.
Tnh kh lp lch: Mt h thng vi mt tp cc tc v v cc iu kin rng
buc c gi l kh lp lch nu tn ti t nht mt c ch lch trnh thc hin tho
mn cc tc v v iu kin rng buc .
V d v lp lch cho h thng a nhim vi 2 tc v. Tc v 1 thc hin theo
chu k v tc v 2 thc hin khng theo chu k vi thi gian thc thi ln hn thi
gian chu k lp li ca tc v 1.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
Hnh 5-4: gin thi gian thc hin lch ca tc v
5.2.3 K thut lp lch
FCFS
Trong c ch lp lch n trc c ph v trc th cc qu tnh c x l
theo th t m n xut hin yu cu v cho n khi hon thnh. C ch lp lch ny
thuc loi khng ngt c v c u im l d dng thc thi. Tuy nhin, n khng
ph hp cho cc h thng m h tr nhiu ngi s dng v c mt s bin i
ln v thi gian trung bnh m mt qu trnh hay tc v phi ch i c x
l. Hn na do vic x l khng ngt c nn c hin tng chim hu c quyn
b x l trong thi gian di v c th gy ra s tr bt thng trong qu trnh thc
hin ca cc tc v phi ch i khc.
Shortest Job First - SJF
Trong c ch lp lch ny tc v c thi gian thc thi ngn nht s c quyn
u tin cao nht v s c phc v trc. Vn chnh gp phi trong c ch
lp lch ny l khng bit trc c thi gian thc thi ca cc tc v tham gia
trong chng trnh v thng thng phi p dng c ch tin on v nh gi da
vo kinh nghim v cc tc v thc thi trong h thng. iu ny chc chn rt kh
lun m bo c chnh xc. C ch lp lch ny c th p dng cho c loi
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
ngt c v khng ngt c.
Rate monotonic (RM):
Phng php lp lich RM c l hin ny l thut ton c bit ti nhiu nht
p dng cho cc tc v hay qu trnh c lp. Phng php ny da trn mt s gi
thit sau:
(1) Tt c cc tc v tham gia h thng phi c deadline kiu chu k
(2) Tt c cc tc v c lp vi nhau
(3) Thi gian thc hin ca cc tc v bit trc v khng i
(4) Thi gian chuyn i ng cnh thc hin l rt nh v c th b qua
Thut ton RM c thc thi theo nguyn l gn mc u tin cho cc tc
v da trn chu k ca chng. Tc v no c chu k nh th s c c gn mc
u tin cao. Theo nguyn l ny vi cc tc v chu k khng thay i th RM s l
phng php lp lch cho php ngt v mc u tin c nh. Tuy nhin RM h tr
yu cu h thng khng tt.
Earliest-deadline-first (EDF)
Nh ng tn gi ca phng php, thut ton lp lich theo phng php ny
s dng deadline ca tc v hay nh iu kin u tin x l iu phi hot ng.
Tc v c deadline gn nht s c mc u tin cao nht v cc tc v c deadline
xa nht s nhn mc u tin thp nht. u im ni bt ca phng php ny l gii
hn c th lp lch p ng c 100% cho tt c cc tp tc v. Hn na mc u
tin gn cho mi tc v trong qu trnh hot ng l ng v vy chu k ca tc v
c th thay i bt k lc no theo thi gian.
EDF c th c p dng cho cc tp tc v chu k v cng c th m rng
p ng cho cc trng hp cc deadline thay i khc nhau theo chu k.
Vn chnh ca thut ton lp lich EDF l khng th m bo c tc v
no trong h thng c th khng c thc thi trong tnh hung qu h thng b
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
8
qu ti. Trong nhiu trng hp mc d mc s dng trung bnh nh hn 100%
nhng vn c th trong mt tnh hung no vn vt qua kh nng p ng ca
h thng tc l s c tc v khng c m bo thc thi ng. Trong nhng
trng hp nh vy cn phi iu khin bit tc v no b li khng thc hin
thnh cng hoc tc v no c thc hin thnh cng trong qu trnh qu .
Minimum Laxity first (MLF)
C ch lp lch ny s u tin tc v no cn t thi gian cn li thc hin
nht trc khi n phi kt thc m bo yu cu thc thi ng. y c xem l
c ch lp lch gn quyn u tin ng v d t c s ti u v hiu sut thc
hin v s cng bng trong h thng.
Round Robin
y l mt c ch lp lch phn b u n, ngt c v n gin. Mi
mt tc v c x l/phc v trong mt khong thi gian nht nh v lp li theo
mt chu trnh xuyn sut ton b cc tc v tham gia trong h thng. Khong thi
gian phc v cho mi tc v trong qu trnh l mt s tho hip gia thi gian
thc hin ca cc tc v v thi gian thc hin mt chu trnh. C th chn khong
thi gian rt nh v i lc chng ta khng nhn c ra rng ang c s phn
b thc hin trong h thng.
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 chu trnh thc hin.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
5.3 Truyn thng v ng b
5.3.1 Semaphore
Hnh 5-5: truyn thng qu trnh
Semaphores l mt cu trc d liu c nh ngha loi tr kh nng xung
t trong qu trnh chia s ti nguyn ca cc tc v trong hot ng ca h thng.
Semaphores h tr hai hot ng chnh nh sau:
w ait ( sem aphore ) : gim v kho cho ti khi semaphore c m
signal( sem aphore ) : tng v cho php thm mt lung mi c tham gia
hot ng
Trong hot ng phi hp cng vi semaphore c mt hng i gm cc tc v cn
c thc thi s c mt s tnh hung hot ng c bn nh sau:
Khi mt lung (thread) gi wait():
- Nu semaphore c m th lung s c gia nhp v tip tc thc
thi
- Nu semaphore ang b ng th nhnh s b kho v phi nm
ch trong hng i cho ti khi no semaphore c m
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
signal() s m semaphore:
- nu mt lung ang nm trong hng i v khng b kho
- nu khng c lung no trong hng i v tn hiu signal s c nh
v dnh cho lung tip theo
Cc loi Semaphore
Mutex semaphore
Cho php iu khin hot ng truy nhp n l vo ti nguyn chia s
ca h thng.
m bo loi tr xung t trong hot ng truy nhp ng thi ca nhiu
tc v, v ch c mt tc v c thc thi ti mi thi im.
Counting semaphore
iu khin ti nguyn m c th phc v cng mt lc nhiu tc v hoc
mt ngun ti nguyn cho php phc v mt s nht nh cc tc v
khng ng b v hot ng ng thi.
Nhiu lung c th truyn Semaphore
S lng lung c quyt nh bi bin m N ca Semaphore
Thc cht mutex semaphore l mt dng c bit ca counting semaphore vi
bin m N=1.
Thc thi Semaphore
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
S dng Semaphore trong vic ng b hai qu trnh to v s dng hng mc
thng qua b m trung gian.
Nhn xt:
Semaphores c th c s dng gii quyt bt k mt bi ton hay vn
ng b truyn thng no
Tuy nhin chng c mt s nhc im
o Chng ch yu s dng cc bin ton cc trong vic iu khin hot
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
ng ng b nn c th truy nhp bt k u trong h thng kh
kim sot
o Khng c s lin kt cht ch gia semaphore v d liu m c n
iu khin.
o c s dng ng thi cho c vic loi tr xung t (mutual
exclusion) v hot ng ng b cho cc tc v (scheduling)
5.3.2 Monitor
Monitor l mt ngn ng lp trnh c xy dng iu khin vic truy
nhp vo vng d liu chia s trong hot ng ca h thng. M chng trnh ng
b c b sung vo trong b bin dch v thc thi khi chy chng trnh.
M oni t or l mt modul ng gi
- Cc cu trc d liu c chia s
- Cc th tc hot ng thao tc trn cc cu trc d liu chia s
- ng b cc lung thc thi ng thi m c th kch hot cc th tc
trong hot ng h thng
M oni t or c th bo v d liu khi s truy nhp khng c cu trc. N m
bo rng cc lung truy nhp vo d liu thng qua cc th tc tng tc theo
nhng cch hp php v c kim sot.
M oni t or m bo loi tr xung t
- Ch c mt lung c th thc thi bt k th tc no ti mi mt thi
im (lung trong monitor)
- Nu c mt lung ang thc thi bn trong mt monitor n s kho cc
lung khc mun vo, do monitor cng phi c mt hng i.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
5.4 X l ngt
Tn hiu iu khin b VXL kch hot bi mt s kin tham gia trong qu
trnh hot ng ca h thng lm h thng ngng v chuyn hng thc thi c
gi l tn hiu ngt. N s ngt b VXL khi hot ng m n ang thc thi v
chuyn sang thc hin mt cng vic khc phc v cho s kin kch hot ngt tng
ng. V d nh trong qu trnh thu thp d liu, VXL lun phi ch i thi im
n nhn d liu v s kch hot s kin ngt CPU mi khi c d liu xut hin
kp thi ghi d liu vo b nh. Sau khi hon thnh, CPU phc hi li trng thi
ca h thng v tr li tip tc thc hin chng trnh t thi im m n b ngt.
i vi b x l ngt, n s phi thc hin hai nhim v chnh l: (1) Xc nh
c s kin ngt v (2) nhn dng s kin ngt trc khi tc v phc v ngt tng
ng c kch hot. Hnh 56 m t mt chu trnh c bn thc hin ngt trong cc
h VXL/VK.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
Hnh 5-6 : chu trnh thc hin ngt
Hnh 5-7 : v d v cu trc phn cng x l ngt
Hnh 5-8 : c ch thc hin th tc ngt
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
Th tc kch hot mt tc v phc v s kin ngt c m t nh trong
Hnh 5-8. Thng thng ngi ta hay quan tm nhiu n p ng ca CPU vi s
kin ngt v thi gian thc hin tc v ngt. y thi gian p ng ph thuc v
quyt nh bi tc v kh nng x l ca phn cng cn thi gian thc hin tc
v ngt ch yu quyt nh bi tc v ngt di hay ngn v do chng trnh quyt
nh.
Hnh 5-9 : v d v ngun ngt DSP
Cc ngun ngt ngoi/cng c th c nhn dng theo kiu tn hiu ngt
- Theo sn xung (ngt c kch hot khi xut hin sn xung dng ti
chn
- tn hiu ngt)
- Theo mc (ngt c kch hot khi xut hin mt tn hiu xung mc tch cc
ti chn nhn tn hiu ngt)
Mt s kin ngt cng c th c kch hot ch bi mt hot ng c hoc
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
vit vo mt thanh ghi thit b ngoi vi hoc cc thanh ghi iu khin hoc trng thi.
S xung t tranh chp gia cc ngun ngt cng xut hin ti mt thi
im c th c gii quyt bng mc u tin hoc kt ni cng vi b x l.
Cc ngun ngt goi c th c ti gin vic x l bng s kt hp vi phn mm
v cng chia s cc ng tn hiu ngt. C ch thc hin ngt c s tranh chp v
gii quyt bng mc u tin c m t nh trong Hnh 5-10.
Hnh 5-10 : c ch thc hin ngt theo mc u tin
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
CHNG 6
THIT K H NHNG: T HP PHN CNG V MM
6.1 Qui trnh pht trin
Qu trnh pht trin phn mm nhng thc hin theo chu trnh sau:
(1) Problem specification
(2) Tool/chip selection
(3) Software plan
(4) Device plan
(5) Code/debug
(6) Test
(7) Integrate
6.2M hnh ho s kin v tc v
6.2.1 Phng php m hnh Petrinet
Nm 1962 Carl Adam Petri cng b phng php m hnh hnh ho tc
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
9
v hay qu trnh theo s ph thuc nhn qu c ph cp rng ri v c bit
ti nh ngy ny vi tn gi l mng Petri.
Mng Petri c s dng ph bin biu din m hnh v phn tch cc h
thng c s cnh tranh trong qu trnh hot ng. Mt h thng c th hiu l mt
t hp ca nhiu thnh phn v mi thnh phn th u c cc thuc tnh. Cc thuc
tnh c th thay i v c c trng bi cc bin trng thi. Mt chui cc
trng thi s m t qu trnh ng ca mt h thng.
Mng Petri thc s l mt gii php m t h thng ng vi cc s kin
ri rc tc ng lm thay i trng thi ca cc i tng trong h thng theo tng
iu kin c th trng thi ca h thng.
Mng Petri c thit lp da trn 3 thnh phn chnh: (1) Cc iu kin,
(2) cc s kin, v (3) quan h lung. Cc iu kin c th l tho mn hoc khng
tho mn. Cc s kin l c th xy ra hoc khng. V quan h lung m t iu
kin ca h trc khi s kin xy ra.
Cc iu kin i hi phi tho mn mt s kin xy ra hoc chuyn trng
thi thc hin th c gi l iu kin trc (precondition). Cc iu kin m c
tho mn khi mt s kin no xy ra th c gi l iu kin sau (postcondition).
6.2.2 Qui c biu din m hnh Petrinet
Trong qui c biu din hnh ho th mng Petri s dng cc vng trn
biu din cc iu kin, cc hp biu din cc s kin, v mi tn biu din quan
h lung. Mt v d minh ho v mng Petri c m t trong Hnh 6-1, trong :
- P = { p
1
, p
2
, ..., p
np
} l tp gm np v tr c biu din trong m hnh
(c m t bi cc vng trn);
- T = {t
1
, t
2
, ..., t
nt
} l tp gm nt chuyn i trong tp chuyn i biu din
trong m hnh (c m t bi cc hnh ch nht);
- I biu din quan h i vo chuyn i v c k hiu bi ng mi tn
theo
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
- hng t cc v tr ti cc chuyn i;
- biu din quan h i ra khi chuyn i v c k hiu bi cc ng mi
- tn theo hng t cc chuyn i ti cc v tr;
- M ={m
1
, m
2
, ...m
np
} l du trng thi ca cc chuyn i trong h thng.
Cc gi tr m
i
l s cc th bi (c k hiu nh cc chm trn en) cha
bn trong cc v tr p
i
trong tp du M.
Hnh 6-1: v d v mt mng petri
H thng ng c th c m t bi mng Petri nh s chuyn dch cc th
bi trong cc v tr ca h thng m hnh v tun th theo lut sau:
- Mt chuyn i c php thc thi nu tt c cc v tr i vo chuyn i
cha t nht mt th bi.
- Khi mt chuyn i c thc thi xong (hon thnh) th mt th bi s b
loi ra khi v tr i vo chuyn i ng thi b sung thm mt th bi vo
cc v tr u ra tng ng ca chuyn i .
Cc trng thi ng ca h thng c m t bi tp R(M ) nh du bi cc
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
du trong 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
. Tng ng ln lt nh sau:
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.2.3 M t cc tnh hung hot ng c bn vi Petrinet
ng hnh (Song song) v ng b
Trong m hnh PN m t nh trong Hnh 62 (a), cc chuyn i t1 v t2
c php thc hin ng thi; hot ng ca chng khng nh hng n nhau.
Cc hot ng c m hnh bi hai chuyn i thc hin song song. Trong h
thng d phng vi tin cy cao, m hnh ny c s dng biu din hai
thnh phn C1 v C2 song song m bo hot ng d phng; trong trng hp
ny cc v tr p1 v p3 biu din iu kin lm vic, cc v tr p2 v p4 biu din
iu kin li, t1 v t2 l cc s kin li trong cc tc v C1 v C2 mt cch tng
ng.
Hnh 6-2: m hnh petrinet hot ng song song a) c lp b) ng b
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
Trong hot ng song song, cc tc v hon ton c lp, tuy nhin nu cc s kin
cn phi kt thc v l iu kin cho mt chuyn i khc th hot ng ng
b c th c thc hin nh b sung mt chuyn i t3 nh m t trong Hnh 6-2
(b). Khi chuyn i t3 cn th bi ng thi ca c p2 v p4.
Chia s ng b
Mt yu t c trng trong hot ng ca h thng phn tn l thng phi
chia s mt s ti nguyn hu hn. S thiu thn v ti nguyn lm hn ch hot
ng ca h thng trong qu trnh x l thm ch lm tc nghn h thng. Vic m
hnh v phn tch cc h thng c hin tng tc nghn l mt tc v kh khn
trong hu ht cc qu trnh m hnh c th gp phi.
Hnh 6-3: hot ng ca b m vi dung lng hu hn
minh ho tnh hung ny, biu din hot ng ca b m vi dung lng
hu hn c m t bi PN trong Hnh 6-3. V tr p3 m hnh s cc v tr b m
cn trng v v tr p2 m hnh s v tr c in y; ch rng tng cc th bi
cha trong cc v tr p2 v p3 lun l hng s (trong v d ny l 3). Chuyn i t2
m hnh qu trnh in y mt v tr b m v hon thnh nu c t nht mt v tr
b m cn trng cng vi th bi cha trong v tr p1 v p3. Chuyn i t3 c
php thc hin nu c t nht mt v tr b m c in y. Khi hon thnh
chuyn i t3, mt th bi s c chuyn t v tr p2 sang v tr p3.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
Tun t
Hot ng tun t s c m t v minh ho bi hot ng ca b to v b
s dng thng qua mt b m. B to s sinh ra cc i tng a vo trong mt
b m v s c ly ra bi b s dng. Qu trnh s dng s phi c thc hin
mt cch tun t theo qu trnh to ra i tng. M hnh cho hot ng ny c
din t bi PN nh trong Hnh 6-4 (a). Th bi cha trong v tr p1 c ngha l b
to sn sng thc hin.
Khi cc chuyn i t1 v t2 hon thnh th mt i tng c to ra (mt
th bi tng ng cng s c chuyn vo trong b m m hnh bi v tr p5) v
b to li sn sng tr li. Nu b s dng c nhu cu tiu th (c m hnh bi th
bi cha trong v tr p3 ) v ang c t nht mt i tng trong b m th mt th
bi cha trong v tr p5 s c ly i v chuyn i t3 s hon thnh.
a) b)
Hnh 6-4: hot ng ca b m s dng vi dung lng a)v hn v b) hu hn
Trong cch m t trong Hnh 6-4 (a) th vic to v s dng c thc hin
thng qua mt b m vi gi thit l c dung lng v hn. Trong thc t th cc
b m l hu hn, m t hot ng vi b m loi ny Hnh 6-4 (b) c s
dng. V tr p6 m hnh cc v tr b m cn trng v v tr p5 m hnh cc v tr b
m c in y. Tng s lng cc th bi cha trong cc v tr p5 v p6
phi lun l hng s. Nu mt th bi c gn cho v tr p5 trong du khi to th
b to s khng th to thm i tng chng no b s dng vn cha tiu th i
tng trong b m.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
Loi tr xung t
Hai tc v C1 v C2 c php lm vic song song v cng chia s ti
nguyn CS, nhng khng c truy nhp vo ti nguyn ng thi. Gin PN cho
hot ng ny c m t nh trong Hnh 6-5. Cc v tr p1 v p5 biu din cc tc
v C1 v C2 lm vic c lp; v tr p2 v p6 biu din cc yu cu ca cc tc v
C1 v C2 mt cch tng ng khi mun truy nhp vo ti nguyn chia s CS; p3 v
p7 biu din CS ang b chim dng bi cc tc v C1 v C2 mt cch tng ng.
V tr p4 m t quyt nh xem tc v no c th truy nhp ti nguyn Cs v trnh
cc v tr p3 v p7 b nh du ng thi. Thc t khi p2 v p6 c nh du th
cc chuyn i t2 v t5 xung t. Vic hon thnh mt trong hai tc v s kho/cm
ln nhau. Vic hon thnh chuyn i t3 hoc t6 s m hnh vic gii phng ngun
ti nguyn chung (chuyn th bi tr li v tr p4) v tr v iu kin lm vic bnh
thng.
Hnh 6-5: hot ng loi tr hai tc v song song chia s chung ti nguyn
bt u lm quen vi nguyn l biu din m hnh ha bng mng Petri
chng ta xt hot ng ca mt h thng ng b gia hot ng to v s dng
mt hng mc (item) thng qua b m nh c mt t trong hnh di.
B to - Producer:
To ra hng mc v
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
b sung vo b m
B s dng (tiu th) - Consumer:
Ly hng mc ra khi b m v
S dng hng mc
Hnh 6-6: hot ng ca h thng gm 1 b to v 1 b s dng
Trong trng hp c nhiu hn mt b s dng th h thng c biu din nh sau:
Hnh 6-7: hot ng ca h thng goomg 1 b to v 2 b s dng
H thng c 2 b m
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
H thng va xt c m hnh ha bi iu kin v s kin. Cc iu kin
c m t bi cc vng trn v nu iu kin tha mn th khi vng trn s c
biu din vi mt chm trn nm trong tng ng vi mt th bi (token).
S kin c k hiu bi cc hp hnh ch nht. Vi mi mt s kin th s tn ti
- mt tp cc iu kin trc v c nhn bit bi cc mi tn i vo cc s
kin t cc iu kin v
- mt tp cc iu kin sau c nhn bit bi cc mi tn i ra khi cc s
kin v i vo cc iu kin .
Mt s kin c th xy ra (c thc thi) khi v ch khi
tt c cc iu kin trc tng ng c tha mn (nhn c th bi) v
tt c cc iu kin sau tng ng cha c tha mn.
Nu mt s kin xy ra th
tt c cc iu kin trc tng ng s b xa b (reset) v
tt c cc iu kin sau tng ng s c thit lp (set).
Vi loi mng biu din nh trn ngi ta gi l mng Petri c bn
(Elementary Net) v k hiu tt l EN.
thun tin v n gin ha trong vic biu din ngi ta c th s dng
cc mi tn c thm trng s nguyn m t h thng c chung nhiu iu kin
trc v sau tng ng cng vi mt s kin hoc iu kin. c bit khi s hng
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
mc trao i gia b to v b s dng ln hn 1. Vi loi mng nh vy ngi ta
phn loi v gi l mng Petri Chuyn i/V tr (Transitions/Places) k hiu tt l
P/T-net.
- Cng tng t nh EN, P/T-net bao gm:
- Cc v tr c k hiu v m t bi cc vng trn: Cc v tr c th cha mt
s nguyn dng cc th bi.
- Cc chuyn i c m t bi cc hnh ch nht: Cc chuyn i s ly i
hoc thm vo s th bi t hoc ti mt v tr.
- Cc mi tn kt ni trc tip gia cc v tr v chuyn i: Cc mi tn c
km theo cc trng s tng ng vi s lng th bi m n c th c ly
ra hoc thm vo trong cc v tr.
Qui c: Mt tp v tr kt ni vi chuyn i thng qua mt mi tn trc
tip theo chiu t v tr ti chuyn i c gi l tp cc tin chuyn i. Ngc
li, mt tp v tr kt ni vi chuyn i thng qua mt mi tn trc tip theo chiu
ngc t v tr ti chuyn i th c gi l tp cc hu chuyn i.
Mt chuyn i c th xy ra (thc hin) khi v ch khi tt c cc v tr trong
tp tin v tr cha mt s lng ti thiu th bi nh c nh ngha bi cc
trng s ca cc mi tn tng ng.
Khi mt chuyn i c thc thi n s
loi b bt s th bi t tp tin v tr bng ng s lng c nh
ngha cho cc trng s ca cc mi tn tng ng v
cng thm vo s lng cc th bi vo tp hu v tr ng bng vi trng s
ca cc mi tn tng ng.
V d biu din m t mt hot ng h thng vi 2 hng mc cn ng b
gia b to v b s dng.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
Hnh 6-8 : hot ng ng b vi 2 hng mc
c th biu din h thng mt cch khoa hc v logic cn c mt nh
ngha y m t bi mng Petri.
Mng iu kin/ s kin
nh ngha: N = (C, E, F ) c gi l mt mng nu v ch nu n tho
mn cc thuc tnh sau:
C v E l cc tp c lp v C E u.
F _(E x C ) (C x E) l quan h nh phn v c gi l quan h lung.
C c gi l cc iu kin v E c gi l cc s kin.
nh ngha: Cho mt mng N v x e (C E) . x := { y | yFx}c gi l tp
cc iu kin trc ca x v x := { y | xFy} c gi l iu kin sau ca x.
Hay ni cch khc l mt iu kin cn phi c tho mn mt s kin
no xy ra th c gi l iu kin trc v mt iu kin c tho mn sau
khi mt s kin no xy ra th c gi l iu kin sau ca s kin .
nh ngha: Cho mt tp (c, e) e C x E
(c, e) c gi l mt vng lp nu cFe . eFc
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
Mng N c gi l thun nht nu F khng cha bt k mt vng lp no.
nh ngha : Mt mng c gi l n gin nu khng c bt k hai chuyn
i t1, t2 no c cng tp cc iu kin trc v cc iu kin sau.
Cc mng m khng cha bt k phn t tch bit no cng nh khng c
thm bt k mt hn ch no th c gi l mng iu kin /s kin.
Mng chuyn i/v tr
Trong cc mng iu kin/s kin ch cha nhiu nht l mt token cho mi
mt iu kin. hn ch iu ny tc l mt iu kin c th cha nhiu token v
ngi ta gi l mng chuyn i/v tr. Cc v tr tng ng vi cc iu kin v
cc chuyn i tng ng vi cc s kin trong mng iu kin/s kin.
S lng token cho mi mt iu kin c gi l Marking. V mt ton
hc, Marking chnh l mt nh x ton hc cho php chuyn mt tp cc v tr vo
mt tp cc s t nhin c m rng bi cc biu tng c bit .
V d : M t chng trnh iu khin lung tu in bng mng Petrinet
iu kin/s kin trnh trng hp xung t trn mt ng ray theo hai hng
tu chy.
Cc s kin :
- Tu mun vo ng ray theo chiu sang phi.
- Tu ang chuyn ng trn ng ray theo chiu phi.
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
- Tu thot ra khi ng ray theo chiu phi.
- Tu mun vo ng ray theo chiu sang tri.
- Tu ang chuyn ng trn ng ray theo chiu tri.
- Tu thot ra khi ng ray theo chiu tri.
Cc iu kin :
- Tu vo ng ray t chiu bn tri
- Tu ri khi ng ray theo chiu phi
- Tu ri ng ray
- Tu vo ng ray t chiu bn phi
- Tu ri khi ng ray theo chiu tri
Token : ng ray sn sng cho tu vo theo mt trong hai chiu
6.2.4 Ngn ng m t phn cng (VHDL)
VHDL (Very High Speed Integrated Circuit Hardware Description Lanuage)
l mt ngn ng chung m t cc thit k phn cng mc phn t logic c bn
cu thnh nn h thng v c pht trin bi t chc quc phng M. Mc
ch chnh l thun tin cho vic trao i d liu thit k phn cng theo mt
nh dng chun m mi ngi c th hiu v thng dch, to iu kin thun li
trong vic phi hp hay hp tc trong cc d n thit k. c bit n rt thun tin
trong vic chuyn i hay tng hp bin dch thnh mt dng ngn ng thc thi
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
phn cng thc. iu ny rt kh thc hin bng cc ngn ng bc cao nh C
nhng vi VHDL iu ny chnh l u im ni bt v l th mnh trong vic m
hnh ho h thng, m t mt cch chi tit cc phn t cng cu thnh tham gia trong
h thng.
VHDL l mt chun IEEE (Std-1076) c s h tr bi rt nhiu nh
cung cp pht trin phn cng. ng dng mt cch chuyn nghip ngn ng ny l
phc v cho vic m t cc mch ASICs phc hp, ch to thc thi cc mch
FPGA...
Ngn ng VHDL c th c hiu kh d dng vi cu trc c php r rng
gn ging nh ngn ng Visual Basic v Pascal. N c th pht huy c th mnh
v c php nh ngha xy dng kiu d liu mi v h tr cho vic lp trnh
theo nhm. Vi xu th hin nay cc nhm pht trin c th thc thi vi iu kin
cch xa nhau v khong cch a l, v vy vic phi hp v thit k theo nhm l rt
cn thit.
mainstream applications (More Flash, Less Cash, Circuit Cellar, 178, May
2005). I agree with 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 designs that were
inconceivable only a few decades ago. Perhaps most importantly, using VHDL to
define hardware is fun
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
6.3 Thit k phn mm iu khin
6.3.1 M hnh thc thi b iu khin nhng
Hnh 6-9: h thng iu khin s
thc thi mt b iu khin s trn thit b vt l thc phi i hi xt
xem b iu khin vi m hnh hm truyn cho c th hin thc ha c khng.
iu kin phi xt thc ra l m bo rng khng c u ra no ca h thng li
xut hin trc khi c tn hiu vo. Hay ni cch khc h thng xy dng phi tun
th tnh nhn qu.
Nu khai trin hm truyn ca b iu khin s c m t dng tng qut
thnh chui ly tha theo z th n phi khng c php cha bt k phn t no
cha ly tha dng ca z. Hay ni cch khc l b iu khin c m t nh (1.5)
phi c bc 0 tc l bc ca t s phi nh hn hoc bng bc ca mu s ( n m ).
Sau khi thit k c b iu khin s th vic cn li l lp trnh v np
vo cc b iu khin vt l kh trnh. Thc cht qu trnh ny l thc thi hm
truyn ca b iu khin s bng lp trnh s trn cc b iu khin vt l c.
y chng ta s ch yu quan tm n vic trin khai chun b cho bc lp trnh
cc hm truyn ca b iu khin s. Xut pht t m t hm truyn dng tng qut
ca b iu khin s
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
trong , a
0
0 nu b
0
0 ; m v n l cc s nguyn dng.
C th trin khai thc thi mt hm truyn ca b iu khin s theo 3 cch
nh sau:
Trin khai lp trnh s trc tip
trin khai lp theo phng php lp trnh trc tip th hm truyn b iu
khin cho biu din trong min z phi c chuyn i v dng hm truyn ri
rc
T ng thc (1.7) d dng tnh ra c gi tr ca u ra u
*
(t ) ca b iu
khin s cho theo cc gi tr hin ti v qu kh ca u vo e
*
(t ) cng nh cc
gi tr qu kh ca chnh n
thc hin b iu khin ny yu cu phi lu tr cc gi tr qu kh ca
u vo v u ra ca b iu khin. Vi b iu khin cho yu cu phi c n -
m gi tr cn phi lu tr hay ni cch khc cn phi c n - m phn t lu tr.
Mt phng php khc trin khai lp trnh trc tip l s dng c ch tch
trc tip u vo v u ra ca b iu khin theo mt bin trung gian X(z). Khng
mt tnh tng qut nu chng ta nhn c t v mu ca hm truyn b iu khin s
cho vi mt bin X(z). T rt ra c hm truyn ca u vo E(z) theo X(z)
v hm truyn ca u ra U(z) theo X(z). Phng php ny thc hin nh sau:
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
Theo phng php ny yu cu s phn t lu tr chnh bng gi tr n, bng
bc ca a thc mu s trong hm truyn b iu khin s cho. T cc ng thc
(1.9) v (1.10) ta cng d dng xy dng c gin trng thi m t hm truyn
ca b iu khin s (gi thit m = n = 3 ).
Hnh 6-10: gin trng thi ca h thng s
Trin khi lp trnh s ghp tng
Cch trin khai ny yu cu chuyn i b iu khin v dng tch ca cc
hm truyn n gin c th d dng thc hin bng cc chng trnh n gin.
Hay ni cch khc b iu khin s cho l kt qu ghp tng ca nhiu b iu
khin nh.
Trin khai lp trnh s song song
B iu khin cho s c tch ra thnh tng ca cc b iu khin n
gin v c th thc hin lp trnh song song cho cc b iu khin .
6.3.2 V d trin khai b iu khin PID s
Xp x ho thnh phn vi tch phn
C 3 phng php xp x gin on ph bin p dng cho cc thnh phn
tch phn: vt trc (forward), vt sau (backward), v trapezoidal
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
Xp x sai phn vt trc
p dng chuyn i z cho (1.11) ta thu c
D xp x ho tch phn s l:
Hnh 6-11: xp x sai phn vt trc
Xp x sai phn vt sau
Tng t nh sai phn vt trc ta c xp x tch phn nh sau:
Hnh 6-12: xp x sai phn vt sau
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
Xp x Trapezoidal
Php xp x tch phn thu c s l:
Hnh 6-13: xp x trapezoidan
ng thc l tng m t b iu khin PID
trong , K l h s khuch i, T
I
l hng s thi gian tch phn, T
D
l hng s
thi gian vi phn.
Trong trng hp chu k trch mu nh, ng thc (1.16) c th c
chuyn sang dng ng thc sai phn bng phng php ri rc ho. Trong ,
thnh phn vi phn c th c xp x nh php tnh sai phn bc nht v thnh
phn tch phn c xp x dng vt trc. Bng php ri rc ny ta thu c
ng thc m t b iu khin PID s nh sau:
T ng thc (1.17) ta d dng nhn thy rng thc thi b iu khin PID
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
cn thng tin ca tt c cc sai lch e trong qu kh. thun tin cho vic thc
hin lp trnh, dng qui s ph hp hn v c th rt ra t (1.17) nh sau:
T (1.17) v (1.18) ta rt ra c algorithm iu khin ca PID s:
M hnh b iu khin dng hm truyn ta c:
trong , thnh phn tch phn c th xp x theo mt trong ba cch nh m t
trong phn 6.1, thnh phn vi phn c th c xp x nh sau:
t (1.21) c th xp x hm truyn thnh phn vi phn
Nh vy hm truyn ca b iu khin PID s c th c xp x theo mt
trong 3 dng nh sau:
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
Faculty of Electronics & Electrical Engineering Embedded Systems
This Document is Prepared by Dr. Bui Trung Thanh
1
TI LIU THAM KHO