Đề tài: Thiết kế thi công và viết chương trình điều khiên mạch thực hành cho Z80 CPU. Giao tiếp với máy tính quá ngõ máy in

Chia sẻ: Nguyễn Thị Giỏi | Ngày: | Loại File: PDF | Số trang:145

0
218
lượt xem
109
download

Đề tài: Thiết kế thi công và viết chương trình điều khiên mạch thực hành cho Z80 CPU. Giao tiếp với máy tính quá ngõ máy in

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

Sự phát triển đi lên vượt bậc của ngành kỹ thuật máy tính và điện tử hiện nay đã được minh chứng cị thể qua cuộc sống hàng ngày của chúng ta trong tất cả các lĩnh vực. Việc ứng dụng máy tính vào kỹ thuật đo lường và điều khiển đã đem lại những kết quả đầy tính ưu Việt.

Chủ đề:
Lưu

Nội dung Text: Đề tài: Thiết kế thi công và viết chương trình điều khiên mạch thực hành cho Z80 CPU. Giao tiếp với máy tính quá ngõ máy in

  1. TRÖÔØNG ÑAÏI HOÏC KYÕ THUAÄT KHOA COÂNG NGHEÄ THOÂNG TIN LUAÄN VAÊN TOÁT NGHIEÄP Ñeà taøi: Thieát keá, thi coâng vaø vieát chöông trình ñieàu khieån maïch thöïc haønh cho Z80 CPU. Giao tieáp vôùi maùy tính qua ngoõ maùy in. Giaùo vieân höôùng daãn: Thaày Nguyeãn Xuaân Minh. Sinh vieân thöïc hieän : Hoaøng Leâ Bình. Löu Ñình Duõng. Lôùp : KSII_K6_T.
  2. Ñeà taøi: Thieát keá, thi coâng vaø vieát chöông trình ñieàu khieån maïch thöïc haønh cho Z80 CPU vôùi caùc ñaëc ñieåm sau: - Giao tieáp vôùi maùy tính qua ngoõ maùy in. - Giaû laäp ROM ñeå nhaän chöông trình töø maùy tính. - Coù khaû naêng chaïy töøng böôùc töø beân maùy tính. - Coù khaû naêng thoâng baùo traïng thaùi caùc thanh ghi veà beân maùy tính. - Coù khaû naêng ñieàu khieån moät soá coång xuaát nhaäp ñôn giaûn. - Thi coâng maïch, thöû maïch. - Vieát chöông trình vaø thöû chaïy theo töøng chöùc naêng. 2
  3. MUÏC LUÏC Môû ñaàu ...............................................................................................................trang 4 Chöông I Phaân tích yeâu caàu 1.1 Phaân tích yeâu caàu.........................................................................................trang 5 1.2 Phöông höôùng giaûi quyeát vaán ñeà ................................................................trang 5 Chöông II Thieát keá phaàn cöùng 2.1. Phaân tích caùc chöùc naêng cuûa coång gheùp noái vôùi maùy in ........................trang 8 2.2. Kieán truùc Z80 CPU. .................................................................................trang 10 2.3. Thieát keá chi tieát........................................................................................trang 48 2.4. Nguyeân lyù hoaït ñoäng. ..............................................................................trang 49 Chöông III. Giôùi thieäu phaàn soaïn thaûo vaên baûn 3.1. Caùc thaønh phaàn chính cuûa main menu ........................................................trang 55 3.2. Höôùng daãn söû duïng trong maøn hình soaïn thaûo ...........................................trang 55 Chöông IV. Giaûi thuaät ....................................................................................trang 57 Chöông V. Chöông trình nguoàn 5.1. Chöông trình ñöa data ra RAM chung, Debug, Dump, Run......................trang 71 5.2. Chöông trình con vieát baèng ngoân ngöõ con Assembler Z80 duøng ñoïc traïng thaùi caùc thanh ghi .......................................................................trang 109 5.3. Chöông trình con vieát baèng ngoân ngöõ con Assembler Z80 duøng dump memory ..............................................................................................trang 111 5.4. Chöông trình taïo tieän ích soaïn thaûo vaên baûn vaøhoã trôï cheá ñoä chaïy debug Z80.....................................................................................................trang 111 5.5. Caùc chöông trình ví duï.................................................................................trang 133 Phuï luïc A: Caùc thoâng baùo loãi. .......................................................................trang 142 Phuï luïc B: Vi maïch 8255. ..............................................................................trang 143 Taøi lieäu tham khaûo.........................................................................................trang 145 3
  4. Lôøi noùi ñaàu Söï phaùt trieån ñi leân vöôït baäc cuûa ngaønh kyõ thuaät maùy tính vaø ñieän töû hieän nay ñaõ ñöôïc minh chöùng cuï theå qua cuoäc soáng haèng ngaøy cuûa chuùng ta trong taát caû caùc lónh vöïc. Vieäc öùng duïng maùy vi tính vaøo kyõ thuaät ño löôøng vaø ñieàu khieån ñaõ ñem laïi nhöõng keát quaû ñaày tính öu vieät. Caùc thieát bò, heä thoáng ño löôøng vaø ñieàu khieån gheùp noái vôùi maùy tính coù ñoä chính xaùc cao, thôøi gian thu thaäp soá lieäu ngaén, nhöng ñaùng quan taâm hôn laø möùc ñoä töï ñoäng hoaù trong vieäc thu nhaän vaø xöû lyù döõ lieäu. Kyõ thuaät soá ra ñôøi ñaõ khaéc phuïc ñöôïc caùc khuyeát ñieåm cuûa kyõ thuaät töông töï, laøm cho caùc boä phaän maùy moùc trôû neân ñôn giaûn, goïn nheï, ít toán keùm naêng löôïng vaø xöû lyù thoâng tin nhanh, chính xaùc hôn so vôùi kyõ thuaät töông töï. Tuy vaäy, neáu söû duïng caùc boä ñieàu khieån duøng caùc IC soá chuùng vaãn coøn maéc moät soá khuyeát ñieåm maø so vôùi kyõ thuaät vi xöû lyù noù vaãn toàn taïi nhö: - Kích thöôùc lôùn. - Naêng löôïng tieâu thuï lôùn. - Tính meàm deõo thaáp, khoù thay ñoåi. - Khoù söûa chöõa, baûo trì. Vi xöû lyù laø moät vi maïch ñieän töû coù maät ñoä tích hôïp cao, trong ñoù goàm caùc maïch soá coù khaû naêng nhaän, xöû lyù vaø xuaát döõ lieäu. Ñaëc bieät laø quaù trình xöû lyù döõ lieäu ñöôïc ñieàu khieån theo moät chöông trình goàm taäp hôïp caùc leänh töø beân ngoaøi maø ngöôøi söû duïng coù theå thay ñoåi ñöôïc moät caùch deã daøng. Moät vi xöû lyù coù theå thöïc hieän raát nhieàu yeâu caàu ñieàu khieån khaùc nhau. Kyõ thuaät vi xöû lyù ra ñôøi vôùi söï keát hôïp giöõa phaàn cöùng vaø phaàn meàm ñaõ laøm cho hoaït ñoäng cuûa caùc maïch ñieän trôû neân meàm deõo hôn vôùi nhöõng phaàn meàm raát linh hoaït maø ta coù theå söûa chöõa, thay ñoåi hoaëc boå sung laøm cho chöông trình ñieàu khieån theâm phong phuù tuøy theo nhu caàu cuûa ngöôøi söû duïng. Kyõ thuaät vi xöû lyù coù tính phöùc taïp trong hoaït ñoäng, thieát keá nhöng laïi raát kinh teá vì giaù thaønh haï vaø kích thöôùc chieám choã khoâng nhieàu, coù dung löôïng cao. Ngoaøi ra veà maët kyõ thuaät cuõng hôn haún kyõ thuaät soá vì quaù trình hoaït ñoäng raát meàm deõo, toác ñoä xöû lyù cao vaø laïi coù theå môû roäng tính naêng hoaït ñoäng sau naøy cho maïch ñieän. Ñaây laø öu ñieåm raát thuaän lôïi maø kyõ thuaät vi xöû lyù mang laïi. Chuùng em xin chaân thaønh caûm ôn Thaày Nguyeãn Xuaân Minh ñaõ taän tình höôùng daãn ñeå hoaøn thaønh luaän vaên naøy. Chuùng toâi cuõng xin chaân thaønh caûm ôn caùc baïn beø ñaõ ñoùng goùp yù kieán vaø chæ daãn trong khi thöïc hieän ñeà taøi. Vì trình ñoä coù haïn vaø ñaây laøñeà taøi ñaàu tieân thöïc hieän moät caùch coù heä thoáng cho neân chaéc chaén khoâng theå traùnh khoûi nhieàu thieáu soùt. 4
  5. Chöông I. Phaân tích yeâu caàu 1.1. Phaân tích yeâu caàu. 1.1.1. Ñaëc ñieåm cuûa coång gheùp noái vôùi maùy in. Vieäc noái maùy in vôùi maùy tính ñöôïc thöïc hieän qua oå caém 25 chaân ôû phiaù sau maùy tính. Nhöng ñaây khoâng chæ laø choã noái vôùi maùy in maø khi söû duïng maùy tính vaøo muïc ñích ño löôøng vaø ñieàu khieån thì vieäc gheùp noái cuõng thöïc hieän qua oå caém naøy. Qua coång naøy döõ lieäu ñöôïc truyeàn ñi song song neân ñoâi khi coøn ñöôïc goïi laø coång gheùp noái song song vaø toác ñoä truyeàn döõ lieäu cuõng ñaït ñeán möùc lôùn ñaùng keå. Taát caû caùc ñöôøng daãn cuûa coång naøy ñeàu töông thích TTL, nghóa laø chuùng ñeàu cung caáp moät möùc ñieän aùp naèm giöõa 0V vaø 5V. Do ñoù ta coøn caàn phaûi löu yù laø ôû caùc ñöôøng daãn loái vaøo coång naøy khoâng ñöôïc ñaët caùc möùc ñieän aùp quaù lôùn. 1.1.2. Ñaëc ñieåm chung cuûa Z80 CPU. Z80 CPU laø moät vi xöû lyù 8 bit cuûa haõng ZILOG ñöôïc thieát keá ñeå coù theå laøm vieäc moät caùch ñoäc laäp, coù theå giao tieáp vôùi caùc boä xöû lyù khaùc thoâng qua caùc thieát bò ngoaïi vi. Ñaëc ñieåm chung: - Data bus: 8 bits. - Addr bus: 16 bits. - Taäp thanh ghi ñöôïc phaân thaønh 3 loaïi: . Taäp thanh ghi chính (8 bit). . Taäp thanh ghi phuï (8 bit). . Taäp thanh ghi chuyeân duïng (16 bits) - Taäp leänh CPU Z80 coù theå chia laøm nhieàu nhoùm khaùc nhau theo nhieàu caùch. ÔÛ ñaây coù theå chia thaønh 4 nhoùm sau: . Nhoùm leänh xöû lyù döõ kieän. . Nhoùm leänh truyeàn döõ kieän. . Nhoùm leänh kieåm soaùt chöông trình. . Nhoùm leänh kieåm soaùt traïng thaùi. Phaàn moâ taû chi tieát Z80 CPU seõ ñöôïc noùi kyõ trong chöông II. 1.2. Phöông höôùng giaûi quyeát vaán ñeà. 1.2.1. Giao tieáp giöõa PC & KIT Z80. Ñeå coù theå thöïc hieän vieäc giao tieáp giöõa maùy tính vaø moät KIT Z80 coù theå duøng moät trong hai phöông phaùp sau: 5
  6. Phöông phaùp thöù nhaát: Thöïc hieän vieäc baét tay giöõa maùy tính vaø KIT Z80 khi thao taùc truyeàn döõ lieäu. Muoán thöïc hieän ñöôïc ñieàu naøy thì maùy tính vaø KIT Z80 seõ ôû trong traïng thaùi saün saøng hoaït ñoäng tröôùc khi thöïc hieän thao taùc baét tay ñeå truyeàn döõ lieäu. Nhö vaäy treân KIT Z80 seõ coù moät chöông trình ñeå coù theå thöïc hieän thao taùc naøy, vieäc gheùp noái bus cuøng vôùi vieäc phaùt caùc tín hieäu baét tay giöõa maùy tính vaø KIT Z80 seõ do chöông trình beân trong KIT Z80 vaø chöông trình beân trong maùy tính ñaûm nhieäm. Phöông phaùp naøy coù öu ñieåm laø vieäc thu vaø nhaän data seõ dieãn ra ñoàng boä, nhanh choùng vaø chính xaùc nhöng laïi hôi phöùc taïp trong vieäc thöïc hieän caùc thao taùc baét tay. Phöông phaùp thöù hai: Moïi thao taùc truyeàn döõ lieäu seõ do maùy tính chuû ñoäng, döõ lieäu truyeàn seõ ñöôïc chöùa trong RAM (ñöôïc goïi laø RAM chung). RAM naøy giaû laäp ROM ñeå chaïy chöông trình töø maùy tính. Ñeå ñôn giaûn cho vieäc thieát keá (caû phaàn cöùng vaø phaàn meàm) vaø phuø hôïp vôùi noäi dung cuûa yeâu caàu ñaët ra, ngöôøi thieát keá löïa choïn phöông phaùp thöù hai ñeå thöïc hieän yeâu caàu cuûa baøi toaùn ñaët ra. 1.2.2. Döøng vaø cho chaïy Z80 CPU. Söû duïng caùc möùc logic thích hôïp ñöa vaøo chaân WAIT ñeå taïm thôøi döøng hoaït ñoäng cuûa Z80 CPU, ñaët Z80 CPU vaøo traïng thaùi chôø hoaëc cho Z80 CPU hoaït ñoäng ôû cheá ñoä bình thöôøng. Khi chaân WAIT ôû möùc logic '1', Z80 CPU hoaït ñoäng bình thö ôøng. Khi möùc logic taïi chaân WAIT laø '0', Z80 CPU seõ ñöôïc ñaët vaøo traïng thaùi chôø. ÔÛ traïng thaùi naøy döõ lieäu treân ñöôøng ñòa chæ vaø data ñöôïc giöõ oån ñònh, ñoàng thôøi CPU lieân tuïc ñoïc vaøo möùc logic treân chaân WAIT cho ñeán khi chaân naøy ñaït trôû laïi möùc logic '1'. Sau khi thoaùt khoûi traïng thaùi WAIT Z80 CPU seõ daønh 2 chu kyø xung clock ñeå laøm töôi boä nhôù Ram ñoäng, sau ñoù thi haønh böôùc keá tieáp cuûa leänh hoaëc thi haønh leänh keá. Nhö vaäy khi ñaët Z80 CPU vaøo traïng thaùi chôø ta coù theå ñoïc ñöôïc döõ lieäu treân data bus, address bus hoaëc coù theå can thieäp vaøo hoaït ñoäng cuûa CPU baèng caùch ñaët moät giaù trò khaùc leân data bus trong thôøi gian CPU laáy maõ leänh hoaëc truy xuaát boä nhôù chöông trình (luùc naøy caàn thieát phaûi caám CS boä nhôù chöông trình (ROM chöông trình)). 1.2.3. Höôùng môû roäng ñeà taøi. Do coù yù ñoà môû roäng ñeà taøi theo höôùng duøng KIT ñeå söû duïng nhö laø 1 thieát bò moâ phoûng duøng cho Z80 CPU neân trong phaàn thieát keá ñaõ coá gaéng traùnh can thieäp nhieàu vaøo Z80 CPU. Ñeå Z80 CPU coù theå chaïy ñöôïc ôû cheá ñoä Debug chæ caàn laáy tín hieäu CSROM vaø M1 ñeå ñieàu khieån quaù trình. Nhö vaäy, coù theå duøng KIT ñeå laøm 1 boä moâ phoûng ( simulator) cho caùc thieát keá khaùc coù söû duïng Z80 CPU. Sô ñoà khoái nhö sau : 6
  7. Jack 25 KIT Z80 baát kyø pin PC Adrres bus Rom Caùc Simulator chöông Z80 linh trình CPU kieän khaùc Data bus Ctrl bus Addr bus : ñöôïc laáy tröïc tieáp töø adress bus cuûa KIT Data bus : ñöôïc laáy tröïc tieáp töø data bus cuûa KIT Ctrl bus goàm : Wait : noái vaøo chaân soá cuûa 74LS74 (U8A) Reset : noái vaøo chaân soá cuûa 74LS04 (U2E) Chuù yù : Trong cheá ñoä Debug caàn phaûi coù bieän phaùp can thieäp vaøo chaân interrupt cuûa KIT Z80 baát kyø, khi KIT naøy chaïy ôû cheá ñoä coù duøng ngaét. Tín hieäu INT 16 T.h cho pheùp/caám Z80 CPU Caám=’0’ : Khi chaïy ôû cheá ñoä Debug(caám ngaét). 7
  8. Chöông II. Thieát keá phaàn cöùng 2.1. Phaân tích caùc chöùc naêng cuûa coång gheùp noái vôùi maùy in. Söï saép xeáp caùc chaân ra ôû coång maùy in vôùi taát caû caùc ñöôøng daãn ñöôïc moâ taû treân hình 2.1. Chaân Kyù hieäu Vaøo/Ra Moâ taû 1 STB Output Bit 0 cuûa thanh ghi ñieàu khieån 2 D0 Output Ñöôøng döõ lieäu D0 3 D1 Output Ñöôøng döõ lieäu D1 4 D2 Output Ñöôøng döõ lieäu D2 5 D3 Output Ñöôøng döõ lieäu D3 6 D4 Output Ñöôøng döõ lieäu D4 7 D5 Output Ñöôøng döõ lieäu D5 8 D6 Output Ñöôøng döõ lieäu D6 9 D7 Output Ñöôøng döõ lieäu D7 10 ACK Input Bit 6 cuûa thanh ghi traïng thaùi 11 BUSY Input Bit 7 cuûa thanh ghi traïng thaùi 12 PE Input Bit 5 cuûa thanh ghi traïng thaùi 13 SLCT Input Bit 4 cuûa thang ghi traïng thaùi 14 AF Output Bit 1 cuûa thanh ghi ñieàu khieån 15 ERROR Input Bit 3 cuûa thanh ghi traïng thaùi 16 INIT Output Bit 2 cuûa thanh ghi ñieàu khieån 17 SLCTIN Output Bit 3 cuûa thanh ghi ñieàu khieån 18 GND 19 GND 20 GND 21 GND 22 GND 23 GND 24 GND 25 GND Hình 2.1. Boá trí chaân ôû coång maùy in ôû maùy tính PC. Ta thaáy beân caïnh 8 bit döõ lieäu coøn coù nhöõng ñöôøng daãn tín hieäu khaùc, toång coäng ngöôøi söû duïng coù theå trao ñoåi moät caùch rieâng bieät vôùi 17 ñöôøng daãn, bao goàm 12 ñöôøng daãn ra vaø 5 ñöôøng daãn vaøo. Bôûi vì 8 ñöôøng daãn döõ lieäu D0 - D7 khoâng phaûi laø ñöôøng daãn 2 chieàu trong taát caû caùc loaïi maùy tính, neân ta seõ söû duïng D0 - D7 nhö laø loái ra. Caùc loái ra khaùc nöõa laø STB, AF, INIT vaø SLCTIN. Caùc ñöôøng daãn loái vaøo laø: ERROR, SLCT, PE, ACK, BUSY. 8
  9. Taát caû caùc ñöôøng daãn tín hieäu vöøa ñöôïc giôùi thieäu cho pheùp trao ñoåi qua caùc ñòa chæ boä nhôù cuûa maùy tính PC. 17 ñöôøng daãn cuûa coång maùy in saép xeáp thaønh 3 thanh ghi: thanh ghi data, thanh ghi traïng thaùi, thanh ghi ñieàu khieån. Hình 2.2 chæ ra söï saép xeáp cuûa caùc ñöôøng daãn tín hieäu tôùi caùc bit döõ lieäu rieâng bieät cuûa thanh ghi. Thanh ghi data (Ñòa chæ cô baûn) D7 D6 D5 D4 D3 D2 D1 D0 D0 (pin 2) D1 (pin 3) D2 (pin 4) D3 (pin 5) D4 (pin 6) D5 (pin 7) D6 (pin 8) D7 (pin 9) Thanh ghi traïng thaùi (Ñòa chæ cô baûn + 1) D7 D6 D5 D4 D3 0 0 0 ERROR (pin 15) SLCT (pin 13) PE (pin 12) ACK (pin 10) BUSY (pin 11) Thanh ghi ñieàu khieån (Ñòa chæ cô baûn + 2) D7 D6 D5 D4 D3 D2 D1 D0 STB (pin 1) AF (pin 14) INIT (pin 16) SLCTIN (pin 17) IRQ-Enable Hình 2.2. Thanh ghi ôû coång maùy in cuûa maùy tính PC. Ñòa chæ ñaàu tieân ñaït ñeán ñöôïc cuûa coång maùy in ñöôïc xem nhö laø ñòa chæ cô baûn. ÔÛ caùc maùy tính PC ñòa chæ cô baûn cuûa coång maùy in ñöôïc saép xeáp nhö sau: LPT1 (Coång maùy in thöù nhaát) => Ñòa chæ cô baûn = 378H Hoaëc laø 3BCH ôû maùy Laptop LPT2 (Coång maùy in thöù hai) => Ñòa chæ cô baûn = 278H Ñòa chæ cô baûn ñoàng nhaát vôùi thanh ghi döõ lieäu. Thanh ghi traïng thaùi coù ñòa chæ = ñòa chæ cô baûn + 1. Caàn chuù yù raèng möùc logic cuûa BUSY (chaân 11) ñöôïc saép xeáp ngöôïc vôùi bit D7 cuûa thanh ghi traïng thaùi. Thanh ghi ñieàu khieån vôùi 4 ñöôøng daãn loái ra cuûa noù coù ñòa chæ = ñòa chæ cô baûn + 2. ÔÛ ñaây laïi caàn chuù yù tôùi söï ñaûo ngöôïc cuûa caùc tín hieäu: STB, AF, SLCTIN. 9
  10. 2.2. Kieán truùc Z80 CPU. 2.2.1. Sô ñoà khoái Z80 CPU. Bus döõ kieän 8 bits Kieåm soaùt döõ kieän Bus noäi Giaûi maõ Thanh ALU Tín hieäu & ghi ñieàu khieån ñieàu leänh Kieåm soaùt CPU heä thoáng khieån & CPU CPU Thanh ghi Kieåm soaùt ñòa chæ Bus ñòa chæ 16 bits Hình 1-1: Sô ñoà khoái Z80 CPU. Sô ñoà khoái cuûa kieán truùc beân trong Z80 CPU ñöôïc cho trong hình 1-1. Sô ñoà naøy trình baøy taát caû caùc phaàn töû chính trong CPU vaø noù seõ ñöôïc xem xeùt kyõ qua caùc phaàn moâ taû sau. 2.2.2. Caùc thanh ghi cuûa CPU. Z80 CPU chöùa moät boä nhôù R/W 208 bit. Boä nhôù naøy coù theå ñöôïc truy xuaát bôûi ngöôøi laäp trình. Hình 1-2 cho thaáy boä nhôù naøy ñöôïc caáu taïo bôûi 8 thanh ghi 8 bit vaø 4 thanh ghi 16 bit. Taát caû caùc thanh ghi cuûa Z80 CPU ñeàu duøng RAM tónh. CaÙc thanh ghi bao goàm 2 taäp 6 thanh ghi ña duïng, taäp caùc thanh ghi naøy coù theå ñöôïc söû duïng ñoäc laäp nhö laø caùc thanh ghi 8 bit hoaëc töøng caëp nhö laø caùc thanh ghi 16 bit. Coù hai taäp ( chính vaø phuï) thanh ghi tích luõy, thanh ghi côø vaø saùu thanh ghi ñaëc bieät. Taäp caùc thanh ghi ñaëc bieät. Program Counter (PC): giöõ ñòa chæ möôøi saùu bit cuûa leänh hieän taïi ñang ñöôïc laáy veà töø boä nhôù. PC töï ñoäng taêng sau khi noäi dung cuûa noù ñöôïc ñaët leân bus ñòa chæ. Khi 1 leänh nhaûy xaûy ra, 1 giaù trò môùi ñöôïc töï ñoäng ñaët vaøo trong PC thay cho giaù trò seõ ñöôïc taêng cuûa noù. Stack pointer (SP): giöõ ñòa chæ 16 bit cuûa ñænh ngaên xeáp hieän haønh trong boä nhôù RAM ngoaøi. Boä nhôù ngaên xeáp beân ngoaøi ñöôïc toå chöùc nhö laø 1 file vaøo sau ra tröôùc (LIFO). Döõ lieäu coù theå ñöôïc ñaåy vaøo ngaên xeáp töø caùc thanh ghi xaùc ñònh cuûa CPU hay ñöôïc laáy ra khoûi ngaên xeáp ñeå ñöa vaøo caùc thanh ghi xaùc ñònh cuûa CPU qua vieäc thi haønh caùc leänh Push vaø Pop. Döõ lieäu ñöôïc laáy ra 10
  11. töø ngaên xeáp luoân luoân laø döõ lieäu ñöôïc ñaåy vaøo ngaên xeáp sau cuøng. Ngaên xeáp cho pheùp ñôn giaûn hoùa vieäc thi haønh caùc loaïi ngaét quaõng khoâng giôùi haïn caùc chöông trình con loàng nhau vaø ñôn giaûn hoùa nhieàu kieåu thao taùc treân döõ lieäu. Hai thanh ghi chæ muïc (IX vaø IY): Hai thanh ghi chæ muïc ñoäc laäp giöõ ñòa chæ cô baûn 16 bit ñöôïc duøng trong cheá ñoä ñònh ñòa chæ chæ muïc. Trong cheá ñoä naøy, moät thanh ghi chæ muïc ñöôïc duøng nhö laø moät vò trí cô baûn chæ ñeán moät vuøng trong boä nhôù nôi maø döõ lieäu baét ñaàu ñöôïc chöùa hay ñöôïc khoâi phuïc. Byte ñöôïc theâm trong caâu leänh chæ muïc ñeå xaùc ñònh khoaûng caùch ñeán vò trí cô baûn. Khoaûng caùch naøy ñöôïc xaùc ñònh baèng pheùp buø 2 moät soá nguyeân coù daáu. Cheá ñoä naøy laøm ñôn giaûn ñi raát nhieàu cho chöông trình. Ñaëc bieät cho caùc baûng döõ lieäu ñöôïc söû duïng. Thanh ghi ñòa chæ trang ngaét (I) Z80 CPU coù theå ñöôïc ñieàu khieån trong 1 cheá ñoä maø ôû ñoù moät leänh goïi tröïc tieáp ñeán baát kyø vuøng naøo cuûa boä nhôù coù theå ñöôïc thöïc hieän baèng caùch ñaùp öùng ngaét. Thanh ghi I ñöôïc duøng cho muïc ñích naøy ñeå chöùa 8 bit cao cuûa ñòa chæ tröïc tieáp trong khi thieát bò ngaét cung caáp 8 bit ñòa chæ thaáp. Ñaëc ñieåm naøy cho pheùp chöông trình phuïc vuï ngaét ñònh vò nhanh tôùi baát kyø vuøng nhôù naøo vôùi thôøi gian truy xuaát ñeán chöông trình laø nhoû nhaát. Thanh ghi laøm töôi boä nhôù (R): Z80 CPU chöùa 1 boä ñeám laøm töôi boä nhôù ñeå cho pheùp boä nhôù ñoäng ñöôïc duøng deã daøng nhö boä nhôù tónh. Baûy trong 8 bit cuûa thanh ghi naøy ñöôïc töï ñoäng taêng sau moãi laàn laáy leänh. Bit thöù 8 coøn laïi ñöôïc laäp trình nhö laø keát quaû cuûa leänh LD R,A. Data trong boä ñeám laøm töôi ñöôïc gôûi leân phaàn thaáp cuûa bus ñòa chæ keøm theo moät tín hieäu laøm töôi trong khi CPU giaûi maõ vaø thöïc thi leänh vöøa ñöôïc laáy veà. Caùch thöùc laøm töôi naøy hoaøn toaøn deã hieåu ñoái vôùi ngöôøi laäp trình vaø khoâng laøm chaäm hoaït ñoäng cuûa CPU. Ngöôøi laäp trình coù theå laáy thanh ghi R cho muïc ñích kieåm tra, nhöng thanh ghi naøy thì thöôøng khoâng ñöôïc ngöôøi laäp trình duøng. Trong thôøi gian laøm töôi, noäi dung cuûa thanh ghi I ñöôïc ñaët leân 8 bit cao cuûa bus ñòa chæ. Thanh ghi tích luõy vaø thanh ghi côø: CPU bao goàm hai thanh ghi tích luõy ñoäc laäp vaø ñöôïc keát hôïp vôùi caùc thanh ghi côø 8 bit. Thanh ghi tích luõy löu giöõ keát quaû cuûa pheùp toaùn logic vaø soá hoïc trong khi thanh ghi côø cho bieát caùc ñieàu kieän xaùc ñònh khi thöïc hieän caùc pheùp toaùn 8 bit hay 16 bit nhö laø cho bieát keát quaû cuûa 1 pheùp tính coù baèng 0 hay khoâng. Ngöôøi laäp trình löïa choïn thanh ghi tích luõy vaø thanh ghi côø vôùi 1 leänh hoaùn chuyeån ñôn vì coù theå laøm vieäc vôùi moät trong hai caëp. Caùc thanh ghi ña duïng: Coù 2 taäp ñoái xöùng caùc thanh ghi ña duïng. Moãi taäp chöùa 6 thanh ghi 8 bit hay nhö caëp thanh ghi 16 bit. Taäp thöù nhaát ñöôïc goïi laø BC, DE vaø HL trong khi taäp leänh töông öùng ñöôïc goïi laø BC’, DE’ vaø HL’. Trong baát kyø thôøi ñieåm naøo ngöôøi laäp trình coù theå choïn 1 trong caùc taäp thanh ghi ñeå laøm vieäc qua 1 leänh hoaùn chuyeån ñôn. Trong caùc heä thoáng yeâu caàu ñaùp öùng ngaét nhanh, moät taäp cuûa taäp thanh ghi ña duïng vaø moät thanh ghi côø /tích luõy coù theå ñöôïc döï tröõ ñeå giaûi quyeát chöông trình raát nhanh naøy. Chæ caàn moät leänh ñôn giaûn ñöôïc thöïc thi ñeå chaïy giöõa caùc chöông trình. Ñieàu naøy thu giaûm thôøi gian phuïc vuï ngaét do vieäc loaïi boû yeâu caàu caát vaø khoâi phuïc noäi dung thanh ghi ôû ngaên xeáp trong thôøi gian ngaét hay xöû lyù chöông trình con. Caùc thanh ghi ña duïng naøy ñöôïc duøng cho nhieàu öùng duïng bôûi ngöôøi laäp trình. Thanh ghi tích luõy Thanh ghi côø Thanh ghi tích luõy A’ Thanh ghi A F côø F’ B C B’ C’ Thanh ghi D E D’ E’ ña duïng 11
  12. H L H’ L’ Taäp thanh ghi chính Taäp thanh ghi phuï Interrup vertor I Memory refresh R Thanh ghi chæ muïc IX Thanh ghi ña Thanh ghi chæ muïc IY duïng Con troû ngaên xeáp SP Ñeám chöông trình PC Hình 1-2: Caáu truùc caùc thanh ghi cuûa Z80 CPU 2.2.3. Ñôn vò logic soá hoïc (ALU): Caùc leänh logic vaø soá hoïc 8 bit cuûa CPU ñöôïc thöïc hieän trong ALU. Giao tieáp giöõa ALU vôùi caùc thanh ghi vaø data bus beân ngoaøi ñöôïc thöïc hieän treân data bus beân trong. Caùc chöùc naêng ALU goàm: Coäng Tröø Logic AND Logic OR Logic XOR So saùnh Dòch traùi, dòch phaûi hay quay ( Soá hoïc vaø logic) Pheùp toaùn taêng Pheùp toaùn giaûm Set bit Reset bit Test bit 2.2.4. Ñieàu khieån CPU vaø thanh ghi leänh. Moãi 1 leänh ñöôïc laáy veà töø boä nhôù, noù ñöôïc ñaët vaøo trong thanh ghi leänh vaø ñöôïc giaûi maõ. Caùc phaàn ñieàu khieån thi haønh chöùc naêng naøy, phaùt vaø caáp caùc tín hieäu ñieàu khieån caàn thieát ñeå ñoïc hoaëc ghi data töø (hoaëc ñeán) caùc thanh ghi, ñieàu khieån ALU vaø ñaùp öùng caùc yeâu caàu cuûa tín hieäu ñieàu khieån beân ngoaøi. 2.2.5. Chöùc naêng caùc chaân cuûa Z80. a. Giôùi thieäu. Sô ñoà caùc chaân cuûa Z80 CPU ñöôïc moâ taû trong hình sau : 12
  13. 27 /M1 30 A0 31 A1 19 /MREQ 32 A2 20 /IORQ 33 A3 21 /RD 34 A4 22 /WR 35 A5 36 28 A6 /RFSH 37 A7 38 A8 18 /HALT 39 A9 40 A10 24 /WAIT 1 A11 /INT 16 Z80 CPU 2 3 A12 A13 17 4 /NMI A14 5 A15 /RESET 26 25 14 /BUSREQ D0 23 15 /BUSACK D1 12 D2 6 8 D3 /CLK 7 D4 11 +5 V 9 29 D5 GND 10 D6 13 D7 SÔ ÑOÀ CHAÂN Z80 13
  14. b. Chöùc naêng caùc chaân: • A15 ÷A0: Bus ñòa chæ (out put, active high, 3 traïng thaùi), A15 ÷A0 taïo thaønh bus ñòa chæ 16 bit. Bus ñòa chæ cung caáp ñòa chæ cho boä nhôù ñeå trao ñoåi data (leân ñeán 64 Kbyte) vaø cho thieát bò I/O. • Busack: Bus acknowledge (output, active low) baùo cho thieát bò yeâu caàu bieát ñòa chæ bus, data bus vaø caùc tín hieäu ñieàu khieån: /MREQ, /IORQ, /RD, /WR ñaõ ôû traïng thaùi trôû khaùng cao. Maïch ngoaøi coù theå duøng nhöõng ñöôøng naøy ngay luùc naøy. • /BUSREQ: Bus request (input, active low) bus request coù ñoä öu tieân cao hôn /NMI vaø noù luoân ñöôïc nhaän dieän vaøo cuoái chu kyø maùy hieän taïi. /Busreq ñoøi hoûi address bus, data bus vaø caùc tín hieäu ñieàu khieån: /MREQ, /IORQ, /RD, /WR phaûi ôû traïng thaùi trôû khaùng cao ñeå caùc thieát bò khaùc coù theå ñieàu khieån caùc ñöôøng naøy. Bus request thöôøng ñöôïc noái vaøo coång OR vaø yeâu caàu ñieän trôû keùo leân beân ngoaøi cho caùc öùng duïng kieåu naøy. • D7 ÷ D0: Data bus (input / output, active high, 3 traïng thaùi) D7 ÷ D0 taïo thaønh data bus 8 bit hai chieàu, söû duïng ñeå trao ñoåi data vôùi boä nhôù vaø I/O. • /HALT: Halt (output, active low) baùo raèng CPU ñang thöïc thi 1 leänh Halt vaø seõ chôø 1 trong hai tín hieäu: /NMI hoaëc /INT (vôùi mask cho pheùp) tröôùc khi söï ñieàu khieån ñöôïc khoâi phuïc. Trong thôøi gian Halt, CPU thöïc thi caùc leänh NOP ñeå duy trì vieäc laøm töôi boä nhôù. • /INT: Interrup request (input, active low) Interrup request ñöôïc thieát bò I/O phaùt ra. CPU chaáp nhaän yeâu caàu ngaét taïi thôøi ñieåm cuoái cuûa leänh hieän taïi neáu ñöôïc phaàn meàm cho pheùp. /INT thöôøng ñöôïc noái vaøo caùc coång OR vaø caàn moät trôû keùo leân cho caùc öùng duïng loaïi naøy. • /IORQ: Input/ Output Request (output, active low, 3 traïng thaùi) baùo nöûa thaáp cuûa address bus giöõ 1 ñòa chæ I/O hôïp leä cho hoaït ñoäng ñoïc hay ghi I/O. /IORQ cuõng ñöôïc phaùt ñoàng thôøi vôùi /M1 trong 1 chu kyø coâng nhaän ngaét ñeå baùo raèng 1 vertor ñaùp öùng ngaét coù theå ñöôïc ñaët leân data bus. • /M1: Machine cycle one (output, active low) /M1 cuøng vôùi /MREQ baùo raèng chu kyø maùy hieän taïi laø chu kyø laáy maõ leänh. /M1 cuøng vôùi /IORQ baùo cho bieát raèng ñang ôû chu kyø coâng nhaän ngaét. • /MREQ: Memory request (output, active low, 3 traïng thaùi) /MREQ baùo raèng address bus ñang giöõ moät ñòa chæ hôïp leä cho vieäc ñoïc ghi boä nhôù. • /NMI: Non Maskable Interrup (input, tích cöïc caïnh xuoáng) /NMI coù ñoä öu tieân cao hôn /INT. /NMI luoân luoân ñöôïc chaáp nhaän taïi chu kyø cuoái cuûa leänh hieän haønh, ñoäc laäp vôùi traïng thaùi cuûa Flip-Flop interrupt vaø töï ñoäng ñöa CPU ñeán vò trí 0066h. • /RD: Read (output, active low, 3 traïng thaùi) baùo raèng CPU muoán ñoïc data töø boä nhôù hay thieát bò I/O. Thieát bò I/O ñöôïc chæ ñònh hay boä nhôù seõ duøng tín hieäu naøy ñeå ñöa data leân data bus. • /RESET: Reset (input, active low) /RESET khôûi ñoäng CPU nhö sau: reset IFF1 & IFF2 xoùa PC vaø caùc thanh ghi I & R, ñaët traïng thaùi interrupt ñeán cheá ñoä 0. Trong thôøi gian reset, addr bus vaø data bus seõ ôû traïng thaùi trôû khaùng cao vaø taát caû caùc ñöôøng ñieàu khieån output seõ ôû traïng thaùi khoâng tích cöïc. Chuù yù raèng ñöôøng /RESET phaûi active ít nhaát laø 3 chu kyø xung clock tröôùc khi hoaït ñoäng reset hoaøn taát. • /RFSH: Refresh (output, active low) /RFSH cuøng vôùi /MREQ baùo raèng 7 bit thaáp cuûa ñöôøng addr coù theå ñöôïc duøng laøm ñòa chæ laøm töôi cho boä nhôù RAM ñoäng. • /WAIT: Wait (input, active low) /WAIT baùo cho CPU boä nhôù ñöôïc chæ ñònh hay thieát bò I/O chöa saün saøng cho vieäc truyeàn data. CPU tieáp tuïc ôû traïng thaùi chôø. Vieäc keùo daøi traïng thaùi /WAIT coù theå ngöng vieäc laøm töôi cho boä nhôù RAM ñoäng. 14
  15. • /WR: Write (output, active low, 3 traïng thaùi) /WR baùo data bus ñang giöõ 1 giaù trò data hôïp leä ñeå ñöa vaøo boä nhôù ñöôïc chæ ñònh hoaëc vuøng I/O. • /CLK: Clock (input). 15
  16. 2.2.6. Caùc giaûn ñoà thôøi gian. a. Giôùi thieäu. Z80 CPU thi haønh leänh theo töøng böôùc caên baûn goàm: Ñoïc vaø ghi boä nhôù Ñoïc vaø ghi thieát bò I/O Ñaùp öùng ngaét Taát caû leänh laø taäp hôïp caùc hoaït ñoäng cô baûn. Moãi hoaït ñoäng caên baûn coù theå chieám töø 3 ñeán 6 chu kyø clock ñeå hoaøn taát hoaëc chuùng coù theå ñöôïc keùo daøi ñeå ñoàng boä toác ñoä giöõa CPU vôùi thieát bò beân ngoaøi. Chu kyø Clock caên baûn ñöôïc xem nhö laø chu kyø T vaø hoaït ñoäng caên baûn ñöôïc xem nhö laø chu kyø M. Hình 3-1 minh hoïa moät chu kyø leänh cô baûn. Löu yù raèng leänh naøy goàm 3 chu kyø maùy ( M1,M2 vaø M3). Chu kyø maùy ñaàu tieân cuûa baát kyø leänh naøo laø chu kyø laáy maõ leänh (daøi 4, 5 hay 6 chu kyø T tröø khi bò keùo daøi bôûi tín hieäu Wait). Chu kyø laáy leänh (M1) ñöôïc duøng ñeå laáy maõ leänh seõ ñöôïc thi haønh. Chu kyø maùy sau chuyeån data giöõa CPU vaø boä nhôù hay thieát bi I/O vaø chuùng coù theå coù töø 3 ñeán 5 chu kyø T (tröø khi bò keùo daøi bôûi traïng thaùi Wait ñeå ñoàng boä vôùi toác ñoä thieát bò beân ngoaøi). Ñoaïn sau ñaây moâ taû vieäc ñònh thôøi (xaûy ra trong baát kyø chu kyø maùy naøo). Trong khoaûng thôøi gian T2 vaø moãi TW sau ñoù, CPU laáy maãu ñöôøng Wait taïi söôøn xuoáng cuûa xung clock. Neáu ñöôøng Wait ñöôïc tích cöïc taïi thôøi ñieåm naøy, moät traïng thaùi Wait khaùc seõ ñöôïc theâm vaøo trong chu kyø sau. Duøng kyõ thuaät naøy thì vieäc ñoïc coù theå keùo daøi ñeå phuø hôïp vôùi thôøi gian truy xuaát cuûa baát kyø kieåu thieát bò boä nhôù naøo. Chu kyø T /Clk T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 Chu kyø maùy M1 Ñoïc boä nhôù M2 Ghi boä nhôù M3 Chu kyø leänh Hình 3 -1 : Giaûn ñoà thôøi gian cô baûn b. Laáy leänh. Hình 3-2 laø giaûn ñoà thôøi gian cuûa chu kyø M1 (laáy maõ leänh). PC ñöôïc ñaët treân bus ñòa chæ taïi ñieåm baét ñaàu cuûa chu kyø M1. Nöûa chu kyø clock sau ñoù tín hieäu /MREQ ñöôïc tích cöïc. Taïi thôøi ñieåm naøy ñòa chæ tôùi boä nhôù coù ñuû thôøi gian ñeå oån ñònh do ñoù caïnh xuoáng cuûa /MREQ coù theå ñöôïc duøng nhö laø moät tín hieäu cho pheùp boä nhôù RAM ñoäng. Ñöôøng /RD seõ tích cöïc ñeå chæ ra raèng data ñöôïc ñoïc töø boä nhôù seõ ñöôïc ñöa leân data bus. CPU laáy maãu data töø boä nhôù treân bus data taïi söôøn leân xung Clock cuûa chu kyø T3 vaø CPU duøng caïnh leân naøy ñeå taét tín hieäu /RD vaø /MREQ. Nhö vaäy, data ñaõ saün saøng ñöôïc CPU laáy maãu tröôùc khi tín hieäu /RD trôû thaønh khoâng tích cöïc. Taïi T3, T4 cuûa chu kyø laáy leänh ñöôïc duøng ñeå laøm töôi boä nhôù RAM ñoäng. (CPU duøng thôøi gian naøy ñeå giaûi maõ vaø thöïc thi caùc leänh khaùc ñaõ ñöôïc laáy veà, do ñoù seõ khoâng coù hoaït ñoäng naøo khaùc ñöôïc 16
  17. thöïc hieän trong thôøi gian naøy). Trong suoát T3 vaø T4, baûy bit thaáp cuûa ñöôøng ñòa chæ chöùa ñòa chæ laøm töôi boä nhôù RAM ñoäng. Chuù yù raèng tín hieäu /RD khoâng ñöôïc sinh ra trong suoát thôøi gian laøm töôi ñeå traùnh data töø boä nhôù khaùc bò ñaåy leân data bus. Tín hieäu /MREQ seõ ñöôïc söû duïng trong suoát thôøi gian laøm töôi. Chu kyø M1 T1 T2 T3 T4 T1 /Clk A15÷A0 PC Refresh address /MREQ /RD /WAIT /M1 D7÷D0 IN /RFSH Hình 3-2: Chu kyø laáy maõ leänh c. Ñoïc vaø ghi boä nhôù. Hình 3-3 minh hoïa giaûn ñoà thôøi gian cuûa chu kyø ñoïc, ghi boä nhôù. Chu kyø naøy thöôøng ñöôïc keùo daøi trong 3 chu kyø xung clock tröø phi coù traïng thaùi ñôïi ñöôïc boä nhôù yeâu caàu qua tín hieäu /WAIT. Tín hieäu /MREQ vaø tín hieäu /RD ñöôïc duøng gioáng nhö trong chu kyø laáy leänh. Trong tröôøng hôïp ghi boä nhôù, /MREQ cuõng trôû thaønh tích cöïc khi bus ñòa chæ ñaõ ôû traïng thaùi oån ñònh do ñoù noù coù theå ñöôïc duøng tröïc tieáp nhö laø tín hieäu choïn chip cho boä nhôù RAM ñoäng. Ñöôøng /WR tích cöïc khi döõ lieäu treân data bus ñaõ ôû traïng thaùi oån ñònh do ñoù noù coù theå ñöôïc duøng tröïc tieáp nhö laø xung /WR cho caùc boä nhôù baùn daãn. 17
  18. Chu kyø ñoïc boä nhôù Chu kyø ghi boä nhôù T1 T2 T3 T1 T2 T3 /Clk A15÷A0 MEMORY ADDR MEMORY ADDR /MREQ /RD /WR D7÷D0 I DATA OUT /WAIT Hình 3-2: Chu kyø ñoïc ghi boä nhôù. d. Chu kyø nhaäp/xuaát. Hình 3-4 minh hoïa hoaït ñoäng ñoïc hay ghi I/O. Chuù yù raèng trong thôøi gian hoaït ñoäng I/O thì moät traïng thaùi ñôïi ñöôïc töï ñoäng theâm vaøo. Lyù do laø trong quaù trình hoaït ñoäng I/O, thôøi gian töø khi tín hieäu /IORQ trôû neân tích cöïc cho ñeán khi CPU laáy maãu ñöôøng /WAIT thì raát ngaén do ñoù neáu khoâng theâm traïng thaùi naøy vaøo thì khoâng ñuû thôøi gian ñeå coång I/O giaûi maõ ñòa chæ cuûa noù. Ngoaøi ra, neáu khoâng coù traïng thaùi ñôïi thì seõ khoù khaên trong vieäc thieát keá caùc linh kieän I/O loaïi MOS ñeå coù theå hoaït ñoäng töông öùng vôùi toác ñoä CPU. Trong thôøi gian xaûy ra traïng thaùi ñôïi, tín hieäu /WAIT luoân ñöôïc laáy maãu. Trong quaù trình ñoïc I/O, ñöôøng /RD ñöôïc duøng ñeå cho pheùp coång ñöôïc choïn ñöa data leân data bus gioáng nhö trong tröôøng hôïp ñoïc boä nhôù. Tröôøng hôïp ghi I/O, ñöôøng /WR ñöôïc duøng nhö laø Clock tôùi coång I/O. 18
  19. T1 T2 TW T3 T1 /Clk A15÷A0 PORT ADDRESS /IORQ /RD CHU KYØ D7÷D0 ÑOÏC IN /WAIT /WR CHU KYØ D7÷D0 GHI OUT Hình 3-4: Chu kyø xuaát / nhaäp. e. Chu kyø Bus Req/Ack. Hình 3-5 minh hoïa giaûn ñoà thôøi gian cuûa chu kyø bus request/ack. Tín hieäu /BUSREQ ñöôïc CPU laáy maãu ôû caïnh leân cuûa chu kyø Clock cuoái trong moät chu kyø maùy. Neáu tín hieäu /BUSREQ tích cöïc, CPU seõ ñaët ñòa chæ, döõ lieäu vaø caùc tín hieäu ñieàu khieån ôû traïng thaùi trôû khaùng cao taïi caïnh leân cuûa xung Clock keá tieáp. Taïi thôøi ñieåm ñoù, thieát bò beân ngoaøi baát kyø coù theå kieåm soaùt bus ñeå truyeàn döõ lieäu giöõa boä nhôù vaø thieát bò I/O ( ví duï DMA ). Thôøi gian toái ña cho CPU ñaùp öùng bus request baèng ñoä daøi cuûa 1 chu kyø maùy vaø thieát bò ñieàu khieån ngoaøi coù theå duy trì söï ñieàu khieån cuûa bus trong nhieàu chu kyø Clock theo yeâu caàu. Neáu duøng chu kyø DMA daøi vaø boä nhôù ñoäng ñöôïc duøng, thieát bò ñieàu khieån ngoaøi phaûi thöïc hieän chöùc naêng laøm töôi. Tröôøng hôïp naøy chæ xaûy ra khi moät khoái döõ lieäu raát lôùn ñöôïc truyeàn döôùi söï ñieàu khieån cuûa DMA. Cuõng phaûi ñeå yù trong suoát chu kyø bus request, CPU khoâng theå bò ngaét bôûi tín hieäu /NMI hay /INT. 19
  20. CHU KYØ M BAÁT KYØ TRAÏNG THAÙI COÙ THEÅ CUÛA BUS Traïng thaùi T cuoái Tx Tx Tx T1 /Clk /BUSRQ Maãu Maãu Maãu /BUSACK A15÷A0 D7÷D0 Floatin /MERQ /RD, /WR /IORQ /RFSH Hình 3-5: CHU KYØ BUS REQ/ACK f. Chu kyø interrupt req/ack Hình 3-6 minh hoïa giaûn ñoà thôøi gian keát hôïp vôùi moät chu kyø ngaét quaõng. Tín hieäu ngaét /INT ñöôïc CPU laáy maãu ôû caïnh leân cuûa clock cuoái taïi ñieåm keát thuùc cuûa leänh baát kyø. Tín hieäu seõ khoâng ñöôïc chaáp nhaän neáu F-F ñieàu khieån ngaét khoâng ñöôïc phaàn meàm trong CPU khôûi taïo leân möùc logic ‘1’ hay neáu tín hieäu /BUSREQ laø tích cöïc. Khi tín hieäu ñöôïc chaáp nhaän, chu kyø ñaëc bieät M1 ñöôïc taïo ra. Trong suoát chu kyø ñaëc bieät M1, tín hieäu /IORQ trôû neân tích cöïc ( thay vì /MREQ bình thöôøng ) ñeå chæ ra raèng thieát bòï yeâu caàu ngaét coù theå ñaët 1 vector 8 bit leân bus döõ lieäu. Chuù yù raèng hai traïng thaùi ñôïi ñöôïc theâm vaøo chu kyø naøy moät caùch töï ñoäng. 20

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản