1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

cấu trúc máy tính

54 98 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 2,91 MB

Nội dung

cấu trúc máy tính

1 TrườngĐạihọcBáchkhoaHàNội BộmônĐiềukhiểntựđộng       Tàiliệutómtắtbàigiảng  HỆ THỐNG ĐIỀU KHIỂN NHÚNG   (EmbeddedControlSystems)  TS.LưuHồngViệt                              2     Nội dung  1 MỞĐẦU 5 1.1 Cáckháiniệmvềhệnhúng 5 1.2 Lĩnhvựcứngdụngcủahệnhúng 7 1.3 Đặcđiểmcôngnghệvàxuthếpháttriểncủahệnhúng 8 1.3.1 Đặcđiểmcôngnghệ 8 1.3.2 Xuth ếpháttriểnvàsựtăngtrưởngcủahệnhúng 9 1.4 Mụcđíchvànộidungmônhọc 10 2 CẤUTRÚCPHẦNCỨNGHỆNHÚNG 11 2.1 Cácthànhphầnkiếntrúccơbản 11 2.1.1 Đơnvịxửlý trungtâmCPU 11 2.1.2 Xungnhịpvàtrạngtháitínhiệu 13 2.1.3 Busđịachỉ,dữliệuvàđiềukhiển 16 2.1.4 Bộnhớ 17 2.1.5 Khônggianvàphânvùngđịachỉ 21 2.1.6 Ngoạivi 21 2.1.7 Giaodiện 33 2.2 Mộ tsốnềnphầncứngnhúngthôngdụng(µP/DSP/PLA) 37 2.2.1 ChipVixửlý/Viđiềukhiểnnhúng 37 2.2.2 ChipDSP 39 2.2.3 PAL 41 3 CƠSỞKỸTHUẬTPHẦNMỀMNHÚNG 48 3.1 Đặcđiểmphầnmềm nhúng 48 3.2 Biểudiễnsốvàdữliệu 48 3.2.1 Cáchệthốngcơsố 48 3.2.2 Sốnguyên 48 3.2.3 Sốdấuphảytĩnh 50 3.2.4 Sốdấuphảyđộng 51 3.2.5 Mộtsốphéptínhcơbản 52 3.3 Tậplệnh 55 3.3.1 CấutrúctậplệnhCISCvàRISC 55 3.3.2 Địnhdạnglệnh 57 3.3.3 Cáckiểutruyềnđịachỉtoántửlệnh 57 3.3.4 Nguyênlýthựchiệnpipeline 60 3.3.5 Harzard 61 3 3.4 Ngônngữvàmôitrườngpháttriển 63 3.4.1 Ngônngữ 63 3.4.2 Biêndịch 65 3.4.3 Simulator 70 3.4.4 Emulator 71 3.4.5 Thiếtkếhệthốngbằngmáytính 71 4 HỆĐIỀUHÀNHNHÚNG 73 4.1 Hệđiềuhành 73 4.2 Bộnạpkhởi tạo(Boot‐loader) 74 4.3 Cácyêucầuchung 76 4.4 Hệđiềuhànhthờigianthực 77 5 KỸTHẬTLẬPTRÌNHNHÚNG 81 5.1 Tácvụvàquátrình(process) 81 5.2 Lậplịch(Scheduling) 81 5.2.1 Cáckháiniệm 81 5.2.2 Cácphươngpháplậplịchphổbiến 82 5.2.3 Kỹthuậtlậplịch 85 5.3 Truyềnthôngvàđồngbộ 87 5.3.1 Semaphore 87 5.3.2 Monitor 89 5.4 Xửlýngắt 90 6 THIẾTKẾHỆNHÚNG:TỔHỢPPHẦNCỨNGVÀM ỀM 93 6.1 Quitrìnhpháttriển 93 6.2 Phântíchyêucầu 93 6.3 Môhìnhhoásựkiệnvàtácvụ 93 6.3.1 PhươngphápmôhìnhPetrinet 93 6.3.2 QuiướcbiểudiễnmôhìnhPetrinet 94 6.3.3 Môtảcáctìnhhuốnghoạtđộ ngcơbảnvớiPetrinet 95 6.3.4 Ngônngữmôtảphầncứng(VHDL) 103 6.4 Thiếtkếphầnmềmđiềukhiển 104 6.4.1 Môhìnhthựcthibộđiềukhiểnnhúng 104 6.4.2 Vídụthựcthibộđiềukhi ểnPIDsố 106 TÀILIỆUTHAMKHẢO 108         4                   5 1 MỞ ĐẦU Kỷnguyêncông nghệmớiđãvàđang tiếptụcpháttriểnkhôngngừngnhằmthông minhhoáhiệnđạihoáthôngsuốtcáchệthống.Cóthểnóiđánhdấusựrađờivàphát triểnc ủah ệnhúngtrướctiênphảikểđếnsựrađờicủacácbộvixửlý,viđiềukhiển. NóđượcđánhdấubởisựrađờicủaChipvixửlýđầutiên4004vàonăm1971chomục đích tínhtoánth ươngmạibởimộtcôngtyNhậtbảnBusicomvàsauđóđãđượcchắp cánhvàpháttriểnvượtbậcbởiIntelđểtrởthànhcácbộsiêuxửlýnhưcácChipđược ứngdụng choPCnhưngàynay.Thậpkỷ80cóthểđượccoilàkhởiđiểmbắtđầukỷ nguyêncủasựbùngnổvềpháttriểncáchệnhúng.Từđókhởinguồncholànsóngra đờicủahànglo ạtcácchủngloạivixửlývàgắnliềnlàcáchệnhúngđểthâmnhậprộng khắptrongcácứngdụnghàngngàycủacuộcsốngchúngtavídụnhư,cácthiếtbịđiện tửsửdụngchosinhhoạthàngngày(lòvisóng,TV,tủlạnh,máygiặt,điềuhoà )và vănphònglàmviệc(máyfax,máyin,máyđiệnthoại ) Cácbộvixửlývàphầnmềm c ũngngàycàngđượcsửdụngrộngrãitrongrấtnhiềucáchệthốngnhỏ.Cácloạivixử lýđượcsửdụngtrongcáchệthốngnhúnghiệnnayđãvượtxasovớiPCvềsố lượng chủngloại(chiếmđến79%sốcácvixửlýđangtồntại[2])vàvẫncòntiếptụcphát triểnđểnhằmđápứngvàthoảmãnrấtnhiềuứngdụngđadạng.Trong sốđóvẫncòn ứngdụngcảcácChipvixửlý8bit,16bitvàhiệnnaychủyếuvẫnlà32bit(chiếm khoảng75%).Gắnliềnvớisựpháttriểnphầncứng,ph ầnmềmcũngđãpháttriểnvới tốcđộnhanhkhôngthuakémthậmchísẽt ăngnhanhhơnrấtnhiềutheosựpháttriển hệnhúng. 1.1 Các khái niệm về hệ nhúng  Hệnhúng? Trongthếgiớithựccủachúngtabấtkỳmộtthiếtbịhayhệthốngđiện/điệntửcókhả năngxửlýthôngtin vàđiềukhiểnđều cóthểtiềmẩn trong đómột thiếtbịhay hệ nhúng,vídụnhưcácthiếtbịtruyềnthông,thiếtbịđolườngđiềukhiển,cácthiếtbị phụcvụsinhhoạthàngngàynhưlòvisóng,máygiặt,camera…Rất dễdàngđểcóthể kểrahàngloạtcácthiếtbịhayhệthốngnhưvậyđangtồntạiquanhta,chúnglàhệ nhúng.Vậyhệnhúngthựcchấtlàgìvànênhiểuthếnàovềhệnhúng?Hi ệnnaycũng chưacómộtđịnhnghĩanàothựcsựthoảđángđểđượcchuẩnhoávàthừanhậnrộng rãichohệnhúngmàvẫnchỉlànhữngkháiniệmdiễntảvềchúngthôngqua nhữngđặc thùchung.Tuynhiênởđâychúngtacóthểhiểuhệnhúnglàmộtphầnhệthốngxửlý thôngtinnhúngtrongcáchệthốnglớn,phứchợpvàđộclậpvídụnhưtrongôtô,các thi ếtbịđolường,điềukhiển,truyềnthôngvàthiếtbịthôngminhnóichung. Chúnglà nhữngtổhợpcủaphầncứngvàphầnmềmđểthựchiệnmộthoặcm ộtnhómchứ cnăng chuyên biệt, cụ thể (Tráingượcvới máy tínhPC màchúngta thường thấyđược sử dụngkhôngphảichomộtchứcnăngmàlàrấtnhiềuchứcnănghayphục vụchungcho nhiềumụcđích).PCthựcchấtlạilàmộthệthốnglớn,tổhợpcủanhiềuhệthốngnhúng vídụnhưcardmànhình,âmthanh,modem,ổcứng,bànphím…Chínhđiềunàylàm  chúngtadễlúngtúngnếuđượchỏinênhiểuthếnàovềPC,cóphảilàhệnhúnghay không. 6       Hình1‐1:Mộtvàihìnhảnhvềhệnhúng  Hệthờigianthực? Trongcácbàitoánđiềukhiểnvàứngdụngchúngtarấthaygặpthuậtng ữ“thờigian thực”.Thờigianthựccóphảilàthờigianphảnánh vềđộtrungthựccủathờigianhay không?Thờigianthựccóphảilàhi ểnthịchínhxácvàđồngbộtheođúngnhưnhịp đồnghồđếmthờigianhay không?Khôngphải hoàntoànnhưvậy!Th ựcchất,theo cáchhiểunếunóitrongcáchệthốngkỹthuậtđặcbiệtcáchệthốngyêucầukhắtkhevề sựràngbuộcthờigian,thờigianthựcđượchiểulàyêucầ ucủahệthốngphảiđảmbảo thoảmãnvềtínhtiềnđịnhtronghoạtđộngcủahệthống.Tínhtiềnđịnhnóilênhànhvi củahệthốngthựchiệnđúngtrongmộtkhungthời gianchotrướchoàntoànxácđịnh. Khungthờigiannàyđượcquyếtđịnhbởiđặcđiểmhoặcyêucầucủahệthống,cóthểlà vàigiâyvàcũngcóthểlàvàinanogiâyhoặcnhỏhơ nnữa.Ởđâychúngtaphânbiệt yếutốthờigiangắnliềnvớikháiniệmvềthờigianthực.Khôngphảihệthốngthực hiệnrấtnhanhlàsẽđảmbảođượctínhth ờigianthựcvìnhanhhaychậmhoàntoànlà phépsosánhcótínhtươngđốivìmiligiâycóthểlànhanhvớihệthốngđiềukhiển  nhiệtnhưnglạilàchậm đốivớicácđối tượngđiềukhiểnđiệnnhưdòng,áp….Hơnthế nữanếuchỉnhanhkhôngthìchưađủmàphảiđảmbảoduytrìổnđịnhbằngmộtcơ chếhoạtđộngtincậy.Chínhvìvậyh ệthốngkhôngkiểmsoátđượchoạtđộngcủanó (bấtđịnh)thìkhôngthểlàm ộthệthốngđảmbảotínhthờigianthựcmặcdùhệthống đócóthểchođápứngrấtnhanh,th ậmchínhanhhơnrấtnhiềusovớiyêucầuđặtra. Mộtvídụ minh hoạtiêu biểuđólà cơchếtruyền thôngdữliệu quađường truyền chuẩnEthernettruyềnthống,mặcdù aicũngbiếttốcđộtruyềnlàrấtnhanhnhưngvẫn khôngphảihệhoạtđộngthờigianthựcvìkhôngthoảmãntínhtiềnđịnhtrongcơchế truyềndữliệu(cóthểlàrấtnhanh vàcũngcóthểlàrấtchậmnếucósựcanhtrạnhvà giaothôngđườngtruyềnbịnghẽn).  7 Ngườitaphânralàmhailoạiđốivớikháiniệmthờigianthựclàcứng(hardreal ‐time) vàmềm(softreal‐time).Thờigianthựccứnglàkhihệthốnghoạtđộngv ớiyêucầuthoả mãnsựràngbuộctrongkhungthờigiancứngtứclànếuviphạmthìsẽdẫnđếnhoạt độngcủatoànhệthốngbịsaihoặcbịpháhuỷ.Vídụv ềhoạtđộngđiềukhiểnchomột lòphảnứnghạtnhân, nếuchậmraquyếtđịnhcóthểdẫnđếnthảmhoạgâyradophản ứngphânhạchvàdẫnđếnbùngnổcảh ệthống.Thờigianthựcmềmlàkhi hệthống hoạtđộngvớiyêucầuthoảmãnràngbuộctrongkhungthờigianmềm,nếuviphạmvà sailệchnằmtrongkhoảngchophép thìhệthốngvẫncóthểhoạtđộngđượcvàchấp nhậnđược.Vídụnhưhệthốngphátthanhtruyềnhình,nếuthông tintruyềnđitừtrạm pháttớingườinghe/nhìnchậmmộtvài giâythìcũngkhôngảnhhưởngđángkểđến tínhthờisựcủatinđượctruyềnđivàhoàntoànđượcchấpnhậnbởingườitheodõi.  Thựctếthấyrằnghầuhếthệnhúnglàcác hệthờigianthựcvàhầuhếtcáchệthờigian thựclàhệnhúng.Điềunàyphảnánhmốiquanhệmậtthiếtgiữahệnhúngvàthờigian thựcvàtínhthờigian thựcđãtrởthànhnhưmộtthuộctínhtiêubiểu củahệnhúng.Vì vậyhiệnnaykhiđềcậptớicáchệnhúngngườitađềunóitớiđặctínhcơbảncủanólà tínhthời gianthực. Hệ thời gian thực Hệ Nhúng Hệnhúngthời gianthực  Hình1‐2:Phânbốvàquanhệgiữahệnhúngvàthờigianthực 1.2 Lĩnh vực ứng dụng của hệ nhúng Chúngtacóthểkểrađượcrấtnhiềucácứngdụngcủahệthốngnhúngđangđượcsử dụnghiệnnay,vàxuthểsẽcòntiếptụctăngnhanh.Mộtsốcáclĩnhvựcvàs ảnphẩm thịtrườngrộnglớncủacáchệnhúngcóthểđượcnhómnhưsau: • Cácthiếtbịđiềukhiển • Ôtô,tàuđiện • Truyềnthông • Thiếtbịytế • Hệthốngđo lườngthẩmđịnh • Toànhàthôngminh • Thiếtbịtrongcácdâytruyềnsảnxuấ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áchệthốngnhưvậyđềucóchungmộtsốđặcđiểmnhưyêucầuvềkhảnăngthời gianthực,độtincậy,tínhđộclậpvàhiệuquả.Mộtcâuhỏiđặtralàtại saohệthống nhúnglạipháttriểnvàđượcphổcậpmộtcáchnhanhchóngnhưhiệnnay.Câutrảlời thựcranằmởcácyêucầutănglênkhôngngừngtrongcácứngdụngcôngnghệ hiện nay.Mộttrongnhữngyêucầucơbảnđólà:  Khảnăngđộclậpvàthôngminhhoá:Điềunàyđượcchỉrõhơnthôngquamộtsốcác thuộctínhyêucầu,cụthểnhư:  ; Độtincậy ; Khảnăngbảotrìvànângcấp ; Sựphổcậpvàtiệnsửdụng ; Độantoàn ; Tínhbảomật  Hiệuquả:Yêucầunàyđượcthểhiệnthôngqua mộtsốcácđặcđiểmcủahệthốngnhư sau: ; Nănglượngtiêuthụ ; Kíchthướcvềphầncứngvàphầnmềm ; Hiệuquảvềthờigianthựchiện ; Kíchthướcvàkhốilượng ; Giáthành  Phânhoạchtácvụvàchứcnănghoá:Cácbộvixửlýtrongcáchệnhúngthườngđược sửdụngđểđảmnhiệmvàthựchiệnmộthoặcmộtnhómch ứcnăngrấtđộclậpvàcũng đặcthùchotừngphầnchứcnăngcủahệthốnglớnmànóđượcnhúngvào.Vídụnhư mộtvixửlýthựchiện mộtphần điềukhiểnchomộtchứcnăngthuthập,xửlývàhiển thịcủaôtôhayhệthốngđiềukhiểnquátrính.Khảnăngnàylàmtăngthêmsựchuyên biệthoávềchứcnă ngcủamộthệthốnglớnvàdễdànghơnchoquátrínhxâydựng, vậnhànhvàbảotrì.  Khảnăngthờigianthực:Cáchệthốngđềugắnliềnvớiviệcđảm nhiệmmộtchứcnăng chínhvàphảiđượcthựchiệnđúngtheomộtkhungthờigianquiđịnh.Thôngthường mộtchứcnăngcủahệthốngphảiđượcthựchiệnvàhoàn thànhtheomộtyêucầuthời gianđịnhtrướcđểđảmbảothôngtincậpnhậtkịpthờichophầnxửlýcủacácchức năngkhácvàcóthểảnhhưởngtrựctiếptới sựhoạtđộng đúngvàchínhxáccủatoàn hệthống.Tuỳthuộcvàotừngbàitoánvàyêucầucủahệthốngmàyêucầuvềkhảnăng thờigianthựccũngrấtkhácnhau.  Tuynhiên,trong thựctếkhôngphải hệnhúngnàocũngđềucóthểthoảmãntấtcả nhữngyêucầunêutrên,vìchúnglàkếtquảcủasựthoảhiệpcủanhiềuyêucầuvàđiề u kiệnnhằmưutiênchochứcnăngcụthểmàchúngđượcthiếtkế.Chínhđiềunàylại 9 cànglàmtăngthêmtínhchuyênbiệthoácủacáchệ/thiếtbịnhúngmàcácthiếtbịđa năngkhôngthểcạnhtranhđược. 1.3.2 Xu thế phát triển và sự tăng trưởng của hệ nhúng Vìsựpháttriểnhệnhúnglàsựkếthợpnhuầnnhuyễngiữaphầncứngvàphầnmềm nêncôngnghệgắnliềnvớinócũngchínhlàcôngnghệkếthợpgiữacác giảiphápcho phầncứngvàmềm.Vìtínhchuyênbiệtcủacácthiếtbị/hệnhúngnhưđãgiớithiệu nêncácnềnphầncứngcũngđượcchếtạođểưutiênđápứngcho chứcnănghaynhiệm vụcụthểcủayêucầuthiếtkếđặtra.  Lớphệnhúngưutiênphát triểntheotiêuchívề kíchthướcnhỏgọn,tiêu thụnăng lượngít,giáthànhthấp.Các chípxửlýnhúngcholớphệthốngứngdụngđóthường yêucầuvềkhảnăngtínhtoáníthoặcvừaphảinênhầuhếtđượcxâydựngtrêncởsở bộđồngxửlý8bít‐ 16bithoặccùnglắmlà32bitvàkhônghỗtrợdấuphảyđộngdosự hạnchếvềdunglượngvàkhảnăngtínhtoán.  Lớphệnhúngưutiênthựcthikhảnăngxửlýtínhtoánv ớitốcđộthựchiệnnhanh.Các chípxửlýnhúngchocáchệthốngđócũngsẽlàcácChipápdụngcáccôngnghệcao cấpvớikiếntrúcxửlýsongsongđểđápứngđượccườngđộtínhtoán lớnvàtốcđộmà cácChipxửlýđachứcnăngthôngthườngkhôngđạttớiđược.  Lớphệthốngưutiêncảhaitiêuchípháttriểncủahailớptrên,tứclàkíchthướcnhỏ g ọn,mứctiêuthụnănglượngthấp,tốcđộtínhtoánnhanh.Tuỳtheosựthoảhiệpgiữa cácyêucầuvàxuthếpháttriểnchínhvìvậycũngkhôngcógìngạcnhiênkhichúngta thấ ysựtồntạisongsongcủarấtnhiềucácChipvixửlýnhúng,viđiềukhiểnnhúng8 bit,16bithay32bitcùngvớicácChípsiêuxửlýkhácvẫnđangđượcứngdụngrộng  rãichohệnhúng.Đócũnglàsựkếthợpđadạngvàsựrađờicủacáchệnhúngnói chungnhằmthoảmãncácứngdụngpháttriểnkhôngngừng.  Vớimỗimộtnềnph ầncứngnhúngthườngcónhữngđặcthùriêngvàkèmtheomột giảipháppháttriểnphầnmềmtốiưutươngứng.Khôngcómộtgiảiphápnàochung vàchuẩntắcchotất cảcáchệnhúng.Chínhvìvậythôngthườngcácnhàpháttriểnvà cungcấpphầncứngcũnglạichínhlànhàcungcấpgiảiphápphầnmềmhoặccôngcụ pháttriểnphầnm ềmkèmtheo.RấtphổbiếnhiệnnaycácChipvixửlýhayviđiều khiểnđềucócáchệpháttriển(StarterKithayEmulator)đểhỗtrợchocácnhàứngdụng vàxâydựnghệnhúngvới hiểubiếthạnchếvềphầncứng.Ngônngữmãhoãphần mềmcũngthườnglàChoặc  gầngiốngnhư C(LikelyC)thay vìphảiviết hoàntoàn bằnghợpngữAssembly .Điềunàychophépcácnhàthiếtkếtốiưuvàđơngiảnhoárất nhiềuchobướcpháttriểnvàxâydựnghệ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.ĐứngsausựphổcậprộngrãicủacácChipvixửlýviđiềukhiển nhúng,DSP phảikểđếncáccôngnghệcũngđangrấtđượcquantâmhi ệnnaynhưASIC,CPLD, 10 FPGA,PSOC vàsự tổhợp củachúng Kèm theođólà cáckỹ thuậtpháttriển phần mềmchophépđảmnhiệmđượccácbàitoányêu cầukhắtkhetrêncơsởmộtnềnphần cứng hữuhạnvềkhảnăngxửlývàkhônggianbộnhớ.Giảiquyếtcácbàitoánthời gianthựcnhưphânchiatácvụvàgiảiquyếtc ạnhtranhchiasẻtàinguyênchung.Hiện naycũ ngđãcó nhiềunhàphát triểncông nghệphần mềm lớnđanghướngvào thị trườnghệnhúngbaogồmcảMicrosoft.NgoàimộtsốcáchệđiềuhànhWindowsquen thuộc dùngcho PC,Microsoftcũngđ ãtungra cácphiên bảnmini nhưWindowsCE, WindowsXPEmbeddedvàcáccôngcụpháttriểnứngdụngkèmtheođểphụcvụchocác thiếtbịnhúng,điểnhìnhnhưcácthiếtbịPDA,mộtsốthiếtbịđiều khiểncôngnghiệp nhưcácmáytínhnhúng,IPCcủaSiemens   Có thểnóihệ nhúngđã trởthành một giảipháp công nghệ và pháttriển một cách nhanhchóng,hứa hẹnnhiềuthiết bị nhúngsẽ chiếm  lĩnhđược thịtrườngrộng lớn trongtươnglainhằmđápứngnhucầuứngdụngkhôngng ừngtrongcuộcsốngcủa chúngta.Đốivớilĩnhvựccôngnghiệpvềđiềukhiể nvàtựđộnghoá,hệnhúngcũnglà mộtgiảiphápđầytiềmnăngđãvàđangđượcứngdụngrộngrãi.Nórấtphùhợpđể thựcthicácchứcnăngthôngminhhoá,chuyênbiệttrong cáchệthốngvàthiếtbịcông nghiệp,từcáchệthốngtậptrungđếncáchệthốngphântán.Giảipháphệnhúngcóthể thựcthitừcấpthấpnhấtcủahệthốngcôngnghiệ pnhưcơcấuchấphànhchođếncác cấpcaohơnnhưgiámsátđiềukhiểnquátrình. 1.4 Mục đích và nội dung môn học Hệđiềukhiểnnhúnglàm ộtmônhọcmớinhằmcungcấpkiếnthứcchosinhviênvề khảnăngphântíchvàthiếtkếhệthốngđiềukhiểnvàthôngminhhoáhệthốngtheo  chứcnăngtheogiảiphápcôngnghệ.Thiếtkếthựcthiđiềukhiểntrênnềnphầncứ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ình2‐1:KiếntrúcđiểnhìnhcủacácchípVXL/VĐKnhúng 2.1.1 Đơn vị xử lý trung tâm CPU  Hình2‐2:CấutrúcCPU Ngườitavẫnbiết tớiphầnlõixửlýcủacácbộVXLlàđơnvịxửlýtrungtâmCPU (CentralProcessing Unit)đóngvaitrònhưbộnãochịutráchnhiệmthựcthicácphép tínhvàthực hiệncáclệnh.PhầnchínhcủaCPUđảmnhiệmchứcnăngnà ylàđơnvị logictoánhọc(ALU–ArthimeticLogicUnit).NgoàirađểhỗtrợchohoạtđộngcủaALU còncóthêmmộtsốcácthành phầnkhácnhưbộgiảimã(decoder),bộtuầntự(sequencer) vàcácthanhghi.  12 Bộgiảimãchuyểnđổi(thôngdịch)cáclệnhlưutrữởtrongbộmãchươngtrìnhthành  cácmãmàALUcóthểhiểuđượcvàthựcthi.Bộtuầntựcónhiệmvụquảnlýdòngdữ li ệutraođổiquabusdữliệucủaVXL.CácthanhghiđượcsửdụngđểCPUlưutrữtạm thờicácdữliệuchínhchoviệcthựcthicáclệnhvàchúngcóthểthayđổinộidungtrong quátrìnhhoạtđộngcủaALU.HầuhếtcácthanhghicủaVXLđềulàcácbộnhớđược thamchiếu (mapped)vàhộinhậpvớikhuvựcbộnhớvàcóthểđượcsửdụngnhưbất  kỳkhuvựcnhớkhác.  CácthanhghicóchứcnănglưutrữtrạngtháicủaCPU.Nếucácnộidungcủabộnhớ VXLvàcácnộidungcủacácthanhghitạimộtthờiđ iểmnàođóđượclữugiữđầyđủ thìhoàntoàncóthểtạmdừngthựchiệnphầnchươngtrìnhhiệntạitrongmộtkhoảng thờigianbấtkỳvàcó thểtrởlạitrạngthái củaCPUtrướcđó.Thựctếsốlượngcác thanhghivàtêngọicủachúngcũngkhácnhautrongcáchọVXL/VĐKvàthườngdo chínhcácnhàchếtạoquiđịnh,nhưngvềcơbảnchúngđề ucóchungcácchứcnăng nhưđãnêu.  Khithứtựbytetrongbộnhớđãđượcxácđịnhthìngườithiếtkếphầncứngphảithực hiệnmộtsốquyếtđịnhxemCPUsẽlưudữ liệuđónhưthếnào.Cơchếnàycũngkhác nhautuỳtheokiếntrúctậplệnhđượcápdụng.Cóbaloạihìnhcơbản:  (1) Kiếntrúcngănxếp (2) Kiếntrúcbộtíchluỹ (3) Kiếntrúcthanhghimụcđíchchung  Kiếntrúcngănxếpsửdụngngănxếpđểthựchiệnlệnhvàcáctoántửnhậnđượctừ đỉnhngănxếp.Mặcdùcơchếnàyhỗtrợ mậtđộmãtốtvàmôhìnhđơngiảnchoviệc đánhgiácáchthểhiệnchươngtrìnhnhưngngănxếpkhôngthểhỗtrợkhảnăngtruy nhậpngẫunhiênvàhạnchếhiệusuất thựchiệnlệnh.  Kiếntrúcbộtíchluỹvớilệnhmộttoántửngầmmặcđịnhchứatrongthanhghitíchluỹ cóthểgiảmđượcđộphứctạpbêntrongcủacấutrúcCPUvà chophépcấuthànhlệnh rấtnhỏgọn.Nhưngthanhghitíchluỹchỉlànơichứadữliệutạmthờinêngiaothông bộnhớrấtlớn.  Kiếntrúcthanhghimụcđíchchungsửd ụngcáctậpthanhghimụcđíchchungvàđược đón nhận như mô hình của các hệthống CPU mới,hiệnđại. Các tậpthanhghiđó nhanhhơnbộnhớthườngvàdễdàngchobộbiênd ịchxửlýthựcthivàcóthểđượcs ử dụngmộtcáchhiệuquả.Hơnnữagiáthànhphầncứngngàycàngcóxuthếgiảmđáng kểvàtậpthanhghicóthểtăngnhanh.Nế ucơchếtruynhậpbộnhớnhanhthìkiếntrúc dựatrênngănxếpcóthểlàsựlựachọnlýtưởng;cònnếutruynhậpbộnhớchậmthì kiếntrúcthanhghisẽlàsựl ựachọnphùhợpnhất.  Mộtsốthanhghivớichứcnăngđiểnhìnhthườngđượcsửdụngtrongcáckiếntrúc CPUnhưsau: 13   Thanhghicontrỏngănxếp(stackpointer): Thanhghinàylưugiữđịachỉtiếptheocủangănxếp.Theonguyênlýgiátrịđịachỉ chứatrongthanhghicontrỏngănxếpsẽgiả mnếudữliệuđượclưuthêmvàongănxếp vàsẽtăngkhidữliệuđượclấyrakhỏingănxếp.   Thanhghichỉsố(indexregister) Thanhghichỉsốđượcsửdụngđểlư uđịachỉkhimodeđịachỉđượcsửdụng.Nócòn đượcbiếttớivớitêngọilàthanhghicontrỏhaythanhghilựachọntệp(Microchip).   Thanhghiđịachỉlệnh/Bộđếmchương trình(ProgramCounter) Một trong nhữngthanhghiqua n trọng nhất của CPU là thanhghibộ đếm chương trình.Thanhghibộđếmchươngtrìnhlưuđịachỉlệnhtiếptheocủachươngtrìnhsẽ được CPUxửlý.MỗikhilệnhđượctrỏtớivàđượcCPUxửlýthìnộidunggiátrịcủa thanhghibộđếmchươngtrìnhsẽtănglênmột.Chươngtrìnhsẽkếtthúckhithanhghi PCcó giátrịbằngđịachỉcuốicùngcủachươngtrìnhnằmtrongbộnhớchươngtrình.   Thanhghitíchlũy(Accumulator) ThanhghitíchlũylàmộtthanhghigiaotiếptrựctiếpvớiALU,đượ csửdụngđểlưu giữcáctoántửhoặckếtquảcủamộtphéptoántrongquátrìnhhoạtđộngcủaALU. 2.1.2 Xung nhịp và trạng thái tín hiệu TrongVXLvàcácvimạchsốnóichung,hoạtđộngcủahệthốngđượcthựchiệnđồng bộhoặcdịbộtheocácxungnhịpchuẩn.Cácnhịpđóđượclấytrựctiếphoặcgiánti ếp từmộtnguồnxungchuẩnthườnglàcácmạchtạoxunghoặcdaođộngthạchanh.Để môtảhoạtđộngcủahệthống,cáctínhiệudữliệuvàđiềukhiểnthườngđược môtả trạngtháitheogiảnđồthờigianvàmứctínhiệunhưđượcchỉratrongHình2‐3:Môtả vàtrạngtháitínhiệuhoạtđộngtrongVXL   Hình2‐3:MôtảvàtrạngtháitínhiệuhoạtđộngtrongVXL Mụcđíchcủaviệcmôtảtrạngtháitínhiệutheogiảnđồthờigianvàmứctínhiệulàđể phântíchvàxácđịnhchuỗisựkiệnhoạtđộngchitiếttrongmỗichukỳbus. Nhờviệc môtảnàychúngtacóthểxemxétđếnkhảnăngđápứngthờigiancủacácsựkiệnthực thitronghệthốngvàthờigiancầnthiếtđểthựcthihoạtđộngtuầnt ựcũngnhưlàkhả 14 năngtươngthíchkhicósựhoạtđộngphốihợpgiữacácthiếtbịghépnốihaymởrộng tronghệthống.Thôngthườngthôngtinvềcácnhịpthờigianhoạtđộngcũngnh ưđặc tínhkỹthuậtchitiếtđượccungcấphoặcquiđịnhbởicácnhàchếtạo.  Mộtsốđặctrưngvềthờigiancủacáctrạngtháihoạtđộngcơbảncủacáctínhi ệuhệ thốnggồmcónhưsau: 9 Thờigiantănghoặcgiảm 9 Thờigiantrễlantruyềntínhiệu 9 Thờigianthiếtlập 9 Thờigiangiữ 9 Trễcấmhoạtđộng vàtrạngtháitreo(Tri‐State) 9 Độrộngxung 9 Tầnsốnhịpxunghoạtđộng   Thờigiantănghoặcgiảm    Hình2‐4:Môtảtrạngtháitínhiệulogictăngvàgiảm  Thờigiantăngđượcđịnhnghĩalàkhoảngthờigianđểtínhiệutăngtừ20%đến80% mứctínhiệucầnthiết.Thờigiangiảmlàkhoảngthờigianđểtínhiệugiảmtừ 80%đến 20%mứctínhiệucầnthiết.   Thờigiantrễlantruyền: Làkhoảngthờigiantíntừkhithayđổitínhiệuvàochotớikhicósựthayđổitínhiệuở đầura.Đặctínhnàythườngdocấutạovàkhảnăngtruyềndẫntínhiệuvậtlýtronghệ thốngtínhiệu.  Hình2‐5:Môtảtrạngtháivàđộtrễlantruyềntínhiệu  Thờigianthiếtlậpvàlưugiữ Khoảngthờigiancầnthiếtđểtínhiệutríchmẫuđạttớimộttrạngtháiổnđịnhtrướckhi nhịpxungchuẩnđồnghồthayđổiđượcg ọilàthờigianthiếtlập.Thờigianlưugiữlà 15 khoảng thờigian cầnthiết đểduy trìtínhiệu tríchmẫuổnđịnh saukhi xungnhịp chuẩnđồnghồthayđổi.Thựcchấtkhoảngthờigianthiếtlậpvàthờigianlưugi ữlàcần thiếtđểđảmbảo tínhiệuđượcghinhận chínhxác vàổnđịnh trongquá trìnhhoạt độngvàchuyểnmứctrạngthái.GiảnđồthờigiantrongHình2‐6:Thờigianthiếtlập và lưugiữminhhọathờigianthiếtlậpvàlưugiữtronghoạtđộngcủaTrigerD.   Hình2‐6:Thờigianthiếtlậpvàlưugiữ Trongtrườnghợphoạtđộngchuyểntrạngtháitínhiệukhôngđồngbộvàkhôngđảm bảođượcthờigianthiếtlậpvàlưugiữsẽcóthểdẫnđếnsựmấtổnđịnhhaykhôngxá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.ĐểminhhọachohiệntượngnàytrongHình2‐7môtảhoạtđộnglỗicủa mộ tTrigerkhicácmứctínhiệuvàokhôngthỏamãnyêucầuvềthờithiếtlậpvàlưu giữ.   Hình2‐7:HiệntượngMetastabilittronghoạtđộngcủaTrigerD Chukỳtínhiệu3trạngtháivàcontention   16 Hình2‐8:Môtảchukỳtínhiệu3trạngtháivàcontention Độrộngxungvàtầnsốnhịpxungchuẩn   Hình2‐9:Độrộngvàtầnsốxungnhịpchuẩn 2.1.3 Bus địa chỉ, dữ liệu và điều khiển  Busđịachỉ Busđịachỉlàcácđườngdẫntínhiệulogicmộtchiềuđểtruyềnđịachỉthamchiếutới cáckhuvực bộnhớvàchỉradữliệuđượclưugiữởđâutrongkhônggianbộnh ớ. TrongqúatrìnhhoạtđộngCPUsẽđiềukhiểnbusđịachỉđểtruyềndữliệugiữacác khuvựcbộnhớvàCPU.Cácđịachỉthôngthườngthamchiếutớicáckhuvựcbộnhớ hoặc cáckhuvựcvàora,hoặcngoạivi.Dữliệuđượclưuởcáckhuvựcđóthườnglà8‐ bit(1byte),16‐bit,hoặc32‐bittùythuộcvàocấutrúctừngloạivixửlý/viđiề ukhiển. Hầuhếtcácviđiềukhiểnthườngđánhđịachỉdữliệutheokhối8‐bit.Cácloạivixửlý 8‐bit,16‐bitvà32‐bitnóichungcũngđềucóthểlàmviệctraođổi vớikiểudữliệu8‐bit và16‐bit.  Chúngtavẫnthườngđượcbiếttớikháiniệmđịachỉtruynhậptrựctiếp,đólàkhảnăng CPUcóthểthamchiếuvàtruynhập tớitrongmộtchukỳbus.NếuvixửlýcóNbitđịa chỉtứclànócóthểđánhđịachỉđược2 N khuvựcmàCPUcóthểthamchiếutrực tiếp tới.Quiướccáckhuvựcđượcđánhđịachỉbắtđầutừđịachỉ0vàtăngdầnđến2 N ‐1. Hiệnnaycácvixửlývàviđiềukhiểnnóichungchủyếuvẫnsửdụngphổbiếncácbus dữliệucóđộrộnglà16,20,24,hoặc32‐bit.Nếuđánhđịachỉtheobyte thìmộtvixửlý 16‐bitcóthểđánhđịachỉđược2 16 khuvựcbộnhớtứclà65,536byte=64Kbyte.Tuy nhiêncómộtsốkhuvựcbộnhớmàCPUkhôngthểtruynhậptrựctiếptớitứclàphải sửdụngnhiềunhịpbusđểtruy nhập,thôngthườngphảikếthợpvớiviệcđiềukhiển phầnmềm.Kỹthuậtnàychủyếuđượcsửdụngđểmởrộngbộnhớvàthườngđược  biếttớivớikháini ệmđánhđịachỉtrangnhớkhinhucầuđánhđịachỉkhuvựcnhớ vượtquáphạmvicóthểđánhđịachỉtruynhậptrựctiếp.  Vídụ:CPU80286có24‐bitđịachỉsẽchophépđánhđịa chỉtrựctiếpcho2 24 byte(16 Mbyte)nhớ.CPU80386vàcácloạivixửlýmạnhhơncókhônggianđịachỉ32‐bitsẽcó thểđánhđượctới2 32 byte(4Gbyte)địachỉtrựctiếp.  17  Busdữliệu BusdữliệulàcáckênhtruyềntảithôngtintheohaichiềugiữaCPUvàbộnhớhoặccác thiếtbịngoạivivàora.Busdữliệuđượcđiềukhiểnbởi CPUđểđọchoặcviếtcácdữ liệuhoặcmãlệnhthựcthitrongqúatrìnhhoạtđộngcủaCPU.Độrộngcủabusdữliệu nóichungsẽxácđịnhđượclượngdữliệucóthểtruyền vàtraođổitrênbus.Tốcđộ truyềnhaytraođổidữliệuthườngđượctínhtheođơnvịlà[byte/s].Sốlượngđường bitdữliệusẽchophépxácđịnhđượcsốlượngbitcóthểlưutrữtrongmỗikhu vực thamchiếutrựctiếp.Nếumộtbusdữliệucókhảnăngthựchiệnmộtlầntruyềntrong1 μs,thìbusdữliệu8‐bitsẽcóbăngthônglà1Mbyte/s,bus16 ‐bitsẽcóbăngthônglà 2Mbyte/svàbus32‐bitsẽcóbăngthônglà4Mbyte/s.Trongtrườnghợpbusdữliệu8‐ bitvớichukỳbuslàT=1μs(tứclàsẽtruyềnđược1byte/1chukỳ)thìsẽ truyềnđược1 Mbytetrong1shay2Mbytetrong2s.   Busđiềukhiển Busđiềukhiểnphụcvụtruyềntảicácthôngtindữliệu đểđiềukhiểnhoạtđộngcủahệ thống.Thôngthường cácdữliệuđiềukhiểnbaogồmcáctínhi ệuchukỳđểđồngbộ cácnhịpchuyểnđộngvàhoạtđộngcủahệthống.Busđiềukhiểnthườngđượcđiều khiểnbởiCPUđểđồngb ộhóanh ịphoạtđộngvàdữliệutraođổitrêncácbus.Trong trườnghợpvixửlýsửdụngdồnkênhbusdữliệuvàbusđịachỉtứclàmộtphầnhoặc toànbộbusdữ liệusẽđượcsửdụngchungchiasẻvớibusđịachỉthìcầnmộttínhiệu điềukhiểnđểphânnhịptruynhậpchophépchốtlưutrữthôngtinđịachỉmỗikhibắt đầu mộtchukỳtruyền.Mộtvídụvềcácchukỳbusvàsựđồngbộcủachúngtrong hoạtđộngcủahệthốngbusđịachỉvàdữliệudồnkênhđượcchỉratro ngHình2‐10. Đâylà hoạtđộngđiểnhìnhtronghọviđiềukhiển8051vànhiềuloạitươngtự.   Hình2‐10:Chukỳhoạtđộngbusdồnkêch 2.1.4 Bộ nhớ Kiếntrúcbộnhớ Kiếntrúcbộnhớđượcchiaralàmhailoạichínhvàđượcápdụngrộngrãitronghầu hếtcácChipxửlýnhúnghiệnnaylàkiếntrúcbộnhớvonNeumannvàHavard.  18 TrongkiếntrúcvonNeumannkhôngphânbiệtvùngchứadữliệu vàmãchươngtrình. Cảchươngtrìnhvàdữliệuđềuđượctruynhậptheocùngmộtđường.Điềunàycho phépđưadữliệuvàovùng mãchươngtrìnhROM,vàcũngcóthểlưumãchươngtrình vàovùngdữliệuRAMvàthựchiệntừđó.   Hình2‐11:KiếntrúcbộnhớvonNeumannvàHavard KiếntrúcHavardtách/phânbiệtvùnglưumãchươngtrìnhvàdữliệu.Mãchươngtrình chỉcóthểđượclưuvàthựchiệntrongvùngchứaROMvàdữliệucũngchỉcóthểlưu vàtrao đổitrongvùngRAM.Hầuhếtcácvixửlýnhúngngàynaysửdụngkiếntrúcbộ nhớHavardhoặckiếntrúcHavardmởrộng(tứclàbộnhớchươngtrìnhvàdữliệutách biệtnhưng vẫnchophépkhảnănghạnchếđểlấydữliệuratừvùngmãchươngtrình). TrongkiếntrúcbộnhớHavardmởrộngthườngsửdụngmộtsốlượngnhỏcáccontrỏ đểlấydữliệ utừvùngmãchươngtrìnhtheocáchnhúngvàotrongcáclệnhtứcthời. MộtsốChipviđiềukhiểnnhúngtiêubiểuhiệnnaysửdụngcấutrúcHavardlà8031, PIC,AtmelAVR90S.Nếusử dụngChip8031chúngtasẽnhậnthấyđiềunàythôngqu a việctruy nhậplấy dữliệu ratừ vùngdữ liệuRAM hoặctừ vùngmãchươngtrình. Chúngtacómộtvàicontrỏđượcs ửdụngđểlấydữliệuratừbộnhớdữliệuRAM, nhưngchỉcóduynhấtmộtcontrỏDPTRcóthểđượcsửdụngđểlấydữliệuratừvùng mãchương trình. Hình2‐11 môtả nguyên lýkiến trúccủa bộ nhớvon Neumann và Harvard.  ƯuđiểmnổibậtcủacấutrúcbộnhớHarvardsovớikiếntrúcvonNeumannlàcóhai kênhtáchbiệtđểtruynhậpvàovùngbộnh ớmãchươngtrìnhvàdữliệunhờvậymà mãchươngtrìnhvàdữliệucóthểđượctruynhậpđồngthờivàlàmtăngtốcđộluồng traođổivớibộxửlý. 19  Hình2‐12:Nguyênlýđiềukhiểntáchkênhtruynhậpbusđịachỉvàbusdữliệu Bộnhớchươngtrình–PROM(ProgrammableReadOnlyMemory) Vùngđểlưumãchươngtrình.CóbaloạibộnhớPROMthôngdụngđượcsửdụngcho hệnhúngvàsẽđượcgiớithiệulầnlượtsauđây.   EPROM Baogồmmộtmảngcáctransistorkhảtrình.Mãchươngtrìnhsẽđượcghitrựctiếpvàvi xửlýcóthểđọcrađểthựchiện.EPROMcóthểxoáđượcbằngtiacựctímvàcóthể được lậptrìnhlại.CấutrúcvậtlýcủaEPROMđượcmôtảnhưtrongHình2‐13.     Hình2‐13:NguyênlýcấutạovàhoạtđộngxoácủaEPROM 20  BộnhớFlash CũnggiốngnhưEPROMđượccấutạobởimộtmảngtransistorkhảtrìnhnhưngcóthể xoáđượcbằngđiệnvàchínhvìvậycóthểnạplạichươngtrìnhmàkhông cầntáchra khỏinềnphầncứngVXL.Ưuđiểmcủabộnhớflashlàcóthểlậptrìnhtrựctiếptrên mạchcứngmànóđangthựcthitrênđó.  Hình2‐14:SơđồnguyênlýghépnốiEPROMvớiVXL Bộnhớdữliệu‐RAM Vùngđểlưuhoặctraođổidữliệutrunggiantrongquátrìnhthựchiệnchươngtrình.  Hình2‐15:CấutrúcnguyênlýbộnhớRAM  CóhailoạiSRAMvà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 

Ngày đăng: 16/05/2014, 16:07

w