Thiết kế mạch quang báo kết hợp KIT VXL và máy tính, chương 1

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:10

0
148
lượt xem
69
download

Thiết kế mạch quang báo kết hợp KIT VXL và máy tính, chương 1

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giới thiệu chung về hệ thống vi xử lý. Vi xử lý là sự kết hợp của hai kỹ thuật công nghệ quan trọng:Đó là máy tính dùng kỹ thuật số và các vi mạch điện tử. Hai công nghệ này kết hợp lại với nhau và các nhà nghiên cứu đã chế tạo ra vi xử lý. Chức năng chính của vi xử lý là xử lý dữ liệu chứa trong bộ nhớ. Để làm được điều này vi xử lý phải có các mạch logic cho việc xử lý dữ liệu và cần phải có chương trình. ...

Chủ đề:
Lưu

Nội dung Text: Thiết kế mạch quang báo kết hợp KIT VXL và máy tính, chương 1

  1. CHÖÔNG 1: TOÅNG QUAN KYÕ THUAÄT VI XÖÛ LYÙ I.1.Lòch söû phaùt trieån vi xöû lyù. I.1.1.Giôùi thieäu chung veà heä thoáng vi xöû lyù. Vi xöû lyù laø söï keát hôïp cuûa hai kyõ thuaät coâng ngheä quan troïng:Ñoù laø maùy tính duøng kyõ thuaät soá vaø caùc vi maïch ñieän töû. Hai coâng ngheä naøy keát hôïp laïi vôùi nhau vaø caùc nhaø nghieân cöùu ñaõ cheá taïo ra vi xöû lyù. Chöùc naêng chính cuûa vi xöû lyù laø xöû lyù döõ lieäu chöùa trong boä nhôù. Ñeå laøm ñöôïc ñieàu naøy vi xöû lyù phaûi coù caùc maïch logic cho vieäc xöû lyù döõ lieäu vaø caàn phaûi coù chöông trình. Chöông trìng laø taäp hôïp caùc leänh. Vi xöû lyù thöïc hieän moät leänh vôùi trình töï nhö sau:  Ñoùn leänh töø boä nhôù.  Giaûi maõ leänh  Thöïc hieän leänh. I.1.2.Naêng löïc cuûa vi xöû lyù. Khi noùi ñeán naêng löïc cuûa Microprocessor coù nghóa laø noùi ñeán khaû naêng xöû lyù döõ lieäu, coù 3 thoâng soá ñeå ñaùnh giaù naêng löïc cuûa Microprocessor.  Chieàu daøi cuûa töø döõ lieäu cuûa Microprocessor.  Soá löôïng caùc oâ nhôù maø Microprocessor coù theå truy xuaát ñöôïc.  Toác ñoä maø Microprocessor coù theå thöïc hieän moät leänh. I.2.Caùc khaùi nieäm cô baûn veà caáu truùc cuûa vi xöû lyù. I.2.1.Chieàu daøi töø döõ lieäu. Microprocessor ñaàu tieân coù chieàu daøi töø döõ lieäu laø 4 bit, tieáp theo laø caùc Microprocessor 8 bit, 16 bit, 32 bit vaø 64 bit. Moãi Microprocessor coù chieàu daøi töø döõ lieäu khaùc nhau coù moät khaû
  2. naêng öùng duïng khaùc nhau, caùc Microprocessor coù chieàu daøi töø döõ lieäu lôùn, toác ñoä laøm vieäc nhanh, khaû naêng truy suaát boä nhôù lôùn ñöôïc duøng trong caùc coâng vieäc xöû lyù döõ lieäu, ñieàu khieån phöùc taïp, caùc Microprocessor coù chieàu daøi töø döõ lieäu nhoû hôn, khaû naêng truy suaát boä nhôù nhoû hôn, toác ñoä laøm vieäc thaáp hôn ñöôïc söû duïng trong caùc coâng vieäc ñieàu khieån vaø xöû lyù ñôn giaûn chính vì theá caùc Microprocessor naøy vaãn toàn taïi. I.2.2.Khaû naêng truy suaát boä nhôù. Dung löôïng boä nhôù maø Microprocessor laøm vieäc quyeát ñònh ñeán toác ñoä laøm vieäc cuûa Microprocessor. Caùc Microprocessor ñaàu tieân bò giôùi haïn veà khaû naêng truy xuaát boä nhôù. Microprocessor 4004 coù 14 ñöôøng ñiaï chæ neân coù theå truy xuaát ñöôïc 214 = 16.384 oâ nhôù, vi xöû lyù 8 bit coù 16 ñöôøng ñiaï chæ neân coù theå truy xuaát ñöôïc 216 = 65.536 oâ nhôù, Microprocessor 16 bit coù 20 ñöôøng ñiaï chæ neân coù theå truy suaát 220 = 1.024.000 oâ nhôù, Microprocessor 32 bit nhö 386 hay 68020 coù theå truy suaát 4 G oâ nhôù, Microprocessor coù khaû naêng truy xuaát boä nhôù caøng lôùn neân coù theå xöû lyù caùc chöông trình lôùn. Tuøy theo öùng duïng cuï theå maø choïn moät Microprocessor thích hôïp. I.2.3.Toác ñoä laøm vieäc cuûa microprocessor Taàn soá xung clock cung caáp cho Microprocessor laøm vieäc quyeát ñònh ñeán toác ñoä laøm vieäc cuûa Microprocessor. Microprocessor coù toác ñoä laøm vieäc caøng lôùn thì khaû naêng xöû lyù leänh caøng nhanh. Taàn soá xung Clock laøm vieäc cuûa caùc Microprocessor ñöôïc cho bôûi caùc nhaø cheá taïo I.2.4. Caùc thanh ghi cuûa Microprocessor. Caùc thanh ghi laø moät phaàn quan troïng trong caáu truùc cuûa Microprocessor. Caùc thanh ghi beân trong cuûa Microprocessor duøng ñeå xöû lyù döõ lieäu. Neáu Microprocessor coù soá löôïng thanh ghi nhieàu thì ngöôøi laäp chöông trình coù theå vieát caùc chöông trình ñieàu
  3. khieån Microprocessor ñôn giaûn hôn, laøm taêng toác ñoä xöû lyù chöông trình. Neáu Microprocessor coù soá löôïng thanh ghi ít thì chöông trình seõ phöùc taïp hôn, toác ñoä xöû lyù chöông trình chaäm hôn. Vaäy soá löôïng caùc thanh ghi beân trong Microprocessor cuõng aûnh höôûng ñeán toác ñoä vaø khaû naêng xöû lyù chöông trình. I.2.5.Caùc leänh cuûa Microprocessor. Taäp leänh cuûa Microprocessor laø moät trong nhöõng yeáu toá cô baûn ñeå ñaùnh giaù toác ñoä laøm vieäc cuûa Microprocessor. Neáu Microprocessor coù nhieàu maïch ñieän logic beân trong ñeå thöïc hieän thì soá leänh ñieàu khieån cuûa Microprocessor caøng nhieàu, khi ñoù Microprocessor caøng lôùn vaø ñoä phöùc taïp caøng lôùn. Ví duï so saùnh 2 taäp leänh cuûa 2 Microprocessor 8 bit laø 8051 vaø Z80 thì 8051 coù 111 leänh khaùc nhau coøn Z80 coù 158 leänh. Taäp leänh cuûa moät Microprocessor caøng nhieàu raát coù ích khi laäp trình hay vieát chöông trình cho Microprocessor. I.2.6.Caáu truùc truy xuaát boä nhôù. Moät phaàn quyeát ñònh söï meàm deûo trong laäp trình laø soá löôïng caùc kieåu truy suaát boä nhôù khaùc nhau cuûa Microprocessor, Microprocessor coù nhieàu kieåu truy suaát boä nhôù seõ coù khaû naêng xöû lyù caøng nhanh vaø caáu truùc caùc maïch ñieän beân trong caøng phöùc taïp. Microprosesor coù chieàu daøi töø döõ lieäu caøng lôùn thì coù soá löôïng caùc kieåu truy xuaát boä nhôù caøng lôùn. I.2.7.Caùc maïch ñieän giao tieáp beân ngoaøi cuûa Microprocessor. Ngoaøi giao tieáp vôùi boä nhôù, Microprocessor coù caùc maïch ñieän giao tieáp vôùi caùc maïch ñieän beân ngoaøi ñeå ñieàu khieån hay môû roäng khaû naêng ñieàu khieån. Caùc maïch ñieän beân ngoaøi laø caùc IC vaø ñöôïc goïi laø IC ngoaïi vi. Moãi IC coù moät chöùc naêng rieâng, tuøy thuoäc vaøo yeâu caàu ñieàu khieån maø choïn caùc IC ngoaïi vi.
  4. Hình 1.1: Sô ñoà toång quaùt cuûa moät heä thoáng vi xöû lyù I.3.Caáu truùc beân trong cuûa boä vi xöû lyù. Moät boä vi xöû lyù goàm coù hai phaàn chính laø ñôn vò thöïc haønh EU (execution unit) vaø ñôn vò töông thích BUS laø BIU. + EU thöïc hieän taát caû caùc pheùp tính toaùn soá hoïc vaø logic. + BIU thì thu nhaän leänh vaø döõ lieäu töø boä nhôù. Caùc leänh naøy duøng ñeå ñieàu khieån hoaït ñoäng CPU. I.3.1.Ñôn vò thöïc hieän. EU laø nôi xaûy ra caùc quaù trình xöû lyù döõ lieäu trong boä vi xöû lyù. ÔÛ ñaây coù ñôn vò soá hoïc vaø logic (ALU – ARITHMETIC LOGIC UNIT) coäng vôùi caùc thanh ghi xöû lyù soá lieäu vaø löu tröõ caùc keát quaû trung gian. EU nhaän döõ lieäu vaø caùc leänh do BIU thu ñöôïc roài xöû lyù caùc thoâng tin ñoù. Döõ lieäu ñaõ ñöôïc xöû lyù trong EU laïi ñöôïc chuyeån ra boä nhôù hoaëc thieát bò ngoaïi vi thoâng qua BIU. Nhö vaäy EU khoâng lieân heä tröïc tieáp vôùi beân ngoaøi maø khoâng phaûi thoâng qua BIU. I.3.2.Ñôn vò töông thích Bus.
  5. BIU goàm caùc maïch phaùt ñiaï chæ vaø ñieàu khieån Bus, daõy chöùa leänh vaø con troû leänh. Noù coù nhieäm vuï baûo ñaûm cho Bus ñöôïc söû duïng heát dung löôïng ñeå taêng toác ñoä caùc thao taùc. I.3.3. Bus ñòa chæ, Bus döõ lieäu, Bus ñieàu khieån. a> Bus ñòa chæ Moät ñòa chæ öùng vôùi moâït vò trí duy nhaát trong boä nhôù. Ñòa chæ raát caàn thieát ñeå coù theå truy xuaát chính xaùc ñeán vò trí caàn thao taùc. Moãi boä vi xöû lyù ñeàu coù soá Bus ñòa chæ khaùc nhau töông öùng dung löôïng nhôù maø CPU coù theå truy suaát tôùi. b> Bus döõ lieäu Bus döõ lieäu (Data Bus) ñeå chuyeån thoâng tin töø CPU ñeán boä nhôù vaø caùc boä phaän khaùc (thao taùc ghi), nhaän döõ lieäu vaøo CPU (thao taùc ñoïc). Bus döõ lieäu vöøa thu vöøa phaùt thoâng tin neân ñöôïc xem laø Bus döõ lieäu hai chieàu. Tuy noù khoâng theå ñoàng thôøi thu vaø phaùt thoâng tin cuøng moät luùc. c> Bus ñieàu khieån Caùc ñöôøng daây cuûa Bus ñieàu khieån duøng ñeå xaùc ñònh moät leänh thöïc hieän vaøo luùc naøo vaø nhö theá naøo, xaùc ñònh caùc thao taùc ñoïc, vieát boä nhôù, xaùc ñònh cheá ñoä hoaït ñoäng cuûa CPU. I.4.Caáu truùc CPU Z80. I.4.1.Caáu taïo caên baûn CPU Z80. CPU Z80 coù nhöõng ñaëc ñieåm sau:  8 bit taùc ñoäng song song.  158 loaïi beänh caên baûn.  Coù 22 thanh ghi beân trong.  Coù tính naêng ngaét (interrupt).  Coù theå noái tröïc tieáp vôùi RAM tónh hoaëc RAM ñoäng maø haàu nhö khoâng caàn maïch phuï trôï beân ngoaøi.  Toác ñoä cuûa leänh Fetch laø 1,6s (Z – 80), 1s (Z – 80A), 0,76s (Z – 80B).
  6.  Chæ caàn duøng moät nguoàn ñieän +5V duy nhaát.  Taát caû caùc chaân xuaát tín hieäu ra vaø nhaäp tín hieäu vaøo ñeàu thuoäc loaïi TTL.  Caáu truùc beân trong cuûa CPU Z80
  7. Caùc thanh ghi thöôøng duøng Thanh ghi chuû yeáu Thanh ghi boå trôï Accumulator Flag Accumulator Flag A F A’ F’ B C B’ C’ D E D’ E’ H L H’ L’ Caùc thanh ghi chuyeân duøng Interrupt vector Memory refesh Register I Register R Index register IX Index register IY Stack Pointer SP Program counter PC I.4.2. Caùc thanh ghi cuûa CPU -Z80. a> Caùc thanh ghi ña naêng: Bao goàm A, B, C, D,E, H, L. Caùc thanh ghi ña naêng coù ñoä daøi baèng soá bit cuûa BUS döõ lieäu, chuùng coù nhöõng chöùc naêng sau:  Laø nôi CPU trao ñoåi döõ lieäu, chöùa döõ lieäu ñöôïc ñoïc töø beân ngoaøi hay gôûi döõ lieäu ra.  Laø nôi chöùa caùc toaùn haïng, keát quaû cuûa moät pheùp toaùn. b>Thanh ghi F (8bit): Ñaây laø thanh ghi côø, vaø coøn moät thanh ghi côø phuï laø F’. Khaùc vôùi caùc thanh ghi treân, moãi bit cuûa thanh ghi côø ñoäc laäp vôùi nhau vaø ñöôïc CPU phaûn aùnh tình traïng cuûa keát quaû sau moät pheùp toaùn naøo ñoù. Moãi bit ñöôïc goïi laø moät côø vaø ngöôøi söû duïng coù theå kieåm tra baèng côø.
  8. S Z X H X P/V N C Caáu truùc thanh ghi côø CPU Z80 + Côø ZERO (côø Z): Sau moät pheùp toaùn keát quaû baèng 0 thì côø Z = 1 vaø neáu keát quaû khaùc 0 thì côø Z = 0. + Côø CARRY (côø C): Côø naøy phaûn aùnh soá nhôù hay soá möôïn sau moät leänh coäng hoaëc tröø. Côø naøy laø côø hieäu ôû bit cao nhaát cuûa boä tích luõy. + Côø SIGN (côø S): Ñaây laø côø daáu hay côø aâm, phaûn aùnh ñöôïc ñaët tính veà daáu. Neáu S = 0 :Keát quaû pheùp toaùn laø döông. Neáu S= 1 :Keát quaû pheùp toaùn laø aâm. Noùi caùch khaùc côø S chính laø giaù trò cuûa bit MSB cuûa thanh ghi. + Côø PARITY hay côø OVER LOW (côø P hay côø V): Ñaây laø côø cöïc tính hay côø aâm, côø naøy tuøy theo taùc vuï thöïc hieän maø coù yù nghóa P hay V. Neáu pheùp tính laø lyù luaän thì côø naøy laø P. Neáu pheùp tính laø soá hoïc côø thì naøy laø V. Taát caû caùc côø treân, ngöôøi söû duïng coù theå kieåm tra ñöôïc. Ngoaøi ra thanh ghi coøn coù hai côø ngöôøi söû duïng khoâng theå kieåm tra ñöôïc, caùc côø naøy duøng cho pheùp tính BCD. + Côø CPU (côø H): Côø naøy coù taùc duïng nhôø côø Carry nhöng noù chæ phaûn aùnh soá nhôù hay soá möôïn sinh ra ôû bit thöù tö. + Côø SUBTRACT (côø N): Côø naøy duøng cho pheùp tính DAA, cho caû hai pheùp coäng hoaëc tröø. c> Nhoùm caùc thanh ghi phuï: A’, B’, C’, D’,E’, H’, L’
  9. Saùu thanh ghi coøn laïi khoâng phaûi laø boä tích luõy coù theå ñöôïc söû duïng rieâng nhö nhöõng thanh ghi 8 bit: B, C, D, G, H, L. Hay chuùng coù theå ñöôïc gheùp caëp vaø söû duïng nhö nhöõng thanh ghi 16bit: BC, DE, HL. d> Z80 coøn coù hai nhoùm thanh ghi ñaët bieät: coù chöùc naêng coá ñònh ngöôøi laäp trình khoâng theå duøng noù cho moät chöùc naêng khaùc. * Nhoùm thanh ghi ñaët bieät thöù nhaát goàm coù: thanh ghi vector ngaét (I), thanh ghi laøm töôi boä nhôù (R), thanh ghi chæ soá (IX) vaø (IY), con troû ngaên xeáp (SP), thanh ghi PC (boä ñeám chöông trình), thanh ghi I vaø thanh ghi R laø caùc thanh ghi coù ñoä daøi 8 bit, caùc thanh ghi coøn laïi coù ñoä daøi 16bit. +Thanh ghi PC (program counter) : Nguyeân taéc ñoái vôùi moät boä vi xöû lyù vaø thi haønh moät leänh ñaët taïi ñòa chæ laø noäi dung cuûa thanh ghi PC. Nhö vaäy, thanh ghi PC chöùa ñòa chæ cuûa leänh taïi moät thôøi ñieåm naøo ñoù. Luùc môùi caáp ñieän hay Reset CPU, thanh ghi PC seõ chöùa moät giaù trò naøo ñoù vaø ñaây chính laø ñòa chæ ñeå CPU baét ñaàu thi haønh chöông trình. Thanh ghi PC seõ töï ñoäng taêng 1 sau moãi byte, ñaët bieät giaù trò cuûa moät thanh ghi PC coù theå ñöôïc naïp theo yù muoán cuûa ngöôøi söû duïng. Ñieàu naøy cho pheùp chöông trình ñieàu khieån coù theå naïp laïi. +Thanh ghi SP (stack pointer) : Ñaây laø thanh con troû nhaø haàm. Nhaø haàm (STACK): trong quaù trình laøm vieäc cuûa CPU coù theå xuaát hieän moät yeâu caàu nhö caát moät thanh ghi hoaëc moät giaù trò naøo ñoù. Noù seõ caát nhöõng giaù trò naøy ñöôïc choïn laø moät vuøng nhôù naøy goïi laø nhaø haàm. +Thanh ghi vector ngaét I (interrupt vecror) : Duøng trong khi phuïc vuï ngaét quaõng cho pheùp chöông trình phuïc vuï ngaét quaõng ñaët ôû trong boä nhôù. Thanh ghi vector ngaét seõ löu tröõ byte ñòa chæ cao cuûa moät vector ngaét vaø byte ñòa chæ thaáp
  10. seõ ñöôïc cung caáp töø thieát bò yeâu caàu ngaét beân ngoaøi. Ngöôøi laäp trình phaûi naïp byte ñòa chæ cao vaøo thanh ghi I tröôùc khi söû duïng ngaét. Thanh ghi I coù ñoä daøi töø döõ lieäu 8 bit. +Thanh ghi R (memory refresh) : Ñaây laø thanh ghi phuïc vuï vieäc laøm töôi boä nhôù. Trong CPU Z 80 coù chöùa moät boä nhôù ñeäm ñeå coù laøm töôi deã daøng boä nhôù ñoäng. Thanh ghi R seõ töï ñoäng taêng sau moãi laàn laáy leänh. Döõ lieäu trong thanh R ñöôïc göûi ra phaàn thaáp cuûa Bus ñòa chæ cuøng vôùi tín hieäu laøm töôi trong khi CPU giaûi maõ vaø thöïc hieän leänh vöøa ñöôïc laáy ra. Do ñoù vieäc laøm töôi khoâng laøm chaäm chöông trình vaø ñoái vôùi ngöôøi laäp chöông trình thì ñieàu ñoù coi nhö khoâng coù. +Thanh ghi IX vaø thanh ghi IY (index register) : Ñaây laø caùc thanh ghi chæ söû duïng trong kieåu ñònh vò chæ soá, hai thanh ghi naøy keát hôïp vôùi moät giaù trò töông ñoái coù ñoä daøi 8 bit laøm taêng khaû naêng truy xuaát boä nhôù coù ñiaï chæ khaùc vôùi ñiaï chæ ñang chöùa trong thanh chæ soá. * Nhoùm thanh ghi ñaët bieät thöù hai laø caùc flipflop ñieàu khieån ngaét. Z80 coù hai ngaét NMI vaø INT, ngaét NMI laø ngaét khoâng theå ngaên ñöôïc, ngaét INT laø ngaét coù theå ngaên ñöôïc bôûi ngöôøi laäp trình. Ngaét khoâng ngaên ñöôïc NMI ñöôïc taùc ñoäng bôûi yeâu caàu ngaét NMI töø beân ngoaøi, khi taùc ñoäng ñeán ngoõ vaøo ngaét naøy, vi xöû lyù seõ nhaûy ñeán ñòa chæ 0066H ñeå thöïc hieän chöông trình, ñòa chæ naøy coá ñònh. Ngaét coù theå ngaên ñöôïc INT bôûi leänh DI vaø coù theå cho pheùp bôûi leänh EI. Traïng thaùi hieän taïi cuûa ngaét naøy ñöôïc thieát laäp trong flip flop IFF1. Khi ngöôøi laäp trình cho pheùp ngaét INT, IFF1 ñöôïc set ôû möùc logic 1, khi ngöôøi laäp trìng khoâng cho pheùp ngaét INT thì IFF1 ñöôïc reset veà 0.
Đồng bộ tài khoản