cấu trúc máy tính
1 TrườngĐạihọcBáchkhoaHàNội BộmônĐiềukhiểntựđộng Tàiliệutómtắtbàigiảng HỆ THỐNG ĐIỀU KHIỂN NHÚNG (EmbeddedControlSystems) TS.LưuHồngViệt 2 Nội dung 1 MỞĐẦU 5 1.1 Cáckháiniệmvềhệnhúng 5 1.2 Lĩnhvựcứngdụngcủahệnhúng 7 1.3 Đặcđiểmcôngnghệvàxuthếpháttriểncủahệnhúng 8 1.3.1 Đặcđiểmcôngnghệ 8 1.3.2 Xuth ếpháttriểnvàsựtăngtrưởngcủahệnhúng 9 1.4 Mụcđíchvànộidungmônhọc 10 2 CẤUTRÚCPHẦNCỨNGHỆNHÚNG 11 2.1 Cácthànhphầnkiếntrúccơbản 11 2.1.1 Đơnvịxửlý trungtâmCPU 11 2.1.2 Xungnhịpvàtrạngtháitínhiệu 13 2.1.3 Busđịachỉ,dữliệuvàđiềukhiển 16 2.1.4 Bộnhớ 17 2.1.5 Khônggianvàphânvùngđịachỉ 21 2.1.6 Ngoạivi 21 2.1.7 Giaodiện 33 2.2 Mộ tsốnềnphầncứngnhúngthôngdụng(µP/DSP/PLA) 37 2.2.1 ChipVixửlý/Viđiềukhiểnnhúng 37 2.2.2 ChipDSP 39 2.2.3 PAL 41 3 CƠSỞKỸTHUẬTPHẦNMỀMNHÚNG 48 3.1 Đặcđiểmphầnmềm nhúng 48 3.2 Biểudiễnsốvàdữliệu 48 3.2.1 Cáchệthốngcơsố 48 3.2.2 Sốnguyên 48 3.2.3 Sốdấuphảytĩnh 50 3.2.4 Sốdấuphảyđộng 51 3.2.5 Mộtsốphéptínhcơbản 52 3.3 Tậplệnh 55 3.3.1 CấutrúctậplệnhCISCvàRISC 55 3.3.2 Địnhdạnglệnh 57 3.3.3 Cáckiểutruyềnđịachỉtoántửlệnh 57 3.3.4 Nguyênlýthựchiệnpipeline 60 3.3.5 Harzard 61 3 3.4 Ngônngữvàmôitrườngpháttriển 63 3.4.1 Ngônngữ 63 3.4.2 Biêndịch 65 3.4.3 Simulator 70 3.4.4 Emulator 71 3.4.5 Thiếtkếhệthốngbằngmáytính 71 4 HỆĐIỀUHÀNHNHÚNG 73 4.1 Hệđiềuhành 73 4.2 Bộnạpkhởi tạo(Boot‐loader) 74 4.3 Cácyêucầuchung 76 4.4 Hệđiềuhànhthờigianthực 77 5 KỸTHẬTLẬPTRÌNHNHÚNG 81 5.1 Tácvụvàquátrình(process) 81 5.2 Lậplịch(Scheduling) 81 5.2.1 Cáckháiniệm 81 5.2.2 Cácphươngpháplậplịchphổbiến 82 5.2.3 Kỹthuậtlậplịch 85 5.3 Truyềnthôngvàđồngbộ 87 5.3.1 Semaphore 87 5.3.2 Monitor 89 5.4 Xửlýngắt 90 6 THIẾTKẾHỆNHÚNG:TỔHỢPPHẦNCỨNGVÀM ỀM 93 6.1 Quitrìnhpháttriển 93 6.2 Phântíchyêucầu 93 6.3 Môhìnhhoásựkiệnvàtácvụ 93 6.3.1 PhươngphápmôhìnhPetrinet 93 6.3.2 QuiướcbiểudiễnmôhìnhPetrinet 94 6.3.3 Môtảcáctìnhhuốnghoạtđộ ngcơbảnvớiPetrinet 95 6.3.4 Ngônngữmôtảphầncứng(VHDL) 103 6.4 Thiếtkếphầnmềmđiềukhiển 104 6.4.1 Môhìnhthựcthibộđiềukhiểnnhúng 104 6.4.2 Vídụthựcthibộđiềukhi ểnPIDsố 106 TÀILIỆUTHAMKHẢO 108 4 5 1 MỞ ĐẦU Kỷnguyêncông nghệmớiđãvàđang tiếptụcpháttriểnkhôngngừngnhằmthông minhhoáhiệnđạihoáthôngsuốtcáchệthống.Cóthểnóiđánhdấusựrađờivàphát triểnc ủah ệnhúngtrướctiênphảikểđếnsựrađờicủacácbộvixửlý,viđiềukhiển. NóđượcđánhdấubởisựrađờicủaChipvixửlýđầutiên4004vàonăm1971chomục đích tínhtoánth ươngmạibởimộtcôngtyNhậtbảnBusicomvàsauđóđãđượcchắp cánhvàpháttriểnvượtbậcbởiIntelđểtrởthànhcácbộsiêuxửlýnhưcácChipđược ứngdụng choPCnhưngàynay.Thậpkỷ80cóthểđượccoilàkhởiđiểmbắtđầukỷ nguyêncủasựbùngnổvềpháttriểncáchệnhúng.Từđókhởinguồncholànsóngra đờicủahànglo ạtcácchủngloạivixửlývàgắnliềnlàcáchệnhúngđểthâmnhậprộng khắptrongcácứngdụnghàngngàycủacuộcsốngchúngtavídụnhư,cácthiếtbịđiện tửsửdụngchosinhhoạthàngngày(lòvisóng,TV,tủlạnh,máygiặt,điềuhoà )và vănphònglàmviệc(máyfax,máyin,máyđiệnthoại ) Cácbộvixửlývàphầnmềm c ũngngàycàngđượcsửdụngrộngrãitrongrấtnhiềucáchệthốngnhỏ.Cácloạivixử lýđượcsửdụngtrongcáchệthốngnhúnghiệnnayđãvượtxasovớiPCvềsố lượng chủngloại(chiếmđến79%sốcácvixửlýđangtồntại[2])vàvẫncòntiếptụcphát triểnđểnhằmđápứngvàthoảmãnrấtnhiềuứngdụngđadạng.Trong sốđóvẫncòn ứngdụngcảcácChipvixửlý8bit,16bitvàhiệnnaychủyếuvẫnlà32bit(chiếm khoảng75%).Gắnliềnvớisựpháttriểnphầncứng,ph ầnmềmcũngđãpháttriểnvới tốcđộnhanhkhôngthuakémthậmchísẽt ăngnhanhhơnrấtnhiềutheosựpháttriển hệnhúng. 1.1 Các khái niệm về hệ nhúng Hệnhúng? Trongthếgiớithựccủachúngtabấtkỳmộtthiếtbịhayhệthốngđiện/điệntửcókhả năngxửlýthôngtin vàđiềukhiểnđều cóthểtiềmẩn trong đómột thiếtbịhay hệ nhúng,vídụnhưcácthiếtbịtruyềnthông,thiếtbịđolườngđiềukhiển,cácthiếtbị phụcvụsinhhoạthàngngàynhưlòvisóng,máygiặt,camera…Rất dễdàngđểcóthể kểrahàngloạtcácthiếtbịhayhệthốngnhưvậyđangtồntạiquanhta,chúnglàhệ nhúng.Vậyhệnhúngthựcchấtlàgìvànênhiểuthếnàovềhệnhúng?Hi ệnnaycũng chưacómộtđịnhnghĩanàothựcsựthoảđángđểđượcchuẩnhoávàthừanhậnrộng rãichohệnhúngmàvẫnchỉlànhữngkháiniệmdiễntảvềchúngthôngqua nhữngđặc thùchung.Tuynhiênởđâychúngtacóthểhiểuhệnhúnglàmộtphầnhệthốngxửlý thôngtinnhúngtrongcáchệthốnglớn,phứchợpvàđộclậpvídụnhưtrongôtô,các thi ếtbịđolường,điềukhiển,truyềnthôngvàthiếtbịthôngminhnóichung. Chúnglà nhữngtổhợpcủaphầncứngvàphầnmềmđểthựchiệnmộthoặcm ộtnhómchứ cnăng chuyên biệt, cụ thể (Tráingượcvới máy tínhPC màchúngta thường thấyđược sử dụngkhôngphảichomộtchứcnăngmàlàrấtnhiềuchứcnănghayphục vụchungcho nhiềumụcđích).PCthựcchấtlạilàmộthệthốnglớn,tổhợpcủanhiềuhệthốngnhúng vídụnhưcardmànhình,âmthanh,modem,ổcứng,bànphím…Chínhđiềunàylàm chúngtadễlúngtúngnếuđượchỏinênhiểuthếnàovềPC,cóphảilàhệnhúnghay không. 6 Hình1‐1:Mộtvàihìnhảnhvềhệnhúng Hệthờigianthực? Trongcácbàitoánđiềukhiểnvàứngdụngchúngtarấthaygặpthuậtng ữ“thờigian thực”.Thờigianthựccóphảilàthờigianphảnánh vềđộtrungthựccủathờigianhay không?Thờigianthựccóphảilàhi ểnthịchínhxácvàđồngbộtheođúngnhưnhịp đồnghồđếmthờigianhay không?Khôngphải hoàntoànnhưvậy!Th ựcchất,theo cáchhiểunếunóitrongcáchệthốngkỹthuậtđặcbiệtcáchệthốngyêucầukhắtkhevề sựràngbuộcthờigian,thờigianthựcđượchiểulàyêucầ ucủahệthốngphảiđảmbảo thoảmãnvềtínhtiềnđịnhtronghoạtđộngcủahệthống.Tínhtiềnđịnhnóilênhànhvi củahệthốngthựchiệnđúngtrongmộtkhungthời gianchotrướchoàntoànxácđịnh. Khungthờigiannàyđượcquyếtđịnhbởiđặcđiểmhoặcyêucầucủahệthống,cóthểlà vàigiâyvàcũngcóthểlàvàinanogiâyhoặcnhỏhơ nnữa.Ởđâychúngtaphânbiệt yếutốthờigiangắnliềnvớikháiniệmvềthờigianthực.Khôngphảihệthốngthực hiệnrấtnhanhlàsẽđảmbảođượctínhth ờigianthựcvìnhanhhaychậmhoàntoànlà phépsosánhcótínhtươngđốivìmiligiâycóthểlànhanhvớihệthốngđiềukhiển nhiệtnhưnglạilàchậm đốivớicácđối tượngđiềukhiểnđiệnnhưdòng,áp….Hơnthế nữanếuchỉnhanhkhôngthìchưađủmàphảiđảmbảoduytrìổnđịnhbằngmộtcơ chếhoạtđộngtincậy.Chínhvìvậyh ệthốngkhôngkiểmsoátđượchoạtđộngcủanó (bấtđịnh)thìkhôngthểlàm ộthệthốngđảmbảotínhthờigianthựcmặcdùhệthống đócóthểchođápứngrấtnhanh,th ậmchínhanhhơnrấtnhiềusovớiyêucầuđặtra. Mộtvídụ minh hoạtiêu biểuđólà cơchếtruyền thôngdữliệu quađường truyền chuẩnEthernettruyềnthống,mặcdù aicũngbiếttốcđộtruyềnlàrấtnhanhnhưngvẫn khôngphảihệhoạtđộngthờigianthựcvìkhôngthoảmãntínhtiềnđịnhtrongcơchế truyềndữliệu(cóthểlàrấtnhanh vàcũngcóthểlàrấtchậmnếucósựcanhtrạnhvà giaothôngđườngtruyềnbịnghẽn). 7 Ngườitaphânralàmhailoạiđốivớikháiniệmthờigianthựclàcứng(hardreal ‐time) vàmềm(softreal‐time).Thờigianthựccứnglàkhihệthốnghoạtđộngv ớiyêucầuthoả mãnsựràngbuộctrongkhungthờigiancứngtứclànếuviphạmthìsẽdẫnđếnhoạt độngcủatoànhệthốngbịsaihoặcbịpháhuỷ.Vídụv ềhoạtđộngđiềukhiểnchomột lòphảnứnghạtnhân, nếuchậmraquyếtđịnhcóthểdẫnđếnthảmhoạgâyradophản ứngphânhạchvàdẫnđếnbùngnổcảh ệthống.Thờigianthựcmềmlàkhi hệthống hoạtđộngvớiyêucầuthoảmãnràngbuộctrongkhungthờigianmềm,nếuviphạmvà sailệchnằmtrongkhoảngchophép thìhệthốngvẫncóthểhoạtđộngđượcvàchấp nhậnđược.Vídụnhưhệthốngphátthanhtruyềnhình,nếuthông tintruyềnđitừtrạm pháttớingườinghe/nhìnchậmmộtvài giâythìcũngkhôngảnhhưởngđángkểđến tínhthờisựcủatinđượctruyềnđivàhoàntoànđượcchấpnhậnbởingườitheodõi. Thựctếthấyrằnghầuhếthệnhúnglàcác hệthờigianthựcvàhầuhếtcáchệthờigian thựclàhệnhúng.Điềunàyphảnánhmốiquanhệmậtthiếtgiữahệnhúngvàthờigian thựcvàtínhthờigian thựcđãtrởthànhnhưmộtthuộctínhtiêubiểu củahệnhúng.Vì vậyhiệnnaykhiđềcậptớicáchệnhúngngườitađềunóitớiđặctínhcơbảncủanólà tínhthời gianthực. Hệ thời gian thực Hệ Nhúng Hệnhúngthời gianthực Hình1‐2:Phânbốvàquanhệgiữahệnhúngvàthờigianthực 1.2 Lĩnh vực ứng dụng của hệ nhúng Chúngtacóthểkểrađượcrấtnhiềucácứngdụngcủahệthốngnhúngđangđượcsử dụnghiệnnay,vàxuthểsẽcòntiếptụctăngnhanh.Mộtsốcáclĩnhvựcvàs ảnphẩm thịtrườngrộnglớncủacáchệnhúngcóthểđượcnhómnhưsau: • Cácthiếtbịđiềukhiển • Ôtô,tàuđiện • Truyềnthông • Thiếtbịytế • Hệthốngđo lườngthẩmđịnh • Toànhàthôngminh • Thiếtbịtrongcácdâytruyềnsảnxuất • Rôbốt • 8 1.3 Đặc điểm công nghệ và xu thế phát triển của hệ nhúng 1.3.1 Đặc điểm công nghệ Cáchệthốngnhưvậyđềucóchungmộtsốđặcđiểmnhưyêucầuvềkhảnăngthời gianthực,độtincậy,tínhđộclậpvàhiệuquả.Mộtcâuhỏiđặtralàtại saohệthống nhúnglạipháttriểnvàđượcphổcậpmộtcáchnhanhchóngnhưhiệnnay.Câutrảlời thựcranằmởcácyêucầutănglênkhôngngừngtrongcácứngdụngcôngnghệ hiện nay.Mộttrongnhữngyêucầucơbảnđólà: Khảnăngđộclậpvàthôngminhhoá:Điềunàyđượcchỉrõhơnthôngquamộtsốcác thuộctínhyêucầu,cụthểnhư: ; Độtincậy ; Khảnăngbảotrìvànângcấp ; Sựphổcậpvàtiệnsửdụng ; Độantoàn ; Tínhbảomật Hiệuquả:Yêucầunàyđượcthểhiệnthôngqua mộtsốcácđặcđiểmcủahệthốngnhư sau: ; Nănglượngtiêuthụ ; Kíchthướcvềphầncứngvàphầnmềm ; Hiệuquảvềthờigianthựchiện ; Kíchthướcvàkhốilượng ; Giáthành Phânhoạchtácvụvàchứcnănghoá:Cácbộvixửlýtrongcáchệnhúngthườngđược sửdụngđểđảmnhiệmvàthựchiệnmộthoặcmộtnhómch ứcnăngrấtđộclậpvàcũng đặcthùchotừngphầnchứcnăngcủahệthốnglớnmànóđượcnhúngvào.Vídụnhư mộtvixửlýthựchiện mộtphần điềukhiểnchomộtchứcnăngthuthập,xửlývàhiển thịcủaôtôhayhệthốngđiềukhiểnquátrính.Khảnăngnàylàmtăngthêmsựchuyên biệthoávềchứcnă ngcủamộthệthốnglớnvàdễdànghơnchoquátrínhxâydựng, vậnhànhvàbảotrì. Khảnăngthờigianthực:Cáchệthốngđềugắnliềnvớiviệcđảm nhiệmmộtchứcnăng chínhvàphảiđượcthựchiệnđúngtheomộtkhungthờigianquiđịnh.Thôngthường mộtchứcnăngcủahệthốngphảiđượcthựchiệnvàhoàn thànhtheomộtyêucầuthời gianđịnhtrướcđểđảmbảothôngtincậpnhậtkịpthờichophầnxửlýcủacácchức năngkhácvàcóthểảnhhưởngtrựctiếptới sựhoạtđộng đúngvàchínhxáccủatoàn hệthống.Tuỳthuộcvàotừngbàitoánvàyêucầucủahệthốngmàyêucầuvềkhảnăng thờigianthựccũngrấtkhácnhau. Tuynhiên,trong thựctếkhôngphải hệnhúngnàocũngđềucóthểthoảmãntấtcả nhữngyêucầunêutrên,vìchúnglàkếtquảcủasựthoảhiệpcủanhiềuyêucầuvàđiề u kiệnnhằmưutiênchochứcnăngcụthểmàchúngđượcthiếtkế.Chínhđiềunàylại 9 cànglàmtăngthêmtínhchuyênbiệthoácủacáchệ/thiếtbịnhúngmàcácthiếtbịđa năngkhôngthểcạnhtranhđược. 1.3.2 Xu thế phát triển và sự tăng trưởng của hệ nhúng Vìsựpháttriểnhệnhúnglàsựkếthợpnhuầnnhuyễngiữaphầncứngvàphầnmềm nêncôngnghệgắnliềnvớinócũngchínhlàcôngnghệkếthợpgiữacác giảiphápcho phầncứngvàmềm.Vìtínhchuyênbiệtcủacácthiếtbị/hệnhúngnhưđãgiớithiệu nêncácnềnphầncứngcũngđượcchếtạođểưutiênđápứngcho chứcnănghaynhiệm vụcụthểcủayêucầuthiếtkếđặtra. Lớphệnhúngưutiênphát triểntheotiêuchívề kíchthướcnhỏgọn,tiêu thụnăng lượngít,giáthànhthấp.Các chípxửlýnhúngcholớphệthốngứngdụngđóthường yêucầuvềkhảnăngtínhtoáníthoặcvừaphảinênhầuhếtđượcxâydựngtrêncởsở bộđồngxửlý8bít‐ 16bithoặccùnglắmlà32bitvàkhônghỗtrợdấuphảyđộngdosự hạnchếvềdunglượngvàkhảnăngtínhtoán. Lớphệnhúngưutiênthựcthikhảnăngxửlýtínhtoánv ớitốcđộthựchiệnnhanh.Các chípxửlýnhúngchocáchệthốngđócũngsẽlàcácChipápdụngcáccôngnghệcao cấpvớikiếntrúcxửlýsongsongđểđápứngđượccườngđộtínhtoán lớnvàtốcđộmà cácChipxửlýđachứcnăngthôngthườngkhôngđạttớiđược. Lớphệthốngưutiêncảhaitiêuchípháttriểncủahailớptrên,tứclàkíchthướcnhỏ g ọn,mứctiêuthụnănglượngthấp,tốcđộtínhtoánnhanh.Tuỳtheosựthoảhiệpgiữa cácyêucầuvàxuthếpháttriểnchínhvìvậycũngkhôngcógìngạcnhiênkhichúngta thấ ysựtồntạisongsongcủarấtnhiềucácChipvixửlýnhúng,viđiềukhiểnnhúng8 bit,16bithay32bitcùngvớicácChípsiêuxửlýkhácvẫnđangđượcứngdụngrộng rãichohệnhúng.Đócũnglàsựkếthợpđadạngvàsựrađờicủacáchệnhúngnói chungnhằmthoảmãncácứngdụngpháttriểnkhôngngừng. Vớimỗimộtnềnph ầncứngnhúngthườngcónhữngđặcthùriêngvàkèmtheomột giảipháppháttriểnphầnmềmtốiưutươngứng.Khôngcómộtgiảiphápnàochung vàchuẩntắcchotất cảcáchệnhúng.Chínhvìvậythôngthườngcácnhàpháttriểnvà cungcấpphầncứngcũnglạichínhlànhàcungcấpgiảiphápphầnmềmhoặccôngcụ pháttriểnphầnm ềmkèmtheo.RấtphổbiếnhiệnnaycácChipvixửlýhayviđiều khiểnđềucócáchệpháttriển(StarterKithayEmulator)đểhỗtrợchocácnhàứngdụng vàxâydựnghệnhúngvới hiểubiếthạnchếvềphầncứng.Ngônngữmãhoãphần mềmcũngthườnglàChoặc gầngiốngnhư C(LikelyC)thay vìphảiviết hoàntoàn bằnghợpngữAssembly .Điềunàychophépcácnhàthiếtkếtốiưuvàđơngiảnhoárất nhiềuchobướcpháttriểnvàxâydựnghệnhúng. Trong xu thế phát triển không ngừng và nhằm thoả mãnđược nhu cầu phát triển nhanh và hiệu quả có rất nhiều các công nghệ cho phép thực thi các giải pháp hệ nhúng.ĐứngsausựphổcậprộngrãicủacácChipvixửlýviđiềukhiển nhúng,DSP phảikểđếncáccôngnghệcũngđangrấtđượcquantâmhi ệnnaynhưASIC,CPLD, 10 FPGA,PSOC vàsự tổhợp củachúng Kèm theođólà cáckỹ thuậtpháttriển phần mềmchophépđảmnhiệmđượccácbàitoányêu cầukhắtkhetrêncơsởmộtnềnphần cứng hữuhạnvềkhảnăngxửlývàkhônggianbộnhớ.Giảiquyếtcácbàitoánthời gianthựcnhưphânchiatácvụvàgiảiquyếtc ạnhtranhchiasẻtàinguyênchung.Hiện naycũ ngđãcó nhiềunhàphát triểncông nghệphần mềm lớnđanghướngvào thị trườnghệnhúngbaogồmcảMicrosoft.NgoàimộtsốcáchệđiềuhànhWindowsquen thuộc dùngcho PC,Microsoftcũngđ ãtungra cácphiên bảnmini nhưWindowsCE, WindowsXPEmbeddedvàcáccôngcụpháttriểnứngdụngkèmtheođểphụcvụchocác thiếtbịnhúng,điểnhìnhnhưcácthiếtbịPDA,mộtsốthiếtbịđiều khiểncôngnghiệp nhưcácmáytínhnhúng,IPCcủaSiemens Có thểnóihệ nhúngđã trởthành một giảipháp công nghệ và pháttriển một cách nhanhchóng,hứa hẹnnhiềuthiết bị nhúngsẽ chiếm lĩnhđược thịtrườngrộng lớn trongtươnglainhằmđápứngnhucầuứngdụngkhôngng ừngtrongcuộcsốngcủa chúngta.Đốivớilĩnhvựccôngnghiệpvềđiềukhiể nvàtựđộnghoá,hệnhúngcũnglà mộtgiảiphápđầytiềmnăngđãvàđangđượcứngdụngrộngrãi.Nórấtphùhợpđể thựcthicácchứcnăngthôngminhhoá,chuyênbiệttrong cáchệthốngvàthiếtbịcông nghiệp,từcáchệthốngtậptrungđếncáchệthốngphântán.Giảipháphệnhúngcóthể thựcthitừcấpthấpnhấtcủahệthốngcôngnghiệ pnhưcơcấuchấphànhchođếncác cấpcaohơnnhưgiámsátđiềukhiểnquátrình. 1.4 Mục đích và nội dung môn học Hệđiềukhiểnnhúnglàm ộtmônhọcmớinhằmcungcấpkiếnthứcchosinhviênvề khảnăngphântíchvàthiếtkếhệthốngđiềukhiểnvàthôngminhhoáhệthốngtheo chứcnăngtheogiảiphápcôngnghệ.Thiếtkếthựcthiđiềukhiểntrênnềnphầncứng nhúng. 11 2 CẤU TRÚC PHẦN CỨNG HỆ NHÚNG 2.1 Các thành phần kiến trúc cơ bản Hình2‐1:KiếntrúcđiểnhìnhcủacácchípVXL/VĐKnhúng 2.1.1 Đơn vị xử lý trung tâm CPU Hình2‐2:CấutrúcCPU Ngườitavẫnbiết tớiphầnlõixửlýcủacácbộVXLlàđơnvịxửlýtrungtâmCPU (CentralProcessing Unit)đóngvaitrònhưbộnãochịutráchnhiệmthựcthicácphép tínhvàthực hiệncáclệnh.PhầnchínhcủaCPUđảmnhiệmchứcnăngnà ylàđơnvị logictoánhọc(ALU–ArthimeticLogicUnit).NgoàirađểhỗtrợchohoạtđộngcủaALU còncóthêmmộtsốcácthành phầnkhácnhưbộgiảimã(decoder),bộtuầntự(sequencer) vàcácthanhghi. 12 Bộgiảimãchuyểnđổi(thôngdịch)cáclệnhlưutrữởtrongbộmãchươngtrìnhthành cácmãmàALUcóthểhiểuđượcvàthựcthi.Bộtuầntựcónhiệmvụquảnlýdòngdữ li ệutraođổiquabusdữliệucủaVXL.CácthanhghiđượcsửdụngđểCPUlưutrữtạm thờicácdữliệuchínhchoviệcthựcthicáclệnhvàchúngcóthểthayđổinộidungtrong quátrìnhhoạtđộngcủaALU.HầuhếtcácthanhghicủaVXLđềulàcácbộnhớđược thamchiếu (mapped)vàhộinhậpvớikhuvựcbộnhớvàcóthểđượcsửdụngnhưbất kỳkhuvựcnhớkhác. CácthanhghicóchứcnănglưutrữtrạngtháicủaCPU.Nếucácnộidungcủabộnhớ VXLvàcácnộidungcủacácthanhghitạimộtthờiđ iểmnàođóđượclữugiữđầyđủ thìhoàntoàncóthểtạmdừngthựchiệnphầnchươngtrìnhhiệntạitrongmộtkhoảng thờigianbấtkỳvàcó thểtrởlạitrạngthái củaCPUtrướcđó.Thựctếsốlượngcác thanhghivàtêngọicủachúngcũngkhácnhautrongcáchọVXL/VĐKvàthườngdo chínhcácnhàchếtạoquiđịnh,nhưngvềcơbảnchúngđề ucóchungcácchứcnăng nhưđãnêu. Khithứtựbytetrongbộnhớđãđượcxácđịnhthìngườithiếtkếphầncứngphảithực hiệnmộtsốquyếtđịnhxemCPUsẽlưudữ liệuđónhưthếnào.Cơchếnàycũngkhác nhautuỳtheokiếntrúctậplệnhđượcápdụng.Cóbaloạihìnhcơbản: (1) Kiếntrúcngănxếp (2) Kiếntrúcbộtíchluỹ (3) Kiếntrúcthanhghimụcđíchchung Kiếntrúcngănxếpsửdụngngănxếpđểthựchiệnlệnhvàcáctoántửnhậnđượctừ đỉnhngănxếp.Mặcdùcơchếnàyhỗtrợ mậtđộmãtốtvàmôhìnhđơngiảnchoviệc đánhgiácáchthểhiệnchươngtrìnhnhưngngănxếpkhôngthểhỗtrợkhảnăngtruy nhậpngẫunhiênvàhạnchếhiệusuất thựchiệnlệnh. Kiếntrúcbộtíchluỹvớilệnhmộttoántửngầmmặcđịnhchứatrongthanhghitíchluỹ cóthểgiảmđượcđộphứctạpbêntrongcủacấutrúcCPUvà chophépcấuthànhlệnh rấtnhỏgọn.Nhưngthanhghitíchluỹchỉlànơichứadữliệutạmthờinêngiaothông bộnhớrấtlớn. Kiếntrúcthanhghimụcđíchchungsửd ụngcáctậpthanhghimụcđíchchungvàđược đón nhận như mô hình của các hệthống CPU mới,hiệnđại. Các tậpthanhghiđó nhanhhơnbộnhớthườngvàdễdàngchobộbiênd ịchxửlýthựcthivàcóthểđượcs ử dụngmộtcáchhiệuquả.Hơnnữagiáthànhphầncứngngàycàngcóxuthếgiảmđáng kểvàtậpthanhghicóthểtăngnhanh.Nế ucơchếtruynhậpbộnhớnhanhthìkiếntrúc dựatrênngănxếpcóthểlàsựlựachọnlýtưởng;cònnếutruynhậpbộnhớchậmthì kiếntrúcthanhghisẽlàsựl ựachọnphùhợpnhất. Mộtsốthanhghivớichứcnăngđiểnhìnhthườngđượcsửdụngtrongcáckiếntrúc CPUnhưsau: 13 Thanhghicontrỏngănxếp(stackpointer): Thanhghinàylưugiữđịachỉtiếptheocủangănxếp.Theonguyênlýgiátrịđịachỉ chứatrongthanhghicontrỏngănxếpsẽgiả mnếudữliệuđượclưuthêmvàongănxếp vàsẽtăngkhidữliệuđượclấyrakhỏingănxếp. Thanhghichỉsố(indexregister) Thanhghichỉsốđượcsửdụngđểlư uđịachỉkhimodeđịachỉđượcsửdụng.Nócòn đượcbiếttớivớitêngọilàthanhghicontrỏhaythanhghilựachọntệp(Microchip). Thanhghiđịachỉlệnh/Bộđếmchương trình(ProgramCounter) Một trong nhữngthanhghiqua n trọng nhất của CPU là thanhghibộ đếm chương trình.Thanhghibộđếmchươngtrìnhlưuđịachỉlệnhtiếptheocủachươngtrìnhsẽ được CPUxửlý.MỗikhilệnhđượctrỏtớivàđượcCPUxửlýthìnộidunggiátrịcủa thanhghibộđếmchươngtrìnhsẽtănglênmột.Chươngtrìnhsẽkếtthúckhithanhghi PCcó giátrịbằngđịachỉcuốicùngcủachươngtrìnhnằmtrongbộnhớchươngtrình. Thanhghitíchlũy(Accumulator) ThanhghitíchlũylàmộtthanhghigiaotiếptrựctiếpvớiALU,đượ csửdụngđểlưu giữcáctoántửhoặckếtquảcủamộtphéptoántrongquátrìnhhoạtđộngcủaALU. 2.1.2 Xung nhịp và trạng thái tín hiệu TrongVXLvàcácvimạchsốnóichung,hoạtđộngcủahệthốngđượcthựchiệnđồng bộhoặcdịbộtheocácxungnhịpchuẩn.Cácnhịpđóđượclấytrựctiếphoặcgiánti ếp từmộtnguồnxungchuẩnthườnglàcácmạchtạoxunghoặcdaođộngthạchanh.Để môtảhoạtđộngcủahệthống,cáctínhiệudữliệuvàđiềukhiểnthườngđược môtả trạngtháitheogiảnđồthờigianvàmứctínhiệunhưđượcchỉratrongHình2‐3:Môtả vàtrạngtháitínhiệuhoạtđộngtrongVXL Hình2‐3:MôtảvàtrạngtháitínhiệuhoạtđộngtrongVXL Mụcđíchcủaviệcmôtảtrạngtháitínhiệutheogiảnđồthờigianvàmứctínhiệulàđể phântíchvàxácđịnhchuỗisựkiệnhoạtđộngchitiếttrongmỗichukỳbus. Nhờviệc môtảnàychúngtacóthểxemxétđếnkhảnăngđápứngthờigiancủacácsựkiệnthực thitronghệthốngvàthờigiancầnthiếtđểthựcthihoạtđộngtuầnt ựcũngnhưlàkhả 14 năngtươngthíchkhicósựhoạtđộngphốihợpgiữacácthiếtbịghépnốihaymởrộng tronghệthống.Thôngthườngthôngtinvềcácnhịpthờigianhoạtđộngcũngnh ưđặc tínhkỹthuậtchitiếtđượccungcấphoặcquiđịnhbởicácnhàchếtạo. Mộtsốđặctrưngvềthờigiancủacáctrạngtháihoạtđộngcơbảncủacáctínhi ệuhệ thốnggồmcónhưsau: 9 Thờigiantănghoặcgiảm 9 Thờigiantrễlantruyềntínhiệu 9 Thờigianthiếtlập 9 Thờigiangiữ 9 Trễcấmhoạtđộng vàtrạngtháitreo(Tri‐State) 9 Độrộngxung 9 Tầnsốnhịpxunghoạtđộng Thờigiantănghoặcgiảm Hình2‐4:Môtảtrạngtháitínhiệulogictăngvàgiảm Thờigiantăngđượcđịnhnghĩalàkhoảngthờigianđểtínhiệutăngtừ20%đến80% mứctínhiệucầnthiết.Thờigiangiảmlàkhoảngthờigianđểtínhiệugiảmtừ 80%đến 20%mứctínhiệucầnthiết. Thờigiantrễlantruyền: Làkhoảngthờigiantíntừkhithayđổitínhiệuvàochotớikhicósựthayđổitínhiệuở đầura.Đặctínhnàythườngdocấutạovàkhảnăngtruyềndẫntínhiệuvậtlýtronghệ thốngtínhiệu. Hình2‐5:Môtảtrạngtháivàđộtrễlantruyềntínhiệu Thờigianthiếtlậpvàlưugiữ Khoảngthờigiancầnthiếtđểtínhiệutríchmẫuđạttớimộttrạngtháiổnđịnhtrướckhi nhịpxungchuẩnđồnghồthayđổiđượcg ọilàthờigianthiếtlập.Thờigianlưugiữlà 15 khoảng thờigian cầnthiết đểduy trìtínhiệu tríchmẫuổnđịnh saukhi xungnhịp chuẩnđồnghồthayđổi.Thựcchấtkhoảngthờigianthiếtlậpvàthờigianlưugi ữlàcần thiếtđểđảmbảo tínhiệuđượcghinhận chínhxác vàổnđịnh trongquá trìnhhoạt độngvàchuyểnmứctrạngthái.GiảnđồthờigiantrongHình2‐6:Thờigianthiếtlập và lưugiữminhhọathờigianthiếtlậpvàlưugiữtronghoạtđộngcủaTrigerD. Hình2‐6:Thờigianthiếtlậpvàlưugiữ Trongtrườnghợphoạtđộngchuyểntrạngtháitínhiệukhôngđồngbộvàkhôngđảm bảođượcthờigianthiếtlậpvàlưugiữsẽcóthểdẫnđếnsựmấtổnđịnhhaykhôngxác đị nh mức tín hiệu trong hệ thống. Hiện tượng nàyđược biết tới với tên gọi là metastabilit.ĐểminhhọachohiệntượngnàytrongHình2‐7môtảhoạtđộnglỗicủa mộ tTrigerkhicácmứctínhiệuvàokhôngthỏamãnyêucầuvềthờithiếtlậpvàlưu giữ. Hình2‐7:HiệntượngMetastabilittronghoạtđộngcủaTrigerD Chukỳtínhiệu3trạngtháivàcontention 16 Hình2‐8:Môtảchukỳtínhiệu3trạngtháivàcontention Độrộngxungvàtầnsốnhịpxungchuẩn Hình2‐9:Độrộngvàtầnsốxungnhịpchuẩn 2.1.3 Bus địa chỉ, dữ liệu và điều khiển Busđịachỉ Busđịachỉlàcácđườngdẫntínhiệulogicmộtchiềuđểtruyềnđịachỉthamchiếutới cáckhuvực bộnhớvàchỉradữliệuđượclưugiữởđâutrongkhônggianbộnh ớ. TrongqúatrìnhhoạtđộngCPUsẽđiềukhiểnbusđịachỉđểtruyềndữliệugiữacác khuvựcbộnhớvàCPU.Cácđịachỉthôngthườngthamchiếutớicáckhuvựcbộnhớ hoặc cáckhuvựcvàora,hoặcngoạivi.Dữliệuđượclưuởcáckhuvựcđóthườnglà8‐ bit(1byte),16‐bit,hoặc32‐bittùythuộcvàocấutrúctừngloạivixửlý/viđiề ukhiển. Hầuhếtcácviđiềukhiểnthườngđánhđịachỉdữliệutheokhối8‐bit.Cácloạivixửlý 8‐bit,16‐bitvà32‐bitnóichungcũngđềucóthểlàmviệctraođổi vớikiểudữliệu8‐bit và16‐bit. Chúngtavẫnthườngđượcbiếttớikháiniệmđịachỉtruynhậptrựctiếp,đólàkhảnăng CPUcóthểthamchiếuvàtruynhập tớitrongmộtchukỳbus.NếuvixửlýcóNbitđịa chỉtứclànócóthểđánhđịachỉđược2 N khuvựcmàCPUcóthểthamchiếutrực tiếp tới.Quiướccáckhuvựcđượcđánhđịachỉbắtđầutừđịachỉ0vàtăngdầnđến2 N ‐1. Hiệnnaycácvixửlývàviđiềukhiểnnóichungchủyếuvẫnsửdụngphổbiếncácbus dữliệucóđộrộnglà16,20,24,hoặc32‐bit.Nếuđánhđịachỉtheobyte thìmộtvixửlý 16‐bitcóthểđánhđịachỉđược2 16 khuvựcbộnhớtứclà65,536byte=64Kbyte.Tuy nhiêncómộtsốkhuvựcbộnhớmàCPUkhôngthểtruynhậptrựctiếptớitứclàphải sửdụngnhiềunhịpbusđểtruy nhập,thôngthườngphảikếthợpvớiviệcđiềukhiển phầnmềm.Kỹthuậtnàychủyếuđượcsửdụngđểmởrộngbộnhớvàthườngđược biếttớivớikháini ệmđánhđịachỉtrangnhớkhinhucầuđánhđịachỉkhuvựcnhớ vượtquáphạmvicóthểđánhđịachỉtruynhậptrựctiếp. Vídụ:CPU80286có24‐bitđịachỉsẽchophépđánhđịa chỉtrựctiếpcho2 24 byte(16 Mbyte)nhớ.CPU80386vàcácloạivixửlýmạnhhơncókhônggianđịachỉ32‐bitsẽcó thểđánhđượctới2 32 byte(4Gbyte)địachỉtrựctiếp. 17 Busdữliệu BusdữliệulàcáckênhtruyềntảithôngtintheohaichiềugiữaCPUvàbộnhớhoặccác thiếtbịngoạivivàora.Busdữliệuđượcđiềukhiểnbởi CPUđểđọchoặcviếtcácdữ liệuhoặcmãlệnhthựcthitrongqúatrìnhhoạtđộngcủaCPU.Độrộngcủabusdữliệu nóichungsẽxácđịnhđượclượngdữliệucóthểtruyền vàtraođổitrênbus.Tốcđộ truyềnhaytraođổidữliệuthườngđượctínhtheođơnvịlà[byte/s].Sốlượngđường bitdữliệusẽchophépxácđịnhđượcsốlượngbitcóthểlưutrữtrongmỗikhu vực thamchiếutrựctiếp.Nếumộtbusdữliệucókhảnăngthựchiệnmộtlầntruyềntrong1 μs,thìbusdữliệu8‐bitsẽcóbăngthônglà1Mbyte/s,bus16 ‐bitsẽcóbăngthônglà 2Mbyte/svàbus32‐bitsẽcóbăngthônglà4Mbyte/s.Trongtrườnghợpbusdữliệu8‐ bitvớichukỳbuslàT=1μs(tứclàsẽtruyềnđược1byte/1chukỳ)thìsẽ truyềnđược1 Mbytetrong1shay2Mbytetrong2s. Busđiềukhiển Busđiềukhiểnphụcvụtruyềntảicácthôngtindữliệu đểđiềukhiểnhoạtđộngcủahệ thống.Thôngthường cácdữliệuđiềukhiểnbaogồmcáctínhi ệuchukỳđểđồngbộ cácnhịpchuyểnđộngvàhoạtđộngcủahệthống.Busđiềukhiểnthườngđượcđiều khiểnbởiCPUđểđồngb ộhóanh ịphoạtđộngvàdữliệutraođổitrêncácbus.Trong trườnghợpvixửlýsửdụngdồnkênhbusdữliệuvàbusđịachỉtứclàmộtphầnhoặc toànbộbusdữ liệusẽđượcsửdụngchungchiasẻvớibusđịachỉthìcầnmộttínhiệu điềukhiểnđểphânnhịptruynhậpchophépchốtlưutrữthôngtinđịachỉmỗikhibắt đầu mộtchukỳtruyền.Mộtvídụvềcácchukỳbusvàsựđồngbộcủachúngtrong hoạtđộngcủahệthốngbusđịachỉvàdữliệudồnkênhđượcchỉratro ngHình2‐10. Đâylà hoạtđộngđiểnhìnhtronghọviđiềukhiển8051vànhiềuloạitươngtự. Hình2‐10:Chukỳhoạtđộngbusdồnkêch 2.1.4 Bộ nhớ Kiếntrúcbộnhớ Kiếntrúcbộnhớđượcchiaralàmhailoạichínhvàđượcápdụngrộngrãitronghầu hếtcácChipxửlýnhúnghiệnnaylàkiếntrúcbộnhớvonNeumannvàHavard. 18 TrongkiếntrúcvonNeumannkhôngphânbiệtvùngchứadữliệu vàmãchươngtrình. Cảchươngtrìnhvàdữliệuđềuđượctruynhậptheocùngmộtđường.Điềunàycho phépđưadữliệuvàovùng mãchươngtrìnhROM,vàcũngcóthểlưumãchươngtrình vàovùngdữliệuRAMvàthựchiệntừđó. Hình2‐11:KiếntrúcbộnhớvonNeumannvàHavard KiếntrúcHavardtách/phânbiệtvùnglưumãchươngtrìnhvàdữliệu.Mãchươngtrình chỉcóthểđượclưuvàthựchiệntrongvùngchứaROMvàdữliệucũngchỉcóthểlưu vàtrao đổitrongvùngRAM.Hầuhếtcácvixửlýnhúngngàynaysửdụngkiếntrúcbộ nhớHavardhoặckiếntrúcHavardmởrộng(tứclàbộnhớchươngtrìnhvàdữliệutách biệtnhưng vẫnchophépkhảnănghạnchếđểlấydữliệuratừvùngmãchươngtrình). TrongkiếntrúcbộnhớHavardmởrộngthườngsửdụngmộtsốlượngnhỏcáccontrỏ đểlấydữliệ utừvùngmãchươngtrìnhtheocáchnhúngvàotrongcáclệnhtứcthời. MộtsốChipviđiềukhiểnnhúngtiêubiểuhiệnnaysửdụngcấutrúcHavardlà8031, PIC,AtmelAVR90S.Nếusử dụngChip8031chúngtasẽnhậnthấyđiềunàythôngqu a việctruy nhậplấy dữliệu ratừ vùngdữ liệuRAM hoặctừ vùngmãchươngtrình. Chúngtacómộtvàicontrỏđượcs ửdụngđểlấydữliệuratừbộnhớdữliệuRAM, nhưngchỉcóduynhấtmộtcontrỏDPTRcóthểđượcsửdụngđểlấydữliệuratừvùng mãchương trình. Hình2‐11 môtả nguyên lýkiến trúccủa bộ nhớvon Neumann và Harvard. ƯuđiểmnổibậtcủacấutrúcbộnhớHarvardsovớikiếntrúcvonNeumannlàcóhai kênhtáchbiệtđểtruynhậpvàovùngbộnh ớmãchươngtrìnhvàdữliệunhờvậymà mãchươngtrìnhvàdữliệucóthểđượctruynhậpđồngthờivàlàmtăngtốcđộluồng traođổivớibộxửlý. 19 Hình2‐12:Nguyênlýđiềukhiểntáchkênhtruynhậpbusđịachỉvàbusdữliệu Bộnhớchươngtrình–PROM(ProgrammableReadOnlyMemory) Vùngđểlưumãchươngtrình.CóbaloạibộnhớPROMthôngdụngđượcsửdụngcho hệnhúngvàsẽđượcgiớithiệulầnlượtsauđây. EPROM Baogồmmộtmảngcáctransistorkhảtrình.Mãchươngtrìnhsẽđượcghitrựctiếpvàvi xửlýcóthểđọcrađểthựchiện.EPROMcóthểxoáđượcbằngtiacựctímvàcóthể được lậptrìnhlại.CấutrúcvậtlýcủaEPROMđượcmôtảnhưtrongHình2‐13. Hình2‐13:NguyênlýcấutạovàhoạtđộngxoácủaEPROM 20 BộnhớFlash CũnggiốngnhưEPROMđượccấutạobởimộtmảngtransistorkhảtrìnhnhưngcóthể xoáđượcbằngđiệnvàchínhvìvậycóthểnạplạichươngtrìnhmàkhông cầntáchra khỏinềnphầncứngVXL.Ưuđiểmcủabộnhớflashlàcóthểlậptrìnhtrựctiếptrên mạchcứngmànóđangthựcthitrênđó. Hình2‐14:SơđồnguyênlýghépnốiEPROMvớiVXL Bộnhớdữliệu‐RAM Vùngđểlưuhoặctraođổidữliệutrunggiantrongquátrìnhthựchiệnchươngtrình. Hình2‐15:CấutrúcnguyênlýbộnhớRAM CóhailoạiSRAMvàDRAM [...]... Có hai loại cấu trúc cơ bản cấu thành nên các khối logic khả trình trong kiến trúc FPGA thô hoặc trung bình là MUX (Multiplexer) và LUT (Lookup Table). Trong loại cấu trúc MUX thì các phần tử logic được cấu thành theo cấu trúc tổ hợp các đầu vào ra theo nguyên lý MUX như mô tả trong Hình 2‐43: Khối logic dạng MUX. 45 46 Hình 2‐43: Khối logic dạng MUX Đối với loại cấu trúc LUT thì các đầu vào thực chất là các tổ hợp để chọn ra giá trị trong ... Kích thước mã chương trình nhỏ Kích thước mã chương trình lớn gọn Hình 3‐3: Thực hiện phép chia 3.3 Tập lệnh 3.3.1 Cấu trúc tập lệnh CISC và RISC Hầu hết các vi điều khiển và VXL nhúng có cấu trúc được phát triển dựa theo kiến trúc máy tính tập lệnh phức hợp CISC (Complex Instruction Set Computer). CISC là một cấu trúc xử lý các lệnh phức hợp, tức là một lệnh phức hợp sẽ bao gồm một vài lệnh đơn. Theo nguyên ... khiển Hình 2‐35: Kiến trúc nguyên lý của VĐK với cấu trúc Havard Ví dụ về kiến trúc của họ VĐK AVR Chip Vi xử lý / Vi điều khiển nhúng Đây là một chủng loại rất điển hình và đang được sử dụng rất phổ biến hiện này. Chúng được ra đời và sử dụng theo sự phát triển của các Chip xử lý ứng dụng cho máy tính. Vì đối tượng ứng dụng là các thiết bị nhúng nên cấu trúc cũng được thay đổi theo ... khó khăn khi thực thi các ứng dụng đòi hỏi các phép tính toán logic phức tạp với tốc độ cao. Để đáp ứng điều này FPGA (Field Programmable Gate Arrays) đã ra đời. Nó là sự cấu thành của các khối logic khả trình cùng với các kênh kết nối liên thông khả trình giữa các khối đó với nhau. Một hình ảnh tiêu biểu về cấu trúc nguyên lý của FPGA được mô tả như trong Hình 2‐41: Cấu trúc nguyên lý của FPGA. Hình 2‐41: Cấu trúc nguyên lý của FPGA ... Tần số hoạt động của bộ đếm có thể làm việc với xung nhịp tần số 10 MHz và hỗ trợ 6 chế độ hoạt động và có thể cấu hình riêng lẻ. 32 Giao diện nối tiếp USART Hình 2‐30: Cấu trúc đơn giản hoá của USART Hình 2‐28: Sơ đồ cấu trúc chức năng 8254 2.1.7 Giao diện Giao diện song song 8bit/16bit Các cổng song song là một dạng giao diện vào ra đơn giản và phổ biến nhất để kết nối thông tin với ngoại vi. Có nhiều loại cấu trúc giao diện vật lý điện tử từ dạng cổng vào ... phần tử điện trở kéo (pull‐up resistor). ■ Cấu tạo từ tổ hợp FLASH‐SRAM Ngày nay người ta cũng phát triển chế tạo các loại FPGA cấu tạo từ các tổ hợp SRAM và FLASH để tận dụng được các ưu điểm của cả hai chủng loại này. Thông thường các phần tử cấu hình FLASH sẽ được sử dụng để lưu các nội dung cấu hình để sao chép cho các phần tử cấu hình SRAM. Và các phần tử cấu hình SRAM hoàn toàn có thể được cấu hình lại theo yêu cầu thiết kế trong khi vẫn duy trì một phần thiết kế cấu hình gốc ... Thực chất đó là một tổ hợp nhằm tăng tốc và khả năng tính toán. Khái niệm này cũng tương tự như các bộ đồng xử lý toán học trong kiến trúc máy tính. Nguyên lý là nhằm san sẻ và giảm bớt tải sang FPGA để thực thi các chức năng tính toán lớn (thông thường đòi hỏi thực hiện trong nhiều nhịp hoạt động của Chip DSP) và cho phép Chip DSP tập trung thực hiện các chức năng đơn nhịp tối ưu. Tổ hợp FPGA và DSP là một kiến trúc rất linh hoạt và đặc biệt cải thiện được hiệu suất thực hiện và tăng tốc hơn rất nhiều so ... Motorola, Infineon. Về cấu trúc, chúng cũng tương tự như các Chíp xử lý phát triển cho PC nhưng ở mức độ đơn giản hơn nhiều về công năng và tài nguyên. Phổ biến vẫn là các Chip có độ rộng bus dữ liệu là 8‐bit, 16‐bit, 32‐bit. Về bản chất cấu trúc, Chip vi điều khiển là chip vi xử lý được tích 37 Hình 2‐36: Kiến trúc của họ VĐK AVR 38 Hình 2‐37: Sở đồ khối chức năng kiến trúc PIC16F873A 2.2.2... cùng và không phù hợp với mục đích thiết kế phát triển. ■ Cấu tạo từ EEPROM/FLASH EEPROM or FLASH‐based FPGAs cũng có nguyên lý cấu tạo tương tự như loại FPGA‐ SRAM. Các phần tử cấu hình của nó được kết nối dựa trên một chuỗi thanh ghi dịch dài. Chúng có thể được cấu hình offline bằng các thiết bị lập trình chuyên dụng. Cũng có một số có thể lập trình online nhưng thời gian lập trình cấu hình sẽ gấp khoảng 3 lần ... Tuy nhiên một đặc điểm có thể xem như là nhược điểm của FPGA cấu tạo từ các phần tử SRAM là chúng phải cấu hình lại mỗi khi nguồn hệ thống được cung cấp. Công việc này thường được thực hiện bởi một bộ nhớ ngoài chuyên dụng hoặc bởi một bộ vi điều khiển kèm theo mạch. Chính vì vậy cũng làm giá thành của FPGA tăng thêm. ■ Cấu tạo từ cầu chì (anti‐fused) Không giống như loại FPGA cấu tạo từ SRAM, FPGA với cấu tử kiểu cầu chì được lập