Ki Thuat Vxl

  • Uploaded by: le thanh
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ki Thuat Vxl as PDF for free.

More details

  • Words: 7,171
  • Pages: 10
CHÆÅNG 8 VAÌ O /RA DÆÎ LIÃÛ U BÀÒ NG DMA 1. Nguyãn tàõ c cuí a viãû c trao âäø i dæî liãû u våï i thiãú t bë ngoaû i vi bàò ng caï ch thám nháû p træû c tiãú p vaì o bäü nhåï (DMA) . Trong caï c caï ch âiãö u khiãø n viãû c trao âäø i dæî liãû u giæî a thiãú t bë ngoaû i vi vaì hãû vi xæí lyï bàò ng caï ch thàm doì traû ng thaï i sàô n saì ng cuí a thiãú t bë ngoaû i vi hay bàò ng caï ch ngàõ t bäü vi xæí lyï âaî âæåc noï i âãú n åí caï c chæång træåï c , dæî liãû u thæåì ng âæåü c chuyãø n tæì bäü nhåï qua bäü vi xæí lyï âãø räö i tæì âoï ghi vaì o thiãú t bë ngoaû i vi hoàû c ngæåü c laû i , tæì thiãú t bë ngoaû i vi noï âæåü c âoü c vaì o bäü vi xæí lyï âãø räö i tæì âoï âæåü c chuyãø n âãú n bäü nhåï . vç thãú täú c âäü trao âäø i dæî liãû u phuû thuäü c ráú t nhiãö u vaì o täú c âäü thæû c hiãû n cuí a caï c lãû nh MOV .IN vaì OUT cuí a bäü vi xæí lyï vaì do âoï viãû c trao âäø i dæî liãû u khäng thãø tiãú n haì nh nhanh âæåc . Trong thæû c tãú coï nhæî ng khi ta cáö n trao âäø i dæî liãû u tháû t nhanh våï i thiãú t bë ngoaû i vi : nhæ khi cáö n âæa dæî liãû u hiãû n thë ra maì n hçnh hoàû c trao âäø i dæî liãû u våï i bäü âiãö u khiãø n âéa .trong caï c træåì ng håü p âoï ta cáö n coï khaí nàng ghi /âoü c dæî liãû u træû c tiãú p våï i bäü nhåï (diret memory acces .DMA- thám nháû p vaì o bäü nhåï træû c tiãú p khäng thäng qua CPU) thç måï i âaï p æï ng âæåü c yãu cáö u vãö täú c âäü trao âäø i dæî liãû u .âãø laì m âæåü c âiãö u naì y caï c hãû vi xæí lyï noï i chung âãö u phaí i duì ng thãm maû ch chuyãn duû ng âãø âiãö u khiãø n viãû c thám nháû p træû c tiãú p vaì o bäü nhåï ( dircet memory access con troller.DMAC) Coï thãø láú y mäü t vê duû cuû thãø âãø minh hoaû âiiãuì naì y .trong khi mäü t maû ch DMAC nhæ 8237A cuí a inter coï thãø âiãö u khiãø n viãû c chuyãø n mäü t byte trong mäü t maí ng dæî liãû u tæì bäü nhåï ra thiãú t bë ngoaû i vi chè hãú t 4 chu kyì âäö ng häö thç bäü vi xæí lyï 8088 phaí i laì m hãú t cåî 4 chu kyì : ; säú chu kyì âäö ng häö

LAP: MOV AL, (SI );10 OUT PORT ,AL ; 10 INC SI ; 2 LOOP LAP ; 17 ; CÄÜ NG:39 chu kyì Âãø häù tråü cho viãû c trao âäø i dæî liãû u våï i thiãú t bë ngoaû i vi bàò ng caï ch thám nháû p træû c tiãú p vaì o bäü nhåï ,taû i mäù i vi maû ch CPU thæåì ng täö n taû i chán yãu cáö u treo HOLD âãø thiãú t bë ngoaû i vi , mäù i khi coï yãu cáö u duì ng buï cho viãû c trao âäø i dæî liãû u våï i bäü nhåï thç thäng qua chán naì y maì baï o cho CPU biãú t . âãú n læåü t CPU , khi nhán âæåü c yãu cáö u treo thç noï tæû treo lãn (tæû taï ch ra khoí i hãû thäú ng bàò ng caï ch âæa caï c bit vaì o traû ng thaï i tråí khaï ng cao )vaì âæa xung HLDA ra ngoaì i âãø thäng baï o CPU cho pheï p sæí duû ng buï . Så âäö khäú i cuí a mäü t hãû vi xæí lyï coï khaí nàng trao âäø i dæî liãû u theo kiãø u DMA âæåü c thãø hiãû n trãn hçnh 8.1

