You are on page 1of 72

B GIAO THNG VN TI TRNG I HC HNG HI B MN: K THUT MY TNH KHOA: CNG NGH THNG TIN

BI GING
H THNG NHNG

TN HC PHN M HC PHN TRNH O TO DNG CHO SV NGNH

: H THNG NHNG : 17312 : I HC CHNH QUY : CNG NGH THNG TIN

HI PHNG - 2010

MC LC CHNG 1 - TNG QUAN ............................................................................... 6 1.1 Tng quan .................................................................................................... 6 1.1.1 H thng nhng .................................................................................... 6 1.1.2 H thng thi gian thc ........................................................................ 6 1.1.3 Lnh vc ng dng ca h thng nhng .............................................. 7 1.2 Kin trc h thng nhng ............................................................................ 7 1.3 Thit k h thng nhng............................................................................ 10 1.4 M hnh h thng nhng ........................................................................... 12 Chng 2 - H THNG PHN CNG ............................................................. 13 2.1 Tng quan .................................................................................................. 13 2.1.1 B nh ................................................................................................ 13 2.1.2 Cc thnh phn kt ni ....................................................................... 13 2.2 H vi x l ................................................................................................. 14 2.2.1 Tng quan ........................................................................................... 14 2.2.2 Kin trc vi x l ............................................................................... 16 2.2.3 S thc thi .......................................................................................... 17 2.3 B nh ....................................................................................................... 24 2.3.1 Tng quan ........................................................................................... 24 2.3.2 B nh ROM ...................................................................................... 25 2.3.3 B nh RAM ...................................................................................... 26 2.3.4 Qun l b nh ................................................................................... 27 2.4 Thit b ngoi vi ........................................................................................ 28 2.4.1 Tng quan ........................................................................................... 28 2.4.2 Vo ra ni tip .................................................................................... 30 2.4.3 Vo ra song song ................................................................................ 31 2.5 Bus ............................................................................................................. 33 2.5.1 Bus a ch .......................................................................................... 33 2.5.2 Bus d liu ......................................................................................... 33 2.5.3 Bus iu khin .................................................................................... 34 Chng 3 PHN MM NHNG .................................................................... 35 3.1 Tng quan .................................................................................................. 35 3.2 Trnh iu khin thit b ............................................................................ 35 3.2.1 Tng quan ........................................................................................... 35 3.2.2 Ngt .................................................................................................... 36 3.2.3 B nh ................................................................................................ 37 3.2.4 Bus ...................................................................................................... 38
-1-

3.3 H iu hnh trong cc h thng nhng .................................................... 38 3.3.1 Tng quan ........................................................................................... 38 3.3.2 Tin trnh ............................................................................................ 40 3.3.3 Qun l tin trnh ............................................................................... 40 3.3.4 Qun l b nh ................................................................................... 42 3.4 Phn mm ng dng.................................................................................. 45 3.4.1 Middleware......................................................................................... 45 3.4.2 Application ......................................................................................... 46 Chng 4 THIT K H THNG NHNG THEO CC H VI X L.... 47 4.1 Tng quan .................................................................................................. 47 4.2 H vi x l AT89C.................................................................................... 48 4.2.1 Tng quan ........................................................................................... 48 4.2.2 Kin trc h vi x l AVR ................................................................. 49 4.2.3 Tp lnh .............................................................................................. 50 4.2.4 S thc thi .......................................................................................... 52 4.2.5 Thit k ng dng .............................................................................. 54 4.3 H vi x l AVR ....................................................................................... 57 4.3.1 Tng quan ........................................................................................... 57 4.3.2 Kin trc h ........................................................................................ 58 4.3.3 Tp lnh ca AVR .............................................................................. 59 4.3.4 S thc thi .......................................................................................... 59 4.3.5 Thit k ng dng .............................................................................. 61 4.4 H vi x l ARM ...................................................................................... 64 4.4.1 Tng quan ........................................................................................... 64 4.4.2 Kin trc h ........................................................................................ 64 4.4.3 Tp lnh .............................................................................................. 65 4.4.4 S thc thi .......................................................................................... 65 4.4.5 Thit k ng dng .............................................................................. 66

-2-

YU CU V NI DUNG CHI TIT


Tn hc phn: H thng nhng B mn ph trch ging dy: K thut my tnh M hc phn: 17312 TS tit 45 L thuyt 45 Thc hnh/Xemina 0 T hc 0 Loi hc phn: 3 Khoa ph trch: CNTT Tng s TC: 3 Bi tp ln x n mn hc 0

iu kin tin quyt: Sinh vin phi hc xong cc hc phn sau mi c ng k hc phn ny: Kin trc my tnh, in t s, Mch v tn hiu, K thut Vi x l, Nguyn l h iu hnh,.. Mc tiu ca hc phn: Cung cp cc kin thc c bn v v cc kin trc v m hnh ca h thng nhng p dng xy dng cc h thng nhng c bn da trn cc thit b, cc h vi x l thng dng Ni dung ch yu Chng 1: Tng quan Chng 2: H thng phn cng Chng 3: Phn mm nhng Chng 4: Thit k h thng nhng theo cc h Vi x l Ni dung chi tit: TN CHNG MC Chng 1: Tng quan 1.1. Tng quan 1.2. Kin trc h thng nhng 1.3. Thit k h thng nhng 1.4. Cc m hnh h thng nhng 1.5. Cc chun Chng 2: H thng phn cng 2.1. Tng quan 2.2. H Vi x l 2.2.1. Tng quan 2.2.2. Kin trc vi x l trong cc h thng nhng 2.2.3. S thc thi 2.3. B nh 2.3.1. Tng quan 2.3.2. B nh ROM 2.3.3. B nh RAM 2.3.4. Qun l b nh PHN PHI S TIT LT BT TH KT 8 1 2 2 2 1 9 1 1 3

TS 8

10

-3-

TN CHNG MC 2.4. Thit b ngoi vi 2.4.1. Tng quan 2.4.2. Vo ra ni tip 2.4.3. Vo ra song song 2.5. BUS Chng 3: Phn mm nhng 3.1. Tng quan 3.2. Trnh iu khin thit b 3.2.1. Tng quan 3.2.2. Ngt 3.2.3. B nh 3.2.4. BUS 3.3. H iu hnh trong cc h thng nhng 3.3.1. Tng quan 3.3.2. Tin trnh 3.3.3. Qun l tin trnh 3.3.4. Qun l b nh 3.3.5. Qun l thit b ngoi vi 3.4. Phn mm ng dng Chng 4: Thit k h thng nhng theo cc h VXL 4.1. Tng quan 4.2. H vi x l AT89C 4.2.1. Tng quan 4.2.2. Kin trc h 4.2.3. Tp lnh 4.2.4. S thc thi 4.2.5. Thit k ng dng 4.3. H vi x l AVR 4.3.1. Tng quan 4.3.2. Kin trc h vi x l AVR 4.3.3. Tp lnh 4.3.4. S thc thi 4.3.5. Thit k ng dng 4.4. H vi x l ARM 4.4.1. Tng quan 4.4.2. Kin trc h 4.4.3. Tp lnh 4.4.4. S thc thi 4.4.5. Thit k ng dng

TS

PHN PHI S TIT LT BT TH KT 2

1 8 1 2

1 1

16

2 16 1 5

1 BTL

1 5

-4-

Nhim v ca sinh vin : Tham d cc bui thuyt trnh ca gio vin, t hc, t lm bi tp do gio vin giao, tham d cc bi kim tra nh k v cui k, hon thnh bi tp ln theo yu cu. Ti liu hc tp : - Al.M.Zied , Embedded System Architecture, NXB Elsevier - John Catsoulis, Designing Embedded Hardware, NXB O'Reilly - Ken Arnold, Embedded Controller Hardware Design, NXB LLH Technology - Dhananjay V.Gadre, Programming And Customizing The AVR Microcontroller, NXB Mc.Graw Hill - Steve Furber, ARM System On Chip Architecture, NXB Dorling Kindersley Hnh thc v tiu chun nh gi sinh vin: - nh gi da trn tnh hnh tham d bui hc trn lp, cc bui thc hnh, im kim tra thng xuyn v im kt thc hc phn. - Hnh thc thi cui k : thi vit + kim tra vn p BTL Thang im: Thang im ch A, B, C, D, F im nh gi hc phn Z = 0.3X + 0.7Y. Bi ging ny l ti liu chnh thc v thng nht ca B mn K thut my tnh, Khoa Cng ngh Thng tin v c dng ging dy cho sinh vin. Ngy ph duyt: 15 / 6 / 2010 Trng B mn: ThS. Ng Quc Vinh

-5-

CHNG 1 - TNG QUAN


1.1 Tng quan H iu khin nhng l mt mn hc mi nhm cung cp kin thc cho sinh vin v kh nng phn tch v thit k h thng iu khin v thng minh ho h thng theo chc nng theo gii php cng ngh. Thit k thc thi iu khin trn nn phn cng nhng. K nguyn cng ngh mi v ang tip tc pht trin khng ngng nhm thng minh ho hin i ho thng sut cc h thng. C th ni nh du s ra i v pht trin ca h nhng trc tin phi k n s ra i ca cc b vi x l, vi iu khin. N c nh du bi s ra i ca Chip vi x l u tin 4004 vo nm 1971 cho mc ch tnh ton thng mi bi mt cng ty Nht bn Busicom v sau c chp cnh v pht trin vt bc bi Intel tr thnh cc b siu x l nh cc Chip c ng dng cho PC nh ngy nay. Thp k 80 c th c coi l khi im bt u k nguyn ca s bng n v pht trin cc h nhng. T khi ngun cho ln sng ra i ca hng lot cc chng loi vi x l v gn lin l cc h nhng thm nhp rng khp trong cc ng dng hng ngy ca cuc sng chng ta v d nh, cc thit b in t s dng cho sinh hot hng ngy (l vi sng, TV, t lnh, my git, iu ho ...) v vn phng lm vic (my fax, my in, my in thoi...)... Cc b vi x l v phn mm cng ngy cng c s dng rng ri trong rt nhiu cc h thng nh. Cc loi vi x l c s dng trong cc h thng nhng hin nay vt xa so vi PC v s lng chng loi (chim n 79% s cc vi x l ang tn ti [2] ) v vn cn tip tc pht trin nhm p ng v tho mn rt nhiu ng dng a dng. Trong s vn cn ng dng c cc Chip vi x l 8 bit, 16 bit v hin nay ch yu vn l 32 bit (chim khong 75%). Gn lin vi s pht trin phn cng, phn mm cng pht trin vi tc nhanh khng thua km thm ch s tng nhanh hn rt nhiu theo s pht trin h nhng. Ta xem xt mt s khi nim sau. 1.1.1 H thng nhng Vy th no l mt h nhng? Trong th gii thc ca chng ta bt k mt thit b hay h thng in/in t c kh nng x l thng tin v iu khin u c th tim n trong mt thit b hay h nhng, v d nh cc thit b truyn thng, thit b o lng iu khin, cc thit b phc v sinh hot hng ngy nh l vi sng, my git, cameraRt d dng c th k ra hng lot cc thit b hay h thng nh vy ang tn ti quanh ta, chng l h nhng. Vy h nhng thc cht l g v nn hiu th no v h nhng? Hin nay cng cha c mt nh ngha no thc s tho ng c chun ho v tha nhn rng ri cho h nhng m vn ch l nhng khi nim din t v chng thng qua nhng c th chung. Tuy nhin y chng ta c th hiu h nhng l mt phn h thng x l thng tin nhng trong cc h thng ln, phc hp v c lp v d nh trong t, cc thit b o lng, iu khin, truyn thng v thit b thng minh ni chung. Chng l nhng t hp ca phn cng v phn mm thc hin mt hoc mt nhm chc nng chuyn bit, c th (Tri ngc vi my tnh PC m chng ta thng thy c s dng khng phi cho mt chc nng m l rt nhiu chc nng hay phc v chung cho nhiu mc ch). PC thc cht li l mt h thng ln, t hp ca nhiu h thng nhng v d nh card mn hnh, m thanh, modem, cng, bn phmChnh iu ny lm chng ta d lng tng nu c hi nn hiu th no v PC, c phi l h nhng hay khng. 1.1.2 H thng thi gian thc Trong cc bi ton iu khin v ng dng chng ta rt hay gp thut ng thi gian thc. Thi gian thc c phi l thi gian phn nh v trung thc ca thi gian hay khng? Thi gian thc c phi l hin th chnh xc v ng b theo ng nh nhp ng h m thi gian hay khng? Khng phi hon ton nh vy! Thc cht, theo cch hiu nu ni trong cc h thng k thut c bit cc h thng yu cu kht khe v s rng buc thi gian, thi gian -6-

thc c hiu l yu cu ca h thng phi m bo tho mn v tnh tin nh trong hot ng ca h thng. Tnh tin nh ni ln hnh vi ca h thng thc hin ng trong mt khung thi gian cho trc hon ton xc nh. Khung thi gian ny c quyt nh bi c im hoc yu cu ca h thng, c th l vi giy v cng c th l vi nano giy hoc nh hn na. y chng ta phn bit yu t thi gian gn lin vi khi nim v thi gian thc. Khng phi h thng thc hin rt nhanh l s m bo c tnh thi gian thc v nhanh hay chm hon ton l php so snh c tnh tng i v mili giy c th l nhanh vi h thng iu khin nhit nhng li l chm i vi cc i tng iu khin in nh dng, p. Hn th na nu ch nhanh khng th cha m phi m bo duy tr n nh bng mt c ch hot ng tin cy. Chnh v vy h thng khng kim sot c hot ng ca n (bt nh) th khng th l mt h thng m bo tnh thi gian thc mc d h thng c th cho p ng rt nhanh, thm ch nhanh hn rt nhiu so vi yu cu t ra. Mt v d minh ho tiu biu l c ch truyn thng d liu qua ng truyn chun Ethernet truyn thng, mc d ai cng bit tc truyn l rt nhanh nhng vn khng phi h hot ng thi gian thc v khng tho mn tnh tin nh trong c ch truyn d liu (c th l rt nhanh v cng c th l rt chm nu c s canh trnh v giao thng ng truyn b nghn). Ngi ta phn ra lm hai loi i vi khi nim thi gian thc l cng (hard real time) v mm (soft real time). Thi gian thc cng l khi h thng hot ng vi yu cu tho mn s rng buc trong khung thi gian cng tc l nu vi phm th s dn n hot ng ca ton h thng b sai hoc b ph hu. V d v hot ng iu khin cho mt l phn ng ht nhn, nu chm ra quyt nh c th dn n thm ho gy ra do phn ng phn hch v dn n bng n c h thng. Thi gian thc mm l khi h thng hot ng vi yu cu tho mn rng buc trong khung thi gian mm, nu vi phm v sai lch nm trong khong cho php th h thng vn c th hot ng c v chp nhn c. V d nh h thng pht thanh truyn hnh, nu thng tin truyn i t trm pht ti ngi nghe/nhn chm mt vi giy th cng khng nh hng ng k n tnh thi s ca tin c truyn i v hon ton c chp nhn bi ngi theo di. Thc t thy rng hu ht h nhng l cc h thi gian thc v hu ht cc h thi gian thc l h nhng. iu ny phn nh mi quan h mt thit gia h nhng v thi gian thc v tnh thi gian thc tr thnh nh mt thuc tnh tiu biu ca h nhng. V vy hin nay khi cp ti cc h nhng ngi ta u ni ti c tnh c bn ca n l tnh thi gian thc. 1.1.3 Lnh vc ng dng ca h thng nhng Chng ta c th k ra c rt nhiu cc ng dng ca h thng nhng ang c s dng hin nay, v xu th s cn tip tc tng nhanh. Mt s cc lnh vc v sn phm th trng rng ln ca cc h nhng c th c nhm nh sau: Cc thit b iu khin t, tu in Truyn thng Thit b y t H thng o lng thm nh To nh thng minh Thit b trong cc dy truyn sn xut Rbt ... 1.2 Kin trc h thng nhng Kin trc ca mt h thng nhng th hin mc trong sut ca cc thit b nhng, l cc h thng nhng thng thng s khng th hin cc thng tin ci t c th nh m ngun hoc cc chi tit v mch in. Ti mi mc ca kin trc, cc thnh phn phn cng -7-

v phn mm s th hin mt s nhng elements, l nhng n v tng tc vi nhng thnh phn khc. Elements l cc th hin ca phn cng v phn mm m nhng thng tin ci t c th c n i, elements ch cho ta bit nhng thng tin v hnh vi ca chng. Ta c internal v external elemnt, internal element lin kt vi cc thit b nhng cn external elemements lin kt vi cc internal elements. Tm li, kin trc ca mt h thng nhng bao gm cc thnh phn ca h thng . Cc elements lin kt vi h thng, thuc tnh ca tng thnh phn elements c th v mi quan h gia cc elements. Thng tin v cc mc ca kin trc h thng nhng c biu din di dng cc cu trc. Mt cu trc c th biu din mt phn kin trc, ng thi bao gm tp hp cc thnh phn, thuc tnh v cc mi lin h gia cc thnh phn. Mi cu trc do l mt snapshot ca h thng phn cng/phn mm ti thi im thit k hoc thc thi. Cho trc mt mi trng thc thi v mt tp hp cc thnh phn. Do rt kh c th dng mt snapshot m t tt c nhng phc tp ca c h thng, thng tin v kin trc thng c to ra t nhiu cu trc. Tt c mi cu trc trong mt kin trc u c k tha v lin quan n cc cu trc khc. Bng sau m t mt s cc cu trc c bn nht v a ra gii thch v s lin quan gia nhng thnh phn ny.

-8-

Layers

Decomposition Class Component and Connector Client/Server Process Concurrent and Resource Interrupt Scheduling Memory

Safety and Reliability Alocation Work Assignment Implementation Deployment Hnh 1.1 Cc kin trc c bn ca h thng nhng Trong : Module: l nhng thnh phn c nh ngha vi nhng chc nng khc nhau, l nhng n v phn mm/phn cng cn thit h thng c th hot ng ng. Cu trc m t vi nhng module ny thng c s dng gii thiu mt sn phm no . SubSystem: biu din hnh nh ca mt module ti thi im thc thi trong c s lin kt hot ng gia cc module vi nhau -9-

Kernel

SubSystem

Chennel Architecture

Virtal Machine

Module

