Professional Documents
Culture Documents
Giáo Trình Hệ Thống Nhúng
Giáo Trình Hệ Thống Nhúng
Bin tp bi:
Khoa CNTT HSP KT Hng Yn
MC LC
1. M u h thng nhng
2. Tng quan v h thng nhng
3. Cc thnh phn c bn trong kin trc phn cng H thng nhng
4. Mt s nn phn cng v C s k thut ca phn mm nhng
5. H iu hnh cho cc h thng nhng (HH thi gian thc)
6. C bn v lp trnh nhng
7. Tc v v truyn thng gia cc tc v
8. K thut lp lch v x l ngt trong thi gian thc
9. Thit k H thng nhng
Tham gia ng gp
1/99
M u h thng nhng
Tn Module: H thng nhng (Embedded System)
M Module: ES334
Gio vin: Hong Quc Vit - Phm Ngc Hng
Ngnh hc: Cng ngh Thng tin S gi hc: 96 gi - 02 tn ch
Loi hnh o to: Chnh qui Thi gian thc hin: Hc k II Nm III
Nm hc: 2009/2010 Loi Module: LT
Phin bn: 20081007
Mc tiu
Sau khi hon thnh module ny, ngi hc c kh nng:
Gii thch c mt s cc khi nim lin quan n h thng nhng, h iu
hnh nhng v phn mm nhng.
Phn tch c cc c im cu trc phn cng, h iu hnh v phn mm
cho cc h thng nhng.
ng dng trong thit k v pht trin phn mm cho h thng nhng n gin.
Rn luyn kh nng t nghin cu, kh nng lm vic theo nhm.
Module ny s gip ngi hc pht trin v hon thin cc nng lc: Phn tch (M3), T
vn (M3) v Thc hin(M3), thit k (M3).
M t module
Module ny cung cp cho ngi hc cc kin thc c bn v h thng nhng, ni dung
chnh bao gm: Gii thiu chung v cc h thng nhng; Kin trc phn cng h thng
nhng; H iu hnh nhng, phn mm nhng.
2/99
Ni dung MODULE
Tng quan v H thng nhng
Gii thiu mn hc
H thng nhng l g?
Lch s pht trin ca h thng nhng
Xu hng pht trin ca cc h thng nhng
Nhng thch thc v vn cn tn ti vi h thng nhng
Cc c im ca h thng nhng
Mt s v d v h thng nhng
Cc thnh phn c bn trong kin trc phn cng H thng nhng
n v x l trung tm CPU
Xung nhp v trng thi tn hiu
Bus a ch, d liu v iu khin
B nh
Ngoi vi
Giao din
Mt s nn phn cng nhng thng dng
Chip Vi x l/Vi iu khin nhng
Chip DSP
C s k thut ca phn mm nhng
Phn mm nhng l g?
c im ca phn mm nhng
3/99
4/99
Hc liu:
Gio trnh lu hnh ni b, sch tham kho, my tnh, ti nguyn trn Internet, Projector.
nh gi:
nh gi qu trnh (tiu lun): 40%
Kim tra cui k: 60%
K hoch hc tp
B tr ging dy module H thng nhng (2 tn ch) nh sau:
5/99
30 tit l thuyt (thc hin trong 10 bui, mi bui 3 tit) 6 tit tho lun v 60 gi chun
b c nhn: 45 gi (ti liu 90 trang) v 15 gi (bi tp ln).
K hoch hc tp
Bi Mc tiu
Trnh by
c mc
tiu ca
Module
Trnh by
c nh
ngha, lch
s pht
trin ca h
thng
nhng
Ch ra c
xu hng
pht trin
ca v cc
thch thc
vi h
thng
nhng
Trnh by
c cc
c trng
c bn ca
ca mt h
thng
nhng
Trnh by
c cc
c im c
th ca H
thng
nhng:
Giao din,
kin trc
CPU, thit
Hot ng gio
vin
Gii thiu
v mn
hc,
phng
php hc,
mc tiu
mn hc...
Nu mt
s ng
dng c s
dng h
thng
nhng trn
thc t
(my
git...) t
trnh
by nh
ngha h
thng
nhng
Trnh by
xu hng
pht trin
ca h
thng
nhng
hin nay,
nhng
thch thc
v cc vn
cn tn
ti vi h
h thng
nhng
Hot ng
sinh vin
SGSV
c bi 1
trong ti liu
[1]Ghi nhn
li nhng vn
c
bn,Tham gia 8h
tho lun cc
vn m gio
vin nu
ra.c ti liu
c giao
iu kn
thc hin
Phng LTTi
liu tham
kho [1]
6/99
b ngoi vi,
cng c
pht trin
v tin
cy
Nu c
mt s v
d v h
thng
nhng trn
thc t
Ly v d
v mt
chic my
PC thy
r c
im ca
cc thnh
phn :
mn hnh,
CPU, h
iu hnh,
cc thit b
ngoi vi...
Tho lun
v cc c
im ca
mt PC
v: Giao
din,
CPU, h
iu hnh,
cc phn
mm, cc
thit bi
ngoi vi...
T v d
trnh by
cc c
im ca
mt H
thng
nhng v
Giao din,
kin trc
CPU...
Nu mt
vi v d
ca H
thng
nhng
trong thc
7/99
t cuc
sng
Tng kt
bi hc
Hng
dn sinh
vin c
ti liu
tham
kho, v
nhn
mnh
nhng
cng vic
ca sinh
vin trong
bi tip
theo
Trnh by
c cc
thnh phn
c bn
trong kin
trc phn
cng ca
mt h
thng
nhng
Trnh by
c c
im, cc
chc nng
ca cc
thnh phn
trong phn
cng ca
mt h
thng
nhng:
CPU, Bus,
B nh...
Tho lun
v thnh
phn phn
cng ca
mt h
thng PC
thng
thng v
chc nng
ca tng
thnh
phn
Tho lun
v vai tr
ca cc
thnh
phn phn
cng trong
mt PC
Lin h v
so snh
cc thnh
phn phn
cng ca
c ti
liu [1]
Tham
gia
tho
lun v
cc
vn
nu ra
Nm
vng
cc
8h
kin
thc
trong
mn
hc
kin
trc
my
tnh
Ghi
ch
nhng
8/99
PC vi cc
thnh
phn phn
cng ca
mt h
thng
nhng
M t c
im v
trnh by
chc nng
ca cc
thnh
phn phn
cng h
thng
nhng
Hng
dn sinh
vin c
ti liu
tham
kho, v
nhn
mnh
nhng
cng vic
ca sinh
vin trong
bi tip
theo.
Trnh by
tng quan
v cc Chip
Vi x l
nhng
Trnh by
c mt
s nn phn
cng nhng
thng dng
hin nay
Trnh by
tng quan
v cc
Chip Vi
x l
nhng.
Vai tr
ca cc
Chip trong
cc h
thng
vn
c bn
c ti
liu [1]
Nm
vng
cc
kin
8h
thc
trong
mn
hc
kin
9/99
v: c
im, chc
nng, u
im ...
Trnh by
c khi
nim v
phn mm
h thng
nhng, xu
th pht
trin phn
mm nhng
trn th
gii hin
nay v tm
quan trng
ca n.
Trnh by
c cc
c im
ca mt
phn mm
nhng
M t c
quy trnh
pht trin
ca mt
Trnh by
mt s
phn cng
nhng
hin nay.
Gii thch
cc c
im,
chc nng,
u im
vi mi
loi
Hng
dn sinh
vin c
ti liu
tham
kho.
trc
my
tnh
Ghi
ch
nhng
vn
c bn
Tho lun
v bi hc
trc (bi
c).
Tho lun
v phn
mm trong
mt h
thng my
tnh PC
trnh by
khi nim
v phn
mm
nhng
Tho lun
v cc c
im ca
mt phn
mm PC
trnh
by cc
c im
ca mt
c
trc
cc
ch
lin
quan
trong
ti liu
Tham
gia
tho
lun v 8h
bi hc
trc,
tho
lun v
phn
mm
trong
h
thng
my
tnh
Phng
L
thuyt
Ti
liu
tham
kho
[1]
10/99
phn mm
nhng.
phn mm
nhng
Trnh by
cc bc
trong quy
trnh pht
trin ca
phn mm
nhng
(qu trnh
bin dch
v pht
trin phn
mm
nhng)
Tham
gia
tho
lun
cc c
im
ca
mt
phn
mm
PC
Ghi
ch
cc
vn
c bn
Trnh by
c c
im chung
ca mt H
iu hnh
ni chung
Trnh by
c khi
nim v
thi gian
thc v cc
dng ca
ca thi
gian thc
Trnh by
c khi
nim, vai
tr v cc
c im
ca H iu
hnh thi
gian thc.
Tho lun
v c
im vai
tr, cu
trc ca
mt ca h
iu hnh
(mn hc:
H iu
hnh)
Ly v d
v cc h
thng
nhng yu
cu thi
gian thc
trn thc
t v phn
tch v d
ny
T v d
a ra
trnh by
khi nim
v thi
gian thc
Tho
lun
vn
m
gio
vin
a ra
Trao
i kt
qu
tho
lun
vi cc
8h
sinh
vin
khc
Ghi
nhn
cc
vn
v thi
gian
thc v
h iu
hnh
thi
11/99
Nm vng
c cch
biu din
s, d liu
v thao tc
thnh tho
trn cc h
thng c s
trong k
thut lp
trnh nhng
Trnh by
c cc
ngn ng
lp trnh
c dng
trong qu
trnh pht
trin phn
mm nhng
v a ra
cc c
im.
Nu nn
cc dng
thc ca
thi gian
thc
Trnh by
khi nim
h iu
hnh thi
gian thc
v cc c
im ca
n
Tng kt
bi hc
Giao ni
dung hc
bi sau
Tho lun
v bi hc
trc (bi
c)
Trnh by
cch biu
din s v
d liu
Yu cu
sinh vin
thc hin
mt s
php tnh
trong cc
h c s
khc nhau
Trnh by
cc ngn
ng lp
trnh dng
cho pht
gian
thc.
c ti
liu
c
giao
Tham
gia
tho
lun v
bi hc
trc
Tham
gia
tho
lun v
cc h 8h
thng
c s
trong
biu
din d
liu
trong
lp
trnh
nhng
12/99
Ch ra c
cc kin
trc ca
phn mm
H thng
nhng
Trnh by
c cc
c im
ca cc
kin trc
phn mm
h thng
nhng
Gii thch
c c
im chung
ca tp lnh
trong phn
mm nhng
v m t
c tp
lnh ca
mt s
VXL/VK
nhng
M t c
cu trc,
chc nng,
trin phn
mm cho
PC
trnh by
cc ngn
ng lp
trnh dng
pht trin
phn mm
nhng
Ly v d
in hnh
cho mi
loi kin
trc phn
mm h
thng
nhng
T v d
trnh by
cc c
im ca
mi loi
kin trc
phn mm
h thng
nhng
Nu ra cu
trc tp
lnh v
cc kiu
truyn a
ch ton t
lnh
Tng kt
bi hc
Giao ni
dung hc
bi sau
Tip cn
vn h
thng iu
v lm
v d
m
gio
vin
a ra
Ghi
nhn
li cc
kin
trc
phn
mm
nhng
thng
dng
hin
nay.
Ghi
ch
cc
vn
c bn
Trao
i kt 8h
qu
13/99
v cc c
im ca
mt tc v
trong h
iu hnh
thi gian
thc.
Trnh by
c hai c
ch ng
b v
truyn
thng s
dng trong
cc h iu
hnh thi
gian thc
(Semaphore
v
Monitor).
khin s
kin
a nhim,
t nu
khi nim
tc v
(task)
Trnh by
khi nim
h thng
iu khin
s kin
trnh
by a
nhim t
nu
khi nim
tc v
a ra
hnh v
m t cu
trc ca
mt tc v
v nu cu
trc mi
tc v
Gii thiu
vn
truyn
thng v
ng b
v a ra
mt vi c
ch ng
b v
truyn
thng s
dng trong
cc h
iu hnh
thi gian
thc
tho
lun
vi cc
bn
sinh
vin
khc
Lm
vic
c lp
phn
tch
hnh v
m t
cu
trc
ca
mt tc
v
Ghi
nhn
cc
vn
quan
trng
v tc
v v
truyn
thng
gia
cc tc
v
trong
h iu
hnh
thi
gian
thc
14/99
Trnh by
c im
ca hai c
ch c th.
Trnh by
c vai
tr ca lp
lch trong
h iu
hnh thi
gian thc
Ch ra c
cc kiu lp
lch khc
nhau (lp
lch c chu
k, lp lch
khng chu
k...)
Trnh by
c cc k
thut lp
lch khc
nhau
Trnh by
cc k thut
x l ngt
(Polling v
Interrupt)
a ra m
hnh trng
thi ca
tc v
Gii thch
cc thnh
phn trong
m hnh
trng thi
ca tc v
Tho lun
v vn
lp lch
trong cc
h iu
hnh
thng
thng.
Gii thiu
v cc
kiu lp
lch khc
nhau trong
h iu
hnh thi
gian thc
(c
im.... )
Tip cn
v trnh
by khi
nim h
thng iu
khin s
kin
Trnh by
2 phng
php tip
Tham
gia
tho
lun
vn
m
gio
vin
a ra.
Trao
i kt
qu
tho
lun
vi cc
bn
sinh
vin
khc
8h
Lm
vic
c lp
phn
tch
hnh v
m t
m
hnh
trng
thi
ca tc
v
Ghi
nhn
li cc
vn
quan
trng
- Phng LTProjector- Ti
liu tham
kho [1], [2]
15/99
cn l:
Polling v
Interrupt
Trnh by
cc c
im ca
Polling
M t cc
c im
ngt
(Interrupt),
cc loi
ngt dng
trong cc
h vi x l
Tng kt
bi hc
Ch ra c
chu trnh
pht trin
ca mt h
thng
nhng (cc
bc
phats trin
mt h
thng
nhng)
Trnh by
c m
hnh ha s
kin v tc
v
Tho lun
v chu
trnh pht
trin ca
mt h
thng
phn mm
thng
thng
Nu ra chu
trnh pht
trin ca
mt h
thng
nhng
Nu nn
m hnh
ha s
kin
Petrinet
Gii thiu
vic quy
c biu
din m
Tham
gia
tho
lun
tch
cc v
vn
c
giao
Ghi
cho
cc
8h
vn
lin
quan
n m
hnh
ha s
kin v
tc v
trong
h
thng
nhng.
16/99
hnh ha
Petrinet
M t cc
tnh hung
hot ng
c bn vi
Petrinet
10
Trnh by
c cc
vn v
thit k
phn mm
iu khin
ca mt h
thng
nhng
Ch ra c
cc mt s
phng
php pht
trin phn
mm nhng
bng my
tnh.
Gii thiu
l thuyt
lin quan
n thit
k phn
mm iu
khin
Trnh by
mt s
phng
php pht
trin phn
mm
nhng
bng my
tnh
Tham
gia
tho
lun v
mi
ch
Trao
8h
i kt
qu vi
cc
sinh
vin
khc
17/99
M t module
Module ny cung cp cho ngi hc cc kin thc c bn v h thng nhng, ni dung
chnh bao gm: Gii thiu chung v cc h thng nhng; Kin trc phn cng h thng
nhng; H iu hnh nhng, phn mm nhng.
Ni dung MODULE
Tng quan v H thng nhng
Gii thiu mn hc
H thng nhng l g?
Lch s pht trin ca h thng nhng
Xu hng pht trin ca cc h thng nhng
Nhng thch thc v vn cn tn ti vi h thng nhng
18/99
Cc c im ca h thng nhng
Mt s v d v h thng nhng
Cc thnh phn c bn trong kin trc phn cng H thng nhng
n v x l trung tm CPU
Xung nhp v trng thi tn hiu
Bus a ch, d liu v iu khin
B nh
Ngoi vi
Giao din
Mt s nn phn cng nhng thng dng
Chip Vi x l/Vi iu khin nhng
Chip DSP
C s k thut ca phn mm nhng
Phn mm nhng l g?
c im ca phn mm nhng
Quy trnh pht trin phn mm nhng
H iu hnh cho cc H thng nhng
c im chung ca H iu hnh
H iu hnh cho cc h thng nhng - h iu hnh thi gian thc
Thi gian thc (Real - Time) l g?
Cc dng thi gian thc
H iu hnh thi gian thc
19/99
C bn v Lp trnh nhng
Biu din s v d liu
Ngn ng lp trnh
Cc kin trc phn mm nhng thng dng
Tp lnh
Tc v v truyn thng gia cc tc v
Cc tc v (Task)
Truyn thng v ng b gia cc tc v
Semaphore
Monitor
Hc liu:
Gio trnh lu hnh ni b, sch tham kho, my tnh, ti nguyn trn Internet, Projector.
nh gi:
nh gi qu trnh (tiu lun): 40%
Kim tra cui k: 60%
K hoch hc tp
B tr ging dy module H thng nhng (2 tn ch) nh sau:
30 tit l thuyt (thc hin trong 10 bui, mi bui 3 tit) 6 tit tho lun v 60 gi chun
b c nhn: 45 gi (ti liu 90 trang) v 15 gi (bi tp ln).
K hoch hc tp
Bi
Mc tiu
Hot ng gio vin
Hot ng sinh vin
SG
SV
21/99
iu kn thc hin
1
22/99
Tho lun v thnh phn phn cng ca mt h thng PC thng thng v chc
nng ca tng thnh phn
c ti liu [1]
Tham gia tho lun v cc vn nu ra
Nm vng cc kin thc
trong mn hc kin trc my tnh
Ghi ch nhng vn c bn
8h
- Phng LT
- Ti liu tham kho [1],[2]
3
Trnh by tng quan v cc Chip Vi x l nhng
Trnh by c mt s nn phn cng nhng thng dng hin nay v: c
im,
chc nng, u im ...
23/99
c ti liu [1]
Nm vng cc kin thc trong mn hc kin trc my tnh
Ghi ch nhng vn c
bn
8h
- Phng LT
- Ti liu tham kho [1], [2]
4
Trnh by c khi nim v phn mm h thng nhng, xu th pht trin phn
mm nhng trn th gii hin nay v tm quan trng ca n.
Trnh by c cc c im ca mt phn mm nhng
M t c quy trnh pht trin ca mt phn mm nhng.
Tho lun v bi hc trc (bi c).
Tho lun v phn mm trong mt h thng my tnh PC trnh by khi
nim v phn mm nhng
Tho lun v cc c im ca mt phn mm PC trnh by cc c im
ca mt phn mm nhng
Trnh by cc bc trong quy trnh pht trin ca phn mm nhng (qu trnh
bin dch v pht trin phn mm nhng)
c trc cc ch lin quan trong ti liu
Tham gia tho lun v bi hc trc, tho lun v phn mm trong h thng
my tnh
Tham gia tho lun cc c im ca mt phn mm PC
Ghi ch cc vn c bn
8h
Phng L thuyt
Ti liu tham kho [1]
5
Trnh by c c im chung ca mt H iu hnh ni chung
Trnh by c khi nim v thi gian thc v cc dng ca ca thi gian thc
Trnh by c khi nim, vai tr v cc c im ca H iu hnh thi gian
thc.
Tho lun v c im vai tr, cu trc ca mt ca h iu hnh (mn hc: H
iu hnh)
24/99
25/99
Tham gia tho lun v cc h thng c s trong biu din d liu trong lp trnh
nhng v lm v d m gio vin a ra
Ghi nhn li cc kin trc phn mm nhng thng dng hin nay.
Ghi ch cc vn c bn
8h
- Phng LT
- Ti liu tham kho
[1], [2]
7
M t c cu trc, chc nng, v cc c im ca mt tc v trong h iu
hnh thi gian thc.
Trnh by c hai c ch ng b v truyn thng s dng trong cc h iu
hnh thi gian thc (Semaphore v Monitor).
Tip cn vn h thng iu khin s kin a nhim, t nu khi
nim tc v (task)
Trnh by khi nim h thng iu khin s kin trnh by a nhim t
nu khi nim tc v
a ra hnh v m t cu trc ca mt tc v v nu cu trc mi tc v
Gii thiu vn truyn thng v ng b v a ra mt vi c ch ng b v
truyn thng s dng trong cc h iu hnh thi gian thc
Trnh by c im ca hai c ch c th.
Trao i kt qu tho lun vi cc bn sinh vin khc
Lm vic c lp phn tch hnh v m t cu trc ca mt tc v
Ghi nhn cc vn quan trng v tc v v truyn thng gia cc tc v trong
h iu hnh thi gian thc
8h
- Phng LT
- Ti liu tham kho [1],[2]
8
Trnh by c vai tr ca
lp lch trong h iu hnh thi gian thc
26/99
Ch ra c cc kiu lp lch khc nhau (lp lch c chu k, lp lch khng chu
k...)
Trnh by c cc k thut lp lch khc nhau
Trnh by cc k thut x l ngt (Polling v Interrupt)
27/99
28/99
n v x l trung tm CPU
29/99
30/99
Mt s thanh ghi vi chc nng in hnh thng c s dng trong cc kin trc CPU
nh sau:
Thanh ghi con tr ngn xp (stack pointer): Thanh ghi ny lu gi a ch tip theo ca
ngn xp. Theo nguyn l gi tr a ch cha trong thanh ghi con tr ngn xp s gim
nu d liu c lu thm vo ngn xp v s tng khi d liu c ly ra khi ngn
xp.
Thanh ghi ch s (index register): Thanh ghi ch s c s dng lu a ch khi
mode a ch c s dng. N cn c bit ti vi tn gi l thanh ghi con tr hay
thanh ghi la chn tp (Microchip).
Thanh ghi a ch lnh/B m chng trnh (Program Counter): 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 c CPU x l. Mi khi
lnh c tr ti v c CPU x l th ni dung gi tr ca thanh ghi b m chng
trnh s tng ln mt. Chng trnh s kt thc khi thanh ghi PC c gi tr bng a ch
cui cng ca chng trnh nm trong b nh chng trnh.
Thanh ghi tch ly (Accumulator): Thanh ghi tch ly l mt thanh ghi giao tip trc tip
vi ALU, c s dng lu gi cc ton t hoc kt qu ca mt php ton trong qu
trnh hot ng ca ALU.
Thi gian tng c nh ngha l khong thi gian tn hiu tng t 20% n 80%
mc tn hiu cn thit. Thi gian gim l khong thi gian tn hiu gim t 80% n
20% mc tn hiu cn thit.
Thi gian tr lan truyn tn hiu:
L khong thi gian tnh t khi thay i tn hiu vo cho ti khi c s thay i tn hiu
u ra. c tnh ny thng do cu to v kh nng truyn dn tn hiu vt l trong h
thng tn hiu.
32/99
33/99
34/99
35/99
B nh
Kin trc b nh:
Kin trc b nh c chia ra lm hai loi chnh v c p dng rng ri trong hu ht
cc Chip x l nhng hin nay l kin trc b nh von Neumann v Havard. Trong kin
trc von Neumann khng phn bit vng cha d liu v m chng trnh. C chng
trnh v d liu u c truy nhp theo cng mt ng. iu ny cho php a d
liu vo vng m chng trnh ROM, v cng c th lu m chng trnh vo vng d
liu RAM v thc hin t .
Kin trc Havard tch/phn bit vng lu m chng trnh v d liu. M chng trnh
ch c th c lu v thc hin trong vng cha ROM v d liu cng ch c th lu
v trao i trong vng RAM. Hu ht cc vi x l nhng ngy nay s dng kin trc b
nh Havard hoc kin trc Havard m rng (tc l b nh chng trnh v d liu tch
bit nhng vn cho php kh nng hn ch ly d liu ra t vng m chng trnh).
Trong kin trc b nh Havard m rng thng s dng mt s lng nh cc con tr
ly d liu t vng m chng trnh theo cch nhng vo trong cc lnh tc thi. Mt
s Chip vi iu khin nhng tiu biu hin nay s dng cu trc Havard l 8031, PIC,
Atmel AVR90S. Nu s dng Chip 8031 chng ta s nhn thy iu ny thng qua vic
truy nhp ly d liu ra t vng d liu RAM hoc t vng m chng trnh. Chng ta
c mt vi con tr c s dng ly d liu ra t b nh d liu RAM, nhng ch c
36/99
37/99
B nh d liu RAM: Vng lu hoc trao i d liu trung gian trong qu trnh
thc hin chng trnh.
38/99
Ngoi vi
B nh thi/B m:
Hu ht cc chip vi iu khin ngy nay u c t nht mt b nh thi gian/b m c
th cu hnh hot ng linh hot theo cc mode phc v nhiu mc ch trong cc ng
dng x l, iu khin. Cc b nh thi gian cho php to ra cc chui xung v ngt
thi gian hoc m theo cc khong thi gian c th lp trnh. Chng thng c ng
dng ph bin trong cc nhim v m xung, o khong thi gian cc s kin, hoc nh
chu k thi gian thc thi cc tc v. Mt trong nhng ng dng quan trng ca b nh
thi gian l to nhp t b to xung thch anh cho b truyn thng d b a nng hot
ng. Thc cht l ng dng thc hin php chia tn s. t c chnh
xc, tn s thch anh thng c chn sao cho cc php chia s nguyn c thc hin
chnh xc m bo cho tc truyn thng d liu c to ra chnh xc. Chnh v vy
h vi iu khin 80C51 thng hay s dng thch anh c tn s dao ng l 11.059 thay
v 12MHz to ra nhp hot ng truyn thng tc chun 9600.
B iu khin ngt:
39/99
Ngt l mt s kin xy ra lm dng hot ng chng trnh hin ti phc v thc thi
mt tc v hay mt chng trnh khc. C ch ngt gip CPU lm tng tc p ng
phc v cc s kin trong chng trnh hot ng ca VXL/VK. Cc VK khc nhau
s nh ngha cc ngun to ngt khc nhau nhng u c chung mt c ch hot 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 trng thi hot
ng cho chng trnh hin ti ang thc hin v d nh ni dung b m chng trnh
(con tr lnh) cc ni dung thanh ghi lu d liu iu khin chng 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 chng trnh tr ti vng
m cha chng trnh phc v tc v ngt. V vy mi mt 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 phc v tc v ngt n khi no gp
lnh quay tr v chng trnh trc thi im s kin ngt xy ra. C th phn ra 2 loi
ngun ngt: Ngt cng v Ngt mm.
Ngt mm: Ngt mm thc cht thc hin mt li gi hm c bit m c kch hot
bi cc ngun ngt l cc s kin xut hin t bn trong chng trnh v ngoi vi tch
hp trn Chip v d nh ngt thi gian, ngt chuyn i A/D, C ch ngt ny cn
c hiu l loi thc hin ng b vi chng trnh v n c kch hot v thc thi ti
cc thi im xc nh trong chng trnh. Hm c gi s thc thi chc nng tng
ng vi yu cu ngt. Cc hm thng c tr bi mt vector ngt m c nh
ngha v gn c nh bi nh sn xut Chip. V d nh h iu hnh ca PC s dng
ngt s 21hex gn cho ngt truy nhp c d liu t a cng v xut d liu ra my
in.
Ngt cng: Ngt cng c th c xem nh l mt li gi hm c bit trong ngun
kch hot l mt s kin n t bn ngoi chng trnh thng qua mt cu trc phn
cng (thng c kt ni vi th gii bn ngoi qua cc chn ngt). Ngt cng thng
c hiu hot ng theo c ch d b v cc s kin ngt kch hot t cc tn hiu ngoi
vi bn ngoi v tng i c lp vi CPU, thng l khng xc nh c thi im
kch hot. Khi cc ngt cng c kch hot CPU s nhn dng v thc hin li gi hm
thc thi chc nng phc v s kin ngt tng ng.
Trong cc c ch ngt khong thi gian t khi xut hin s kin ngt (c yu cu phc
v ngt) ti khi dch v ngt c thc thi l xc nh v tu thuc vo cng ngh phn
cng x l ca Chip.
B nh thi ch canh (Watchdog Timer)
Thng thng khi c mt s c xy ra lm h thng b treo hoc chy qun, CPU s
khng th tip tc thc hin ng chc nng. c bit khi h thng phi lm vic
ch vn hnh t ng v khng c s can thip trc tip thng xuyn bi ngi
40/99
S nguyn l ca b nh thi
DMA chu k n v nhm: Trong kiu hot ng DMA chu k nhm, ngoi vi s nhn
c quyn iu khin v truyn khi d liu ri tr li quyn iu khin cho CPU.
Trong c ch DMA chu k n ngoi vi sau khi nhn c quyn iu khin bus ch
truyn mt t d liu ri tr li ngay quyn kim sot b nh v bus d liu cho CPU.
Trong c ch thc hin DMA cn c mt bc x l quyt nh xem thit b no s
c nhn quyn iu khin trong trng hp c nhiu hn mt thit b c nhu cu s
dng DMA. Thng thng kiu DMA chu k nhm cn t d liu thng tin iu khin
(overhead) nn c kh nng trao i vi tc cao nhng li chim nhiu thi gian truy
nhp bus do truyn c khi d liu ln. iu ny c th nh hng n hot ng ca
c h thng do trong sut qu trnh thc hin DMA nhm, CPU s b kho quyn truy
nhp b nh v khng th x l cc nhim v khc ca h thng m c nhu cu b nh,
v d nh cc dch v ngt, hoc cc tc v thi gian thc...
Chu k ri (Cycle Stealing): Trong kiu ny DMA s c thc hin trong nhng thi
im chu k bus m CPU khng s dng bus do khng cn thc hin th tc x l
cp pht quyn truy nhp v thc hin DMA. Hu ht cc vi x l hin i u s dng
gn nh 100% dung lng b nh v bng thng ca bus nn s khng c nhiu thi
42/99
gian dnh cho DMA thc hin. tit kim v ti u ti nguyn th cn c mt trng
ti phn x v d liu s c truyn i xp chng theo thi gian. Ni chung kiu DMA
dng burst hiu qu nht khi khong thi gian cn thc hin DMA tng i nh. Trong
khong thi gian thc hin DMA, ton b bng thng ca bus s c s dng ti a
v ton b khi d liu s c truyn i trong mt khong thi gian rt ngn. Nhng
nhc im ca n l nu d liu cn truyn ln v cn mt khong thi gian di th s
dn n vic block CPU v c th b qua vic x l cc s kin v tc v khc. i vi
DMA chu k n th yu cu truy nhp b nh, truyn mt t d liu v gii phng bus.
C ch ny cho php thc hin truyn interleave v c bit ti vi tn gi inteleaved
DMA. Kiu truyn DMA chu k n ph hp truyn d liu trong mt khong thi
gian di m c thi gian yu cu truy nhp v gii phng bus cho mi ln truyn
mt t d liu. Chnh v vy s gim bng thng truy nhp bus do phi mt nhiu thi
gian yu cu truy nhp v gii phng bus. Trong trng hp ny CPU v cc thit b
khc vn c th chia s v truyn d liu nhng trong mt di bng thng hp. Trong
nhiu h thng bus thc hin c ch x l v gii quyt yu cu truy nhp (trng ti)
thng qua d liu truyn v vy cng khng nh hng nhiu n tc truyn DMA.
DMA c yu cu khi kh nng iu khin ca CPU truyn d liu thc hin qu
chm. DMA cng thc s c ngha khi CPU ang phi thc hin cc tc v khc m
khng cn nhu cu truy nhp bus.
Giao din
Giao din song song 8bit/16bit
Cc cng song song l mt dng giao din vo ra n gin v ph bin nht kt ni
thng tin vi ngoi vi. C nhiu loi cu trc giao din vt l in t t dng cng vo
ra n gin cc Collector TTL h trong cc ng dng cng my in n cc loi cu trc
giao din cng tc cao nh cc chun bus IEEE-488 hay SCSI. Hu ht cc chip iu
khin nhng c mt vi cng vo ra song song kh trnh (c th cu hnh). Cc giao din
ph hp vi cc cng vo ra n gin nh cc kho chuyn. Chng cng ph hp
trong cc bi ton phc v giao din kt ni iu khin v gim st theo cc giao din
nh kiu rle bn dn.
43/99
I2C (Inter-IC)
Giao thc u tin truyn thng ni tip c pht trin bi Philips Semiconductor v
c gi l bus I2C. V ngun gc n c thit k l iu khin lin thng IC (Inter
IC) nn n c t tn l I2C. Tt c cc chp c tch hp v tng thch vi I2C u
c thm mt giao din tch hp trn Chip truyn thng trc tip vi cc thit b tng
44/99
thch I2C khc. Vic truyn d liu ni tip theo hai hng 8 bit c thc thi theo 3
ch sau:
Chun (Standard)100 Kbits/sec
Nhanh (Fast)400 Kbits/sec
Tc cao (High Speed)3.4 Mbits/sec
ng bus thc hin truyn thng ni tip I2C gm hai ng l ng truyn d liu
ni tip SDA v ng truyn nhp xung ng h ni tip SCL. V c ch hot ng l
ng b nn n cn c mt nhp xung tn hiu ng b. Cc thit b h tr I2C u c
mt a ch nh ngha trc, trong mt s bit a ch l thp c th cu hnh. n v
hoc thit b khi to qu trnh truyn thng l n v Ch v cng l n v to xung
nhp ng b, iu khin cho php kt thc qu trnh truyn. Nu n v Ch mun
truyn thng vi n v khc n s gi km thng tin a ch ca n v m n mun
truyn trong d liu truyn. n v T u c gn v nh a ch thng qua n
v Ch c th thit lp truyn thng v trao i d liu. Bus d liu c thit k cho
php thc hin nhiu n v Ch v T trn cng Bus.
Qu trnh truyn thng I2C c bt u bng tn hiu start to ra bi n v Ch. Sau
n v Ch s truyn i d liu 7 bit cha a ch ca n v T m n mun truyn
thng, theo th t l cc bit c trng s ln nht MSB s c truyn trc. Bit th
tm tip theo s cha thng tin xc nh n v T s thc hin vai tr nhn (0) hay
gi (1) d liu. Tip theo s l mt bit ACK xc nhn bi n v nhn nhn c
1 byte trc hay khng. n v truyn (gi) s truyn i 1 byte d liu bt u bi
MSB. Ti im cui ca byte truyn, n v nhn s to ra mt bit xc nhn ACK mi.
Khun mu 9 bit ny (gm 8 bit d liu v 1 bit xc nhn) s c lp li nu cn truyn
tip byte na. Khi n v Ch trao i xong d liu cn n s quan st bit xc nhn
ACK 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
gia cc n v trn cng mt bo mch vi khong cch ngn v tc thp. V d nh
truyn thng gia CPU vi cc khi chc nng trn cng mt bo mch nh EEPROM,
cm bin, ng h to thi gian thc... Hu ht cc thit b h tr I2C hot ng tc
400Kbps, mt s cho php hot ng tc cao vi Mbps. I2C kh n gin
thc thi kt ni nhiu n v v n h tr c ch xc nh a ch.
SPI:
SPI l mt giao din cng ni tip ng b ba dy cho php kt ni truyn thng nhiu
VK c pht trin bi Motorola. Trong cu hnh mng kt ni truyn thng ny phi
c mt VK gi vai tr l Ch (Master) v cc VK cn li c th hoc l Ch hoc l
T. SPI c 4 tc c th lp trnh, cc v pha nhp ng h kh trnh v kt thc ngt
45/99
46/99
47/99
48/99
Chip DSP
DSP vn c bit ti nh mt loi vi iu khin c bit vi kh nng x l nhanh
phc v cc bi ton yu cu khi lng v tc x l tnh ton ln. Vi u im ni
bt v rng bng thng ca bus v thanh ghi tch lu, cho php ALU x l song song
vi tc c v x l lnh nhanh hn cc loi vi iu khin thng thng. Chip DSP
cho php thc hin nhiu lnh trong mt nhp nh vo kin trc b nh Havard.
Thng thng khi phi s dng DSP tc l p ng cc bi ton tnh ton ln v tc
cao v vy nh dng biu din ton hc s l mt yu t quan trng phn loi v
c quan tm. Hin nay ch yu chng vn c phn loi theo hai kiu l du phy
ng v du phy tnh. y cng chnh l mt yu t quan trng phi quan tm i vi
ngi thit k la chn c mt DSP ph hp vi ng dng ca mnh. Cc loi
49/99
DSP du phy tnh thng l loi 16bit hoc 24bit cn cc loi du phy tnh thng l
32bit. Mt v d in hnh v mt DSP 16bit du phy tnh l TMS320C55x, lu cc s
nguyn 16bit hoc cc s thc trong mt min gi tr c nh. Tuy nhin cc gi tr v
h s trung gian c th c lu tr vi chnh xc l 32bit trong thanh ghi tch lu
40bit nhm gim thiu li tnh ton do php lm trn trong qu trnh tnh ton. Thng
thng cc loi DSP du phy tnh c gi thnh r hn cc loi DSP du phy ng v
yu cu s lng chn Onchip t hn v cn s dng lng silicon t hn.
u im ni bt ca cc DSP du phy ng l c th x l v biu din s trong di
phm vi gi tr rng v ng. Do vn v chuyn i v hn ch v phm vi biu
din s khng phi quan tm nh i vi loi DSP du phy tnh. Mt loi DSP 32bit
du phy tnh in hnh l TMS320C67x c th x l v biu din s gm 24bit mantissa
v 8bit exponent. Phn mantissa biu din phn s l trong phm vi -1.0 +1.0 v phn
exponent biu din v tr ca du phy nh phn v c th dch chuyn sang tri hoc
phi tu theo gi tr s m n biu din. iu ny tri ngc vi cc thit k trn nn
DSP du phy tnh, ngi pht trin chng trnh phi t qui c, tnh ton v phn chia
n nh thang biu din s v phi lun lu tm ti kh nng trn s c th xy ra trong
qu trnh x l tnh ton. Chnh iu ny gy ra kh khn khng nh i vi ngi
lp trnh. Ni chung pht trin chng trnh cho DSP du phy ng thng n gin
hn nhng gi thnh li cao hn nhiu v nng lng tiu th thng thng cng ln
hn.
V d chnh xc ca DSP du phy ng 32 bit l 223 vi 24 bit biu din phn
mantissa. Vng ng l (1.18 1038 x 3.4 1038).
Nhng nh thit k h thng phi quyt nh vng v chnh xc cn thit cho cc ng
dng. Cc vi x l du phy ng thng c s dng cho cc ng dng yu cu v
chnh xc cao v di biu din s ln ph hp vi h thng c cu trc b nh ln.
Hn na cc DSP du phy ng cho php pht trin phn mm hiu qu v n gin
hn bng cc trnh bin dch ngn ng bc cao nh C do c th gim c gi thnh
v thi gian pht trin. Tuy nhin gi thnh li cao nn cc DSP du phy ng ph hp
vi cc ng dng kh c bit v thng l vi s lng t.
51/99
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 mt - mt 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 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.
52/99
53/99
54/99
55/99
56/99
57/99
58/99
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
60/99
C bn v lp trnh nhng
Biu din s v d liu
n v c bn nht trong biu din thng tin ca h thng s c gi l bit,
chnh l k hiu vit tt ca thut ng binary digit.
Nm 1964, IBM thit k v ch to my tnh s s dng mt nhm 8 bit
nh a ch b nh v nh ngha ra thut ng 8 bit = 1 byte.
Ngy nay s dng rng ri thut ng word l mt t d liu dng biu din
kch thc d liu m c x l mt cch hiu qu nht i vi mi loi kin
trc x l s c th. Chnh v vy mt t c th l 16 bits, 32 bits, hoc 64
bits
Mi mt byte c th c chia ra thnh hai na 4 bit v c gi l cc nibble.
Nibble cha cc bit trng s ln c gi l nibble bc cao, v nibble cha cc
bit trng s nh c gi l nibble bc thp.
Cc h thng c s
Trong cc h thng biu din s hin nay u c biu din dng tng qut l tng
lu tha theo c s, v c phn loi theo gi tr c s. Mt cch tng qut mt h biu
din s c s b v a c biu din nh sau:
A=anbn+ an-1bn-1++ a0 = ni = 0 aibi
V d: nh c s binary (nh phn), c s decimal (thp phn, c s 8 Octal (bt phn).
V d v biu din cc gi tr trong cc h c s khc nhau:
243.5110 = 2 x 102 + 4 x 101 + 3 x 100 + 5 x 10-1 + 1 x 10-2
2123 = 2 x 32 + 1 x 31 + 2 x 30
101102 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20 = 2210
Hai loi c s biu din thng dng nht hin nay cho cc h thng x l s l c s nh
phn v c s mi su.
S nguyn
Trong biu din s c du phn bit s dng v s m ngi ta s dng bit trng s
ln nht qui c lm bit du v cc bit cn li c s dng biu din gi tr ln
ca s. V d mt t 8 bit c s dng 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
61/99
Litte edian: byte trng s nh nht ng trc thun li cho php cng hoc
tr.
Big endian: byte trng s ln nht ng trc thun li cho php nhn hoc
chia.
V d: xt mt s nh phn 4byte
Byte 3 Byte 2 Byte 1 Byte 0
Theo qui 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 qui c biu din s big edian s l:
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
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 dng 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 8bit biu din s
du phy ng c ch ra nh trong Hnh 6.1. Vi cch biu din ny, gi tr thc ca
s c tnh nh sau:
N = a4 24 + a3 23 + a2 22 + a1 21 + a0 20 + a1 21 + a2 22 + a3 23
= 0.24+1.23+0.22+1.21+0.20+1.2-1+0.2-2+1.2-3
= 8+2+1+1/2+1/8 = 11.625
63/99
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.
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 th c biu din
hoc l 0.5*101 , 50 * 101 , hoc 0.05*102 Trong my tnh s hoc h thng s ni
chung, cc s du phy ng nh phn thng c biu din dng:
N = M * 2E
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 6.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 phn mantissa v ly tha
u c th nhn cc gi tr m v vy cc bit u tin ca cc phn gi tr u c th
c s dng biu din du khi cn thit.
64/99
Nmax = (1 2 m + 1)2(2
Nmin = 0.5 2 (2
Theo tiu chun IEEE 754 v 854 c 2 nh dng chnh cho s du phy ng l s thc
di (long) v s thc ngn (short) chng khc nhau v di biu din v ln lu tr
yu cu. Theo chun ny, s thc di c nh dng 8 byte bao gm 1 bit 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 1038 to 10-38 v s thc di c th
biu din v x l c s c gi tr thuc di 10308 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.
Ngn ng lp trnh
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
65/99
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 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, KernighanvRitchie 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.
66/99
67/99
a nhim tng tc
Mt h thng a nhim khng u tin cng gn ging vi k thut vng lp kim sot
n gin ngoi tr vic vng lp ny c n giu thng qua mt giao din lp trnh
API. Cc nh lp trnh nh ngha mt lot cc nhim v, mi nhim v chy trong mt
mi trng ring ca n. Khi khng cn thc hin nhim v th n gi n cc tin
trnh con tm ngh (bng cch gi pause, wait, yeild ).
u im v nhc im ca loi kin trc ny cng ging vi kim vng lp kim sot
n gin. Tuy nhin, vic thm mt phn mm mi c thc hin d dng hn bng
cch lp trnh mt tc v mi hoc thm vo hng i thng dch (queue-interpreter).
a nhim u tin
loi kin trc ny, h thng thng c mt on m mc thp thc hin vic chuyn
i gia cc tc v khc nhau thng qua mt b nh thi. on m ny thng nm
mc m h thng c coi l c mt h iu hnh v v th cng gp phi tt c nhng
phc tp trong vic qun l a nhim.
Bt k tc v no c th ph hy d liu ca mt tc v khc u cn phi c tch
bit mt cch chnh xc. Vic truy cp ti cc d liu chia s c th c qun l bng
mt s k thut ng b ha nh hng i thng ip (message queues), semaphores
V nhng phc tp ni trn nn mt gii php thng c a ra l s dng mt h
iu hnh thi gian thc. Lc , cc nh lp trnh c th tp trung vo vic pht trin
cc chc nng ca thit b ch khng cn quan tm n cc dch v ca h iu hnh
na.
Vi nhn (Microkernel) v nhn ngoi (Exokernel)
Khi nim vi nhn (microkernel) l mt bc tip cn gn hn ti khi nim h iu
hnh thi gian thc. Lc ny, nhn h iu hnh thc hin vic cp pht b nh v
chuyn CPU cho cc lung thc thi. Cn cc tin trnh ngi dng s dng cc chc
nng chnh nh h thng file, giao din mng li, Ni chung, kin trc ny thng
c p dng trong cc h thng m vic chuyn i v giao tip gia cc tc v l
nhanh.
Cn nhn ngoi (exokernel) tin hnh giao tip hiu qu bng cch s dng cc li gi
chng trnh con thng thng. Phn cng v ton b phn mm trong h thng lun
p ng v c th c m rng bi cc ng dng.
68/99
Tp lnh
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 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 nhp 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 tu
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 tu theo phc hp trong tng lnh.
69/99
72/99
Task l g?
Mi mt tc v bao gm :
M ngun cha cc chc nng ca tc v.
Mt ngn xp cha ng cnh ca tc v.
Mt hp th (mail box) (ty chn) phc v cho vic truyn thng vi cc tc
v khc.
Ch rng, i khi (nhiu khi kh hu dng) ta c th to ra nhiu tc v t mt hm
chung. Nh ni, iu lm cho mt tc v c th tch bit v khc bit vi cc tc v
73/99
74/99
chia s ti nguyn
75/99
Tuy nhin, nu may in ang c s dung, tac vu o s bi khoa cho ti khi tac vu
ang s dung may in tra lai semaphore. Cng mt lc co th co nhiu tac vu yu cu
semaphore trong khi may in ang hoat ng. Tt ca cac tac vu o u s bi khoa. Cac
tac vu bi khoa s c xp hang theo kiu hang i theo th t v mt u tin hoc theo
th t thi gian ma chng yu cu semaphore theo lnh acquireSem. Cach thc sp xp
th t hang i cho cac tac vu co th c xy dng trong kernel hoc cng co th c
cu hinh khi ma semaphore c to ra
Lnh acquireSem hoat ng nh sau:
Giam gia tri cua semaphore.
Nu kt qu gi tr ln hn hay bng 0, tc l ti nguyn l sn sng, tc v c
th s dng ti nguyn ngay lp tc. Ngc lai kt qu nh hn 0, tc v s b
kha v ch n khi tc v ang s dng ti nguyn s dng lnh releaseSem.
Lnh releaseSem tng gi tr ca semaphore, Nu kt qu tr v b hn hoc bng 0,
iu c ngha l c t nht mt tc v ang i semaphore, do tc v s c
chuyn vo trng thi sn sng.
Trong trng hp my in ny, semaphore s c gn mc nh ban u l 1 trong
trng hp h thng ch c mt my in c qun l. Trng hp ny thng thng
c gi l semaphore nh phn (binary semaphore) phn bit vi cc trng hp
tng qut hn (counting semaphore), trong semaphore c mc nh l mt s bt
k nguyn v khng m.
Xt mt b nh a ch b nh ng qun l b nh m c nh nh trn hnh 7.5.
y chng ta khi to cho semaphore mt s lng b nh m ang cn trng ti
thi im ban u. Khi cu lnh bufReq c gi n, n trc tin dnh ly semaphore,
sau nh a ch cho b nh m. Trong 10 ln gi lnh bufReq u tin, semaphore
vn cn khng m, iu ny lm cho cc tc v yu cu semaphore vn c th hot ng
76/99
77/99
Monitor 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.
Monitor 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.
Monitor 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.
Minh ha v Monitor
78/99
79/99
80/99
Cc tc v c tnh chu k
81/99
82/99
BCA
Khi B nhng, C s chuyn trng thi v danh sch s chuyn thnh:
BCA
Nh vy, tt c cc tc v s hot ng thnh mt vng trn, chng hot ng theo kiu
nhng nhau. Cc tc v c mc u tin thp hn trong trng thi Sn sng s khng
bao gi c thc hin cho n khi tt c cc tc v trn b kho.
Nht ct thi gian l mt bin th ca vng lp robin. Trong , n quy nh mi tc v
s nhn c mt lng thi gian nht nh hay cn gi l nht ct thi gian. Vic lm
ny bo v cc tc v khi trng hp chim dng b x l qu lu. Do , mt tc v
s chy cho n khi n b kho, n tnh nguyn nhng hay qu hn v thi gian cho
php. Ty thuc vo hon cnh v yu cu, cc tc v s c lng thi gian cho php
bng nhau hoc khc nhau. Xt trn kha cnh no , vng lp robin ch l mt dng
khc ca vng lp polling.
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 ngt c v khng ngt c.
Rate monotonic (RM):
83/99
Phng php lp lch 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 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
84/99
X l ngt
Mt h thng thi gian thc c gi l iu khin s kin c ngha l h thng
phi c chc nng chnh l phn ng li cc s kin xy ra trong mi trng ca h
thng. Vy th h thng phn ng li cc s kin nh th no?. Hin nay c hai phng
php tip cn vn ny. Phng php u tin l Polling hay Vng lp Polling v
phng php th 2 l x l ngt (Interrup).
Polling
Vng lp Polling
Ngt
Hai loi ngt k trn ng b vi vic thc hin lnh. Trong : INT chnh l mt cu
lnh v cc li c bit ca b x l chnh l kt qu trc tip ca vic thc hin lnh.
86/99
87/99
Ngt cng
88/99
V d v ngt
Hot ng iu khin ngt cho php chng ta phn ng li A/D mt cch nhanh chng
trong khi b nh m tch chng trnh nn khi ngun d liu, v d: chng trnh nn
khng cn quan tm n d liu c t u m c c. By gi hy xem n on m
lnh c ghi trong hnh 8.9. Gi thit ch l th nghim, chng ta cung cp mt tn hiu
bin i lin tc vo c knh 5 v 6. ng thi, gi thit rng chng trnh s khng b
fail khi ang thc hin o tn hiu ng nht.
Trong thc t, chng trnh nh vit chc chn s b fail bi v mt ngt c th
xy ra trong khi cp nht bin Cur_temp v cp nht bin Set_temp vi kt qu l gi
tr ca bin Cur_temp c cp nht t tp hp d liu c trc , cn gi tr ca bin
Set_temp c cp nht t tp hp d liu hin thi. Nh vy, khi tn hiu u vo thay
i theo thi gian v cc tp hp d liu c tch ri nhau cc thi gian xc nh, gi
tr cc bin s khc nhau v do , chng trnh s fail.
y chnh l bn cht ca vn lp trnh thi gian thc. Cn phi qun l cc ngt
khngng b chng khng xy ra vo nhng thiim khng thch hp.
89/99
C mt gii php, d khng hay cho lm, gii quyt vn ny. Ta c th dng mt
lnh v hiu ho ngt (CLI) trc khi cp nht bin Cur_temp v kch hot ngt bng
lnh STI sau khi cp nht bin Set_temp. Vic lm ny gip cc ngt trnh khi phin
phc ca vic cp nht lin tc nh cp. C v nh chng ta sng sut khi s
dng cc lnh CLI v STI nh mt cha kho cho mt gii php ng n, nhng nu
ch n gin l ri cc lnh CLI v STI trong code ca chng trnh th cng chng khc
g vic s dng cc lnh go to v cc bin ton cc.
90/99
M hnh ha s kin v tc v
Phng php m hnh Petrinet
Nm 1962 Carl Adam Petri cng b phng php m hnh hnh ho tc 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).
91/99
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 13.1, trong :
P = {p1 , p2 ,..., pnp } l tp gm np v tr c biu din trong m hnh (c
m t bi cc vng trn).
T = {t1 , t2 ,..., tnt } 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
hng t cc v tr ti cc chuyn i.
O 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 = {m1 , m2 ,...mnp } l du trng thi ca cc chuyn i trong h thng.
Cc gi tr mi l s cc th bi (c k hiu nh cc chm trn en) cha bn
trong cc v tr pi trong tp du M .
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 .
92/99
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)
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 9.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
93/99
94/99
Trong cch m t trong Hnh 9.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 9.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.
Loi tr xung t
96/99
Tham gia ng gp
Ti liu: Gio trnh h thng nhng
Bin tp bi: Khoa CNTT HSP KT Hng Yn
URL: http://voer.edu.vn/c/9f009757
Giy php: http://creativecommons.org/licenses/by/3.0/
Module: M u h thng nhng
Cc tc gi: Khoa CNTT HSP KT Hng Yn
URL: http://www.voer.edu.vn/m/15d41e87
Giy php: http://creativecommons.org/licenses/by/3.0/
Module: Tng quan v h thng nhng
Cc tc gi: Khoa CNTT HSP KT Hng Yn
URL: http://www.voer.edu.vn/m/d5e250a0
Giy php: http://creativecommons.org/licenses/by/3.0/
Module: Cc thnh phn c bn trong kin trc phn cng H thng nhng
Cc tc gi: Khoa CNTT HSP KT Hng Yn
URL: http://www.voer.edu.vn/m/b72e9e6b
Giy php: http://creativecommons.org/licenses/by/3.0/
Module: Mt s nn phn cng v C s k thut ca phn mm nhng
Cc tc gi: Khoa CNTT HSP KT Hng Yn
URL: http://www.voer.edu.vn/m/5e1891c0
Giy php: http://creativecommons.org/licenses/by/3.0/
Module: H iu hnh cho cc h thng nhng (HH thi gian thc)
Cc tc gi: Khoa CNTT HSP KT Hng Yn
URL: http://www.voer.edu.vn/m/07006533
Giy php: http://creativecommons.org/licenses/by/3.0/
Module: C bn v lp trnh nhng
Cc tc gi: Khoa CNTT HSP KT Hng Yn
URL: http://www.voer.edu.vn/m/5a2d134e
97/99
98/99
99/99