Ta nháû n tháú y trong hãû thäú ng naì y , khi CPU tæû taï ch ra khoí i hãû thäú ng bàû ng tæû treo (æï ng våï i vë trê hiãû n thåì i cuí a caï c cäng tàõ c chuyãø n maû ch )âãø trao quyãö n sæí duû ng bus cho DMAC phaí i chëu traï ch nhiãû m âiãö u khiãø n toaì n bäü hoaû t âäü ng trao âäø i dæî liãû u cuí a hãû thäú ng . âãø laì m âæåü c âiãö u âoï DMAC phaí i coï khaí nàng taû o ra âæåü c caï c tên hiãû u âiiãuì khiãø n cáö n thiãú t giäú ng nhæ caï c tên hiãû u cuí a CPU vaì baí n thán noï phaí i laì mäü t thiãú t bë láû p trçnh âæåü c (âãø CPU “dàn doì ” noï bàò ng

caï ch âæa vaì o caï c tæì âiãö u khiãø n træåï c khi noï coï thãø hoaû t âäü ng âäü c láû p ). Qua trinh hoaû t âäü ng cuí a hãû thäú ng trãn coï thãø âæåü c toï m tàõ t nhæ sau: Khi thiãú t bë ngoaû i vi coï yãu cáö u trao âäø i dæî liãû u kiãø u DMA våï i bäü nhåï , noï âæa yãu cáö u DRQ=1 âãú n DMAC, DMAC seî âæa yãu cáö u treo HRQ=1 âãú n chán HOLD cuí a CPU . nhán âæåü c yãu cáö u treo , CPU seî treo caï c bus cuí a mçnh vaì traí låì i cháú p nháû n treo qua tên hiãû u HLDA=1 âãú n chán HACK cuí a DMAC ,DMAC seî thäng baï o cho thiãú t bë ngoaû i vi thäng qua tên hiãû u DACK=1 laì noï cho pheï p thiãú t bë ngoaû i vi trao âäø i dæî liãû u kiãø u DMA .khi quaï trçnh DMA kãú t thuï c thç DMAC âæa ra tên hiãû u HRQ=0. Trong thæû c tãú täö n taû i 3 kiãø u trao âäø i dæî liãû u bàò ng caï ch thám nháû p træû c tiãú p vaì o bäü nhåï nhæ sau: + Treo CPU mäü t khoaí ng thåì i gian âãø trao âäø i caí maí ng dæî liãû u . +treo CPU âãø trao âäø i tæì ng byte. +táû n duû ng thåì i gian khäng duì ng bus âãø trao âäø i dæî liãû u . ta seî láö n luåü t giåï i thiãû u qua caï c kiãø u trao âäø i dæî liãû u naì y . • Trao âäø i caí mät maí ng dæî liãû u Trong chãú âäü naì y CPU bë treo trong suäú t quaï trçnh trao âäø i maí ng dæî liãû u .Chãú âäü naì y âæåü c duì ng khi ta coï nhu cáö u trao âäø i dæî liãû u våï i äø âéa hoàû c âæa dæî liãû u ra hiãø n thë . caï c bæåï c thuí tuû c âãø chuyãø n mäü t maí ng dæî liãû u tæì bäü nhåï ra thiãú t bë ngoaû i vi: 1.CPU phaí i ghi tæì âiãö u khiãø n vaì tæì chãú âäü laì m viãû c vaì o DMAC âãø quy âënh caï ch thæï c laì m viãû c , âëa chè âáö u cuí a maí ng nhåï , âäü daì i cuí a maí ng nhåï ,... 2.khi thiãú t bë ngoaû i vi co yãu cáö u trao âäø i dæî liãû u , noï âæa DRQ =1 âãú n DMAC .

3.DMAC âæa ra tên hiãû u HRQ âãú n chán HOLD cuí a CPU âãø yãu cáö u treo CPU .tên hiãû u HOLD phaí i åí mæï c cao cho âãú n hãú t quaï trçnh trao âäø i dæî liãû u . 4. nháû n âæåü c yãu cáö u treo ,CPU kãú t thuï c chu kyì bus hiãû n taû i , sau doï noï treo caï bus cuí a mçnh vaì âæa ra tên hiãû u HLDA baï o cho DMAC âæåü c toaì n quyãö n sæí duû ng bus. 5.DMAC âæa ra xung DACK âãø baï o cho thiãú t bë ngoaû i vi biãú t laì coï thãø bàõ t âáö u trao âäø i dæî liãû u . 6.DMAC bàõ t âáö u chuyãø n dæî liãû u tæì bäü nhåï ra thiãú t bë ngoaû i vi bàò ng caï ch âæa âëa chè cuí a byte âáö u ra bus âëa chè vaì âæa ra tên hiãû u MEMR=O âãø âoü c mäü t byte tæì bäü nhåï ra bus dæî liãû u .tiãú p âoï DMAC âæa ra tên hiãû u IOW =0 âãø ghi âæa dæî liãû u ra thiãú t bë ngoaû i vi.DMAC sau âoï giaí m bäü âãú m säú byte coì n phaí i chuyãø n , cáû p nháû t âëa chè cuí a byte cáö n âoü c tiãú p , vaì làû p laû i caï c âäü ng taï c trãn cho tåï i khi hãú t säú âãú m (TC). 7. quaï trçnh DMA kãú t thuï c , DMAC cho ra tên hiãû u HRQ=0 âãø baï o cho CPU biãú t âãø CPU daì nh laû i quyãö n âiãö u khiãø n hãû thäú ng . • Treo CPU âãø trao âäø i tæì ng byte . Trong caï ch trao âäø i dæî liãû u naì y CPU khäng bë treo láu daì i trong mäü t láö n nhæng thènh thoaí ng laû i bë treo trong khoaí ng thåì i gian ráú t ngàõ n âuí âãø trao âäø i 1 byte dæî liãû u (CPU bë láú y máú t mäü t säú chu kyì âäö ng häö ). Do bë láú y âi mäü t säú chu kyì âäö ng häö nhæ váû y lãn täú c âäü thæû c hiãû n mäü t cäng viãû c naì o âoï cuí a CPU chè bë suy giaí m chæï khäng dæì ng laû i . caï ch hoaû t âäü ng cuî ng tæång tæû nhæ pháö n træåï c , chè coï âiãö u mäù i láö n DMAC yãu cáö u treo CPU thi chè coï mäü t byte âæåü c trao âäø i • Táû n duû ng thåì i gian CPU khäng duì ng bus âãø trao âäø i dæî liãû u . Trong caï ch trao âäø i dæî liãû u naì y , ta phaí i coï caï c logic phuû bãn ngoaì i cáö n thiãú t âãø phaï t hiãû n ra caï c chu kyì xæí lyï näü i bäü cuí a