Layers: mt kiu ca SubSystem trong cc module c biu din di dng cc lp, module lp trn s s dng cc dch v c cung cp bi module lp di. Kernel: cu trc biu din cc module c s dng cc dch v ca kernel hoc c qun l bi kernel. Channel Architecture: cu trc biu din cc module dng chui, m t nhng s thay i trng thi ca module trong qu trnh hot ng. Virtual Machine: cu trc biu din cc module s dng cc dch v ca mt my o. Decomposition: mt kiu cu trc module trong mt s module l cc module con ca module khc, th hin trong cc mi quan h gia nhng module ny. Cu trc ny thng c s dng xc nh cc ti nguyn, qun l d n, qun l d liu ... Class: l mt kiu cu trc biu din cc n v phn mm trong cc module c tham chiu l cc lp, v quan h gia chng c nh ngha da theo m hnh hng i tng trong lp ny k tha t lp khc hoc l mt th hin ca lp cha. Component or Connector: cc cu trc ny bao gm cc thnh phn hoc l cc components v d nh cc n v x l phn cng, phn mm, b x l, my o... hoc cc Connector (cc n v kt ni gia cc thnh phn, nh h thng bus phn cng hoc h thng thng ip phn mm) Client/Server: kiu cu trc m t h thng ti thi im thc thi vi cc thnh phn l clients hoc server v cc connector l cc c ch kt ni (nh giao thc, thng ip, gi tin ...) c s dng lin kt gia clients v server. Process: cu trc ny m t phn mm ca h thng trong cha h iu hnh, cc thnh phn khc nh cc process v cc tin trnh v cc lin kt ca chng. Concurrency and Resource: cu trc ny m t mt snapshot ca h thng bao gm OS, v cc thnh phn trong . Cu trc ny c s dng trong vic qun l ti nguyn v xc nh xem c vn g vi vic chia s cc ti nguyn cng nh cc tin trnh c th thc thi song song hay khng. Interrupt: cu trc m t cc c ch x l ngt trong h thng. Scheduling: cu trc m t c ch lp lch v qun l tin trnh trong h thng. Memory: m t hnh nh ca b nh v cc thnh phn d liu trong b nh cng nh m t cc c ch qun l b nh ca h thng. Safety and Reliability: cu trc m t h thng ti thi im thc thi trong biu din nhng thnh phn d tha v nhng mi lin h ca chng nh gi an ton v tin cy ca c h thng. Allocation: cu trc m t mi lin h gia cc thnh phn phn cng/phn mm v cc thc th ca mi trng bn ngoi. Work Assignment: cu trc ny gn cho cc nhm pht trin nhng cng vic (cc module) cn thc hin. N c s dng trong vic qun l d n. Implementation: y l cu trc phn mm ch ra v tr m phn mm trong h thng file. Deployment: cu trc ny m t h thng ti thi im thc thi vi cc thnh phn ca c phn cng v phn mm v mi lin h gia chng.

1.3 Thit k h thng nhng Ta c th s dng mt s m hnh sau m t chu k thit k cc h thng nhng. Mt s m hnh l c s, cc m hnh khc c hnh thnh da trn cc m hnh c s ny. - 10 -

M hnh big-bang: trong m hnh thit k ny, ta khng c khi nim v k hoch hay qu trnh trong c qu trnh pht trin h thng. M hnh code-and-fix: u tin cc yu cu v sn phm c lm r, sau vic thc hin m lnh c tin hnh da trn cc m t yu cu ny, tip theo m lnh c thc thi v nu c li th li tr v bc trc , ngha l thc hin li m lnh. M hnh waterfall: Qu trnh pht trin sn phm c chia thnh tng bc, kt qu ca bc trc s l d liu ca bc sau. M hnh Spiral: cng da trn vic phn chia thnh tng bc nh waterfall, tuy nhin trong mi mt qu trnh, cc phn hi ca ngi dng hoc ngi pht trin khc c tip thu v c tch hp li vo trong qu trnh pht trin tip theo. Ta xt m hnh Embedded Design and Development Lifecycle Model sau: Product Concept Requirement Analysis

Architecture Design Develope Version n of Architecture Incorporate Feedback Delivery Version n of Architecture Revirew and Obtain feedback Delivery Final Version n of Architecture Incorporate Feedback Develope Implementation Review and Test

Delivery and Maintain the System

Hnh 1.2 M hnh Embedded Design and Development Lifecycle - 11 -

M hnh ny da trn s kt hp gia waterfall v Spiral, ta s xt chi tit m hnh trong nhng phn sau 1.4 M hnh h thng nhng

Hnh 1.3 M hnh h thng nhng Hnh trn ch ra rng tt c cc h thng nhng u c chung mt thnh phn ging nhau tng cao nht, l chng u c t nht mt lp (phn cng) hoc nhiu lp (phn cng, phn mm v ng dng) trong cha tt c cc components. Phn cng bao gm tt c nhng thnh phn vt l c trn mch nhng, phn mm v cc ng dng bao gm tt c nhng thnh phn logic c trong h thng nhng. M hnh tham chiu trn l cch biu din phn lp ca kin trc cc h thng nhng t cc cu trc module c th c suy ra. Nu b qua nhng s khc nhau gia cc thit b trong bng trn, c th ni rng kin trc ca mi h thng c biu din thng qua vic th hin v nhm cc thnh phn c gi l cc lp. Ta cng ch l lp khng ch l khi nim c th ca ring h thng nhng m cn l ca nhiu h thng khc. y l cng c hu ch m hnh ha s kt hp gia hng trm, c th hng ngn thnh phn trong thit k h thng nhng. Nhng nguyn nhn chnh khin chng tr ln hu ch l: Th hin c cc thnh phn quan trng v cc hnh vi ca chng: phng php phn lp cho php ngi c c th nhn din c nhiu thnh phn khc nhau v mi quan h gia chng. Phng php biu din cu trc theo cc module cu trc chnh phn lp kin trc ca ton b d n nhng: bi v trong h thng c rt nhiu module v cc module ny hot ng c lp vi nhau, ng thi chng c nhng mi lin kt mc cao, do vy phn lp nhng loi module ny lm tng kh nng th hin cu trc h thng v khng lm phc tp kh hiu cho ngi c. Cu hi cui chng 1. Th no l h thng nhng, nu nhng lnh vc ng dng ca h thng nhng 2. Phn bit hai loi h thng thi gian thc 3. Trnh by v m hnh pht trin waterfall v spiral 4. Nu nhng u im ca phng php phn lp trong biu din kin trc h thng nhng

- 12 -

Chng 2 - H THNG PHN CNG


2.1 Tng quan Thng thng i km vi cc h thng nhng c rt nhiu nhng yu cu, thit b v b phn. Trong phn ny chng ta s tm hiu mt s b phn chnh v mt s yu cu chnh ca cc h thng nhng. B tnh ton, x l y l mt trong nhng yu cu cn bn nht ca h thng nhng. Tt c cc h thng ly d liu t ngi dng hoc t mi trng xung quanh. Cng vic x l c th c tin hnh bng cch s dng b vi x l hoc cc vi mch in t, cc mch ng hc. Phm vi ca gio trnh ny l nhng h thng nhng s dng vi x l vi nhng b phn phn cng khc. B tnh ton c dng x l, bin i cc d liu thay i ca ngi s dng hoc mi trng thnh nhng d liu u ra theo yu cu. B phn x l tnh ton logic ny thng c tch hp trong mt chip hoc mt mch in t. Kh nng x l ca chng c pht trin rt nhanh chng v ngay bn thn chng cung cp cho ta nhng chc nng phc tp. Lp trnh vin s phi kho lo kt hp nhng im mnh ny vi chng trnh ca anh ta trong khi ci t mt yu cu c th. H thng nhng cng c th ly d liu u vo t mi trng xung quanh. V d, h thng m thanh vi cc la chn ci t nh gi lp nh ht, hi trng, rock vv. Ngi dng c th chuyn i cc la chn ny theo yu cu ca h. Trong trng hp ny d liu u vo l t ngi s dng. 2.1.1 B nh B nh l mt trong nhng yu cu ti nguyn hin nhin khng ch ca h thng nhng m mi h thng trn thc t. Ngay c h thng con ngi cng cn b nh ! Thc t cho thy l b nh ngy cng r hn v gi c v tt hn v cht lng. Trong nhng thi gian trc, khi mi kilo byte, thm ch l byte b nh u c tnh bng tin trm ngn th mi thao tc tc ng vo b nh u c tin hnh v cng chi tit v cn thn. Vi cc h thng nhng ta khng c cc khe cm m rng, v b nh dnh cho h thng nhng thng thng vn l rt nh. V vy, b nh phi c x l c k hoch, chi tit. Nhng hn ch v b nh nh trn c th hin r rng khi ta xem xt thit k ca cc h thng nhng tin tin v cc phn mm i km vi chng. Nhng thut ton s dng nhiu b nh, s dng cc cu trc d liu cng knh u khng c ci t tr khi chng thc s cn thit. 2.1.2 Cc thnh phn kt ni Cc thit b nhng v ng dng khng th tn ti c lp, chng cn c kh nng giao tip vi cc thit b khc c th thc hin chc nng. Ta khng th yu cu ngi s dng kt ni thit b vo cc khe cm nh Ethernet, vv... Nhng lin kt nh vy thng s dng cc giao thc khng dy nh Bluetooth, WLAN, HiperLAN cho nhng khong cch ngn hay 2.5G, 3G, 4G cho nhng khong cch xa hn. Nhng thnh phn kt ni khin cho thit b tr nn thng minh hn. Cc thnh phn ca h thng nhng c minh ha trong hnh v di y

- 13 -

Chng ta s ln lt xt tng n v cu thnh trong nhng phn tip theo.

Hnh 2.1 Cc thnh phn phn cng 2.2 H vi x l 2.2.1 Tng quan

Hnh 2.2 M hnh vi x l Ngi ta vn bit ti phn li x l ca cc b VXL l n v x l trung tm CPU (Central Processing Unit) ng vai tr nh b no chu trch nhim thc thi cc php tnh v thc hin cc lnh. Phn chnh ca CPU m nhim chc nng ny l n v logic ton hc (ALU Arthimetic Logic Unit). Ngoi ra h tr cho hot ng ca ALU cn c thm mt s cc thnh phn khc nh b gii m (decoder), b tun t (sequencer) v cc thanh ghi. B gii m chuyn i (thng dch) cc lnh lu tr trong b m chng trnh thnh cc m m ALU c th hiu c v thc thi. B tun t c nhim v qun l dng d liu trao i qua bus d liu ca VXL. Cc thanh ghi c s dng CPU lu tr tm thi cc d liu chnh cho vic thc thi cc lnh v chng c th thay i ni dung trong qu trnh hot ng ca ALU. Hu ht cc thanh ghi ca VXL u l cc b nh c tham chiu (mapped) v hi nhp vi khu vc b nh v c th c s dng nh bt k khu vc nh khc. - 14 -

Cc thanh ghi c chc nng lu tr trng thi ca CPU. Nu cc ni dung ca b nh VXL v cc ni dung ca cc thanh ghi ti mt thi im no c lu gi y th hon ton c th tm dng thc hin phn chng trnh hin ti trong mt khong thi gian bt k v c th tr li trng thi ca CPU trc . Thc t s lng cc thanh ghi v tn gi ca chng cng khc nhau trong cc h VXL/VK v thng do chnh cc nh ch to qui nh, nhng v c bn chng u c chung cc chc nng nh nu. Khi th t byte trong b nh c xc nh th ngi thit k phn cng phi thc hin mt s quyt nh xem CPU s lu d liu nh th no. C ch ny cng khc nhau tu theo kin trc tp lnh c p dng. C ba loi hnh c bn: Kin trc ngn xp Kin trc b tch lu Kin trc thanh ghi mc ch chung Kin trc ngn xp: s dng ngn xp thc hin lnh v cc ton t nhn c t nh ngn xp. Mc d c ch ny h tr mt m tt v m hnh n gin cho vic nh gi cch th hin chng trnh nhng ngn xp khng th h tr kh nng truy nhp ngu nhin v hn ch hiu sut thc hin lnh. Kin trc b tch lu: vi lnh mt ton t ngm mc nh cha trong thanh ghi tch lu c th gim c phc tp bn trong ca cu trc CPU v cho php cu thnh lnh rt nh gn. Nhng thanh ghi tch lu ch l ni cha d liu tm thi nn giao thng b nh rt ln. Kin trc thanh ghi mc ch chung: s dng cc tp thanh ghi mc ch chung v c n nhn nh m hnh ca cc h thng CPU mi, hin i. Cc tp thanh ghi nhanh hn b nh thng v d dng cho b bin dch x l thc thi v c th c s dng mt cch hiu qu. Hn na gi thnh phn cng ngy cng c xu th gim ng k v tp thanh ghi c th tng nhanh. Nu c ch truy nhp b nh nhanh th kin trc da trn ngn xp c th l s la chn l tng; cn nu truy nhp b nh chm th kin trc thanh ghi s l s la chn ph hp nht. 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.

- 15 -

Xung nhp v trng thi tn hiu Trong VXL v cc vi mch s ni chung, hot ng ca h thng c thc hin ng b hoc d b theo cc xung nhp chun. Cc nhp c ly trc tip hoc gin tip t mt ngun xung chun thng l cc mch to xung hoc dao ng thch anh. m t hot ng ca h thng, cc tn hiu d liu v iu khin thng c m t trng thi theo gin thi gian v mc tn hiu nh c ch ra trong hnh di: M t v trng thi tn hiu hot ng trong VXL

Hnh 2.3 M t v trng thi tn hiu hot ng trong VXL Mc ch ca vic m t trng thi tn hiu theo gin thi gian v mc tn hiu l phn tch v xc nh chui s kin hot ng chi tit trong mi chu k bus. Nh vic m t ny chng ta c th xem xt n kh nng p ng thi gian ca cc s kin thc thi trong h thng v thi gian cn thit thc thi hot ng tun t cng nh l kh nng tng thch khi c s hot ng phi hp gia cc thit b ghp ni hay m rng trong h thng. Thng thng thng tin v cc nhp thi gian hot ng cng nh c tnh k thut chi tit c cung cp hoc qui nh bi cc nh ch to. Mt s c trng v thi gian ca cc trng thi hot ng c bn ca cc tn hiu h thng gm c nh sau: Thi gian tng hoc gim Thi gian tr lan truyn tn hiu Thi gian thit lp Thi gian gi Tr cm hot ng v trng thi treo (TriState) rng xung Tn s nhp xung hot ng 2.2.2 Kin trc vi x l Trong phn ny gii thiu ngn gn cu trc nguyn l ca cc chip x l nhng ng dng trong cc nn phn cng nhng hin nay. S pht trin nhanh chng cc chng loi Chip kh trnh vi mt tch hp cao v ang c mt tc ng ng k n s thay i trong vic thit k cc nn phn cng thit b x l v iu khin s trong thp k gn y. Mi chng loi u c nhng c im v phm vi i tng ng dng v lun khng ngng pht trin p ng mt cch tt nht cho cc yu cu cng ngh. Chng ang hng ti tp trung cho mt th trng cng ngh tim nng rng ln l cc thit b x l v iu khin nhng. Trong bi vit ny tc gi gii thiu ngn gn v cc chng loi chip x l, iu khin nhng in hnh ang tn ti v pht trin v mt s c im v hng phm vi ng dng ca chng. - 16 -

C th k ra hng lot cc Chp kh trnh c th s dng cho cc bi ton thit k h nhng nh cc h vi x l/vi iu khin nhng (Microprocessor/ Microcontroller), Chip DSP (Digital Signal Processing), cc Chip kh trnh trng (FPD Field Programmable Device). Chng ta d b chong ngp nu bt u cng vic thit k bng vic tm kim mt Chip x l iu khin ph hp cho ng dng. V vy cn phi c mt hiu bit v s phn bit v c im v ng dng ca chng khi la chn v thit k. Cc thng tin lin quan nh nh sn xut cung cp Chip, cc kin thc v cng c pht trin km theo. Chip vi x l/vi iu khin nhng l mt chng loi rt in hnh v ang c s dng rt ph bin hin ny. Chng c ra i v s dng theo s pht trin ca cc Chip x l ng dng cho my tnh. V i tng ng dng l cc thit b nhng nn cu trc cng c thay i theo p ng cc ng dng. Hin nay chng ta c th thy cc h vi x l iu khin ca rt nhiu cc nh ch to cung cp nh, Intel, Atmel, Motorola, Infineon. V cu trc, chng cng tng t nh cc Chp x l pht trin cho PC nhng mc n gin hn nhiu v cng nng v ti nguyn. Ph bin vn l cc Chip c rng bus d liu l 8bit, 16bit, 32bit. V bn cht cu trc, Chip vi iu khin l chip vi x l c tch hp thm cc ngoi vi. Cc ngoi vi thng l cc khi chc nng ngoi vi thng dng nh b nh thi gian, b m, b chuyn i A/D, giao din song song, ni tipMc tch hp ngoi vi cng khc nhau tu thuc vo mc ch ng dng s c th tm c Chip ph hp. Thc t vi cc ng dng yu cu tch hp cao th s s dng gii php tch hp trn chip, nu khng th hu ht cc Chip u cung cp gii php m rng ngoi vi p ng cho mt s lng ng dng rng v mm do.

Hnh 2.4 Kin trc nguyn l ca VK vi cu trc Havard 2.2.3 S thc thi Trong phn ny ta s tm hiu v hot ng ca mt s vi iu khin s dng trong cc h thng nhng 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 DSP du phy tnh thng l loi 16bit hoc 24bit cn cc loi du phy tnh thng l 32bit. Mt v d in - 17 -

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

Hnh 2.5: Gin khi chc nng ca DSP TMS320C28xx - 18 -

Chip PAL Ngy nay khi ni n cc chng loi Chip kh trnh mng ta thng bit ti mt s tn gi nh PAL, CPLD, FPGAMt cht lc s v s ra i v pht trin sau y s gip chng ta hnh dung c c im v ngun gc ra i ca chng.

Hnh 2.6 Cu trc PROM v PLA Lch s pht trin ca cc chng loi Chip kh trnh mng PLA (Programmable Logic Array) c bt ngun t nguyn l b nh chng trnh PROM (Programmable Read Only Memory). Trong cc u vo a ch ng vai tr nh cc ng vo ca mch logic v cc ng d liu ra ng vai tr nh cc ng ra ca mch logic. V PROM khng thc s ph hp cho mc ch thit k cc mch logic nn PLA ra i vo u thp k 70. N rt ph hp thc hin mch logic c dng tng cc tch (v cu thnh bi cc phn t logic AND v OR). Nhng nhc im l chi ph sn xut cao v tc hot ng thp. khc phc nhc im ny PAL (Programmable Array Logic) c pht trin. N c cu thnh t cc phn t AND kh trnh v phn t OR gn c nh v c cha c phn t flipflop u ra nn c kh nng thc thi cc mch logic tun t. Hnh 2.7 m t cu trc chung ca PAL.

Hnh 2.7 Cu trc chung ca PAL - 19 -