CPU (khäng duì ng âãú n bus ngoaì i )vaì táû n duû ng caï c chu kyì âoï vaì o viãû c trao âäø i dæî liãû u giæî a thiãú t bë ngoaû i vi våï i bäü nhåï . Trong caï ch laì m naì y thç DMAC vaì CPU luán phiãn nhau sæí duû ng bus vaì viãû c thám nháû p træû c tiãú p bäü nhåï kiãø u naì y khäng aí nh hæåí ng gç tåï i hoaû t âäü ng bçnh thæåì ng cuí a CPU. 2.DMAC 8237A -5 trong hãû vi xæí lyï 8088. 2.1.tên hiãû u HOLD vaì HLDA trong CPU 8088. Hai tên hiãû u duì ng âãø yãu cáö u treo vaì traí låì i cháú p nháû n yãu cáö u treo trong chãú âäü MIN cuí a CPU 8088 laì HLDA.quan hãû giæî a hai tên hiãû u âoï âæåü c thãø hiãû n trãn hçnh 8.2.

Tên hiãû u yãu cáö u treo HOLD âæåü c laï y máù u taû i sæåì n lãn cuí a .xung âäö ng häö træåï c chu kyì T4 hoàû c T1. Khi nháû n âæåü c yãu cáö u treo .CPU kãú t thuï c chu kyì bus hiãû n taû i , âæa ra tên hiãû u HLDA vaì treo caï c tên hiãû u cuí a bus .busd vaì bus c (træì tên hiãû u ALE=O)âãø nhæåì ng quyãö n sæí duû ng caï c bus naì y choDMAC . Cáö n læu yï ràò ng âáö u vaì o HOLD coï mæï c æu tiãn cao hån caï c âáö u vaì o yãu cáö u ngàõ t INTR vaì MNI nhæng laû i tháú p hån so våï i âáö u vaì o RESET. Âãø âaí m baí o viãû c âäö ng bäü tên hiãû u yãu cáö u treo cuí a thiãú t bë ngoaû i vi våï i tên hiãû u âäö ng häö cuí a hãû thäú ng træåï c khi âæa vaì o chán HOLD cuí a 8088 ngæåì i ta thæåì ng duì ng maû ch trãn hçnh 8.3.

2.2. Maû ch DMAC 8237A -5cuí a Inter Træåï c khi trçnh baì y kyî vãö maû ch DMAC 8237A cuí a Inter ta noï i qua vãö caï c thay âäø i cáö n coï trong nhoï m tên hiãû u âiãö u khiãø n ghi/âoü c cuí a hãû vi xæí lyï våï i CPU 8088 åí chãú âäü MIN âãø sæí duû ng âæåü c maû ch 8237A laì m DMAC Nhæ trãn hçnh 8.1 âaî thãø hiãû n tæång âäú i roî , âãø thãø hiãû n âæåü c chæï c nàng DMA trong hãû ,bus âiãö u cuí a hãû vi xæí lyï 8088 phaí i âæåü c thay âäø i chuï t êt âãø coï âæåü c caï c tên hiãû u cáö n thiãú t cho DMAC vaì caï c bäü pháû n lkhaï c hoaû t âäü ng .âoï chinhd laì viãû c caï c tên hiãû u RD.WD vaì IO/M âæåü c sæí duû ng âãø taoü caï c tên hiãû u âiãö u khiãø n måï i IOR.IOW .MEMR.MEMW.tæång thêch våï i caï c tên hiãû u cuí a DMAC 8237A -5. Hçnh 8.4 trçnh baì y mäü t khaí nàng taû o ra caï c tên hiãû u âiãö u khiãø n nhæ váû y duì ng maû ch däö n kãnh 74LS257 . trong 74LS 257 gäö m 4 maû ch däö n kãnh 2 âæåì ng . caï c tên hiãû u RD.WD vaì IO/M âæåü c bäú trê sao cho khi âáö u vaì o cuí a maû ch 74LS 257 laì B=1 thç ta laì m viãû c våï i thiãú t bë ngoaû i nháû p våï i caï c xung IORvaì IOW ,ngæåü c laû i khi B=0 thç ta laì m viãû c våï i bäü nhåï våï i caï c xung MEMR.MEMW. Trãn hçnh 8.4 ta coì n tháú y tên hiãû u AEN cuí a DMAC cuî ng âæåü c duì ng âãø khoaï caï c tên hiãû u âiãö u khiãø n måï i do CPU taû o ra khi DMAC âaî nàõ m quyãö n âiãö u khiãø n bus.

Trong chãú âäü truyãö n kiãø u âoü c thç dæî liãû u âæåü c âoü c tæì bäü nhåï räö i âæa ra thiãt bë ngoaû i vi. Trong chãú âäü truyãö n kiãø u ghi thç dæî liãû u âæåü c âoü c tæì thiãú t bë ngoaû i vi räö i âæa vaì o bäü nhåï . khi 8237A -5 laì m viãû c åí chãú âäü kiãø m tra thç tuy âëa chè âæåü c âæa âãú n bäü nhåï nhæng DMAC khäng taû o ra caï c xung âiãö u khiãø n âãø tiãú n haì nh caï c thao taï c ghi/âoü c bäü nhåï hay thiãú t bë ngoaû i vi . Ngoaì i ra maû ch 8237 A-5 coì n häù tråü viãû c trao âäø i dæî liãû u giæa caï c vuì ng khaï c nhau cuí a bäü nhåï vaì cuî ng chè riãng trong chãú âäü laì m viãû c naì y , dæî liãû u cáö n trao âäø i måï i phaí i di qua DMAC nhæng våï i täú c âäü cao hån khi âi qua CPU nhæng våï i täú c âäü cao hån khi âi qua CPU (trong træåì ng håü p naì y ta coï thãø âoü c âæåü c dæî liãû u âoï trong thanh ghi taû m). Så âäö khäú i cáú u truï c bãn trong cuí a maû ch 8237A -5 âæåü c thãø hiãû n trãn hçnh 8.5 Maû ch DMAC 8237A -5 chæï a 4 kãnh trao âäø i dæî liãû u DMA våï i mæï c æu tiãn láp trçnh âæåü c .MAC 8237A -5 coï täú c âäü truyãö n 1 MB/s cho mäù i kãnh , mäü t kãnh co thãø truyãö n mät maí ng coï âäü daì i 64KB . • Giåï i thiãû u caï c chán tên hiãû u cuí a 8237A -5 +CLK[I]:tên hiãû u âäö ng häö cuí a maû ch .âãø maû ch coï thãø laì m viãû c täú t våï i hãû 8088 thç tên hiãû u CLK cuí a hãû thäú ng thæåì ng âæåü c âaí o træåï c khi âæa vaì o CLK cuí a 8237A-5

+CS {I}:TÊN HIÃÛ U CHOÜ N VOÍ CUÍ A 8237a-5 chán naì y thæåì ng âæåü c näú i våï i âáö u ra cuí a bäü giaí i maî âëa chè .bäü giaí i maî âëa chè naì y khäng cáö n duì ng âãú n âáö u vaì o IO/M vç baí n thán DMAC âaî âæåü c cung cáú p caï c xung âiãö u khiãø n måï i cuí a hãn thäú ng . +RESET{I}:tên hiãû u näú i våï i tên hiãû u khåí i âäü ng cuí a hãû thäú ng . khi maû ch 8237A -5 ÂÆÅÜ C KHÅÍ I ÂÄÜ NG RIÃNG THANH GHI MÀÛ T LAÛ ÂÆÅÜ C LÁÛ P COÌ N CAÏ C BÄÜ PHÁÛ N SAU ÂAY BË XOAÏ :  thanhghi lãû nh  thanh ghi traû ng thaï i  thanh ghi yãu cáö u DMA  thanh ghi taû m thåì i  maû ch láû t byte âáö u /byte cuäú i (Firsst/Last)

+READY{I}:tên hiãû u sàô n saì ng , näú i våï i READY cuí a hãû thäú ng âãø gáy ra caï c chu kyì âåü i âäú i våï i caï c thiãú t bë ngoaû i vi vaì caï c bäü nhåï cháû m . +HLDA {I}:tên hiãû u baï o cháú p nhán yãu cáö u treo tæì CPU +-DRQ3{I}:caï c tên hiãû u yãu cáö u treo tæì thiãú t bë ngoaû i vi . cæû c tênh cuí a caï c tên hiãû u naì y coï thãø láp trçnh âæåü c . sau khi khpåí i âäü ng caï c tên hiãû unaì y âæåü c âënh nghé a laì caï c tên hiãû u kêch hoaû t mæï c cao . +DBO-BD7{I,O}:tên hiãû u hai chiãö u näú i âãú n bus âëa chè vaì bus dæî lliãû u cuí a hãû thäú ng caï c tên hiãû u naì y âæåü c duì ng khi láp trçnh cho DMAC vaì khi DMAC hoaû t âäü ng caï c chán naì y chæï a 8 bit âëa chè cao A8-A15 cuí a maí ng nhåï dæî liãû u lëch cáö n chuyãø n . trong chãú âäü chuyãø n dæî liãû u giæî a caï c vuì ng cuí a bäü nhåï taû i caï c chán naì y coï caï c dæî liãû u âæåü c chuyãø n .

+IOR {I,O}VAÌ IOW{I,O}: laì caï c chán tên hiãû u hai chiãö u duì ng trong khi láû p trçnh cho DMAC vaì trong caï c chu kyì âoü c vaì ghi . +EOP{I,O}:LAÌ TÊN HIÃÛ U HAI CHIÃÖ U .KHI LAÌ ÂÁÖ U VAÌ O NOÏ ÂÆÅÜ C DUÌ NG ÂÃØ BÀÕ T BUÄÜ C DMAC kãú t thuï c quaï trçnh DMA .khi laì âáö u ra noï âæåü c duì ng âãø baï o cho bãn ngoaì i biãú t mäü t kãnh naì o âoï âaî chuyãø n xong säú byte theo yãu cáö u , luc nay noï thæåì ng duì ng nhæ mäü t yãu cáö u ngàõ t âãø CPU xæí lyï viãû c kãú t thuï c quaï trinh DMA +A0-A3{I,O}:laì caï c tên hiãû u hai chiãö u duì ng âãø choü n caï c thanh ghi trong 8237A 5 khi láû p trçnh vaì khi âoü c(âáö u vaì o), hoàû c âãø chuqaï 4 bit âëa chè tháú p nháú t cuí a âëa chè maí ng nhåï cáö n chuyãø n (âáö u ra) A4-A7[0]:caï c chán âãø chæï a 4 bêt âëa chè pháö n cao trong byte âëa chè tháú p cuí a âëa chè maí ng nhåï cáö n chuyãø n HRQ[0]:tên hiãû u yãu cáö u treo âãú n CPU. Tên hiãû u naì y thæåì ng âæåü c âäö ng bäü våï i tên hiãû u CLK cuí a hãû thäú ng räö i âæåü c âæa âãú n chán HOLD cuí a 8088. DACK0 DACK3[0]: laì caï c tên hiãû u traí låì i caï c yãu cáö u DMA cho caï c kãnh. Caï c tên hiãû u naì y coï thãø âæåü c láû p trçnh âãø hoaû t âäü ng theo mæï c tháú p hoàû c mæï c cao.sau khi khåí i âäü ng, caï c tê hiãû u naì y âæåü c âënh nghéa laì caï c xung têch cæû c tháú p. AEN[0]: tên hiãû u cho pheï p maû ch näú i vaì o DB0-DB7 chäú t láú y âëa chè cuí a vuì ng nhåï cáö n trao âäø i theo kiãø u DMA. Tên hiãû u naì y cuî ng cho pheï p cáú m caï c maû ch âãû m buï âëa chè vaì dæî liãû u hoàû c maû ch taû o tên hiãû u âiãö u khiãø n cuí a CPU näú i vaì o caï c buï tæån æï ng khi DMAC hoaû t âäü ng. ADSTB[0]: xung cho pheï p chäú t caï c bit âëa chè pháö n cao A8A15 coï màû t trãn DB0-DB7.

MEÍ M[0] vaì MEMÆ[0]: laì caï c chán tên hiãû u do DMAC taû o ra vaì duì ng khi âoü c/ghi bäü nhåï trong khi hoaû t âäü ng. Caï c thanh ghi bãn trong cuí a DMAC 8237A-5 Caï c thanh ghi bãn trong DMAC 8237A-5 âæåü c CPU 8088 choü n âãø laì m viãû c nhåì caï c bit âëa chè tháú p A0-A3. Baí ng 8.1 chè ra caï ch thæï c choü n ra caï c thanh ghi âoï . Caï c thanh ghi trong baí n trãn coï thãø âæåü c ghi.âcj hoàû c chè ghi vaì o vaì chuï ng chæï a caï c thäng tin khaï c nhau liãn quan âãú n caï ch thæï c laì m viãû c vaì caï c thäng säú cuí a mäù i kãnh DMA. Trong baí ng 8.2 vaì 8.3 liãtë kã caï c thanh ghi trãn theo caï c quan âiãø m æï ng duû ng khaï c nhau âãø dãù tra cæï u âëa chè cho chuï ng khi láû p trçnh våï i DMAC 8237A-5 Baí ng 8.1. Âëa chè caï c thanh ghi bãn trong cuí a 8237A5 Baí ng8.2. Âëa chè caï c thanh ghi trong âãø ghi/ âoü c âëa chè vaì ssäú tæì cáö n chuyãø n. Baí ng 8.3.Âëa chè caï c thanh ghi cho âiãö u khiãø n vaì traû ng thaï i. Ta seî giåï i thiãû u qua caï c âàû c âiãø m cuí a mäü t säú trong caï c thanh ghi kãø trãn. Thanh ghi âëa chè hiãû n thåì i: Âáy laì thanh ghi 16 bêt duì ng âãø chæï a âëa chè cuí a vuì ng nhåï phaí i chuyãø n.Mäù i kãnh coï riãng thanh ghi aì y âãø chæï a âëa chè .Khi 1 byte âæåü c truyãö n âi. Caï c thanh ghi naì y tæû däü ng tàng hay giaí m tuyì theo træåï c noï âæåü c láû p trçnh nhæ thãú naì o. Thanh ghi säú âãú m hiãû n thåì i: Thanh ghi 16 bêt naì y duì ng âãø chæï á säú byte maì kãnh phaí i truyãö n( nhiãö u nháú t laì 16KB). Mäù i kãnh coï thanh ghi säú byte cuí a mçnh. Caï c thanh ghi naì y âæåü c ghi bàò ng säú âãú m nhoí nháú t hån 1 so våï i säú byte thæû c chuyãø n.