T khi c ra i v pht trin PAL tr thnh c s cho s ra i ca hng lot cc chng loi Chip kh trnh mng vi cu trc phc tp hn nh SPLD (Simple Programmable Logic Device), CPLD (Complex Programmable Logic Device), v sau ny l FPGA (Field Programmable Gate Array). SPLD cng l tn gi cho nhm cc chng loi Chip kiu tng t nh PAL, PLA. V mt cu trc th SPLD cho php tch hp logic vi mt cao hn so vi PAL thng thng, nhng kch thc ca n s tng ln rt nhanh nu tip tc m rng v tng mt tch hp s u vo. p ng nhu cu m rng mt tch hp CPLD c pht trin. N l s tch hp ca nhiu khi SPLD v cung cp thm kh nng kt ni kh trnh gia cc khi SPLD n l vi nhau. Vi nguyn l cu trc ny CPLD c kh nng tch hp vi mt cao tng ng vi 50 khi SPLD thng thng. Nu ch dng n y chng ta c th thy mt c im chung ca cc chng loi chip kiu PLA hay CPLD u cho php thc hin cc mch logic trn c s t hp logic ca cc u vo v ra bng cc phn t AND v OR. Vi nguyn l ny r rng s gp kh khn khi thc thi cc ng dng i hi cc php tnh ton logic phc tp vi tc cao. p ng iu ny FPGA (Field Programmable Gate Arrays) ra i. N l s cu thnh ca cc khi logic kh trnh cng vi cc knh kt ni lin thng kh trnh gia cc khi vi nhau. Mt hnh nh tiu biu v cu trc nguyn l ca FPGA c m t nh trong Hnh 2.8: Cu trc nguyn l ca FPGA.

Hnh 2.8 Cu trc nguyn l ca FPGA FPGA ang tr thnh mt s la chn thay th rt cnh tranh ca cc chip x l nhng ASICs. N h tr cc u im v chc nng la chn ging nh ASICs nhng cho php chnh sa v thit k li sau khi s dng v gi thnh pht trin thp hn. FPGA cho php kh nng thit k linh hot v thch nghi d dng cho cc tin ch thit b ti u, trong khi vn duy tr c khng gian kch thc phn cng v nng lng tiu th ca h thng. iu ny khng d dng nhn c khi thit k da trn nn cc Chip DSP. FPGA thc s ph hp cho cc ng dng i hi lng tnh ton ln nh trong x l tn hiu. FPGA c th c lp trnh hot ng ng thi vi mt s cc ng d liu song song. Chng l cc ng d liu hot ng ca t hp nhiu cc chc nng t n gin n phc tp nh b cng, b nhn, b m, b lu tr, b so snh, b tnh tng quan,

- 20 -

Hnh 2.9 Cu trc CLB v LAB Ngy nay c th phn loi ra mt s kiu chng loi FPGA da vo cu to ca chng: Cu to t SRAM:Vi loi ny cc mt kt ni kh trnh c thc hin bng cc phn t SRAM, chnh v vy cho php thc hin lp trnh lp li nhiu ln. u im ni bt ca loi ny l cc tng thit k mi c th c thc thi v th nghim nhanh chng. Hn na SRAM cng ang l mt hng pht trin rt mnh hin nay trong nn cng nghip sn xut b nh v cng u thc thi theo cng ngh CMOS rt ph hp vi cng ngh ch to FPGA. Tuy nhin mt c im c th xem nh l nhc im ca FPGA cu to t cc phn t SRAM l chng phi cu hnh li mi khi ngun h thng c cung cp. Cng vic ny thng c thc hin bi mt b nh ngoi chuyn dng hoc bi mt b vi iu khin km theo mch. Chnh v vy cng lm gi thnh ca FPGA tng thm. Cu to t cu ch (antifused): Khng ging nh loi FPGA cu to t SRAM, FPGA vi cu t kiu cu ch c lp trnh offline bng mt thit b lp trnh chuyn dng. tng ch to loi FPGA ny xut pht t nhu cu v mt thit b kh trnh c kh nng lu cu hnh sau khi c s dng. Tc l n khng phi lm cng vic cu hnh mi khi ngun h thng c cung cp. Khi FPGA antifused c lp trnh th n khng th b thay i hay c lp trnh li na. Chnh nh iu ny nn n khng cn bt k mt b nh ngoi no lu tr cu hnh v c th tit kim, gim gi thnh ca thit b. Mt u im ni bt ca FPGA antifused l kiu cu trc lin kt kh bn vng vi cc loi nhiu bc x. c im ny kh quan trng khi thit b phi lm vic trong mi trng tim nng nh qun s hoc hng khng v tr. V vy n trnh c trng hp ri ro c th xy ra nu s dng cng ngh SRAM l hin tng lt trng thi (flipped). Tuy nhin hin tng ny cng c th c khc phc bng c ch d phng chp 3 nhng li lm tng thm chi ph ch to. Mt u im ni bt ca loi FPGA antifused l kh nng bo v cng ngh. Tc l d liu cu hnh lp trnh cho FPGA c th c bo v bi vic c bt hp php hoc khng cho php c. Trong qa trnh x l hoc pht trin, ngi lp trnh s s dng mt tp d liu cu hnh lp trnh v kim tra qu trnh np cu hnh cho FPGA. Cng vic ny ch thc hin mt ln v s khng th thay i c na. Khi thc hin xong n c th c thit lp thm mt thuc tnh l chng c trc tip t FPGA d liu lin quan n cu hnh. Ngoi ra chng ta cng c th bit thm rng FPGA antifused thng s dng t nng lng hn loi - 21 -

FPGA SRAM, kch thc cng nh hn, v tc cng nhanh hn mt cht nh khong cch kt ni cng gia cc phn t ngn hn. Tuy nhin nhc im ln nht ca FPGA antifused l ch c th c lp trnh v cu hnh mt ln. V vy n ch thc s ph hp khi thc thi hon chnh sn phm cui cng v khng ph hp vi mc ch thit k pht trin. Cu to t EEPROM/FLASH EEPROM or FLASH based FPGAs cng c nguyn l cu to tng t nh loi FPGASRAM. Cc phn t cu hnh ca n c kt ni da trn mt chui thanh ghi dch di. Chng c th c cu hnh offline bng cc thit b lp trnh chuyn dng. Cng c mt s c th lp trnh online nhng thi gian lp trnh cu hnh s gp khong 3 ln thi gian thc thi vi nn FPGASRAM. Khi c cu hnh c lp trnh th chng c th c duy tr v khng b mt i nh nguyn l lu gi ca EEPROM hoc FLASH. Loi FPGAEEPROM/FLASH c cu to nh hn so vi loi FPGA SRAM v vy cng c th gim c thi gian lan truyn tn hiu kt ni lin thng gia cc phn t logic. bo v cng ngh khi FPGA c cu hnh v a ra s dng, ta c th bo v bng c ch kha m mm (cu to t khong 50 bit n vi trm bit). Mun c c thng tin cu hnh trc tip t FPGA, ngi ta cn phi c m kha v cng rt kh hoc khng th m c theo nguyn l th sai. V mun vy theo c tnh cng phi mt n hng triu nm mi hy vng thnh cng m ra c. Tuy nhin cng ngh ch to FPGAEEPROM/FLASH i hi thc thi qua nhiu cng on x l hn so vi loi FPGASRAM v vy m s pht trin ca chng cng chm hn. Hn na nng lng tiu th ca chng cng ln hn v phi nui rt nhiu cc phn t in tr ko (pull-up resistor). Cu to t t hp FLASH/SRAM Ngy nay ngi ta cng pht trin ch to cc loi FPGA cu to t cc t hp SRAM v FLASH tn dng c cc u im ca c hai chng loi ny. Thng thng cc phn t cu hnh FLASH s c s dng lu cc ni dung cu hnh sao chp cho cc phn t cu hnh SRAM. V cc phn t cu hnh SRAM hon ton c th c cu hnh li theo yu cu thit k trong khi vn duy tr mt phn thit k cu hnh gc lu trong cc phn t FLASH. Ngi ta cng thng phn loi FPGA da vo phn t kin trc ca chng v bao gm 3 loi chnh: mn, th v trung bnh. Bn cht vic phn loi ny l da vo kiu khi logic kh trnh cu thnh nn FPGA. Vi loi FPGA mn th kin trc cc khi logic kh trnh thng l cc cng logic n gin (kiu AND, OR, v cc phn t lu gi nh Triger D). Kiu kin trc ny ph hp v thng s dng hiu qu vi kin trc ASIC. Gn y xu th pht trin ca FPGA ang tp trung vo loi kin trc th. Tc l cc khi logic kh trnh l cc khi c kh nng x l logic ln vi nhiu t hp lin kt v phc tp vi nhiu u vo v ra lin kt. Tu theo mc ca khi logic kh trnh m ngi ta phn ra thnh cc loi trung bnh. C hai loi cu trc c bn cu thnh nn cc khi logic kh trnh trong kin trc FPGA th hoc trung bnh l MUX (Multiplexer) v LUT (Lookup Table). Trong loi cu trc MUX th cc phn t logic c cu thnh theo cu trc t hp cc u vo ra theo nguyn l MUX nh m t trong hnh sau: Khi logic dng MUX.

- 22 -

Hnh 2.10 Khi logic dng MUX i vi loi cu trc LUT th cc u vo thc cht l cc t hp chn ra gi tr trong bng cht l ca hm chc nng cn thc thi. Nguyn l ca loi khi logic ny c m t nh trong Hnh 2.11.

Hnh 2.11 LUT thc hin hm t hp AND v OR Hu ht cc ng dng u c nhu cu v b nh RAM on Chip v vy mt s dng FPGA hin nay cng tch hp thm c cc phn t nh RAM v c gi l RAM nhng (embedded RAM). Cc phn t RAM c t chc thnh tng khi v tu thuc vo kin trc ca FPGA n s c phn b linh hot, thng l xung quanh cc phn t ngoi vi hoc phn b u trn b mt Chip. Mt hnh nh minh ho v phn b RAM trong kin trc FPGA c m t nh trong Hnh 2.12.

Hnh 2.12 Hnh nh Chip c cc ct l cc khi RAM nhng - 23 -

FPGA vi ht nhn DSP Thc cht l mt t hp nhm tng tc v kh nng tnh ton. Khi nim ny cng tng t nh cc b ng x l ton hc trong kin trc my tnh. Nguyn l l nhm san s v gim bt ti sang FPGA thc thi cc chc nng tnh ton ln (thng thng i hi thc hin trong nhiu nhp hot ng ca Chip DSP) v cho php Chip DSP tp trung thc hin cc chc nng n nhp ti u. T hp FPGA v DSP l mt kin trc rt linh hot v c bit ci thin c hiu sut thc hin v tng tc hn rt nhiu so vi kin trc nhiu Chip DPS hoc ASICs ng thi gi thnh li thp hn.

Hnh 2.13 S nguyn l mch ghp ni VK v FPGA 2.3 B nh 2.3.1 Tng quan 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 .

Hnh 2.14 Kin trc b nh von Neumann v Havard

- 24 -

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 duy nht mt con tr DPTR c th c s dng ly d liu ra t vng m chng trnh. Hnh 2.14 m t nguyn l kin trc ca b nh von Neumann v Harvard. u im ni bt ca cu trc b nh Harvard so vi kin trc von Neumann l c hai knh tch bit truy nhp vo vng b nh m chng trnh v d liu nh vy m m chng trnh v d liu c th c truy nhp ng thi v lm tng tc lung trao i vi b x l.

Hnh 2.15 Nguyn l iu khin tch knh truy nhp bus a ch v bus d liu 2.3.2 B nh ROM B nh ch c ROM cng c ch to bng cng ngh bn dn. Chng trnh trong ROM c vit vo lc ch to n. Thng thng, ROM cha chng trnh khi ng my tnh, chng trnh iu khin trong cc thit b iu khin t ng,... PROM (Programable ROM): Ch to bng cc mi ni (cu ch - c th lm t bng in). Chng trnh nm trong PROM c th c vit vo bi ngi s dng bng thit b c bit v khng th xa c. EEPROM (Eletrically Erasable Programable ROM): Ch to bng cng ngh bn dn. Chng trnh nm trong ROM c th c vit vo v c th xa (bng in) vit li bi ngi s dng.

- 25 -

EPROM (Erasable Programable ROM): Ch to bng nguyn tt phn cc tnh in. Chng trnh nm trong ROM c th c vit vo (bng in) v c th xa (bng tia cc tm - trung ha tnh in) vit li bi ngi s dng. Bao gm mt mng cc transistor kh trnh. M chng trnh s c ghi trc tip v vi x l c th c ra thc hin. EPROM c th xo c bng tia cc tm v c th c lp trnh li. Cu trc vt l ca EPROM c m t nh trong Hnh 2.16.

Hnh 2.16 Nguyn l cu to v hot ng xo ca EPROM B nh Flash: Cng ging nh EPROM c cu to bi mt mng transistor kh trnh nhng c th xo c bng in v chnh v vy c th np li chng trnh m khng cn tch ra khi nn phn cng VXL. u im ca b nh flash l c th lp trnh trc tip trn mch cng m n ang thc thi trn . 2.3.3 B nh RAM Vng lu hoc trao i d liu trung gian trong qu trnh thc hin chng trnh.

Hnh 2.17 Cu trc nguyn l b nh RAM - 26 -

RAM c hai loi SRAM v DRAM

Hnh 2.18 Cu trc mt phn t nh DRAM

Hnh 2.19 Nguyn l ghp ni (m rng) RAM vi VXL 2.3.4 Qun l b nh Cng vic qun l b nh ca my vi tnh ch yu l do b vi x l m nhim. Bn cnh cn c DMAC (Direct Memory Access Controller) cng tham gia qun l b nh trong vic truyn s liu gia controller a vi b nh v lm ti b nh. nhng my c Cache Memory th Cache Memory Controller thc hin cc cng vic truyn s liu gia Cache Memory v RAM. khu vc trung tm ca my vi tnh (b vi x l, ROM, RAM, cc bus...), thc cht ca vic qun l b nh l cc thanh ghi ca vi x l a ra cc a ch ca nh hoc ca cng I/O qua bus a ch, cng cc lnh iu khin/ trng thi khc v lnh c vo/ vit ra cc s liu ca cc nh y. Cc b phn bn ngoi VXL s gii m cc a ch v cc tn hiu iu khin/ trng thi tr vo cc byte/ t/ t kp... ca b nh thc hin cc thao tc tng ng. Cn t cc a tr i, vic qun l b nh l thc hin cc lnh ca h iu hnh ln cc file (c a ch 3 chiu l C-H-S), c th l truyn s liu nh DMAC gia vng m (buffer) ca b iu khin a vi b nh RAM. Cc b vi x l Intel t th h 286 tr i phn bit hai mode a ch: mode a ch thc (ch qun l 20 bit a ch vt l ca b nh) v mode a ch bo v (qun l ti 32 bit a ch o nh cc thanh ghi n trong b vi x l). - 27 -

cp di, tc cp ngoi vi, nh b iu khin a, b iu khin mn hnh, my in... cng c t chc b nh ring ca chng tin cho vic ct gi v x l vi cc c th ring. Cc b nh RAM-ROM v cc vng nh ca b nh ngoi (trn cc a), khc nhau v cch m ho cc bit, cch t chc, do c cch truy nhp cng khc nhau. B nh ca vi x l c th xem nh bao gm c b nh ROM v b nh RAM. B nh RAM ca vi x l chnh l cc thanh ghi (thanh ghi chung, thanh ghi ch s, thanh ghi on, thanh ghi ngn xp, thanh ghi trng thi, thanh ghi c, cc b m s liu/ a ch/ iu khin...). Cn b nh RAM l b phn gii m lnh pht ra cc vi lnh. Nhm mc ch qun l c s lng a ch nh (o) nhiu hn s ng a ch ca b vi x l v bo v cc vng nh ca cc nhim v khc nhau (task) v ca ht nhn (kernal) chng truy nhp khng hp php, cc vi x l c cc cch t chc c bit cc thanh ghi a ch (b phn phn trang, iu khin on ca cc nhim v). Cc b vi x l t th h 486 tr i cn c mt b nh Cache Memory vi kch thc nhiu Kbyte cha mng cc lnh v s liu ang thng dng ly t b nh RAM, nhm tng tc truy nhp. tng tc tnh ton cc php ton du chm ng, trong cc b vi x l t 486 tr i cn c b phn du chm ng (FPU, Floating Point Unit), b phn ny cng c cc thanh ghi FPU phc v ring cho n. B nh trong ca my tnh dng cha chng trnh v s liu ca phn chng trnh ht nhn v cc nhim v. Mi byte c gn cho mt a ch VXL v DMAC c th truy nhp ti. B nh RAM nhng my t 386 tr i c th c tch ring ra b nh m (cache memory), l RAM tnh vi thi gian truy nhp nhanh, c kch thc di 1Mb c ni ngay vo bus ni b ca my tnh st ngay vi x l v c iu khin bi Cache controller. Phn cn li l DRAM, chm hn nhng r hn v c dung lng ln hn. 2.4 Thit b ngoi vi 2.4.1 Tng quan My vi tnh hay h vi x l u c cu trc chung gm khi x l trung tm CPU, b nh v cc mch vo ra I/O. Ngoi ra, my vi tnh cn phi trao i d liu vi mi trng bn ngoi, v d giao tip vi ngi s dng qua bn phm, mn hnh, trao i vi cc thit b ngoi thng dng, cc thit b trong h o lng, iu khin v cc my vi tnh khc trong mng. Cc thit b ngoi vi bao gm: Cc thit b vo chun nh bn phm, chut Cc thit b ra chun nh mn hnh, my in Cc b nh ngoi chun nh cng, CD ROM Cc h o lng, iu khin ...

- 28 -

Hnh 2.20 Cu trc ghp ni gia my vi tnh v thit b ngoi vi Trong VXL : vi x l BGN: b ghp ni CN: cng nghip K: iu khin B phi ghp nm trung gian gia my vi tnh v cc thit b ngoi, ng vai tr trung chuyn d liu (nhn v truyn) gia chng. Khi truyn d liu t my vi tnh ra thit b ngoi, b phi ghp ng vai tr nhn d liu t my tnh v l ngun cp d liu cho thit b ngoi. Khi truyn d liu t thit b ngoi vo my vi tnh, b phi ghp ng vai tr nhn d liu t thit b ngoi v l ngun cp d liu vo cho my tnh. B phi ghp lm nhim v phi hp trao i d liu gia my tnh v thit b ngoi v mc v cng sut ca tn hiu, v dng tn hiu, v tc v phng thc trao i. Phi hp v mc v cng sut tn hiu Mc tn hiu ca my vi tnh thng l mc (0V, 5V) trong khi ca cc thit b ngoi, hoc mc cao ( 15V, 48V) hoc rt thp (<<1V). Do , b phi ghp phi bin i cc mc trn cho ph hp. Cng sut ca cc tn hiu trn bus d liu ca my vi tnh rt nh (c vi chc mA), trong khi cn cng sut ln hn nhiu cho thit b ngoi. Do b phi ghp phi bin i cng sut cho ph hp. cc ng vo v ng ra ca b phi ghp thng dng cc mch m ba trng thi. Phi hp v dng d liu (tn hiu). B phi ghp phi m bo tnh tng thch v c ch trao i d liu gia my tnh v thit b ngoi.