Thanh ghi âëa chè cå såí vaì thanh ghi säú âãú m cå såí : Caï c thanh ghi naì y âæåü c duì ng âãø chæï a âëa chè vaì säú âeems cho mäù i kãnh khi chãú âäü tæû âäü ng khåí i âáö u âæåü c sæí duû ng. Trong chãú âäü naì y mäü t quaï trçnh DMA kãú t thuï c thç caï c thanh ghi âëa chè hiãû n thåì i vaì säú âãú m hiãû n thåì i âæåü c naû p laû i giaï trë cuí láú y tæì thanh ghi âëa chè cå såí vaì thanh ghi säú âãú m cå såí .. Khi caï c thanh ghi âëa chè hiãû n thåì i vaì säú âãú m hiãû n thåì i âæåü c láû p trçnh thç caï c thanh ghi âëa chè cå såí vaì thanh ghi säú âãú m cå såí cuî ng âæåü c láû p trçnh báú t kãø chãú däü tæû khåí i âáö u coï âæåü c sæí duû ng hay khäng. Thanh ghi lãû nh: Thanh ghi naì y duì ng âãø láû p trçnh cho DMAC. Noï bë xoaï khi khåí i âäü ng hoàû c khi ta sæí duû ng lãû nh xoaï toaì n bäü caï c thanh ghi. Daû ng thæï c cuí a thanh ghi lãû nh âæåü c biãø u diãø n trãn hçnh 8.6. Caï c bêt cuí a thanh ghi naì y quyãú t âënh caï c phæång thæï c laì m viãû c khaï c nhau cuí a 8237A-5. Ta seî giaí i thêch sau âáy yï nghéa cuí a caï c bit. Bit D0 cho pheï p DMAC duì ng kãnh 0 vaì kãnh 1 âãø chuyãø n dæî liãû u giæî a 2 vuì ng nhåï .Âëa chè cuí a byte dæî liãû u åí vuì ng âêch âæåü c chæï a trong thanh ghi âëa chè cuí a kãnh 1. Säú byte chuyãø n âæåü c âãø trong thanh ghi âãú m cuí a kãnh 1.Byte cáö n chuyãø n luï c âáö u âæåü c âoü c tæì vuì ng gäú c vaì o thanh ghi taû m âãø räö i tæì âoï noï âæåü c gæí i âãú n vuì ng âêch trong bæåï c tiãú p theo( hoaû t âäü ng nhæ lãû nh MOVSB nhæng våï i täú c âäü cao). Bit D1=1 duì ng âãø cho pheï p kãnh 0 giæî nguyãn âëa chè trong chãú âäü truyãö n giæî liãû u giæî a 2 vuì ng nhåï . Âiãö u naì y khiãú n cho toaì n bäü caï c ä nhåï vuì ng âêch âæåü c naû p cuì ng mäü t byte dæî liãû u. Bit D2 cho pheï p DMAC hoaû t âäü ng hay khäng. Bit D3 quyãú t âënh byte cáö n chuyãø n âæåü c truyãö n våï i 4hay 2 chu kç âäö ng häö .

Bit D4 cho pheï p choü n chãú âäü æu tiãn cäú âënh (kãnh 0 coï mæï c æu tiãn cao nháú t. Kãnh 3 coï mæï c æu tiãn tháú p nháú t) hoàû c chãú âoü æu tiãn luán phiãn( kãnh 0 luï c âáö u coï mæï c æu tiãn cao nháú t. Sau khi kãnh naì y âæåü c choü n âãø chuyãø n dæî liãû u thç noï âæåü c nháû n mæï c æu tiãn tháú p nháú t. Kãnh 1 laû i tråí thaì nh kãnh coï mæï c æu tiãn cao nháú t...) Bit D5 cho pheï p choü n thåì i gian ghibçnh thæåì ng hay keï o daì i cho tiãú t bë ngoaû i vi cháû m. Caï c bit D6 vaì D7 cho pheï p choü n cæû c tênh têch cæû c cuí a caï c xung DRQ0-DRQ4 vaì DACK0- DACK4.

+ thanh ghi chãú âäü : duì ng âàû t chãú âäü laì m viãû c cho caï c kãnh cuí a DMAC. Mäù i kãnh cuí a DMAC coï mäü t thanh ghi chãú âoü riãng.Daû ng thæï c cuí a thanh ghi chãú âäü âæåü c biãø u diãø n trãn hçnh 8.7. Trong chãú âäü DMA theo yãu cáö u. DMAC tiãú n haì nh chuyãø n dæî liãû u cho âãú n khi coï tên hiãû u EOP tæì bãn ngoaì i hoàû c cho âãú n khi khäng coì n yãu cáö u DMA næî a(DRQ tråí nãn khäng têch cæû c) Trong chãú âäü DMA chuyãø n tæì ng byte, chæì ng naì o váù n coì n yãu caì u DMA(DRQ váù n laì têch cæû c.) thç DMAC âæa ra HRQ=0 trong thåì i gian 1 chu kç bus sau mäù i láö n chuyãø n sang 1 byte. Sau âoï noï laû i âæa ra HRQ=1. Cæï nhæ váû y DMAC vaì CPU luán phiãn nhau xæî duû ng bus cho âãú n khi âãú m hãú t(TC) Trong chãú âäü DMA chuyãø n caí maî ng, caí mäü t maî ng gäö m mäü t säú byte bàò ng näü i dung bäü âãú m âæåü c chuyãø n liãö n 1 luï c. Chán

yãu cáö u chuyãø n dæî liãû u DRQ khäng cáö n phaí i giæî âæåü c åí mæï c têch cæû c suäú t trong quaï trçnh chuyãø n. Chãú âäü näú i táö n âæåü c duì ng khi coï nhiãö u bäü DMAC.âæåü c duì ng trong hãû thäú ng âãø måí räü ng säú kãnh coï thãø yãu cáö u DMA. + Thanh ghi yãu cáö u: yãu cáö u DMA coï thãø âæåü c thiãú t láû p/ xoaï theo yï muäú n bàò ng chæång trçnh. Âiãö u naì y ráú t coï låü i khi ta muäú n chuyãø n dæî liãû u giæî a caï c vuì ng khaï c nhau cuí a bäü nhåï luï c naì y caï c kãnh liãn quan phaí i âæåü c láû p trçnh åí chãú âoü chuyãø n caí maî ng. Daû ng thæï c cuí a thanh ghi yãu cáö u âæåü c biãø u diãø n trãn hçnh 8.8 7 6 5 4 X X X X 1.Thiãú t láû p yãu cáö u 0: xoï a theo yãu cáö u

3

2

1

Daû ng thæï c cuí a thanh ghi màû t naû täø ng håü p âæåü c biãø u diãù n trãn hçnh 8.10 7 6 5 4 3 2 1 0 X X X X X 1.Thiãú t láû p màû t naû 00: choü n kãnh 0 0: xoï a theo màû t naû 01: choü n kãnh 1 10: choü n kãnh 2 11: choü n kãnh 3 (X: khäng quan tám) Hçnh 8.9. Daû ng thæï c cuí a thanh ghi màû t naû riãng cho mäù i kãnh