- 29 -

Phi hp v tc trao i d liu. My tnh thng hot ng vi tc cao, trong khi cc thit b ngoi thng hot ng chm hn. Do b phi ghp phi c kh nng cp, nhn d liu nhanh vi my tnh, nhng vi thit b ngoi th ngc li . Phi hp v phng thc trao i d liu. m bo s trao i d liu mt cch tin cy, cn c b phi ghp v phng thc trao i d liu din ra theo mt trnh t nht nh v hp l. Nu vic trao i d liu do my tnh yu cu th qu trnh din ra nh sau: My tnh a lnh iu khin khi ng b phi ghp hay thit b ngoi. My tnh c tn hiu tr li. Nu c tn hiu sn sng mi trao i tin, nu khng, thm mt chu k ch v c li trng thi. My tnh trao i tin khi c thy trng thi sn sng. Nu vic trao i tin do TBN yu cu: gim thi gian ch i trng thi sn sng ca TBN, my tnh c th khi ng TBN ri thc hin cc nhim v khc. Vic trao i tin din ra khi: TBN gi yu cu trao i tin ti b x l ngt ca khi ghp ni, a yu cu ngt chng trnh n my tnh. Nu c nhiu thit b ngoi cng gi yu cu, KGN x l theo mc u tin ngt nh trc, ri a yu cu trao i tin cho my tnh. My tnh nhn yu cu, chun b trao i v gi tn hiu xc nhn sn sng trao i. KGN nhn v truyn tn hiu xc nhn cho TBN. TBN trao i tin vi KGN v KGN trao i tin vi my tnh (nu l a tin vo) hoc my tnh trao i tin vi KGN v KGN trao i tin vi TBN (nu l a tin ra). 2.4.2 Vo ra ni tip Cng ni tip c s dng truyn d liu hai chiu gia my tnh v ngoi vi, c cc u im sau: Khong cch truyn xa hn truyn song song. S dy kt ni t. C th truyn khng dy dng hng ngoi. C th ghp ni vi vi iu khin hay PLC (Programmable Logic Device). Cho php ni mng. C th tho lp thit b trong lc my tnh ang lm vic. C th cung cp ngun cho cc mch in n gin Cc thit b ghp ni chia thnh 2 loi: DTE (Data Terminal Equipment) v DCE (Data Communication Equipment). DCE l cc thit b trung gian nh MODEM cn DTE l cc thit b tip nhn hay truyn d liu nh my tnh, PLC, vi iu khin, Vic trao i tn hiu thng thng qua 2 chn RxD (nhn) v TxD (truyn). Cc tn hiu cn li c chc nng h tr thit lp v iu khin qu trnh truyn, c gi l cc tn hiu bt tay (handshake). u im ca qu trnh truyn dng tn hiu bt tay l c th kim sot ng truyn. Tn hiu truyn theo chun RS-232 ca EIA (Electronics Industry Associations). Chun RS-232 quy nh mc logic 1 ng vi in p t -3V n -25V (mark), mc logic 0 ng vi in p t 3V n 25V (space) v c kh nng cung cp dng t 10 mA n 20 mA. Ngoi ra, tt c cc ng ra u c c tnh chng chp mch. Chun RS-232 cho php truyn tn hiu vi tc n 20,000 bps nhng nu cp truyn ngn c th ln n 115,200 bps. Cc phng thc ni gia DTE v DCE: n cng (simplex connection): d liu ch c truyn theo 1 hng. - 30 -

Bn song cng ( half-duplex): d liu truyn theo 2 hng, nhng mi thi im ch c truyn theo 1 hng. Song cng (full-duplex): s liu c truyn ng thi theo 2 hng.

2.4.3 Vo ra song song Trong phn ny ta xt cng song song kh trnh 82C55A. 82C55A l mt giao din ngoi vi cng song song kh trnh c ch to theo cng ngh CMOS. N l mt thit b ngoi vi vo ra kh trnh a mc ch v c th c s dng vi nhiu loi VXL/VK khc nhau. 82C55A c 24 chn vo ra on Chip c chia ra thnh 2 nhm, mi nhm 12 chn v c th c s dng theo 3 ch hot ng khc nhau. Hnh 2.21 m t gin khi chc nng ca chip 82C55A.

Hnh 2.21 Gin chc nng ca 82C55A 82C55A cung cp 3 ch hot ng chnh v c th lp trnh la chn Mode 0: Hot ng vo ra c bn Mode 1: Hot ng vo ra nm bt (strobed) Mode 2: Hot ng Bus 2 chiu Vic la chn ch hot ng c thc hin thng qua thanh ghi t iu khin v c m t nh trong hnh sau.

- 31 -

Hnh 2.22 Thanh ghi t iu khin chn ch hot ng cho 82C55A Khi u vo RESET c iu khin mc cao th tt c cc cng s c thit lp hot ng ch cng vo vi 24 ng tn hiu vo duy tr mc logic 1. Sau khi tn hiu iu khin RESET mc tch cc b loi b th 82C55A c th duy tr ch hot ng m khng cn thm bt k vic khi to no na. iu ny s gip loi b c cc in tr treo cao hoc treo thp trong cc thit k cho mch CMOS. Khi kch hot ch thit lp th thanh ghi t iu khin s cha gi tr 9Bh. Trong qa trnh thc hin chng trnh vn c th thay i la chn ch hot ng khc nhau, iu ny cho php 82C55 hot ng mt cch a dng p ng cho nhiu bi ton ng dng khc nhau. Trong qa trnh thanh ghi t iu khin ang c vit th tt c cc cng c thit lp hot ng ch cng ra s c khi to bng zero. Mode 0 (Vo ra c bn): Cu hnh ch hot ng ny cung cp cc hot ng vo ra n gin cho c 3 cng A, B v C. D liu c trao i trc tip v khng cn phi c c ch bt tay. Ch hot ng ny h tr cc chc nng c th nh sau: Hai cng 8bit v 2 cng 4bit Bt k cng no cng c th l cng vo hoc cng ra Cc ng d liu tn hiu ra c cht Cc ng tn hiu vo khng c cht C th cu hnh 16 kiu hot ng vo ra khc nhau Mode 1 (Vo ra c bt tay): Ch hot ng ny cung cp kh nng truyn d liu ti hoc i t mt cng c th cng vi cc tn hiu bt tay. Trong ch ny cng A, B c s dng truyn d liu v cng C hot ng nh cng iu khin c ch ng b bt tay. Ch hot ng ny cung cp cc chc nng chnh sau: Hai nhm cng (Nhm A v Nhm B). Mi nhm bao gm 1 cng 8 bit v mt cng d liu iu khin 4bit. Cng d liu 8bit c th hot ng nh hoc l cng vo hoc l cng ra v c hai chiu d liu u c cht. The 4bit port is used for control and status of the 8bit port.

- 32 -

Mode 2 (Bus vo ra hai chiu c bt tay): Ch hot ng ny cung cp kh nng truyn thng vi cc ngoi vi hoc cc bus d liu 8bit cho vic truyn nhn d liu. Cc tn hiu bt tay c cung cp duy tr dng tn hiu bus tng t nh ch 1. Cc c ch to ngt cng c th c thc hin ch ny. Mt s cc chc nng chnh h tr trong ch ny bao gm: Ch s dng nhm A Mt cng bus 2 chiu 8-bit (cng A) v mt cng iu khin 5-bit (Cng C) C hai chiu d liu vo v ra u c cht. Cng iu khin 5-bit (Cng C) c s dng cho mc ch iu khin v trng thi cho cng A trao i d liu 2 chiu 8 bit. 2.5 Bus 2.5.1 Bus a ch Bus a ch l cc ng dn tn hiu logic mt chiu truyn a ch tham chiu ti cc khu vc b nh v ch ra d liu c lu gi u trong khng gian b nh. Trong qa trnh hot ng CPU s iu khin bus a ch truyn d liu gia cc khu vc b nh v CPU. Cc a ch thng thng tham chiu ti cc khu vc b nh hoc cc khu vc vo ra, hoc ngoi vi D liu c lu cc khu vc thng l 8 bit (1 byte), 16bit, hoc 32bit ty thuc vo cu trc tng loi vi x l/vi iu khin. Hu ht cc vi iu khin thng nh a ch d liu theo khi 8bit. Cc Cc loi vi x l 8bit, 16bit v 32bit ni chung cng u c th lm vic trao i vi kiu d liu 8bit v 16bit Chng ta vn thng c bit ti khi nim a ch truy nhp trc tip, l kh nng CPU c th tham chiu v truy nhp ti trong mt chu k bus. Nu vi x l c N bit a ch tc l n c th nh a ch c 2N khu vc m CPU c th tham chiu trc tip ti. Qui c cc khu vc c nh a ch bt u t a ch 0 v tng dn n 2N1. Hin nay cc vi x l v vi iu khin ni chung ch yu vn s dng ph bin cc bus d liu c rng l 16, 20, 24, hoc 32bit. Nu nh a ch theo byte th mt vi x l 16bit c th nh a ch c 216 khu vc b nh tc l 65,536 byte = 64Kbyte. Tuy nhin c mt s khu vc b nh m CPU khng th truy nhp trc tip ti tc l phi s dng nhiu nhp bus truy nhp, thng thng phi kt hp vi vic iu khin phn mm. K thut ny ch yu c s dng m rng b nh v thng c bit ti vi khi nim nh a ch trang nh khi nhu cu nh a ch khu vc nh vt qu phm vi c th nh a ch truy nhp trc tip V d: CPU 80286 c 24bit a ch s cho php nh a ch trc tip cho 224 byte (16 Mbyte) nh. CPU 80386 v cc loi vi x l mnh hn c khng gian a ch 32bit s c th nh c ti 232 byte (4Gbyte) a ch trc tip. 2.5.2 Bus d liu Bus d liu l cc knh truyn ti thng tin theo hai chiu gia CPU v b nh hoc cc thit b ngoi vi vo ra. Bus d liu c iu khin bi CPU c hoc vit cc d liu hoc m lnh thc thi trong qa trnh hot ng ca CPU. rng ca bus d liu ni chung s xc nh c lng d liu c th truyn v trao i trn bus. Tc truyn hay trao i d liu thng c tnh theo n v l [byte/s]. S lng ng bit d liu s cho php xc nh c s lng bit c th lu tr trong mi khu vc tham chiu trc tip. Nu mt bus d liu c kh nng thc hin mt ln truyn trong 1s, th bus d liu 8bit s c bng thng l 1Mbyte/s, bus 16bit s c bng thng l 2Mbyte/s v bus 32bit s c bng thng l 4Mbyte/s. Trong trng hp bus d liu 8bit vi chu k bus l T=1s (tc l s truyn c 1byte/1chu k) th s truyn c 1 Mbyte trong 1s hay 2Mbyte trong 2s. - 33 -

2.5.3 Bus iu khin Bus iu khin phc v truyn ti cc thng tin d liu iu khin hot ng ca h thng. Thng thng cc d liu iu khin bao gm cc tn hiu chu k ng b cc nhp chuyn ng v hot ng ca h thng. Bus iu khin thng c iu khin bi CPU ng b ha nhp hot ng v d liu trao i trn cc bus. Trong trng hp vi x l s dng dn knh bus d liu v bus a ch tc l mt phn hoc ton b bus d liu s c s dng chung chia s vi bus a ch th cn mt tn hiu iu khin phn nhp truy nhp cho php cht lu tr thng tin a ch mi khi bt u mt chu k truyn. Mt v d v cc chu k bus v s ng b ca chng trong hot ng ca h thng bus a ch v d liu dn knh c ch ra trong hnh sau. y l hot ng in hnh trong h vi iu khin 8051 v nhiu loi tng t.

Hnh 2.23 Chu k hot ng ca bus dn knh Cu hi cui chng 1. Nu cc thnh phn phn cng thng c trong mt h thng nhng 2. B vi x l c th c t chc theo nhng kin trc no, c im ca mi loi kin trc ? 3. Nu cu trc, nguyn l hot ng v cc loi b nh Ram 4. Nu cu trc, nguyn l hot ng v cc loi b nh Rom 5. Trnh by phng php qun l b nh trong h thng nhng 6. Nu s khc nhau gia vo ra ni tip v vo ra song song 7. Phn tch c im, v tr v chc nng ca h thng BUS

- 34 -

Chng 3 PHN MM NHNG


3.1 Tng quan Phn mm nhng l g ? Phn mm nhng l mt chng trnh c vit, bin dch trn my tnh v np vo mt h thng khc (gi tt l KIT) bao gm mt hoc nhiu b vi x l c ci sn mt h iu hnh, b nh ghi chp c, cc cng giao tip vi cc phn cng khc Mc ch ca phn mm nhng l nhm h tr cho cc sn phm phn cng cc chc nng hon ho nht, phc v tt nht cc nhu cu ca ngi dng vi s bo mt v sn phm tt nht. Phn mm nhng c cc tnh cht sau: Ph thuc vo h iu hnh ci sn trn KIT Ph thuc vo cc tnh nng t trng ca tng sn phm phn cng c trong KIT Ph thuc vo c tnh ca h thng Phn mm nhng l s tch hp ca ngnh tin hc (phn mm) vi ngnh in t (phn cng). Vi cc cc thit b in t, phn mm nhng mang li nhiu s hu ch cn thit cho ngi s dng v ng thi gim chi ph gi thnh v phn cng cho thit b. Th gii ngy ny nhm ti s tch hp ca ngnh tin hc vi cc ngnh ng dng khc. S tch hp ny c thc hin qua cc thit b thng minh v phn mm nhng l b no ca cc thit b . Trong thi gian khng xa, chng ta s bc ti k nguyn ca "Hu -PC" (thi i ca hu my tnh c nhn) v khi th phn mm nhng s l phn a s ca ngnh cng nghip phn mm. Mt s v d phn mm nhng: Sn phm phn mm nhng rt a dng, phong ph, thuc nhiu chng loi. C th ly cc sn phm sau lm v d: my nh k thut s, l vi ba, my photocopy, my in laser, my FAX, cc bng qung co s dng h thng n LED, mn hnh tinh th lng, my git , my iu ho nhit 3.2 Trnh iu khin thit b 3.2.1 Tng quan Hu ht cc thnh phn phn cng u cn mt vi loi phn mm qun l v iu khin. Cc phn mm giao tip trc tip v iu khin cc thnh phn phn cng ny c gi l cc chng trnh iu khin thit b. Tt c nhng h thng nhng u c cc trnh iu khin thit b ti lp phn mm h thng ca mnh. Trnh iu khin thit b l mt th vin phn mm c nhim v khi ng phn cng, qun l vic truy nhp ti phn cng c cc lp phn mm cao hn. Trnh iu khin thit b c v tr trung gia gia phn cng v h iu hnh, cc chng trnh ng dng.

Hnh 3.1 M hnh h hng nhng v phn mm iu khin thit b Trnh iu khin thit b c chia thnh hai loi l architecture-specific hoc generic. Mt trnh iu khin l architecture-specific nu n qun l cc phn cng tch hp trong bng mch chnh v lin kt vi b x l chnh. Cc nhim ca trnh iu khin thit b ny bao gm vic khi to v iu khin cc thnh phn trong b x l chnh nh b nh chnh, n v iu khin b nh, cc phn cng lin quan n tnh ton cc php ton du phy ng. Mt trnh iu khin l generic nu n qun l cc phn cng khng nm trong bng - 35 -

mch chnh, khng lin kt vi b x l chnh. Trong trnh iu khin generic thng c mt phn chng trnh ca trnh iu khin architecture-specific bi v b x l chnh l n v iu khin trung tm cn thit phi truy nhp n mi thnh phn phn cng, trnh iu khin generic c th c sa i v cu hnh thc thi trn nhiu nn tng phn cng khc nhau c s tng ng v phn cng. Cc trnh iu khin generic bao gm m lnh khi ng v qun l vic truy nhp n cc thnh phn cn li ca bng mch nh cc bus (I2C, PCI, PIMCIA...), cc b nh ngoi chip (level-2+ cache, Flash ...) v cc chip ngoi (Ethernet, Rs 232, Display, Mouse...) 3.2.2 Ngt Ngt l cc tn hiu c to ra bi mt s s kin trong qu trnh thc thi cc ch th lnh ca b x l. Cc ngt c th l khng ng b, vi cc thit b phn cng ngoi nh ngt reset, power... hoc c th l ng b vi nhng hot ng lin quan n ch th lnh nh cc li gi hm hoc cc ch th khc. Nhng tn hiu ny khin b x l dng hot ng hin ti ca dng ch lnh v khi ng th tc x l ngt. Phn mm x l ngt trong b x l v phn cng qun l cc ngt thng bao gm cc trnh iu khin cho vic x l ngt. Cc chc nang m cc trnh iu khin cung cp c th l: Interrupt Handling Startup: khi ng cc ngt cng (v d nh b iu khin ngt, kch hot cc ngt ...) khi h thng khi ng hoc reset. Interrupt Handling Shutdown: cu hnh cc ngt (iu khin ngt, ngng kch hot cc ngt ...) v trng thi power off. Interrupt Handling Disable: cho php cc phn mm khc c th tc ng vo cc ngt (disable). Tuy nhin khng cho php vi cc ngt Non-Maskable. Interrupt Handling Enable: cho php cc phn mm khc c th tc ng vo cc ngt (enable). Interrupt Hadler Servicing: iu khin m lnh ca bn thn ngt m c thc thi ngay sau khi lung ch th lnh chnh dng. C ba loi ngt chnh l software, internal hardware v external hardware. Cc ngt Software c sinh ra bi cc ch th lnh bn trong lung ch th ang thc thi bi b x l. Cc ngt Internal hardware c khi to bi cc s kin l kt qu ca cc vn (thng l li) vi lung ch th ang c thc hin bi cc c trng ca phn cng nh li trn b nh, li chia cho khng, li sai ch lnh .... Cc ngt sinh ra bi nhng s kin ni ti ny thng c gi l cc ngoi l exception. Cui cng, cc ngt external hardware c to ra bi cc thnh phn phn cng nh h thng bus, cc thit b IO... Vi cc ngt c sinh ra bi cc nguyn nhn bn ngoi, b x l s kt ni qua chn IRQ (Interrupt Request Level) vi b x l ngt hoc trc tip vi cc thnh phn trn mch phc v cho ngt ny. Ngt c th c pht sinh theo hai cch: level-triggered v edgetriggered. Ta ni ngt pht sinh theo level-triggered khi tn hiu IRQ ca n c mc nht nh (HIGH hoc LOW). Nhng ngt th ny c x l khi CPU tm ra mt yu cu x l trn ng IRQ sau mi ln thc hin mt ch th lnh no .

Hnh 3.2 Ngt Level-triggered - 36 -

Cc ngt edge-triggered c sinh ra khi c mt s thay i trn ng tn hiu IRQ (t LOW sang HIGH hoc ngc li). Mt khi c sinh ra, nhng ngt nh vy s c a vo CPU ch x l.

Hnh 3.3 Ngt Edge-triggered Ti thi im mt IRQ ca b x l nhn c tn hiu ch th c mt ngt, ngt s c x l bi cc c ch x l ngt bn trong h thng. Cc c ch ny bao gm c phn mm v phn cng. Di kha cnh phn cng, b iu khin ngt c th c tch hp vo mch hoc b x l c th trao i trc tip vi cc thnh phn phn mm lin quan. Vi cc h thng khng c b iu khin ngt, cc ng yu cu ngt c kt ni trc tip vi b x l chnh v cc th tc ngt c iu khin bng phn mm vi cc mch in t. 3.2.3 B nh Trong khi thc t cu to vt l b nh l mt mng hai chiu (ma trn), mi mt phn t nh c mt a ch hng v ct duy nht th b x l li coi b nh nh l mt mng mt chiu v c tham chiu nh l mt Memory Map (MM). Trong MM, mi phn t nh l mt hng cc bytes, v s lng cc bytes trn mi hng ph thuc vo rng ca bus d liu (8 bit, 16 bit, 32 bit, 64 bit...). iu ny ni theo mt cch khc l ph thuc vo cc thanh ghi ca kin trc x l. Khi b nh vt l c tham chiu t phn mm, n c coi l b nh logic v c phn t nh l byte. B nh logic c hnh thnh t tt c cc b nh vt l (thanh ghi, ROM, RAM) trong ton b h thng nhng.

Hnh 3.4 V d v Memory Management H thng phn mm phi m bo cung cp cho b x l trong h thng kh nng truy nhp vo tt c cc phn ca bn nh MM. Cc phn mm phi qun l c cc b nh trong b x l v trn mch cng nh l qun l cc c ch b nh phn cng nh cc chng trnh iu khin ca cc h thng con. Cc h thng nh con bao gm tt c cc thnh phn qun l b nh nh Memory Controller v MMU cng nh cc kiu b nh c trong MM. Cc chc nng m trnh iu khin b nh phi cung cp bao gm:

- 37 -

Memory Subsystem Startup: Phn khi to b nh khi h thng c cp ngun hot reset. Memory Subsystem Shutdown: Cu hnh li thng tin chuyn h thng nh vo trng thi Power-off. Memory Subsystem Disable: Cho php cc phn mm khc c th v hiu ha mt h thng nh no (v d nh cache) Memory Subsystem Enable: Cho php cc phn mm khc c th kch hot h thng nh no . Memory Subsystem Write: Ghi d liu vo mt vng nh xc nh. Memory Subsystem Read: c d liu t mt vng nh xc nh. Bt k s khc nhau gia cc kiu d liu, mi d liu ta c th coi l mt dy cc byes. Trong khi mt ln truy cp b nh b gii hn v kch thc ca bus d liu th ta c cc c ch truy cp b nh vi tng khi block, gi l segments. Vi vic truy nhp ny ta phi cung cp cc thng s lin quan n segment number v offset xc nh a ch vt l ca khi nh. Trt t m trong cc bytes c ly ra hot ghi vo ph thuc vo kin trc byte ordering ca h thng. Hai kiu kin trc thng dng l little endian v big endian. Vi little endian, cc byte c c v ghi theo th t byte thp trc, ngc li vi big endian. 3.2.4 Bus Nh ta bit, cc thng tin lin quan n bt k mt h thng BUS no bao gm: protocol nh ngha cch thc m cc thit b truy nhp vo bus, cc qui nh cc thit b kt ni vi nhau thng qua bus v cc tn hiu trn bn thn bus. Cc giao thc Bus c cung cp vi trnh iu khin bus vi cc chc nng chnh sau y: Bus Startup: khi ng cc thng s ban u khi h thng c cp ngun hot ng hoc reset Bus Shutdown: cu hnh bus chuyn v trng thi Power Off Bus Disable: cho php cc phn mm khc v hiu ha Bus ngay lp tc Bus Enable: cho php cc phn mm khc kch hot Bus ngay lp tc Bus Acquire: cho php cc phn mm khc c quyn s dng Bus Bus Release: cho php cc phn mm khc gii phng Bus Bus Read: cho php cc phn mm khc c d liu t Bus Bus Write: cho php cc phn mm khc ghi d liu ln Bus Bus Install: cho php cc phn mm khc c ci t cc thit b m rng Bus Bus Uninstall: cho php cc phn mm khc c loi b cc thit b Bus 3.3 H iu hnh trong cc h thng nhng 3.3.1 Tng quan Vi h thng nhng, h iu hnh OS ch l mt la chn, ngha l ta c th gp nhng h thng nhng c hoc khng c h iu hnh. Cc h iu hnh c th c s dng trn bt k mt b x l no. Nh trong hnh sau, h iu hnh c t trn phn cng, cc trnh iu khin thit b hoc BSP (Board Support Package).

- 38 -

Hnh 3.5 M hnh h thng nhng v h iu hnh H iu hnh l tp hp cc th vin phn mm phc v cho hai mc ch chnh: cung cp s trong sut cho cc phn mm hot ng trn h iu hnh , lm cho cng vic pht trin cc ng dng c d dng hn v qun l cc ti nguyn phn cng v phn mm m bo cho ton h thng hot ng mt cch hiu qu, tin cy. Trong khi cc h iu hnh nhng khc nhau cc thnh phn x l, hu ht cc h iu hnh ny u c mt nhn Kernel rt hn ch. Kernel l thnh phn cha cc chc nng c bn nht ca h iu hnh, bao gm: Qun l tin trnh: cung cp cc c ch qun l cc phn mm trong h thng nhng. Mt chc nng nh thng c trong qun l tin trnh l vic qun l cc ngt v ngoi l. Tt c cc ngt, ngoi l, li sinh ra bi cc tin trnh u phi c qun l mt cch hiu qu sao cho chng c x l chnh xc v cc tin trnh sinh ra nhng ngoi l ny c theo di ng mc. Qun l b nh: Khng gian nh trong h thng nhng c chia s bi tt c cc tin trnh, v vy vic truy nhp v mt phn t nh phi c qun l cht ch. Mt chc nng chnh trong qun l b nh l vic qun l an ninh h thng, chc nng ny cho php mt phn ca h thng c th c lp trnh nh hng ti s hot ng ca ton b h thng. Qun l vo ra: Cc thit b vo ra c chia s bi nhiu tin trnh v do cng phi c qun l nh l b nh. Mt trong nhng chc nng chnh ca qun l vo ra l qun l vic truy nhp cc file gia cc tin trnh.

Hnh 3.6 M hnh h thng nhng

- 39 -

3.3.2 Tin trnh hiu r cch thc h iu hnh qun l cc ti nguyn phn cng v phn mm ta phi hiu r cch h iu hnh nhn nhn v h thng. H iu hnh phn bit gia mt chng trnh v s thc thi ca chng trnh . Chng trnh n gin l mt dy cc ch th lnh tnh v th ng. Vic thc thi thc t ca chng trnh l ng, trong c rt nhiu s thay i theo thi gian. Mt tin trnh (task) c to bi h iu hnh trong c cha tt c nhng thng tin lin quan n s thc thi ca chng trnh (v d stack, PC, m ngun, d liu ...). iu ny ngha l chng trnh ch l mt phn ca tin trnh. Cc h iu hnh nhng qun l tt c cc phn mm bng cch s dng cc tin trnh, ta c th c n tin trnh hoc a tin trnh. Trong mi trng n tin trnh, ch c mt tin trnh c thc thi trong mt thi im. Ngc li, c th c nhiu tin trnh cng thc thi trong mi trng a tin trnh. Ta thy r rng l n tin trnh s khng yu cu cc c ch thut ton phc tp nh a tin trnh. Vi a tin trnh ta phi m bo cc tin trnh c lp vi nhau v khng nh hng n nhau ngoi tr trng hp c xc nh r trong m lnh. M hnh a tin trnh cung cp c ch chia nh chng trnh thnh cc thnh phn m c th c x l song song.

Hnh 3.7 M hnh a tin trnh 3.3.3 Qun l tin trnh L thuyt lp lch nh ngha: L thuyt Scheduling cp ti vn lp lch nhng tin trnh c th thc hin ng thi vi cc yu t thi gian deadline v quyn u tin. Ti nguyn CPU l hng s, nu h thng c nhiu tin trnh ta phi tr li cu hi l liu c th phn chia thi gian, lp lch cho cc tin trnh sao cho chng hon thnh trong ng thi gian nh. Nu chng ta thc hin ln lt tng tin trnh, tng tin trnh th khng c khi nim v lp lch Schedule bi v mt tin trnh ch thc hin khi tin trnh kia kt thc, Schedule ch cp vi nhng tin trnh c th thc hin song song vi nhau. L thuyt v Schedule l rt rng v pht trin t nhng nm 60, trong chng trnh ny ta ch cp n mt phn rt nh ca n. Ta s lp lch cho cc tin trnh da trn hai yu t l khong thi gian deadline ca tng tin trnh, u tin ca chng v phng php lp lch m ta s vn dng l phng php "Rate monotonic Scheduling". Phng php Rate Monotonic Rate Monotonic mt phng php rt ph bin c pht trin bi Liu v Layland vo nm 1973 ti ACM, phng php ny c ci t trong ngn ng Ada 9x. - 40 -

Trc ht ta nh ngha v cc dy n iu, mt dy n iu l mt dy cc s c sp xp theo th t tng hoc gim. V d dy 2, 5, 12, 27 ,99 l dy n iu (tng) cn dy s sau khng phi l dy n iu 3, 5, 8, 6, 10, 9 nh ngha Phng php Rate Monotonic Scheduling l phng php trong quyn u tin cao hn s c gn cho nhng tin trnh, tin trnh m thi gian hon thnh dealine l nh hn. Trc khi tip tc nghin cu v RMS, chng ta hy tm hiu mt s gi thit sau. Cho Ti l khong thi gian duy tr ca tin trnh trong h thng (bng mt s nguyn ln chu k h thng) Cho Ci l khong thi gian tin trnh yu cu CPU Di l khong thi gian deadline ca tin trnh. Chng ta coi Di=Ti (ngha l tin trnh hon thnh trong khong thi gian duy tr ca n) Chng ta nh ngha Ui (Utilization Ratio - T l s dng) nh sau:
Ui Ci Ti

Ui nh ngha t l ca thi gian thc hin v thi gian duy tr ca tin trnh, ta c th thy hin nhin gi tr c th chp nhn ca Ui l 1. Cc iu kin cn ca RMS Trong phn ny ta s tm hiu cc iu kin cn mt tp hp cc tin trnh c kh nng lp lch. Ch rng nhng iu kin ny khng phi l iu kin . iu kin 1 - n s dng

i : Ti : Ci Ti
y l iu kin hin nhin, nu thi gian duy tr tin trnh nh hn thi gian hon thnh tin trnh th ta khng th lp lch d trong h thng ch c duy nht tin trnh . Trong trng hp ny ta phi thay i thut ton hoc nng cp hiu nng ca CPU gim thi gian hon thnh Ci. iu kin 2 - a s dng
n

(Ci / Ti ) 1
i 1

iu kin ny ch ra rng tng ca cc t l s dng l khng vt qu 1. iu kin 1 ch ra rng thi gian mt tin trnh s dng l khng vt qu 1, bi v nu

U i 1 ngha

l CPU c s dng 100% thi gian, do vy n khng th thc hin thm mt tin trnh no khc. Do vy tng t l s dng ca tt c cc tin trnh phi nh hn hoc bng 1. By gi ta s quan tm n mt khi nim quan trng - deadline - trc khi phn tch iu kin th 3. Deadline c nh ngha bi 2 thi im, thi im th nht l khi bt u tin trnh v th hai l thi im m tin trnh cn hon thnh. Ta coi deadline ca mt tin trnh bng vi thi gian duy tr ca n, ngha l tin trnh c th hon thnh cng vic ca mnh trc khi thi gian duy tr kt thc. Xem xt mt tin trnh j vi chu k Tj, tin trnh ny cn thi gian l Cj kt thc. Chu k ca j c th khng ng thi vi thi im bt u chu k tr trng hp n l tin trnh c u tin cao nht. So s c mt pha tr P trc khi mt tin trnh c th c thc hin. - 41 -

tin trnh j c th c hon thnh, pha tr ti a l Tj - Cj, nu pha tr ln hn gi tr ny th tin trnh khng th hon thnh trc chu k tip theo. Tng t, nu pha tr P nh hn thi gian Tj - Cj nhng nu cc tin trnh c u tin cao hn chim thi gian ln hn Tj - Cj th tin trnh j cng khng th hon thnh trc chu k tip theo. Gi s cho 2 tin trnh i, j, Ti > Tj, do u tin ca j l cao hn i. Tin trnh j s ginh quyn u tin ca tin trnh i nhiu nht l Ti/Tj ln. Nh trong v d trc, tin trnh 1 s ginh quyn u tin ca tin trnh 3 s ln l 200/50. Do , thi gian m tin trnh j ly ca tin trnh j s l

Ti Tj

Cj

bi v tin trnh j cn Cj thi gian hon thnh. Tng qut, vi mt tin trnh i, tt c cc tin trnh c mc u tin cao hn s ginh thi gian ca tin trnh i l:
i 1

(Ti / T j ) C j
j 1

(Ti

Cj)

hiu r hn v cng thc trn, ta phn tch v biu phn trc. Ta thy l tin trnh 3 (period = 200) b tin trnh 1 ginh quyn u tin tt c l 4 ln. Do thi gian m T 1 ginh l: [200/50] * 10 = 40 Tng t nh vy, thi gian T2 ginh ca T3 l [200/100] * 20 = 40 Ta thy l trong 200 n v thi gian dnh cho T3, tng thi gian m T1 v T2 ginh l 40 + 40 = 80, thi gian cn li l 200 - 80 = 120. Thi gian cn thit T3 hon thnh l 50 n v, thi gian thc t ginh cho t3 l 120 n v, do ta thy tp hp T1, T2, T3 l c kh nng lp lch. 3.3.4 Qun l b nh Truy cp b l th tc thng dng c v ghi vo b nh. Th tc ny thng c s dng khim sot mi truy cp vo b nh bao gm b iu khin b nh to ra cc tn hiu chnh xc xc nh v tr nh cn c truy cp. iu ny c thc hin a trn vic truy cp d liu t chng trnh. D liu ny hin th qua cc ng dn d liu c kt ni vi b x l hoc bt c thit b khc m c yu cu. Cc chip nh c sp xp d liu theo hng hoc ct, Cho Vd nh, 16 MB chip c th c truy cp nh mt khi 4M x 4. iu ny c ngha l c 4M (4,194,304) a ch vi mi 4 bit ; v vy chng c cc 4,194,304 cc vng nh khc nhau _i khi c gi l cc nh _ Mi mt cha 4 bit d liu. 4,194,304 l ngang bng vi 2^22, n c ngha nh 22 bit c yu cu ti cc a ch c t cho cc v tr nh. Nh vy, trong l thuyt 22 dng a ch c yu cu. Tuy nhin, trong thc th, cc chip nh khng c nhiu cc dng a ch. Chng c thay th sp xp mt cch logic nh mt hnh vung ca cc hng, cc ct _ i khi c gi mt cch tng ng l bitlines v wordline.11 bit cp thp c xem xt nh hng , v 11 bit cp cao nh ct. a ch hng u c a ti chip, v sau l a ch ct . Vd, hy gi s rng chng ta mun truy cp ti vng nh 3,780,514 trong chip ny. iu ny tng ng vi mt a ch nh phn ca 11100110101111110100010. Th nht, 11110100010 s a ra la chn hng v sau 11100110101 s a ra la chn ct . S kt hp ny la chn ng mt vng a ch nh 3,780,514. Hot ng ca hng v ct sau a d liu ti chng qua cc ng dn bng d liu trung gian. - 42 -

Hnh 3.1 biu din mt mc khi nim, mt v d v truy cp b nh bng li ta hng 8*8 v ct. Ch rng li ta khng vung, v trong thc t n thng l hnh ch nht vi s hng t hn s ct. Address bus Data bus

Column Address Decoder

Row Address Decoder

Data Output/Input

Hnh 3.8 Truy nhp b nh Vic ny tng t nh mt nh ring bit trn mt bng tnh c la chn v thit lp : # 34 hng, v sau tm ti ct J v tm nh J34. Tng t nh vy, Vd lm th no nhng ngi snh c tng to ra cc bc c bi Vishwanathan Anand NewYork ngy hm qua ? Mt cch c bn, ch cn nh du cc hng t 1 n 8 trong bn c v cc ct t a ti g. Hu ht cc chuyn dch c th c biu din bi mt lot nhng s kt hp ch s trong bng ch ci. By gi chng ta hy cng tr li th gii ca cc chip. Nu chng ta p dng ngha ca l thuyt ny, chng ta c th thit k cc b nh chip, theo phng thc ny c hai u phc tp v chm hn vic ch ci t mt chn cm ch trn mi chip v yu cu cc a ch l n tr ? Ti sao khng t 22 chn cm a ch trn con chip ? Cu tr li c th khng l ngc nhin ti nhiu ngi : l v chi ph cui cng. Mt cch c bit l khi nhiu cc h thng khng c nhng rng buc phc tp v thi gian thc, chng vn c th hot ng vi s tr hon ca vic truy cp b nh nu chng lm cho h thng n gin v r hn , Bng vic s dng cc phng thc hng / ct, N c th lm gim mt lng ln cc chn cm trn cc DRAM chip. y, 11 a ch cc chn cm c yu cu thay th cho 22, Tuy nhin, chng ta nn ch b tr xung tn hiu c yu cu n cc chip nh v vic truy cp thit b lun c chronised ci m chng ta ang mong ch. Chn cm tn hiu ny lun c gi thm d hoc la chn chip. Mt iu chc chn rng : nhng th khng i, phi c a ti a ch trong hai khi . nhng bng cch gi cc con chip nh hn v u nhp t hn s cho ta li ch v in nng tiu th v khng gian ( bi v gim s lng cc - 43 -

chn cm ). Gim tiu th in nng hn na dn ti tng tc ca chip, gim bt i mt phn tc truy cp. Hnh 3.2 biu din chip nh in hnh vi 8 dng a ch v 2 dng d liu.

Chn 1 n 8

Hnh 3.9 Chip nh Cc chc nng ca cc chn cm l: Vcc: y l cc chn cm through chip c np in t ngun cho chc nng. DND: y l cc chn cm Ground phi c yu cu cho bt c mch in no. WE: Cho php ghi. Khi chn cm ny c bo v, iu ny c ngha rng cc chip c la chn cho vic ghi. iu cng c ngha rng d liu s c gi ti thng qua chn cm Din v nh r cho vng d liu ny cc chn cm t A0 ti A7. Trong trng hp ny, vng d liu li c ghi li thng qua a ch cc chn cm t A0 ti A7. D liu da ra thng qua chn cm Dout. RAS v CAS: Nh chng ta ghi ch trc , cc hng v cc ct bn trong vng nh c t mt a ch trn mt thi gian. Do , trong thi im ny cn a ra mt cch thc ra lnh cho chip, nhng dng a ch xc nh mt s hng hoc mt s ct. Khi RAS c thit lp cao, a ch mt hng c xc nh, otherwise a ch ca mt ct c tnh ton. Nh chng ta cp ti trc , cc chn cm thm vo yu cu phi c ng b ha gim s chn cm cho a ch ng dn. Vi qu trnh ghi a ch ca cc nh ghi c t ln a ch cc chn cm thng qua cc a ch ng dn . iu ny c thc hin trong ln thit lp u tin ca RAS v s dng s hng tng ng theo vic thit lp CAS v s dng s ct trn cc a ch ng dn. Set the Write Enable pin : Bit m cn c lu tr trong con chip gi Data In pin thng qua cc ng dn d liu. Vic la chn con chip c tc ng la chon b nh chip : Khi hu ht cc hot ng c thc hin ng thi, mt bit trn chn cm Din c vit bn trong con chip a ch xc nh bi ng dn a ch Vi qu trnh c a ch ca bit c c t trn ia ch ca cc chn cm thng qua cc a ch ca bus.Cc chn cm RAS v CAS thng c s dng mt cch tng thch. - 44 -

Chn 9 n 16

Vic la chn con chip c turned high la chn b nh chip. Cp php ghi ln chn cm c turned chm n mc chip bit c n ang c t u. Khi hu ht cc tc ng c th hin cng mt lc, d liu xut hin trn chn cm Dout t cc a ch xc nh bi a ch ng dn. Trong thc t, b nh c truy cp t nht mt byte ti mt thi gian, v khng c bit no cng trong thi gian . iu ny c thc hin bng cch xp chng mi con chip ti cc khi v kt hp cc phn lp bit d liu t 8 chip. Khi cc chip cn c gn a ch, cc,vic la chn chip c cho php v cc a ch tng ng c xc nh trn hu ht cc dng a ch. Ty thuc vo kh nng ca cc ng dn d liu, mi khi li mt ln na c xp chng ln nhau to ra hng triu cc khi m c th cung cp d liu trong bi s ca byte. Thi gian truy nhp c nh ngha chun xc trong nanogiy (ns). Tnh kh dng ca b nh ny c thi gian truy nhp khc nhau t 5 n 70 nanogiay(ns). 3.4 Phn mm ng dng Trong phn ny ta tm hiu v hai loi phn mm l middleware v application. S khc nhau gia hai loi ny l khng thc s r rng, middleware l loi phn mm c tch ra khi lp ng dng do mt s l do, mt nguyn nhn l phn mm ny c tch hp nh l mt phn ca gi h iu hnh. Nguyn nhn khc l do yu cu s dng li ca cc h thng ng dng khc lm gim thi gian v chi ph pht trin. 3.4.1 Middleware Trong hu ht cc trng hp, middleware l bt k h thng phn mm no m khng phi l h iu hnh, trnh iu khin thit b hoc phn mm ng dng. Tm li, trong mt h thng nhng, middleware l h thng phn mm tn ti trn trnh iu khin thit b hoc trn h iu hnh v c th c tch hp vo h iu hnh.

Hnh 3.10 Middleware trong h thng nhng Middleware thng l phn mm trung gian gia phn mm ng dng v kernel hoc device driver. Middleware cng l phn mm cung cp cc hm dch v cho cc ng dng phn mm khc. C th hn, middleware l mt lp phn mm c s dng bi cc thit b nhng vi cc ng dng phn mm vi mc ch to ra s linh hot, tnh an ninh, lin kt gia cc ng dng. Mt trong nhng mc ch chnh s dng middleware l cho php gim phc tp ca ng dng. Middleware tc ng n mi lp ca h thng nhng . C rt nhiu loi middleware, v d nh cc loi middleware hng thng ip (message oriented middleware MOM), triu gi th tc t xa (remote procedure calls RPCs), kt ni c s d liu, cc giao thc mng.... Tuy nhin, hu ht cc loi middleware u ri vo mt trong hai dng sau: - 45 -

General Purpose: chng c ci t trong nhiu loi thit b khc nhau, v d nh cc giao thc mng bn trn tng device driver v bn di tng ng dng trong m hnh OSI, cc h thng file hoc cc dng my o nh JVM. Market specific: chng c pht trin cho mt h h thng nhng no , v d nh cc h thng chun Tivi ... Ngoi ra ta cn c th chia ra thnh cc loi middleware ng hay m ty theo cc loi giy php bn quyn i km vi n. 3.4.2 Application Mt dng phn mm thng dng ta gp trong cc h thng nhng l application. Nh trong hnh di, application c v tr phn nh ca cc lp phn mm, n ph thuc, qun l v thc thi bi cc phn mm h thng. l cc phn mm trong lp ng dng c trng cho loi thit b ca h thng nhng bi v cc chc nng ca ng dng biu din mc ch chnh ca h thng v thc hin hu ht cc tng tc vi ngi s dng.

Hnh 3.11 Application trong h thng nhng Cc ng dng nhng c th c phn loi theo general purpose hoc market specific nh ta cp trn. Cu hi cui chng 1. S khc nhau gia middleware v application 2. Nu cch phn loi middleware v application 3. Phn tch cc iu kin cn ca RMS 4. Phn tch phng php Rate Monotonic 5. Trnh by v h iu hnh trong h thng nhng 6. Trnh by v trnh iu khin thit b 7. Trnh by v trnh iu khin ngt 8. Trnh by v trnh iu khin b nh 9. Trnh by v trnh iu khin bus

- 46 -

Chng 4 THIT K H THNG NHNG THEO CC H VI X L


4.1 Tng quan S ra i v pht trin nhanh chng ca k thut vi in t m c trng l k thut vi x l to ra mt bc ngot quan trng trong s pht trin ca khoa hc tnh ton, iu khin v x l thng tin. K thut vi x l ng mt vai tr rt quan trng trong tt c cc lnh vc ca cuc sng v khoa hc k thut, c bit l lnh vc Tin hc v T ng ha. Nm 1971, hng Intel cho ra i b vi x l (microprocessor) u tin trn th gii tn gi l Intel-4004/4bit , nhm p ng nhu cu cp thit ca mt cng ty kinh doanh l hng truyn thng BUSICOM. Intel-4004 l kt qu ca mt tng quan trng trong k thut vi x l s. l mt kt cu logic m c th thay i c chc nng ca n bng chng trnh ngoi ch khng pht trin theo hng to ra mt cu trc cng ch thc hin mt s chc nng nht nh nh trc y. Sau , cc b vi x l mi lin tc c a ra th trng v ngy cng c pht trin, hon thin hn trong cc th h sau : Vo nm 1972, hng Intel a ra b vi x l 8-bit u tin vi tn Intel-8008/8bit. T 1974 n 1975 , Intel ch to cc b vi x l 8-bit 8080 v 8085A. Cng vo khong thi gian ny, mt lot cc hng khc trn th gii cng cho ra i cc b vi x l tng t nh : 6800 ca Motorola vi 5000 tranzitor, Signetics 6520, 1801 ca RCA, k n l 6502 ca hng MOS Technology v Z80 ca hng Zilog. Nm 1978 xut hin Intel 8086 l loi b xi x l 16 bit vi 29.000 tranzitor, Motorola 68000 tch hp 70.000 tranzitor, APX 432 cha 120.000 tranzitor. B vi x l ca Hewlet Pakard c khong 450.000 tranzitor. T nm 1974 n 1984 s tranzitor tch hp trong mt chip tng khong 100 ln. Nm 1983, Intel a ra b vi x l 80286 dung trong cc my vi tinh h AT (Advanced Technology). 80286 s dng I/O 16 bit, 24 ng a ch v khng gian nh a ch thc 16MB. Nm 1987, Intel a ra b vi x l 80386 32-bit. Nm 1989 xut hin xut hin b vi x l Intel 80486 l ci tin ca Intel 80386 vi b nh n v mch tnh php ton i s du phy ng. Nm 1992, xut hin Intel 80586 cn gi l Pentium 64 bit cha 4 triu tranzitor. phc tp, s gn nh v kch thc v kh nng ca cc b vi iu khin c tng thm mt bc quan trng vo nm 1980 khi Intel cng b chip 8051, b vi iu khin u tin ca h vi iu khin MCS-51. So vi 8048, chip 8051 cha trn 60.000 transistor bao gm 4K byte ROM, 128 byte RAM, 32 ng xut nhp, 1 port ni tip v 2 b nh thi 16-bit mt s lng mch ng ch trong mt IC n. T cc b vi x l ban u ch l cc b x l trung tm trong mt h thng, khng th hot ng nu thiu cc b phn nh RAM, ROM, bo mch ch... cc hng pht trin cc b vi x l ny ln thnh cc b vi iu khin phc v cc mc ch ring bit, khc nhau trong cng nghip. Mt b vi iu khin l mt h vi x l tht s c t chc trong mt chip (trong mt v IC) bao gm mt b vi x l (microprocessor), b nh chng trnh (ROM), b nh d liu (RAM), tuy khng bng dung lng RAM cc my vi tnh nhng y khng phi l mt hn ch v cc b vi iu khin c thit k cho mt mc ch hon ton khc, ngoi ra trn chip cn c b x l s hc-logic (ALU) cng vi cc thanh ghi chc nng, cc cng vo/ra, c ch iu khin ngt, truyn tin ni tip, cc b nh thi... Hin nay, cc b vi iu khin c s dng rt rng ri v ngy cng c chun ha c th s dng rng ri trong cc ngnh cng nghip, c mt trong nhiu my mc, trong cc hng tiu dng. Cc cng vic c thc hin bi cc b vi iu khin th khng mi. iu mi l cc thit k hin thc vi t thnh phn hn so vi cc thit k trc . Cc thit k trc i hi phi vi chc hoc vi trm IC hin thc nay ch cn mt t thnh phn trong bao - 47 -

gm b vi iu khin. S thnh phn c gim bt, hiu qu trc tip ca tnh kh lp trnh ca cc b vi iu khin v tch hp cao trong cng ngh ch to vi mch, thng chuyn thnh thi gian pht trin ngn hn, gi thnh khi sn xut thp hn, cng sut tiu th thp hn v tin cy cao hn. Vn y l tc . Cc gii php da trn b vi iu khin khng bao gi nhanh bng gii php da trn cc thnh phn ri rc. Nhng tnh hung i hi phi p ng tht nhanh (c nsec) i vi cc s kin (thng chim thiu s trong cc ng dng) s c qun l ti khi da vo cc b vi iu khin. Tuy nhin trong vi ng dng, c bit l cc ng dng lin quan n con ngi, cc khong thi gian tr tnh bng nsec, sec hoc thm ch msec l khng quan trng. Vic gim bt cc thnh phn l mt iu li nh cp, cc thao tc trong chng trnh iu khin lm cho thit k c th thay i bng cch thay i phn mm. iu ny c nh hng ti thiu n chu k sn xut. Do cc b vi iu khin c th c ng dng rng ri trong cc ng dng phc v con ngi. c th hiu r hn v cc b vi iu khin, chng ta s tm hiu v mt s cc h vi iu khin ca mt s hng in t in hnh ang c s dng rng ri trong khoa hc k thut v i sng. 4.2 H vi x l AT89C 4.2.1 Tng quan AT9C51 l mt h vi tnh 8 bit n chp CMOS c hiu sut cao,cng sut ngun tiu th thp v c 4Kbyte b nh ROM Flash xo c lp trnh c. Chip ny c sn xut da vo cng ngh b nh khng mt ni dung c tch hp cao ca Atmel. Chip AT89C51 cng tng thch vi tp lnh v cc chn ra ca chun cng nghip MCS-51. Flash trn chip ny cho php b nh chng trnh c lp trnh li trn h thng hoc bng b lp trnh b nh khng mt ni dung qui c. Bng cch kt hp mt CPU linh hot 8 bit vi Flash trn mt chip n th, Atmel 89C51 l mt h vi tnh 8 bit n chip mnh cho ta mt gii php c hiu qu v chi ph v rt linh hot i vi cc ng dng iu khin. AT89C51 c cc c trng sau: 4Kbyte Flash, 128 byte Ram, 32 ng xut nhp, hai b nh thi / m 16 bit, mt cu trc ngt 2 mc u tin v 5 nguyn nhn ngt, mt port ni tip song cng, mch dao ng v to xung clock trn chip. Ngoi ra AT8951 c thit k vi logic tnh cho hot ng c tn s gim xung 0 v h tr hai ch tit kim nng lng c la chn bng phn mm. Ch ngh dng CPU trong khi vn cho php RAM, cc b nh thi /m, port ni tip v h thng ngt tip tc hot ng. Ch ngun gim duy tr ni dung ca RAM nhng khng cho mch dao ng cung cp xung clock nhm v hiu ho cc hot ng khc ca chip cho n khi c reset cng tip theo. Cc c im ca 8951 c tm tt nh sau: 4 KB b nh c th lp trnh li nhanh, c kh nng ti 1000 chu k ghi xo Tn s hot ng t: 0Hz n 24 MHz 2 b Timer/counter 16 Bit 128 Byte RAM ni. Port xut /nhp I/O 8 bit. Giao tip ni tip. 64 KB vng nh m ngoi 64 KB vng nh d liu ngoi. X l Boolean (hot ng trn bit n). 210 v tr nh c th nh v bit. 4ms cho hot ng nhn hoc chia. - 48 -

4.2.2 Kin trc h vi x l AVR

Hnh 4.1 S khi AT89C M t cc chn VCC: chn cung cp in. GND: chn ni t. Port 0: gm 8 chn 32-39 (P0.0P0,7): Port 0 l port c 2 chc nng. Trong cc thit k c nh khng dng b nh m rng n c chc nng nh cc ng IO. i vi cc thit k c ln c b nh m rng, n c kt hp gia bus a ch v bus d liu. Port1: chn 1-8 (P1.0P1.7): Port 1 l port IO. C th dng cho giao tip vi cc thit b ngoi nu cn. Port 1 khng c chc nng khc, v vy chng ch c dng cho giao tip vi cc thit b bn ngoi. Port 2: chn 21-28 (P2.0.P2.7): Port 2 l port c tc dng kp. c dng nh cc ng xut nhp hoc byte cao ca bus a ch i vi cc thit b dng b nh m rng. Port 3: chn 10-17 (P3.0P3.7): Port 3 l port xut nhp 8 bit 2 chiu c cc in tr ko ln bn trong. Cc chn ca port ny c nhiu chc nng, cc cng dng chuyn i c lien h vi cc c tnh c bit ca 8951 RST: Ng vo reset. Mc cao trn chn ny trong 2 chu k my trong khi b dao ng ang hot ng s reset AT89C51. ALE/ PROG: Xung ca ng ra cho php cht a ch ALE (address latch enable) cho php cht byte thp ca a ch trong thi gian truy xut b nh ngoi. Chn ny cng c dng lm ng vo xung lp trnh ( PROG ) trong thi gian lp trnh Flash. Khi hot ng bnh thng, xung ca ng ra ALE lun lun c tn s bng 1/6 tn s ca mch dao ng trn chip, c th c s dng cho cc mc ch nh thi t bn ngoi v to xung clock. Tuy nhin cn lu l mt xung ALE s b b qua trong mi chu k truy xut b nh d liu ngoi. Khi cn, hot ng cho php cht byte thp ca a ch s c v hiu ho bng cch set bit 0 ca thanh ghi chc nng c bit c a ch byte l 8EH. Khi bit ny c set, ALE ch tch cc tring thi gian thc thi lnh MOVX hoc MOVC. Ngc li chn ny s c ko ln mc cao. Vic set bit khng cho php hot ng cht byte thp ca a ch s khng c tc dng nu b vi iu khin ang ch thc thi chng trnh ngoi. - 49 -

PSEN : Chn cho php b nh chng trnh PSEN (program store enable) iu khin truy xut b nh chung trnh ngoi. Khi AT89C51 ang thc thi chng trnh trong b nh chng trnh ngoi, PSEN tch cc 2 ln cho mi chu k my,ngoi tr trng hp 2 tc ng ca PSEN b b qua cho mi truy xut b nh d liu ngoi. EA / Vpp: Chn cho php truy xut b nh ngoi EA (external access enable) phi c ni vi GND cho php chip vi iu khin tm np lnh t cc v tr nh ca b nh chng trnh ngoi, bt u t a ch 0000H cho n FFFFH. Tuy nhin cn lu l nu c bit kho 1(clock bit 1) c lp trnh, EA s c cht bn trong khi reset. EA nn ni vi Vcc thc thi chng trnh trong chip. Chn EA / Vpp cn nhn in p cho php lp trnh Vpp trong thi gian lp trnh cho Flash, in p ny cp cho cc b phn c yu cu in p 12V. XTAL 1: Ng vo n mch khuych i o dao ng v ng vo n mch to xung clock bn trong chip. XTAL 2: Ng ra t mch khuyt i o ca mch dao ng.

4.2.3 Tp lnh AT89C bao gm cc lnh sau: Cc lnh s hc. Lnh logic. Dch chuyn d liu. Lun l. R nhnh chng trnh. Tng kiu lnh c m t nh di y: Cc lnh s hc (Arithmetic Instrustion): ADD A, <src, byte> SUBB A, <src, byte> INC <byte> DEC <byte> MULL AB : (A) LOW [(A) x (B)] ; c nh hng c OV (B) HIGH [(A) x (B)] ; c Cary c xa. DIV AB : (A) Integer Result of [(A)/(B)]; c OV (B) Remainder of [(A)/(B)]; c Carry xa Cc hot ng logic (Logic Operation) : ANL <dest - byte> <src - byte> ORL <dest - byte> <src - byte> XRL <dest - byte> <src - byte> CLR A : (A) 0 CLR C : (C) 0 CLR Bit : (Bit) 0 RL A : Quay vng thanh ghi A qua tri 1 bit RLC A : Quay vng thanh ghi A qua tri 1 bit c c Carry RR A : Quay vng thanh ghi A qua phi 1 bit RRC A : Quay vng thanh ghi A qua phi 1 bit c c Carry SWAP A : i ch 4 bit thp v 4 bit cao ca A cho nhau (A3 A4).

A0)

(A7

- 50 -

Cc lnh r nhnh : JC rel : Nhy n rel nu c Carry C = 1. JNC rel : Nhy n rel nu c Carry C = 0. JB bit, rel : Nhy n rel nu (bit) = 1. JNB bit, rel : Nhy n rel nu (bit) = 0. JBC bit, rel : Nhy n rel nu bit = 1 v xa bit. ACALL addr11 : Lnh gi tuyt i trong page 2K. LCALL addr16 : Lnh gi di chng trnh con trong 64K. RET : Kt thc chng trnh con tr v chng trnh chnh. RETI : Kt thc th tc phc v ngt quay v chng trnh chnh hot ng tng t nh RET. AJMP Addr11 : Nhy tuyt i khng iu kin trong 2K. LJMP Addr16 : Nhy i khng iu kin trong 64K. Hot ng tng t lnh LCALL. SJMP rel : Nhy ngn khng iu kin trong (-128127) byte JMP @ A + DPTR:Nhy khng iu kin n a ch (A) + (DPTR) (PC) (A) + (DPTR) JZ rel : Nhy n A = 0. Thc hnh lnh k nu A 0. JNZ rel : Nhy n A 0. Thc hnh lnh k nu A = 0. CJNE A, direct, rel : So snh v nhy n A direct (A) < (direct) C=1 (A) > (direct) C=0 (A) = (direct). Thc hnh lnh k tip CJNE A, # data, rel : Tng t lnh CJNE A, direct, rel. CJNE Rn, # data, rel : Tng t lnh CJNE A, direct, rel. CJNE @ Ri, # data, rel : Tng t lnh CJNE A, direct, rel. DJNE Rn, rel : Gim Rn nhy nu Rn # 0. DJNZ direct, rel : Tng t lnh DJNZ Rn, rel. Cc lnh dch chuyn d liu : Tt c cc lnh dch chuyn u khg nh hng n c. Hot ng ca tng lnh c tm tt nh sau : MOV A,Rn : (A) (Rn) MOV A, direct : (A) (direct) MOV A, @ Ri : (A) ((Ri)) MOV A, # data : (A) # data MOVX A, @ Ri : (A) ((Ri)) MOVX A, @ DPTR : (A) ((DPTR)) MOVX @ Ri, A : ((Ri)) (A) MOVX @ DPTR, A : ((DPTR)) (A) PUSH direct : Ct d liu vo Stack POP direct : Ly t Stack ra direct XCH A, Rn : i ch ni dung ca A vi Rn (A) (Rn) XCH A, direct : (A) (direct) XCH A, @ Ri : (A) ((Ri)) - 51 -

XCHD A, @ Ri : i ch 4 bit thp ca (A) vi ((Ri)) Cc lnh lun l (Boolean Instruction) : CLR C : Xa c Carry xung 0. C nh hng c Carry. CLR BIT : Xa bit xung 0. Khng nh hng c Carry SET C : Set c Carry ln 1. C nh hng c Carry. SET BIT : Set bit ln 1. Khng nh hng c Carry. CPL C : o bit c Carry. C nh hng c Carry. CPL BIT : o bit. Khng nh hng c Carry. ANL C, BIT : (C) (C) AND (BIT): C nh hng c Carry. ANL C, /BIT : (C) (C) AND NOT (BIT): khng nh hng c Carry ORL C, BIT : (C) (C) OR (BIT): Tc ng c Carry. ORL C, /BIT : (C) (C) OR NOT (BIT): Tc ng c Carry. MOV C, BIT : (C) (BIT): C Carry b tc ng. MOV BIT, C : (BIT) (C): Khng nh hng c Carry. 4.2.4 S thc thi Trong phn ny chng ta s tm hiu cch hot ng, thc thi ca cc b nh thi timer trong vi x l ny. AT89C51 c 2 b timer: Timer 0: l mt b m ln tun t 16 bit, gi tr m cha trong 2 t hanh ghi TH0, TL0. Timer 1: l mt b m tun t 16 bit cha trong TH1 v TL1. Bit 7 Tn GATE Timer 1 M t Khi GATE = 1, Timer ch lm vic khi INT1=1 Bit cho m s kin hay ghi gi 6 C/T 1 C/T = 1 : m s kin C/T = 0 : Ghi gi u n 5 4 3 2 1 0 M1 M0 GATE C/T M1 M0 1 1 0 0 0 0 Bit chn mode ca Timer 1 Bit chn mode ca Timer 1 Bit cng ca Timer 0 Bit chn Counter/Timer ca Timer 0 Bit chn mode ca Timer 0 Bit chn mode ca Timer 0

Bng 4.1 Cc Timer trong AT89C

- 52 -

Hai bit M0 v M1 ca TMOD chn mode cho Timer 0 hoc Timer 1. M1 0 0 1 M0 0 1 0 Mode 0 1 2 M t Mode Timer 13 bit (mode 8048) Mode Timer 16 bit Mode t ng np 8 bit Mode Timer tch ra : 1 1 3 Timer 0 : TL0 l Timer 8 bit c iu khin bi cc bit ca Timer 0. TH0 tng t nhng c iu khin bi cc bit ca mode Timer 1. Timer 1 : c ngng li.

Bng 4.2 Cc Timer Mode trong AT89C Thanh ghi TCON (Timer control) Thanh ghi iu khin bao gm cc bit trng thi v cc bit iu khin bi Timer 0 v Timer 1. Thanh ghi TCON c bit nh v. Hot ng ca tng bit c tm tt nh sau: Bit Address 8FH 8EH 8DH 8CH 8BH M t C trn Timer 1 c set bi phn cng s trn, c xa bi phn mm hoc bi phn cng khi c vectx l n th tc phc v ngt ISR Bit iu khin chy Timer 1 c set hoc xa bi phn mm chy hoc ngng chy Timer. C trn Timer 0(hot ng tng t TF1) Bit iu khin chy Timer 0 (ging TR1) C kiu ngt 1 ngoi. Khi cnh xung xut hin trn INT1 th IE1 c xa bi phn mm hoc phn cng khi CPU nh hng n th tc phc v ngt ngoi. C kiu ngt 1 ngoi c set hoc xa bng phn mm bi cnh kch hot bi s ngt ngoi. C cnh ngt 0 ngoi C kiu ngt 0 ngoi.

Bit TCON.7 TCON.6 TCON.5 TCON.4 TCON.3

Symbol TF1 TR1 TF0 TR0 IE1

TCON.2 TCON.1 TCON

IT1 IE0 IT0

8AH 89H 88H

Cc ch hot ng ca Timer: Mode 0: gm 8 bit ca thanh ghi THx, 5 bit ca thanh ghi TLx. (Rt t c s dng) Mode 1: b Timer l b m gm 16 bit. Gm 8 bit ca thanh ghi THx v 8 bit ca thanh ghi TLx. m gi tr t 0 n 216-1=65535 Vi mode 1 b timer khng t ng np li gi tr m sau mi ln trn. Do sau mi ln trn ta phi np li gi tr t cho timer. - 53 -

Mode 2: l ch t ng np li. B timer l b m 8 bit cha trong thanh ghi THx. Thanh ghi THx khng thc hin nhim v m, m ch np li gi tr cho thanh ghi TLx sau mi ln trn. Mode 3 l mode Timer tch ra v l s khc bit cho mi Timer. Timer 0 mode 3 c chia l 2 timer 8 bit. TL0 v TH0 hot ng nh nhng Timer ring l vi s trn s set cc bit TL0 v TF1 tng ng. Timer 1 b dng li mode 3, nhng c th c khi ng bi vic ngt n vo mt trong cc mode khc. Ch c nhc im l c trn TF1 ca Timer 1 khng b nh hng bi cc s trn ca Timer 1 bi v TF1 c ni vi TH0. Mode 3 cung cp 1 Timer ngoi 8 bit l Timer th ba ca 8951. Khi vo Timer 0 mode 3, Timer c th hot ng hoc tt bi s ngt n ra ngoi v vo trong mode ca chnh n hoc c th c dng bi Port ni tip nh l mt my pht tc Baud, hoc n c th dng trong hng no m khng s dng Interrupt

4.2.5 Thit k ng dng Trong phn ny ta s tm hiu mt s ng dng, bi tp n gin s dng tp lnh ca AT89C. Ni mch th nghim: Ni JP7: P1_CPU trn module Microcontroler vi JP27: DATA_LED trn module LED, cc led tng ng t led1 n led8 s ni vi cc bit P1.0 n P1.7, cc led u tc ng mc cao. Chng trnh 1: Chp tt 8 led v hn ln MAIN: MOV P1,#0FFH ; P1 <- 11111111B, cc led u sng CALL DELAY ; gi chng trnh tr hon DELAY MOV P1,#00H ; P1 <- 00000000B, cc led u tt CALL DELAY LJMP MAIN ; nhy n MAIN lp li qu trnh v hn DELAY: PUSH 06 ; ct ni dung R6 vo ngn xp PUSH 07 ; ct ni dung R7 vo ngn xp MOV R6,#255 LAP: MOV R7,#255 DJNZ R7,$ ; X: DJNZ R7,X DJNZ R6, LAP POP 07 ; ly li gi tr c ca R7 trong ngn xp POP 06 ; ly li gi tr c ca R0 trong ngn xp RET ; kt thc chng trnh con. END Chng trnh 2: ging ni dung chng trnh 01 nhng lp li qu trnh 10 ln. MOV Ri, # <S LN LP (1->255)> NHN: - Lnh 1 - Lnh 2 - Lnh N - 54 -

DJNZ Ri, <NHN> - Chng trnh: MOV R7,#10 MAIN: MOV P1,#0FFH ; P1 <- 11111111B, cc led u sng CALL DELAY ; gi chng trnh tr hon DELAY MOV P1,#00H ; P1 <- 00000000B, cc led u tt CALL DELAY DJNZ R7,MAIN ; SJMP $ ; dng chng trnh DELAY: PUSH 06 ; ct ni dung R6 vo ngn xp PUSH 07 ; ct ni dung R7 vo ngn xp MOV R6,#255 LAP: MOV R7,#255 DJNZ R7,$ ; X: DJNZ R7,X DJNZ R6, LAP DJNZ R6, LAP POP 07 ; ly li gi tr c ca R7 trong ngn xp POP 06 ; ly li gi tr c ca R0 trong ngn xp RET ; kt thc chng trnh con. END Chng trnh 3: vit chng trnh dch mt led sng t D1 - D8: MAIN: MOV A,#01H BEGIN: MOV P1, A RL A CALL DELAY LJMP BEGIN DELAY: PUSH 06 ; ct ni dung R6 vo ngn xp PUSH 07 ; ct ni dung R7 vo ngn xp MOV R6,#255 LAP: MOV R7,#255 DJNZ R7,$ ; X: DJNZ R7,X DJNZ R6, LAP POP 07 ; ly li gi tr c ca R7 trong ngn xp POP 06 ; ly li gi tr c ca R0 trong ngn xp RET ; kt thc chng trnh con. END - 55 -

Chng trnh 4: vit chng trnh dch mt led sng t D8 - D1: MAIN: MOV A,#80H BEGIN: MOV P1, A RR A CALL DELAY LJMP BEGIN DELAY: PUSH 06 ; ct ni dung R6 vo ngn xp PUSH 07 ; ct ni dung R7 vo ngn xp MOV R6,#255 LAP: MOV R7,#255 DJNZ R7,$ ; X: DJNZ R7,X DJNZ R6, LAP POP 07 ; ly li gi tr c ca R7 trong ngn xp POP 06 ; ly li gi tr c ca R0 trong ngn xp RET ; kt thc chng trnh con. END Chng trnh 5: vit chng trnh sng dn cc led t D1 - D8: MAIN: MOV A,#01H BEGIN: SETB C MOV P1, A RLC A CALL DELAY JNC BEGIN LJMP MAIN DELAY: PUSH 06 ; ct ni dung R6 vo ngn xp PUSH 07 ; ct ni dung R7 vo ngn xp MOV R6,#255 LAP: MOV R7,#255 DJNZ R7,$ ; X: DJNZ R7,X DJNZ R6, LAP POP 07 ; ly li gi tr c ca R7 trong ngn xp POP 06 ; ly li gi tr c ca R0 trong ngn xp RET ; kt thc chng trnh con. END

- 56 -

4.3 H vi x l AVR 4.3.1 Tng quan Vi iu khin AVR do hng Atmel sn xut c gi thiu ln u nm 1996. AVR c rt nhiu dng khc nhau bao gm dng Tiny AVR ( nh AT tiny 13, ATtiny 22) c kch thc b nh nh, t b phn ngoi vi, ri n dng AVR ( chn hn AT90S8535, AT90S8515,) c kch thc b nh vo loi trung bnh v mnh hn l dng Mega ( nh ATmega32, ATmega128,) vi b nh c kch thc vi Kbyte n vi trm Kb cng vi cc b ngoi vi a dng c tch hp trn chip, cng c dng tch hp c b LCD trn chip ( dng LCD AVR ). Tc ca dng Mega cng cao hn so vi cc dng khc. S khc nhau c bn gia cc dng chnh l cu trc ngoi vi, cn nhn th vn nh nhau.

Hnh 4.2 Cc dng AVR Nhng c trng chnh bao gm ROM : 128 Kbytes SRAM: 4Kbytes EEPROM : 4Kbytes 64 thanh ghi I/O 160 thanh ghi vo ra m rng 32 thanh ghi a mc ch. b nh thi 8 bit (0,2). b nh thi 16 bit (1,3). B nh thi watchdog B dao ng ni RC tn s 1 MHz, 2 MHz, 4 MHz, 8 MHz ADC 8 knh vi phn gii 10 bit ( dng Xmega ln ti 12 bit ) 2 knh PWM 8 bit 6 knh PWM c th lp trnh thay i phn gii t 2 ti 16 bit B so snh tng t c th la chn ng vo Hai khi USART lp trnh c Khi truyn nhn ni tip SPI Khi giao tip ni tip 2 dy TWI H tr boot loader 6 ch tit kim nng lng La chn tn s hot ng bng phn mm ng gi 64 chn kiu TQFP. Tn s ti a 16MHz in th : 4.5v - 5.5v

- 57 -

4.3.2 Kin trc h AVR

Hnh 4.3 S khi AVR B nh Memory B nh vi iu khin AVR c cu trc Harvard l cu trc c ng Bus ring cho b nh chng trnh v b nh d liu. B nh AVR c chia lm 2 phn chnh: B nh chng trnh ( program memory ) v b nh d liu ( Data memory ). B Nh Chng Trnh : B nh chng trnh ca AVR l b nh Flash c dung lng 128 K bytes. B nh chng trnh c rng bus l 16 bit. Nhng a ch u tin ca b nh chng trnh c dng cho bng vc t ngt. Cn l vi iu khin ATmega128 b nh chng trnh cn c th c chia lm 2 phn : phn boot loader ( Boot loader program section ) v phn ng dng ( Application program section ). Phn boot loader cha chng trnh boot loader. Chng trnh Boot loader l mt phn mm nh np trong vi iu khin v c chy lc khi ng. Phn mm ny c th ti vo trong vi iu khin chng trnh ca ngi s dng v sau thc thi chng trnh ny. Mi khi reset vi iu khin CPU s nhy ti thc thi chng trnh boot loader trc, chng trnh boot loader s d xem c chng trnh no cn np vo vi iu khin hay khng, nu c chng trnh cn np, boot loader s np chng trnh vo vng nh ng dng (Application program section ), ri thc thi chng trnh ny. Ngc li, boot loader s chuyn ti chng trnh ng dng c sn trong vng nh ng dng thc thi chng trnh ny. - 58 -

Phn ng dng (Application program section ) l vng nh cha chng trnh ng dng ca ngi dng. Kch thc ca phn boot loader v phn ng dng c th ty chn. Hnh trn th hin cu trc b nh chng trnh c s dng v khng s dng boot loader, khi s dng phn boot loader ta thy 4 word u tin thay v ch th cho CPU chuyn ti chng trnh ng dng ca ngi dng (l chng trnh c nhn start ) th ch th CPU nhy ti phn chng trnh boot loader thc hin trc, ri mi quay tr li thc hin chng trnh ng dng. B Nh D Liu : B nh d liu ca AVR chia lm 2 phn chnh l b nh SRAM v b nh EEPROM. Tuy cng l b nh d liu nhng hai b nh ny li tch bit nhau v c nh a ch ring. B nh SRAM c dng lng 4 K bytes, B nh SRAM c hai ch hot ng l ch thng thng v ch tng thch vi ATmega103, mun thit lp b nh SRAM hot ng theo ch no ta s dng bit cu ch M103C. B nh EEPROM : y l b nh d liu c th ghi xa ngay trong lc vi iu khin ang hot ng v khng b mt d liu khi ngun in cung cp b ct. C th v b nh d liu EEPROM ging nh l cng ( Hard disk ) ca my vi tnh. Vi vi iu khin ATmega128, b nh EEPROM c kch thc l 4 Kbyte. EEPROM c xem nh l mt b nh vo ra c nh a ch c lp vi SRAM, iu ny c ngha l ta cn s dng cc lnh in, out khi mun truy xut ti EEPROM. 4.3.3 Tp lnh ca AVR Tp lnh c chia thnh cc nhm sau: Cc lnh ton hc v logic: Mt s lnh ng ch trong nhm ny l cng (ADD), tr (SUB), nhn (MUL), chia (FMUL), xa (CLR), tng (INC), gim (DEC). Lnh r nhnh: Gm c cc lnh nhy, lnh gi chng trnh con, lnh tr v, lnh so snh, lnh r nhnh. Lnh di chuyn d liu: Gm c cc lnh sao chp d liu (MOV), xut nhp d liu, PUSH, POP. Cc lnh thao tc BIT: SBI, CBI, LSL, Cc lnh iu khin MCU: NOP, SLEEP, WDR 4.3.4 S thc thi Cng vo ra Cng vo ra l mt trong s cc phng tin vi iu khin giao tip vi cc thit b ngoi vi. ATmega128 c c thy 7 cng ( port ) vo ra 8 bit l : PortA, PortB, PortC, PortD, PortE, PortF, PortG, tng ng vi 56 ng vo ra. Cc cng vo ra ca AVR l cng vo ra hai chiu c th nh hng, tc c th chn hng ca cng l hng vo (input ) hay hng ra (output ). Tt cc cc cng vo ra ca AVR iu c tnh nng c Chnh sa Ghi ( Read Modify write ) khi s dng chng nh l cc cng vo ra s thng thng. iu ny c ngha l khi ta thay i hng ca mt chn no th n khng lm nh hng ti hng ca cc chn khc. Tt c cc chn ca cc cng ( port ) iu c in tr ko ln ( pull-up ) ring, ta c th cho php hay khng cho php in tr ko ln ny hot ng. in tr ko ln l mt in tr c dng khi thit k cc mch in t logic. N c mt u c ni vi ngun in p dng (thng l Vcc hoc Vdd) v u cn li c ni vi tn hiu li vo/ra ca mt mch logic chc nng. in tr ko ln c th c lp t ti cc li vo ca cc khi mch logic thit lp mc logic li vo ca khi mch khi khng c thit b ngoi ni vi li vo. in tr ko ln cng c th c lp t ti cc giao din gia hai khi mch logic khng cng loi logic, c bit l khi hai khi mch ny c cp ngun khc nhau. Ngoi ra, in tr ko ln cn c lp t ti li ra ca khi mch khi li ra khng th ni ngun to dng, v d cc linh kin logic TTL c cc gp h. i vi h logic lng cc vi ngun nui 5 Vdc th gi tr ca in tr ko ln thng nm trong - 59 -

khong 1000 n 5000 Ohm, ty theo yu cu cp dng trn ton gii hot ng ca mch. Vi lgc CMOS v lgc MOS chng ta c th s dng cc in tr c gi tr ln hn nhiu, thng t vi ngn n mt triu Ohm do dng r r cn thit li vo l rt nh. Trong vic thit k cc vi mch ng dng, nu mt IC c ng ra loi cc thu h giao tip vi nhiu IC khc th gi tr ca in tr ko ln s tng i nh (khong vi trm Ohm). Bi v lc ny h s fanout ln dn n dng ng ra ca IC phi ln cung cp cho cc ng vo ca cc IC khc, nu khng vi mch s hot ng chp chn hoc c th khng hot ng. Mi mt cng vo ra ca vi iu khin c lin kt vi 3 thanh ghi : PORTx, DDRx, PINx. ( y x l thay th cho A, B,G ). Ba thanh ghi ny s c phi hp vi nhau iu khin hot ng ca cng, chn hn thit lp cng thnh li vo c s dng in tr pullup, ..v.v.. . B nh thi Ta c 4 b nh thi , b nh thi 1 v 3 l b nh thi 16 bit, b nh thi 0 v 2 l b nh thi 8 bit. Di y l m t chi tit ca 4 b nh thi.

Hnh 4.4 S khi b nh thi B nh thi 1 v 3 l b nh thi 16 bit, b nh thi 1 s dng 13 thanh ghi lin quan, cn b nh thi 3 s dng 11 thanh ghi lin quan vi nhiu ch thc thi khc nhau. - 60 -

Mt m cn l trong cc thanh ghi lin quan ti b nh thi 1 v 3 th c nhiu thanh ghi c chia s cho c hai b nh thi, chn hn thanh ghi ETIPR c bt cui l OCF1C c dng cho b nh thi 1, cc bit cn li l dng cho b nh thi 3. Thm ch c nhng thanh ghi chia s cho b nh thi 0 hoc 2, chn hn thanh ghi TIMSK c hai bit cui dng cho b nh thi 2, hai bit u dng cho b nh thi 0, cc bit cn li dng cho b nh thi 1. tm hiu v b nh thi 1 (3) ta cn nm vng cc thanh ghi lin quan ti b nh thi 1(3) v cc ch hot ng ca b nh thi. 4.3.5 Thit k ng dng Trong phn ny ny ta s dng phn mm thng dng CodeVision lp trnh cng vo ra cho Atmega16 (Thuc h AVR) bng cch tc ng vo thanh ghi PORTxx v DDRxx. DDRxx : iu khin cc hng d liu cc chn ca cng. Khi DDRxx=0 th dng lm cng vo, ngc li, khi DDRxx=1 th dng lm cng ra. PORTxx: truy cp ti cc a ch xut nhp ca PORTx Chy chng trnh CodeVision, chn File -> New -> Project -> OK

Tip theo, ta chn Project:

- 61 -

Chn s dng Code Wizard

Ca s Code Vision Wizard

Lu li cc la chn

- 62 -

Lu li cc file

Son tho m lnh:

- 63 -

4.4 H vi x l ARM 4.4.1 Tng quan Ngy 26/4/1985, mu sn phm ARM u tin sn xut ti cng ty k thut VLSI, SanJose, bang Califonia c chuyn ti trung tm my tnh Acorn Cambridge, Anh Quc. Mt vi gi sau, chng trnh th nghim u tin thnh cng. Na thp nin sau , ARM c pht trin rt nhanh chng lm nhn my tnh bn ca Acorn, nn tng cho cc my tnh h tr gio dc Anh. Trong thp nin 1990, di s pht trin ca Acorn Limited, ARM thnh mt thng hiu ng u th gii v cc ng dng sn phm nhng i hi tnh nng cao, s dng nng lng t v gi thnh thp. Chnh nh s ni tri v th phn thc y ARM lin tc c pht trin v cho ra nhiu phin bn mi. Nhng thnh cng quan trng trong vic pht trin ARM thp nin sau ny: Gii thiu tng v nh dng cc ch lnh c nn li (thumb) cho php tit kim nng lng v gi thnh nhng h thng nh. Gii thiu h iu khin ARM9, ARM10 v Strong ARM Pht trin mi trng lm vic o ca ARM trn PC. Cc ng dng cho h thng nhng da trn nhn x l ARM ngy cng tr nn rng ri. Hu ht cc nguyn l ca h thng trn chip (Systems on chip -SoC) v cch thit k b x l hin i c s dng trong ARM, ARM cn a ra mt s khi nim mi <nh gii nn ng cc dng lnh>. Vic s dng 3 trng thi nhn lnh -gii m-thc thi trong mi chu k my mang tnh quy phm thit k cc h thng x l thc. Do , nhn x l ARM c s dng rng ri trong cc h thng phc tp. 4.4.2 Kin trc h ARM lc u c t tn theo cng ty Acorn. ARM=Acorn RISC Machine (dch mm na l chic my s dng tp lnh n gin ca cng ty Acorn). Sau ny, do c thm nhiu cng ty cng pht trin v mt s l do khc, ngi ta thng nht gi ARM=Advance RISC Machine. Cu trc c bn: Cu trc load-store Ch lnh c chiu di c nh <32bit> Cu trc ch lnh c 3 a ch. Thay v ch dng 1 chu k xung nhp cho tt c cc ch lnh, ARM thit k sao cho ti gin s chu k xung nhp cho mt ch lnh, do tng c s phc tp cho cc ch lnh n l. Cng nh hu ht cc b x l dng tp lnh RISC khc, ARM cng s dng cu trc load-store. iu c ngha l: tt c cc ch lnh <cng, tr> u c thc hin trn thanh ghi. Ch c lnh copy gi tr t b nh vo thanh ghi<load> hoc chp li gi tr t thanh ghi vo b nh<store> mi c nh hng ti b nh. Cc b x l CISC cho php gi tr trn thanh ghi c th cng vi gi tr trong b nh, i khi cn cho php gi tr trn b nh c th cng vi gi tr trn thanh ghi. ARM khng h tr cu trc lnh dng t b nh n b nh. V th, tt c cc lnh ca ARM c th thuc 1 trong 3 loi sau: Ch lnh x l d liu: ch thay i gi tr trn thanh ghi. Ch lnh truyn d liu: copy gi tr t thanh ghi vo b nh v chp gi tr t b nh vo thanh ghi.<load-store> Ch lnh iu khin dng lnh: Bnh thng, ta thc thi cc ch lnh cha trong mt vng nh lin tip, ch lnh iu khin dng lnh cho php chuyn sang cc a ch khc nhau khi thc thi lnh, ti nhng nhnh c nh, <lnh r nhnh> - 64 -

hoc l lu v tr li a ch phc hi chui lnh ban u <ch lnh r nhnh v kt ni> hay l chn ln vng code ca h thng <gi gim st-ngt phn mm>. 4.4.3 Tp lnh Tt c lnh ca ARM u l 32bit: C cu trc dng load-store. Cu trc lnh nh dng 3 a ch (ngha l a ch ca 2 ton hng ngun v ton hng ch u l cc a ch ring bit) Mi ch lnh thc thi mt iu kin. C c ch lnh load-store nhiu thanh ghi ng thi. C kh nng dch bit kt hp vi thc thi lnh ALU trong ch 1 chu k my. Cc lnh ca ARM c th chia thnh cc loi sau: Cu trc ch lnh c 4 a ch Dng lnh l: Tn lnh a ch 1 a ch 2 a ch ch a ch k tip V d: ADD d, s1, s2, next_i ;d := s1 +s2 Cu trc ch lnh c 3 a ch: Dng lnh: Tn lnh a ch 1 a ch 2 a ch ch V d: ADD d, s1, s2 ; d := s1 + s2 Cu trc ch lnh c 2 a ch: Dng lnh: Tn lnh a ch 1 a ch ch V d: ADD d, s1 ; d := d + s1 Cu trc ch lnh c 1 a ch: Dng lnh: Tn lnh a ch 1 V d: ADD s1 ; accumulator := accumulator + s1 Cu trc ch lnh khng truy cp a ch: Dng lnh: Tn lnh V d ADD ; top_of_stack := top_of_stack +next_on_stack 4.4.4 S thc thi Cng nh hu ht cc b x l dng tp lnh RISC khc, ARM cng s dng cu trc load-store. iu c ngha l: tt c cc ch lnh <cng, tr> u c thc hin trn thanh ghi. Ch c lnh copy gi tr t b nh vo thanh ghi<load> hoc chp li gi tr t thanh ghi vo b nh<store> mi c nh hng ti b nh. Cc b x l CISC cho php gi tr trn thanh ghi c th cng vi gi tr trong b nh, i khi cn cho php gi tr trn b nh c th cng vi gi tr trn thanh ghi. ARM khng h tr cu trc lnh dng t b nh n b nh. V th, tt c cc lnh ca ARM c th thuc 1 trong 3 loi sau: - 65 -

Ch lnh x l d liu: ch thay i gi tr trn thanh ghi. Ch lnh truyn d liu: copy gi tr t thanh ghi vo b nh v chp gi tr t b nh vo thanh ghi.<load-store> Ch lnh iu khin dng lnh: Bnh thng, ta thc thi cc ch lnh cha trong mt vng nh lin tip, ch lnh iu khin dng lnh cho php chuyn sang cc a ch khc nhau khi thc thi lnh, ti nhng nhnh c nh, <lnh r nhnh> hoc l lu v tr li a ch phc hi chui lnh ban u <ch lnh r nhnh v kt ni> hay l ln vng code ca h thng <gi gim st-ngt phn mm>.

4.4.5 Thit k ng dng Trong phn ny chng ta s tm hiu phng php lp trnh hp ng vi ARM. Xt chng trnh sau: AREA HelloW,CODE,READONLY ;Khai bao vung code SWI_SwiteC EQU &0 ;Ki tu xuat o R0 SWI_Exit EQU &11 ;Ket thuc chuong trinh ENTRY ;Diem bao hieu vao chuong trinh START ADR R1,TEXT ;R1 chi den vung dia chi cua TEXT LOOP LDRB R0,[R1],#1 ;R0:=[R1];R1:=R1+1 CMP R0,#0 ;R0 chi toi gia tri cuoi hay chua SWINE SWI_WriteC ;Neu chua ket thuc in BNE LOOP ;thi quay nguoc lai vong lap SWI SWI_Exit ;Quay ve lai chuong trinh quan ly TEXT ="Hello World",&0a,&0d,0 ;Khai bao doan Text END ;Chuong trinh ket thuc Cch t chc v thc thi tp lnh ca ARM: Cch t chc ca nhn ARM khng thay i nhiu trong khong 1983-1995:n ARM7-s dng dng chy lnh s dng 3 tc v. T 1995 tr v sau, xut hin mt vi nhn ARM mi c gii thiu c dng chy lnh s dng 5 tc v.

Hnh 4.5 Ch lnh mt chu k my s dng dng chy lnh c 3 tc v

- 66 -

Hnh 4.6 Dng chy lnh 3 tc v Thi gian b x l thc thi mt chng trnh l:

Trong CPI l s xung nhp trung bnh cn cho mi ch lnh, Ninst l s ch lnh thc thi mt chng trnh<l c nh>, fclk l tn s xung nhp. Vi cng thc trn, ta c 2 cch gim thi gian thc thi mt chng trnh: + Tng tn s xung nhp: iu ny i hi trng thi ca mi tc v trong dng chy lnh l n gin, v, do , s tc v s tng thm. + Gim CPI: iu ny i hi mi ch lnh cn nhiu dng chy lnh hn vi tc v khng i, hoc cc tc v cn n gin hn, hoc kt hp c 2 li vi nhau. ARM a ra cu trc mi dng chy lnh c 5 tc v, vi cch m phng ta nh cu trc von Neumann, vi vng nh d liu v chng trnh ring bit. T cu trc lnh c 3 tc v c chia nh li thnh 5 tc v cng lm cho mi chu k xung nhp s thc hin mt cng vic n gin hn mi trm, cho php c th tng chu k xung nhp ca h thng. S tch ri b nh chng trnh v b nh d liu <cache cha cc ch lnh I-cache v cache cha d liu D-cache l tch ri nhau> cng cho php gim ng k ti nguyn chim ca mi ch lnh trong mt chu k my. Cu hi cui chng 1. Trnh by cc c im ca h vi x l AT89C 2. Nu kin trc chung ca h vi x l AT89C 3. Trnh by v cc lnh logic ca AT89C 4. Trnh by cc thanh ghi ca Timer trong vi x l AT89C 5. Trnh by cc ch hot ng ca Timer trong AT89C 6. Trnh by v b nh v cc cng trong h vi x l AVR 7. Nu cc bc lp trnh cho AVR vi CodeVision 8. Trnh by cc c im ca cc lnh trong vi x l AVR 9. Phn tch s khc nhau gia dng chy lnh c 3 tc v v dng chy lnh c 5 tc v

- 67 -

THI THAM KHO


s 1 Cu 1: Trnh by cc phng php biu din kin trc ca h thng nhng. Cu 2: Phn tch c im, chc nng ca h thng bus a ch trong h thng nhng. Cu 3: Trnh by v trnh iu khin ngt. Cu 4: Nu cc bc lp trnh cho AVR vi CodeVision s 2 Cu 1: Th no l Soft Real Time System, cho v d. Cu 2: Nu cu to, c im cc loi b nh RAM. Cu 3: Trnh by nhng c im ca h iu hnh trong cc h thng nhng. Cu 4: Trnh by v cc ch hot ng ca Timer trong vi x l AT89C s 3 Cu 1: Th no l Hard Real Time System, cho v d. Cu 2: Nu cu to, c im cc loi b nh ROM. Cu 3: Nu v phn tch cc iu kin cn ca RMS. Cu 4: Nu kin trc chung ca h vi x l AT89C s 4 Cu 1: Trnh by v m hnh pht trin h thng nhng Spiral. Cu 2: Nu cc c ch qun l b nh vi h thng nhng. Cu 3: Th no l tin trnh, trnh by v qun l tin trnh trong h thng. Cu 4: Nu c im ca tp lnh ca vi x l ARM. s 5 Cu 1: Trnh by v m hnh pht trin h thng nhng Water Fall v cc u khuyt im ca n so vi cc phng php truyn thng. Cu 2: Nu nhng u im ca phng php vo ra song song. Cu 3: So snh cc h thng n tin trnh v cc h thng a tin trnh. Cu 4: Trnh by v hot ng ca cc cng trong vi x l AVR. s 6 Cu 1: Ti sao ta s dng phng php phn lp biu din kin trc h thng nhng? Cu 2: Trnh by nhng c im phn cng ca mt h thng nhng. Cu 3: Th no l MiddleWare software, Application software? Cho v d. Cu 4: Nu s thc thi ca cc lnh trong vi x l ARM.

GI P N
s 1 Cu 1: Trnh by cc cu trc c th c dng biu din kin trc ca h thng nhng. Gi Module - 68 -

Component and Connector Allocation Cu 2: Phn tch c im, chc nng ca h thng bus a ch trong h thng nhng. Gi V tr rng bus Cu to Nhim v Cu 3: Trnh by v trnh iu khin ngt. Gi Ngt Level Triggered Ngt Edge Triggered Cc chc nng chnh ca trnh iu khin Cu 4: Nu cc bc lp trnh cho AVR vi CodeVision Gi Trnh by cc bc lm vic vi Code Vision Wizard trong Code Vision s 2 Cu 1: Th no l Soft Real Time System, cho v d. Gi : Trnh by v cc h thng thi gian thc trong sai khc v thi gian khng gy hu qu ln v ti sn, con ngi. Cu 2: Nu cu to, c im cc loi b nh RAM. Gi Trnh by v cc loi SDRAM, DRAM Cu to cc nh v c im Phng php truy cp n cc phn t nh Cu 3: Trnh by nhng c im ca h iu hnh trong cc h thng nhng. Gi Cu 4: Trnh by v cc ch hot ng ca Timer trong vi x l AT89C s 3 Cu 1: Th no l Hard Real Time System, cho v d. Gi Trnh by nhng h thng m trong vic sai khc v thi gian s dn n nhng hu qu nghim trng v ti sn v ngi. Cu 2: Nu cu to, c im cc loi b nh ROM. Gi Trnh by v cc loi ROM Cu to cc nh v c im Phng php truy cp n cc phn t nh Cu 3: Nu v phn tch cc iu kin cn ca RMS. Gi - 69 -

Trnh by n s dng Trnh by v a s dng Cu 4: Nu kin trc chung ca h vi x l AT89C Gi S khi M t cc khi M t cc chn s 4 Cu 1: Trnh by v m hnh pht trin h thng nhng Spiral. Gi S khi Trnh by cc phase ca m hnh So snh vi m hnh warterfall Cu 2: Nu cc c ch qun l b nh vi h thng nhng. Gi Trnh by v phn cp b nh trong h thng nhng Trnh by v Memory Management Cu 3: Th no l tin trnh, trnh by v qun l tin trnh trong h thng. Gi nh ngha chng trnh, tin trnh n tin trnh a tin trnh Cu 4: Nu c im ca tp lnh ca vi x l ARM. Gi Kch thc lnh Dng lnh Kiu thc thi s 5 Cu 1: Trnh by v m hnh pht trin h thng nhng Water Fall v cc u khuyt im ca n so vi cc phng php truyn thng. Gi S khi Trnh by cc phase ca m hnh So snh vi m hnh Spiral Cu 2: Nu nhng u im ca phng php vo ra song song. Gi Tc Cu to dy Kt ni vi thit b ngoi vi Cu 3: So snh cc h thng n tin trnh v cc h thng a tin trnh. Gi - 70 -

phc tp ca thut ton qun l Hiu sut ca h thng Cu 4: Trnh by v hot ng ca cc cng trong vi x l AVR. Gi V tr, cu to Cc thanh ghi Cc ch hot ng s 6 Cu 1: Ti sao ta s dng phng php phn lp biu din kin trc h thng nhng? Gi V tr, cu to Cc thanh ghi Cc ch hot ng Cu 2: Trnh by nhng c im phn cng ca mt h thng nhng. Gi Trnh by s khc nhau gia h thng thng v h thng nhng Cc hn ch v b nh Hn ch v kch thc Hn ch v nng lng . Cu 3: Th no l MiddleWare software, Application software? Cho v d. Gi Trnh by v tr, chc nng ca MiddleWare Trnh by v tr, chc nng ca Application So snh hai kiu phn mm ny Cu 4: Nu s thc thi ca cc lnh trong vi x l ARM. Gi Trnh by ch lnh x l d liu Trnh by ch lnh truyn d liu Trnh by ch lnh iu khin dng

- 71 -

You might also like