0

X

00: choü n kãnh 0 01: choü n kãnh 1 10: choü n kãnh 2 11: choü n kãnh 3 Hçnh 8.8 daû ng thæï c cuí a thanh ghi yãu cáö u + Thanh ghi màû t naû riãng cho tæì ng kãnh: bàò ng thanh ghi naì y ta coï thãø láû p trçnh âãø cáú m (cho Bit màû t naû tæång æï ng = 1) thay cho pheï p hoaû t âäü ng (cho Bit màû t naû tæång æï ng = 0) âäú i våï i tæì ng kãnh mäü t . Daû ng thæï c cuí a thanh ghi màû t naû riãng leí cho tæì ng kãnh âæåü c biãø u diãù n trãn hçnh 8.9 . + Thanh ghi màû t naû täø ng håü p: våï i thanh ghi naì y ta coï thãø láû p trçnh âãø cáú m (cho Bit màû t naû tæång æï ng = 1) thay cho pheï p hoaû t âäü ng (cho Bit màû t naû tæång æï ng = 0) âäú i våï i tæì ng kãnh chè bàò ng mäü t lãû nh .

7

6 5 4 3 X X X X 1.Láû p màû t naû cho kãnh 3 0: xoï a màû t naû cho kãnh 3 1:Láû p màû t naû cho kãnh 2 0: Xoï a màû t naû cho kãnh 2

2

1

0

1: Láû p màû t naû cho kãnh 0 0 Xoï a màû t naû cho kãnh 0 1: láû p màû t naû cho kãnh 1 0: xoï a màû t naû cho kãnh 1

Hçnh 8.10. Daû ng thæï c cuí a thanh ghi màû t naû täø ng håü p. - Thanh ghi traû ng thaï i : Thanh ghi naì y cho pheï p xaï c âënh traû ng thaï i cuí a caï c kãnh trong DMAC. Kãnh naì o âaî trãö n xong (âaû t säú âãú m. TC) kãnh naì o âang coï yãu cáö u DMA âãø trao âäø i dæî liãû u. Khi mäü t kãnh naì o âoï âaû t TC. Kãnh âoï seî tæû âoü ng bë cáú m Daû ng thæï c cuí a thanh ghi traû ng thaï i âæåü c biãø u diãù n trãn hçnh 8.11.

• Caï c lãû nh âàû c biãû t cho DMAC 8237A - 5 Coï 3 lãû nh âàû c biãû t âãø âiãö u khiãø n hoaû t âäü ng cuí a DMAC 8237A - 5 . Caï c lãû nh naì y chè thæû c hiãû n bàò ng caï c lãû nh OUT våï i caï c âëa chè cäø ng xaï c âënh thç theo thanh ghi maì khäng cáö n âãú n giaï trë cuû thãø cuí a thanh ghi AL . 7 1. Kãnh 0 coï 1: Kãnh 1 coï 1: Kãnh 2 coï 1: Kãnh 3 coï

yãu cáö u yãu cáö u yãu cáö u yãu cáö u

6

5 4

3

2

1

0

1: Kãnh 0 âaû t säú 1: Kãnh 1 âaû t säú 1: Kãnh 2 âaû t säú 1: Kãnh 3 âaû t säú

âãú m âãú m âãú m âãú m

Hçnh 8.11. Daû ng thæï c cuí a thanh ghi traû ng thaï i. + Lãû nh xoï a maû ch láû t byte âáö u/byte cuäú i (First/Laï t, F/L) : F/L laì mäü t maû ch láû t bãn trong DMAC âãø chè ra byte naì o trong caï c thanh ghi 16 bit âãø chè ra byte naì o trong caï c thanh ghi 16bit (thanh ghi âëa chè hoàû c thanh ghi säú âãú m âæåü c choü n laì m viãû c .nãú u F/L=1 thi säú âoï laì MSB , coì n nãú u F/L=O ) thç säú âoï laì LSB.maû ch láû t F/L tæû âäü ng thay âäø i traû ng thaï i khi ta ghi /âoü c caï c thanh ghi âoï . khi khåí i âäü ng xong thç F/L=O lãû nh xoaï toaì n bäü caï c thanh ghi : lãû nh naì y coï taï c âäü ng nhæ thao taï c khåí i âäü ng . táú t caí caï c thanh ghji âãö u bë xoaï riãng thanh ghi màû t naû täø ng håü p thç âæåü c láû p âãø cáú m caï c yãu cáö u trao âäø i dæî liãû u . lãû nh xoaï thanh ghi màû t naû täø ng håü p :lãû nh naì y cho pheï p caï c kãnh cuí a DMAC bàõ t âáö u yãu cáö u trao âäø i dæî liãû u . • láû p trçnh cho caï c thanh ghi âëa chè vaì thanh ghi säú âãú m:

viãû c láû p trçnh cho caï c thanh ghi âëa chè vaì thanh ghi säú âãú m âæåü c thæû c hieû n riãng cho mäù i kãnh . cáö n phaí i âënh træåï c giaï trë logic cuí a F/L âãø thao taï c chênh xaï c âæåü c våï i LSB vaì MSB cuí a caï c thanh ghi trãn . ngoaì i ra coì n phaí i cáú m caï c yãu cáö u DMA cuí a caï c kãnh trong khi láû p trçnh cho chuï ng. Coï thãø tuán theo caï c bæåï c sau âáy âãø láû p trçnh cho DMAC 8237A -5: + xoaï màû t láû t F/L +cáú m caï c yãu cáö u cuí a caï c kãnh +ghi LSB räö i MSB cuí a thanh ghi âëa chè +ghi LSB räö i MSB cuí a thanh ghi säú âãú m . • Näú i DMAC 8237A -5 våï i CPU 8088 åí chãú âäü MIN Viãû c phäú i gheï p maû ch 8237A-5 våï i 8088 âæåü c thãø hiãû n trãn hçnh 8.12 Tên hiãû u cuí a 8237A AEN-=O khi CPU kiãø m soaï t hoaû t âäü ng cuí a toaì n hãû . caï c bit âëa chè A 16 -A 19 vaì AO-A7 seî âæåü c chäú t båí i U1 vaì U3 âãø âæa ra bit âëa chè . caï c tên hiãû u âiãö u khiãø n dáø n xuáú t tæì CPU cuî ng âæåü c âæa ra bus âiãö u khiãø n båí i maû ch däö n kãnh U5 (74LS257). KHI DMAC nàõ m quyãö n chè huy hãû thäú ng thç AEN =1 seî cáú m caï c chäú t U3 vaì U4 måí thäng tæì CPU ra bus . nhæng laû i cho pheï p chäú t U2 vaì måí chäú t U4 cuí a DMAC âãø cung cáú p caï c bit âëa chè A16-A19 vaì A8-A15.caï c bit âëa chè khaï c laì A0-A7 vaì caï c tên hiãû u MEMR.MEMR.IOR.IOW seî âæåü c láú y træû c tiãú p tæì DMAC. Xung ADSSTB seî cho pheï p måí maû ch chäú t U4 âãø âæa caï c bit âëa chè A8-A15 . âæåü c chäú t tæì bit D cuí a 8237A -5. Vç DMAC 8237A -5 chè coï khaí nàng cung cáú p caï c bit âëa chè A16-A19 âæåü c ghi vaì o chäú t U2 (74LS373) nhåì lãû nh OUT våï i âëa chè cäø ng âæåü c giaí i maî nhåì maû ch giaí i maî âëa chè U6 , maû ch giaí i maî âëa chè naì y âäö ng thåì i cuî ng cung cáú p xung choü n veí cho 8237A -5 .trãn hçnh 8.12 âãø cho viãû c giaí i thêch tråí nãn âån giaí n måï i chè biãø u diãù n caï c caï ch taû o ta âëa chè cao nháú t cho mäü t kãnh ta coï thãø duì ng

vi maû ch chuyãn duû ng 74LS 670 âãø laì m thanh ghi trang DMA cho caí 4 kãnh cuí a DMAC . tat nhiãn ta phaí i näú i laû i caï c tên hiãû u cho âuï ng . • Mäü t vê duû truyãö n dæî liãû u giæa hai vuì ng nhåï Viãû c duì ng chãú âoü DMA âãø chuãø yn dæî liãû u giæî a caï c vuì ng klhaï c nhau cuí a bäü cho pheï p âaû t âæåü c täú c âäü truyãö n cao hån so våï i viãû c duì ng caï c lãû nh chuyãø n dæî liãû u REP MOV SB cuí a CPU nãú u láú y vê duû våï i træåì ng håü p DMAC 8237A -5 vaì CPU 8088 5MHZthç täú c âäü truyãö n cuí a DMAC cao hån cåî 2 láö n . Sau âáy laì mäü t vê duû sæí duû ng 8237A -5 âãø chuyãø n dæî liãû u giæa 2 vuì ng nhåï . Giaí thiãú t ta phaí i chuyãø n säú mäü t säú byte säú liãû u tæì vuì ng nhåï coï âëa chè laì 10000H sang vuì ng nhåï khaï c coï chè âáö u laì 14000H trong mäü t hãû thäú ng coï så âäö pháö nDMAC vaì CPU dæû a trãn hçnh 8.12. Ta coï thãø duì ng chæång trçnh Mem Trans.asm âãø giaí i quyãú t cäng viãû c naì y . Trong chæång trçnh naì y , âáö u tiãn ta gæí i 4 bit âëa chè cao chäú t U1 , sau âoï ta xoaï maû ch láû t F/L räö i gæí i âëa chè cuí a vuì ng gäú c vaì vuì ng âêch ra caï c thanh ghi tæång æï ng cuí a kãnh o vaì kãnh 1.tiãú p theo ta choü n chãú âäü cho mäù i kãnh . ta phaí i âæa ra tæì âiãö u khiãø n âãø cho DMAC laì m viãû c oqr chãú âäü chuyãø n caí maí ng .Kãnh 0 sau âoï âæåü c cho pheï p hoaû t âäü ng vaì kêch hoaû t âäü ng bàò ng chæång trçnh . trong quaï trçnh chuyãø n dæî liãû u ta kiãø m tra thanh ghi traû ng thaï i âãø duì ng chæång trçnh khi âaû t säú âãú m (TC). • CHÆÅNG TRÇNH Mem Trans.asm m

Related Documents

Ki Thuat Vxl
November 2019 19
Ki Thuat Vxl
November 2019 18
Ki Thuat Vxl
November 2019 22
Ki Thuat Vxl
November 2019 19
Ki Thuat Vxl
November 2019 16
Ki Thuat Vxl
November 2019 13

More Documents from "le thanh"

Thiet_ke_kcd_ha
November 2019 24
10_truyen Thong Noi Tiep
November 2019 18
Ki Thuat Vxl
November 2019 21
Ki Thuat Vxl
November 2019 28
Ki Thuat Vxl
November 2019 20