SlideShare a Scribd company logo
1 of 39
PRESENATION ON DMA AND DMA 
CONROLLER 8237 
BY 
ASHWINI AWATARE
CONTENTS :-> 
īƒ˜What is DMA 
īƒ˜DMA defination 
īƒ˜Basic DMA operation 
īƒ˜DMA controller 
īƒ˜Data transfer with DMA controller 
īƒ˜DMA Controller options for data transfer 
īƒ˜8237 DMA Controller 
īƒ˜Register Organization of 8237 
īƒ˜Data Transfer modes
What is DMA :-direct memory 
access 
īƒ˜data are transfered by executing instructions such as 
move DATAIN,R0 
īƒ˜An instruction to transfer input or output data is 
executed only after the processer determines that 
the I/O device is ready . 
īƒ˜to transfer large blocks of data at high speed, an 
alternative approach is used . A special control unit 
may be provided to allow transfer of a block of data 
directly 
īƒ˜between an external device and the main memory 
,without continues intervention by the processer. 
this approach is called 'direct memory access'
īƒ˜DMA transfers are performed by a control 
circuit that is part of the I/O device interface. 
īƒ˜we refer to this circuit as a DMA controller. 
īƒ˜the DMA controller performs the function that 
would normally be carried out by the processer 
when accessing the main memory. 
īƒ˜Device wishing to perform DMA asserts the 
processors bus request signal 
īƒ˜Processor completes the current bus cycle and 
then asserts the bus grant signal to the device.
īƒ˜The device then asserts the bus grant ack. 
signal. 
īƒ˜The processor senses in the change in the state 
of bus grant ack. signal and starts listening to the 
data and address bus for DMA activity. 
īƒ˜The DMA device performs the transfer from the 
source to destination address. 
īƒ˜During these transfers, the processor monitors 
the addresses on the bus and checks if any 
location modified during DMA operations is 
cached in the processor. If the processor detects 
a cached address on the busâ€Ļ..cnti..
īƒ˜it can take one of the two actions: 
īƒ˜Processor invalidates the internal cache entry for 
the address involved in DMA write operation 
īƒ˜Processor updates the internal cache when a DMA 
write is detected 
īƒ˜Once the DMA operations have been completed, 
the device releases the bus by asserting the bus 
release signal. 
īƒ˜Processor acknowledges the bus release and 
resumes its bus cycles from the point it left off.
DMA 
īƒ˜DMA Definitions: 
īƒ˜DMA occurs between an I/O device and memory 
without the use of the microprocessor 
īƒ˜ DMA read transfer data from the memory to I/O 
device 
īƒ˜ DMA write transfer data from the I/O to memory 
īƒ˜ MRDC & IOWC signals to simultaneously activate 
for read DMA
Basic DMA operation :- 
īƒ˜The direct memory access (DMA) I/O technique 
provides direct access to the memory while the 
microprocessor is temporarily disabled. 
īƒ˜ A DMA controller temporarily borrows the address 
bus, data bus, and control bus from the 
microprocessor and transfers the data bytes directly 
between an I/O port and a series of memory 
locations. 
īƒ˜ The DMA transfer is also used to do high-speed 
memory-to memory transfers. 
īƒ˜ Two control signals are used to request and 
acknowledge a DMA transfer in the microprocessor-based 
system.
īƒ˜The HOLD signal is a bus request signal which 
asks the microprocessor to release control of 
the buses after the current bus cycle. 
īƒ˜ The HLDA signal is a bus grant signal which 
indicates that the microprocessor has indeed 
released control of its buses by placing the buses 
at their high-impedance states. 
īƒ˜ The HOLD input has a higher priority than the 
INTR or NMI interrupt inputs.
Data transfer with a DMA 
Controller
Data transfer with DMA controller 
īƒ˜During a block input byte transfer, the following 
sequence occurs as the data byte is sent from the 
interface to the memory: 
īƒ˜The interface sends the DMA controller a 
request for DMA service. 
īƒ˜A Bus request is made to the HOLD pin (active 
High) on the 8086 microprocessor and the 
controller gains control of the bus. 
īƒ˜A Bus grant is returned to the DMA controller 
from the Hold Acknowledge (HLDA) pin (active 
High) on the 8086 microprocessor.
īƒ˜The DMA controller places contents of the 
address register onto the address bus. 
īƒ˜The controller sends the interface a DMA 
acknowledgment, which tells the interface to put 
data on the data bus. (For an output it signals 
the interface to latch the next data placed on the 
bus.) 
īƒ˜The data byte is transferred to the memory 
location indicated by the address bus. 
īƒ˜The interface latches the data.
īƒ˜The Bus request is dropped, the HOLD pin goes 
Low, and the controller relinquishes the bus. 
īƒ˜The Bus grant from the 8086 microprocessor is 
dropped and the HLDA pin goes Low. 
īƒ˜The address register is incremented by 1. 
īƒ˜The byte count is decremented by 1. 
īƒ˜If the byte count is non-zero, return to step 1, 
otherwise stop
DMA Controller options for data 
transfer 
īƒ˜The DMA Controller has several options 
available for the transfer of data. 
īƒ˜ They are:- 
1) Cycle steal 
2) Burst transfer 
3) Hidden DMA
1) CYCLE STEAL :-> 
â€ĸ A read or write signal is generated by the DMAC, 
and the I/O device either generates or latches 
the data. The DMAC effectively steals cycles 
from the processor in order to transfer the byte, 
so single byte transfer is also known as cycle 
stealing
2). BURST TRANSFER :-> 
â€ĸ To achieve block transfers, some DMAC's 
incorporate an automatic sequencing of the 
value presented on the address bus. A register is 
used as a byte count, being decremented for each 
byte transfer, and upon the byte count reaching 
zero, the DMAC will release the bus. When the 
DMAC operates in burst mode, the CPU is halted 
for the duration of the data transfer.
3) HIDDEN DMA:-> 
â€ĸ It is possible to perform hidden DMA, which is 
transparent to the normal operation of the CPU. In 
other words, the bus is grabbed by the DMAC when 
the processor is not using it. 
â€ĸ The DMAC monitors the execution of the processor, 
and when it recognises the processor executing an 
instruction which has sufficient empty clock cycles 
to perform a byte transfer, it waits till the processor 
is decoding the op code, then grabs the bus during 
this time. The processor is not slowed down, but 
continues processing normally. Naturally, the data 
transfer by the DMAC must be completed before the 
processor starts
EX- Memory to device transfer
8237 DMA Controller 
īƒ˜The 8237 DMA controller supplies the memory 
and I/O with control signals and memory 
address information during the DMA transfer. 
īƒ˜ The 8237 is capable of DMA transfers at rates of 
up to 1.6M bytes per second. 
īƒ˜ Each channel is capable of addressing a full 
64K-byte section of memory and can transfer up 
to 64K bytes with a single programming.
Register Organization of 8237
1. Current Address Register 
īƒ˜Each of 4 DMA channels of 8237 has a 16-bit 
current address register that holds the current 
memory address , being accessed during DMA 
transfer . 
īƒ˜The address is automatically incremented or 
decremented after each transfer & resulting 
address value is again stored current address 
register . 
īƒ˜This can be byte – wise programmed by CPU i.e. 
lower byte 1st & higher byte later .
2.Current Word Register 
īƒ˜Each channel has a 16- bit current word register 
that holds the number of data byte transfers of 
be carried out. 
īƒ˜The word count is decremented after each 
transfer &new value is again stored back to the 
current word register . 
īƒ˜When count becomes zero an EOP signal will be 
generated . This can be written in successive 
bytes by the CPU ,in program mode
3.Base Address & Base Word Count 
Register 
īƒ˜Each channel has a pair of these register . These 
maintains an original copy of the resp. initial 
current address register & current word register 
(before increment or decrement) resp. 
īƒ˜These are automatically written along with 
current register . 
īƒ˜These cannot be read by the CPU . The contents 
of these register are used internally for auto – 
initialization.
4. Command Register 
īƒ˜This is 8 – bit controls the complete operation of 
8237. 
īƒ˜This can be programmed by the CPU and 
cleared by a reset operation .
5.Mode Register 
īƒ˜Each of channel has 8 bit mode register . This is 
written by the CPU program mode. 
īƒ˜Bits 0 or 1 of mode register determine which of 
the four channel mode register is to be written . 
īƒ˜The bits 2 & 3 indicate the type of DMA transfer. 
īƒ˜Bit 4 indicates whether auto- initialization is 
selected or not , while bit 5 indicates whether 
address increment or decrement mode is 
selected .
6.Request Register 
īƒ˜Each channel has a request register bit 
associated with it , in the request register . 
īƒ˜These are nonmaskable & subject to 
prioritization by the priority resolving network 
of 8237 . 
īƒ˜Each bit is set or reset under program control or 
is cleared upon generation of a TC or an external 
EOP. This register is cleared by reset.
7.Mask Register 
īƒ˜Each of 4 channel has a mask bit which can be 
set under program control to disable the 
incoming DREQ request at the specific channel . 
īƒ˜This bit is set when corresponding channel 
produces an EOP signal , if channel is not 
programmed for auto – initialization . 
īƒ˜The register is set to FFH after a reset operation. 
This disables all the DMA request till the mask 
register is cleared
8.Temporary Register 
īƒ˜The temporary register holds data during 
memory to memory data transfers . 
īƒ˜After the completion of the transfer operation , 
the last word transferred remains in the 
temporary register till it is cleared by the reset 
operation .
9.Status Register 
īƒ˜Status register keeps the track of the all DMA 
channel pending request & status of their 
terminal count . 
īƒ˜The bit Do-D3 are updates every time , the 
corresponding channel reaches TC or external 
EOP occurs . These are cleared upon reset and 
also on each status read operation .
Important signal pins 
īƒ˜DREQ3 – DREQ0 (DMA request): 
Used to request a DMA transfer for a 
particular DMA channel. 
īƒ˜DACK3 – DACK0 (DMA channel 
acknowledge): Acknowledges a 
channel DMA request from a device. 
īƒ˜ HRQ (Hold request): Requests a 
DMA transfer.
īƒ˜HLDA (Hold acknowledge) signals the 8237 that 
the microprocessor has relinquished control of 
the address, data and control buses. 
īƒ˜MEMW (Memory write): Used as an output to 
cause memory to write data during a DMA write 
cycle. 
īƒ˜ MEMR (Memory read): Used as an output to 
cause memory to read data during a DMA read 
cycle
īƒ˜ A3 – A0 : address pins select an internal 
register during programming and provide part 
of the DMA transfer address during DMA 
operation. 
īƒ˜A7 – A4 : address pins are outputs that provide 
part of the DMA transfer address during a DMA 
operation. 
īƒ˜ DB0 – DB7 : data bus, connected to 
microprocessor and are used during the 
programming DMA controller.
Data Transfer modes 
1) Single Transfer Mode 
īƒ˜ In Single Transfer mode the device is programmed 
to make one transfer only. 
īƒ˜ The word count will be decremented and the 
address decremented or incremented following each 
transfer. 
īƒ˜ When the word count ``rolls over'' from zero to 
FFFFH, a Terminal Count (TC) will cause an Auto 
initialize if the channel has been programmed to do 
so.
2) Block Transfer Mode 
īƒ˜ In Block Transfer mode the device is activated 
by DREQ to continue making transfers during 
the service until a TC, caused by word count 
going to FFFFH, or an external End of Process 
(EOP) is encountered. 
īƒ˜ DREQ need only be held active until DACK 
becomes active. Again, an Auto initialization will 
occur at the end of the service if the channel has 
been programmed for it.
3)Demand transfer mode 
īƒ˜Device continues transfer until a TC is reached 
or an external EOP is detected or the DREQ 
signal goes inactive . 
īƒ˜After the I/O device is able to catch up , the 
service mat be re-established activating DREQ 
signal again. 
īƒ˜Only EOP generated by TC or external EOP can 
cause the auto- initialization and only if it is 
programmed for .
4)Cascade mode 
īƒ˜In this mode ,more than one 8237 can be 
connected together to provide more than four 
DMA channels . 
īƒ˜The HRQ & HLDA signals from additional 
8237s are connected with DREQ & DACK pins 
of channel of the host rsp. 
īƒ˜The priority of the DMA requests may be 
preserved at each level.
5)Memory to memory transfer 
â€ĸ To perform the transfer of the block of data from 
one set of memory address to another one ,this 
mode is used. 
â€ĸ The transfer is initialize by setting DREQo using 
software command . 
â€ĸ The 8237 sends HRQ signal to CPU as usual & 
when HLDA signal is activated by CPU ,device 
starts operating in block transfer mode to read 
the data from file.
â€ĸ The channel 0 current register acts as a source 
pointer. 
â€ĸ The byte read data from memory is stored in an 
internal temporary register of 8237. 
â€ĸ The channel 1 current register acts as a 
destination pointer to write the data from 
temporary register to the destination memory. 
â€ĸ The pointers are automatically incremented or 
decremented , depending upon the 
programming .
THANK 
YOU

More Related Content

What's hot

8251 usart programmable communication interface by aniket bhute
8251  usart  programmable communication interface by aniket bhute8251  usart  programmable communication interface by aniket bhute
8251 usart programmable communication interface by aniket bhuteAniket Bhute
 
DMA and DMA controller
DMA and DMA controllerDMA and DMA controller
DMA and DMA controllernishant upadhyay
 
Stacks & subroutines 1
Stacks & subroutines 1Stacks & subroutines 1
Stacks & subroutines 1deval patel
 
DMA operation
DMA operationDMA operation
DMA operationImran Khan
 
Architecture and pin diagram of 8085
Architecture and pin diagram of 8085Architecture and pin diagram of 8085
Architecture and pin diagram of 8085Suchismita Paul
 
8086 microprocessor
8086 microprocessor8086 microprocessor
8086 microprocessorHarshit Saxena
 
Instruction set of 8086
Instruction set of 8086Instruction set of 8086
Instruction set of 80869840596838
 
8086 pin diagram description
8086 pin diagram description8086 pin diagram description
8086 pin diagram descriptionAkhil Singal
 
MICROPROCESSOR INPUT OUTPUT OPERATIONS
MICROPROCESSOR INPUT OUTPUT OPERATIONSMICROPROCESSOR INPUT OUTPUT OPERATIONS
MICROPROCESSOR INPUT OUTPUT OPERATIONSGeorge Thomas
 
Interfacing 8255
Interfacing 8255Interfacing 8255
Interfacing 8255Anuja Bhakuni
 
UNIT 2 8086 System Bus Structure.pptx
UNIT 2 8086 System Bus Structure.pptxUNIT 2 8086 System Bus Structure.pptx
UNIT 2 8086 System Bus Structure.pptxGowrishankar C
 
Minimum mode and Maximum mode Configuration in 8086
Minimum mode and Maximum mode Configuration in 8086Minimum mode and Maximum mode Configuration in 8086
Minimum mode and Maximum mode Configuration in 8086Jismy .K.Jose
 
8096 microcontrollers notes
8096 microcontrollers notes8096 microcontrollers notes
8096 microcontrollers notesDr.YNM
 
8086 class notes-Y.N.M
8086 class notes-Y.N.M8086 class notes-Y.N.M
8086 class notes-Y.N.MDr.YNM
 
Modes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationModes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationMOHIT AGARWAL
 
Microcontroller 8096
Microcontroller 8096Microcontroller 8096
Microcontroller 8096Mannar Hussein
 

What's hot (20)

8251 usart programmable communication interface by aniket bhute
8251  usart  programmable communication interface by aniket bhute8251  usart  programmable communication interface by aniket bhute
8251 usart programmable communication interface by aniket bhute
 
DMA and DMA controller
DMA and DMA controllerDMA and DMA controller
DMA and DMA controller
 
Stacks & subroutines 1
Stacks & subroutines 1Stacks & subroutines 1
Stacks & subroutines 1
 
Direct memory access
Direct memory accessDirect memory access
Direct memory access
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory Access
 
DMA operation
DMA operationDMA operation
DMA operation
 
Architecture and pin diagram of 8085
Architecture and pin diagram of 8085Architecture and pin diagram of 8085
Architecture and pin diagram of 8085
 
8086 microprocessor
8086 microprocessor8086 microprocessor
8086 microprocessor
 
Instruction set of 8086
Instruction set of 8086Instruction set of 8086
Instruction set of 8086
 
8086 pin diagram description
8086 pin diagram description8086 pin diagram description
8086 pin diagram description
 
MICROPROCESSOR INPUT OUTPUT OPERATIONS
MICROPROCESSOR INPUT OUTPUT OPERATIONSMICROPROCESSOR INPUT OUTPUT OPERATIONS
MICROPROCESSOR INPUT OUTPUT OPERATIONS
 
80386
8038680386
80386
 
Interfacing 8255
Interfacing 8255Interfacing 8255
Interfacing 8255
 
8086
80868086
8086
 
UNIT 2 8086 System Bus Structure.pptx
UNIT 2 8086 System Bus Structure.pptxUNIT 2 8086 System Bus Structure.pptx
UNIT 2 8086 System Bus Structure.pptx
 
Minimum mode and Maximum mode Configuration in 8086
Minimum mode and Maximum mode Configuration in 8086Minimum mode and Maximum mode Configuration in 8086
Minimum mode and Maximum mode Configuration in 8086
 
8096 microcontrollers notes
8096 microcontrollers notes8096 microcontrollers notes
8096 microcontrollers notes
 
8086 class notes-Y.N.M
8086 class notes-Y.N.M8086 class notes-Y.N.M
8086 class notes-Y.N.M
 
Modes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationModes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output Organization
 
Microcontroller 8096
Microcontroller 8096Microcontroller 8096
Microcontroller 8096
 

Viewers also liked

Direct Memory Access(DMA)
Direct Memory Access(DMA)Direct Memory Access(DMA)
Direct Memory Access(DMA)Page Maker
 
Direct memory access (dma) with 8257 DMA Controller
Direct memory access (dma) with 8257 DMA ControllerDirect memory access (dma) with 8257 DMA Controller
Direct memory access (dma) with 8257 DMA ControllerMuhammed Afsal Villan
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMAAJAL A J
 
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijayVijay Kumar
 
Addressing modes-of-8085
Addressing modes-of-8085 Addressing modes-of-8085
Addressing modes-of-8085 jemimajerome
 
Floppy disk interface
Floppy disk interfaceFloppy disk interface
Floppy disk interfaceMansi Chauhan
 
8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2
8259 A  P R O G R A M M A B L E  I N T E R R U P T  C O N T R O L L E R28259 A  P R O G R A M M A B L E  I N T E R R U P T  C O N T R O L L E R2
8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2Aisu
 
IC 8253 - Microprocessor
IC 8253 - Microprocessor IC 8253 - Microprocessor
IC 8253 - Microprocessor Vatsal N Shah
 
Intel 8259 - Programmable Interrupt Controller
Intel 8259 - Programmable Interrupt Controller  Intel 8259 - Programmable Interrupt Controller
Intel 8259 - Programmable Interrupt Controller Nikhil Baby
 
8251
82518251
8251Aisu
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory AccessSanjay Saluth
 
Input Output Organization
Input Output OrganizationInput Output Organization
Input Output OrganizationKamal Acharya
 
Microprocessor 80386
Microprocessor 80386Microprocessor 80386
Microprocessor 80386yash sawarkar
 
8279 in microprocessor
8279 in microprocessor8279 in microprocessor
8279 in microprocessorAisu
 

Viewers also liked (20)

Direct Memory Access(DMA)
Direct Memory Access(DMA)Direct Memory Access(DMA)
Direct Memory Access(DMA)
 
Direct memory access (dma) with 8257 DMA Controller
Direct memory access (dma) with 8257 DMA ControllerDirect memory access (dma) with 8257 DMA Controller
Direct memory access (dma) with 8257 DMA Controller
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMA
 
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
 
8295
82958295
8295
 
Addressing modes-of-8085
Addressing modes-of-8085 Addressing modes-of-8085
Addressing modes-of-8085
 
Mp full-notes-3rd-part
Mp full-notes-3rd-partMp full-notes-3rd-part
Mp full-notes-3rd-part
 
Floppy disk interface
Floppy disk interfaceFloppy disk interface
Floppy disk interface
 
8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2
8259 A  P R O G R A M M A B L E  I N T E R R U P T  C O N T R O L L E R28259 A  P R O G R A M M A B L E  I N T E R R U P T  C O N T R O L L E R2
8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2
 
8253ppt
8253ppt8253ppt
8253ppt
 
IC 8253 - Microprocessor
IC 8253 - Microprocessor IC 8253 - Microprocessor
IC 8253 - Microprocessor
 
Programmable Timer 8253/8254
Programmable Timer 8253/8254Programmable Timer 8253/8254
Programmable Timer 8253/8254
 
Intel 8259 - Programmable Interrupt Controller
Intel 8259 - Programmable Interrupt Controller  Intel 8259 - Programmable Interrupt Controller
Intel 8259 - Programmable Interrupt Controller
 
8251
82518251
8251
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory Access
 
8259 a
8259 a8259 a
8259 a
 
Input Output Organization
Input Output OrganizationInput Output Organization
Input Output Organization
 
8086 microprocessor
8086 microprocessor8086 microprocessor
8086 microprocessor
 
Microprocessor 80386
Microprocessor 80386Microprocessor 80386
Microprocessor 80386
 
8279 in microprocessor
8279 in microprocessor8279 in microprocessor
8279 in microprocessor
 

Similar to Dma and dma controller 8237

Direct memory access (dma)
Direct memory access (dma)Direct memory access (dma)
Direct memory access (dma)Zubair Khalid
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory AccessTuqa Rmahi
 
Programmable dma controller 8237
Programmable dma controller 8237Programmable dma controller 8237
Programmable dma controller 8237saravanamanikandan02
 
Intel 8257 programmable dma controller
Intel 8257 programmable dma controllerIntel 8257 programmable dma controller
Intel 8257 programmable dma controllerabdulugc
 
Intel 8257 programmable dma controller
Intel 8257 programmable dma controllerIntel 8257 programmable dma controller
Intel 8257 programmable dma controllerafzal ahmad
 
Module 3 special purpose programmable devices and their interfacing
Module 3 special purpose programmable devices and their interfacingModule 3 special purpose programmable devices and their interfacing
Module 3 special purpose programmable devices and their interfacingDeepak John
 
Direct access memory
Direct access memoryDirect access memory
Direct access memorymaliksiddique1
 
MPI UNIT 4 - (Introduction to DMA and ADC)
MPI UNIT 4 - (Introduction to DMA and ADC)MPI UNIT 4 - (Introduction to DMA and ADC)
MPI UNIT 4 - (Introduction to DMA and ADC)RaviKiranVarma4
 
Direct Memory Access_Unit 5.pptx
Direct Memory Access_Unit 5.pptxDirect Memory Access_Unit 5.pptx
Direct Memory Access_Unit 5.pptxGovindJha93
 
DMA Versus Polling or Interrupt Driven I/O
DMA Versus Polling or Interrupt Driven I/ODMA Versus Polling or Interrupt Driven I/O
DMA Versus Polling or Interrupt Driven I/Osathish sak
 
Ppt micro fianle (1)
Ppt micro fianle (1)Ppt micro fianle (1)
Ppt micro fianle (1)Pavni Gairola
 
3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma)...
3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma)...3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma)...
3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma)...INFOGAIN PUBLICATION
 

Similar to Dma and dma controller 8237 (20)

Direct memory access (dma)
Direct memory access (dma)Direct memory access (dma)
Direct memory access (dma)
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory Access
 
Programmable dma controller 8237
Programmable dma controller 8237Programmable dma controller 8237
Programmable dma controller 8237
 
Intel 8257 programmable dma controller
Intel 8257 programmable dma controllerIntel 8257 programmable dma controller
Intel 8257 programmable dma controller
 
Intel 8257 programmable dma controller
Intel 8257 programmable dma controllerIntel 8257 programmable dma controller
Intel 8257 programmable dma controller
 
Module 3 special purpose programmable devices and their interfacing
Module 3 special purpose programmable devices and their interfacingModule 3 special purpose programmable devices and their interfacing
Module 3 special purpose programmable devices and their interfacing
 
Direct access memory
Direct access memoryDirect access memory
Direct access memory
 
MPI UNIT 4 - (Introduction to DMA and ADC)
MPI UNIT 4 - (Introduction to DMA and ADC)MPI UNIT 4 - (Introduction to DMA and ADC)
MPI UNIT 4 - (Introduction to DMA and ADC)
 
DMA
DMADMA
DMA
 
Direct Memory Access.pdf
Direct Memory Access.pdfDirect Memory Access.pdf
Direct Memory Access.pdf
 
Direct Memory Access_Unit 5.pptx
Direct Memory Access_Unit 5.pptxDirect Memory Access_Unit 5.pptx
Direct Memory Access_Unit 5.pptx
 
Concept of dma
Concept of dmaConcept of dma
Concept of dma
 
Direct Memory Access ppt
Direct Memory Access pptDirect Memory Access ppt
Direct Memory Access ppt
 
DMA Versus Polling or Interrupt Driven I/O
DMA Versus Polling or Interrupt Driven I/ODMA Versus Polling or Interrupt Driven I/O
DMA Versus Polling or Interrupt Driven I/O
 
Dma
DmaDma
Dma
 
UNIT 3.pptx
UNIT 3.pptxUNIT 3.pptx
UNIT 3.pptx
 
Ppt micro fianle (1)
Ppt micro fianle (1)Ppt micro fianle (1)
Ppt micro fianle (1)
 
3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma)...
3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma)...3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma)...
3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma)...
 
Isa bus nptel
Isa bus nptelIsa bus nptel
Isa bus nptel
 
DMA
DMADMA
DMA
 

More from Ashwini Awatare

Integrated website using social plugins
Integrated website using social pluginsIntegrated website using social plugins
Integrated website using social pluginsAshwini Awatare
 
Face recogntion using PCA algorithm
Face recogntion using PCA algorithmFace recogntion using PCA algorithm
Face recogntion using PCA algorithmAshwini Awatare
 
Face recogntion Using PCA Algorithm
Face recogntion Using PCA Algorithm Face recogntion Using PCA Algorithm
Face recogntion Using PCA Algorithm Ashwini Awatare
 
Image proccessing and its application
Image proccessing and its applicationImage proccessing and its application
Image proccessing and its applicationAshwini Awatare
 
Image proccessing and its applications.
Image proccessing and its applications.Image proccessing and its applications.
Image proccessing and its applications.Ashwini Awatare
 
Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenationAshwini Awatare
 
Cyber crimes and its security
Cyber crimes and its securityCyber crimes and its security
Cyber crimes and its securityAshwini Awatare
 
Cyber crimes and its security
Cyber crimes and its securityCyber crimes and its security
Cyber crimes and its securityAshwini Awatare
 
Event oriented programming
Event oriented programmingEvent oriented programming
Event oriented programmingAshwini Awatare
 

More from Ashwini Awatare (10)

Integrated website using social plugins
Integrated website using social pluginsIntegrated website using social plugins
Integrated website using social plugins
 
Face recogntion using PCA algorithm
Face recogntion using PCA algorithmFace recogntion using PCA algorithm
Face recogntion using PCA algorithm
 
Face recogntion Using PCA Algorithm
Face recogntion Using PCA Algorithm Face recogntion Using PCA Algorithm
Face recogntion Using PCA Algorithm
 
Incredible india
Incredible indiaIncredible india
Incredible india
 
Image proccessing and its application
Image proccessing and its applicationImage proccessing and its application
Image proccessing and its application
 
Image proccessing and its applications.
Image proccessing and its applications.Image proccessing and its applications.
Image proccessing and its applications.
 
Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenation
 
Cyber crimes and its security
Cyber crimes and its securityCyber crimes and its security
Cyber crimes and its security
 
Cyber crimes and its security
Cyber crimes and its securityCyber crimes and its security
Cyber crimes and its security
 
Event oriented programming
Event oriented programmingEvent oriented programming
Event oriented programming
 

Recently uploaded

Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Call Us â‰Ŋ 8377877756 â‰ŧ Call Girls In Shastri Nagar (Delhi)
Call Us â‰Ŋ 8377877756 â‰ŧ Call Girls In Shastri Nagar (Delhi)Call Us â‰Ŋ 8377877756 â‰ŧ Call Girls In Shastri Nagar (Delhi)
Call Us â‰Ŋ 8377877756 â‰ŧ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoÃŖo Esperancinha
 
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 

Recently uploaded (20)

Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Call Us â‰Ŋ 8377877756 â‰ŧ Call Girls In Shastri Nagar (Delhi)
Call Us â‰Ŋ 8377877756 â‰ŧ Call Girls In Shastri Nagar (Delhi)Call Us â‰Ŋ 8377877756 â‰ŧ Call Girls In Shastri Nagar (Delhi)
Call Us â‰Ŋ 8377877756 â‰ŧ Call Girls In Shastri Nagar (Delhi)
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTACÂŽ CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 

Dma and dma controller 8237

  • 1. PRESENATION ON DMA AND DMA CONROLLER 8237 BY ASHWINI AWATARE
  • 2. CONTENTS :-> īƒ˜What is DMA īƒ˜DMA defination īƒ˜Basic DMA operation īƒ˜DMA controller īƒ˜Data transfer with DMA controller īƒ˜DMA Controller options for data transfer īƒ˜8237 DMA Controller īƒ˜Register Organization of 8237 īƒ˜Data Transfer modes
  • 3. What is DMA :-direct memory access īƒ˜data are transfered by executing instructions such as move DATAIN,R0 īƒ˜An instruction to transfer input or output data is executed only after the processer determines that the I/O device is ready . īƒ˜to transfer large blocks of data at high speed, an alternative approach is used . A special control unit may be provided to allow transfer of a block of data directly īƒ˜between an external device and the main memory ,without continues intervention by the processer. this approach is called 'direct memory access'
  • 4. īƒ˜DMA transfers are performed by a control circuit that is part of the I/O device interface. īƒ˜we refer to this circuit as a DMA controller. īƒ˜the DMA controller performs the function that would normally be carried out by the processer when accessing the main memory. īƒ˜Device wishing to perform DMA asserts the processors bus request signal īƒ˜Processor completes the current bus cycle and then asserts the bus grant signal to the device.
  • 5. īƒ˜The device then asserts the bus grant ack. signal. īƒ˜The processor senses in the change in the state of bus grant ack. signal and starts listening to the data and address bus for DMA activity. īƒ˜The DMA device performs the transfer from the source to destination address. īƒ˜During these transfers, the processor monitors the addresses on the bus and checks if any location modified during DMA operations is cached in the processor. If the processor detects a cached address on the busâ€Ļ..cnti..
  • 6. īƒ˜it can take one of the two actions: īƒ˜Processor invalidates the internal cache entry for the address involved in DMA write operation īƒ˜Processor updates the internal cache when a DMA write is detected īƒ˜Once the DMA operations have been completed, the device releases the bus by asserting the bus release signal. īƒ˜Processor acknowledges the bus release and resumes its bus cycles from the point it left off.
  • 7. DMA īƒ˜DMA Definitions: īƒ˜DMA occurs between an I/O device and memory without the use of the microprocessor īƒ˜ DMA read transfer data from the memory to I/O device īƒ˜ DMA write transfer data from the I/O to memory īƒ˜ MRDC & IOWC signals to simultaneously activate for read DMA
  • 8. Basic DMA operation :- īƒ˜The direct memory access (DMA) I/O technique provides direct access to the memory while the microprocessor is temporarily disabled. īƒ˜ A DMA controller temporarily borrows the address bus, data bus, and control bus from the microprocessor and transfers the data bytes directly between an I/O port and a series of memory locations. īƒ˜ The DMA transfer is also used to do high-speed memory-to memory transfers. īƒ˜ Two control signals are used to request and acknowledge a DMA transfer in the microprocessor-based system.
  • 9. īƒ˜The HOLD signal is a bus request signal which asks the microprocessor to release control of the buses after the current bus cycle. īƒ˜ The HLDA signal is a bus grant signal which indicates that the microprocessor has indeed released control of its buses by placing the buses at their high-impedance states. īƒ˜ The HOLD input has a higher priority than the INTR or NMI interrupt inputs.
  • 10. Data transfer with a DMA Controller
  • 11. Data transfer with DMA controller īƒ˜During a block input byte transfer, the following sequence occurs as the data byte is sent from the interface to the memory: īƒ˜The interface sends the DMA controller a request for DMA service. īƒ˜A Bus request is made to the HOLD pin (active High) on the 8086 microprocessor and the controller gains control of the bus. īƒ˜A Bus grant is returned to the DMA controller from the Hold Acknowledge (HLDA) pin (active High) on the 8086 microprocessor.
  • 12. īƒ˜The DMA controller places contents of the address register onto the address bus. īƒ˜The controller sends the interface a DMA acknowledgment, which tells the interface to put data on the data bus. (For an output it signals the interface to latch the next data placed on the bus.) īƒ˜The data byte is transferred to the memory location indicated by the address bus. īƒ˜The interface latches the data.
  • 13. īƒ˜The Bus request is dropped, the HOLD pin goes Low, and the controller relinquishes the bus. īƒ˜The Bus grant from the 8086 microprocessor is dropped and the HLDA pin goes Low. īƒ˜The address register is incremented by 1. īƒ˜The byte count is decremented by 1. īƒ˜If the byte count is non-zero, return to step 1, otherwise stop
  • 14. DMA Controller options for data transfer īƒ˜The DMA Controller has several options available for the transfer of data. īƒ˜ They are:- 1) Cycle steal 2) Burst transfer 3) Hidden DMA
  • 15. 1) CYCLE STEAL :-> â€ĸ A read or write signal is generated by the DMAC, and the I/O device either generates or latches the data. The DMAC effectively steals cycles from the processor in order to transfer the byte, so single byte transfer is also known as cycle stealing
  • 16. 2). BURST TRANSFER :-> â€ĸ To achieve block transfers, some DMAC's incorporate an automatic sequencing of the value presented on the address bus. A register is used as a byte count, being decremented for each byte transfer, and upon the byte count reaching zero, the DMAC will release the bus. When the DMAC operates in burst mode, the CPU is halted for the duration of the data transfer.
  • 17. 3) HIDDEN DMA:-> â€ĸ It is possible to perform hidden DMA, which is transparent to the normal operation of the CPU. In other words, the bus is grabbed by the DMAC when the processor is not using it. â€ĸ The DMAC monitors the execution of the processor, and when it recognises the processor executing an instruction which has sufficient empty clock cycles to perform a byte transfer, it waits till the processor is decoding the op code, then grabs the bus during this time. The processor is not slowed down, but continues processing normally. Naturally, the data transfer by the DMAC must be completed before the processor starts
  • 18. EX- Memory to device transfer
  • 19. 8237 DMA Controller īƒ˜The 8237 DMA controller supplies the memory and I/O with control signals and memory address information during the DMA transfer. īƒ˜ The 8237 is capable of DMA transfers at rates of up to 1.6M bytes per second. īƒ˜ Each channel is capable of addressing a full 64K-byte section of memory and can transfer up to 64K bytes with a single programming.
  • 21. 1. Current Address Register īƒ˜Each of 4 DMA channels of 8237 has a 16-bit current address register that holds the current memory address , being accessed during DMA transfer . īƒ˜The address is automatically incremented or decremented after each transfer & resulting address value is again stored current address register . īƒ˜This can be byte – wise programmed by CPU i.e. lower byte 1st & higher byte later .
  • 22. 2.Current Word Register īƒ˜Each channel has a 16- bit current word register that holds the number of data byte transfers of be carried out. īƒ˜The word count is decremented after each transfer &new value is again stored back to the current word register . īƒ˜When count becomes zero an EOP signal will be generated . This can be written in successive bytes by the CPU ,in program mode
  • 23. 3.Base Address & Base Word Count Register īƒ˜Each channel has a pair of these register . These maintains an original copy of the resp. initial current address register & current word register (before increment or decrement) resp. īƒ˜These are automatically written along with current register . īƒ˜These cannot be read by the CPU . The contents of these register are used internally for auto – initialization.
  • 24. 4. Command Register īƒ˜This is 8 – bit controls the complete operation of 8237. īƒ˜This can be programmed by the CPU and cleared by a reset operation .
  • 25. 5.Mode Register īƒ˜Each of channel has 8 bit mode register . This is written by the CPU program mode. īƒ˜Bits 0 or 1 of mode register determine which of the four channel mode register is to be written . īƒ˜The bits 2 & 3 indicate the type of DMA transfer. īƒ˜Bit 4 indicates whether auto- initialization is selected or not , while bit 5 indicates whether address increment or decrement mode is selected .
  • 26. 6.Request Register īƒ˜Each channel has a request register bit associated with it , in the request register . īƒ˜These are nonmaskable & subject to prioritization by the priority resolving network of 8237 . īƒ˜Each bit is set or reset under program control or is cleared upon generation of a TC or an external EOP. This register is cleared by reset.
  • 27. 7.Mask Register īƒ˜Each of 4 channel has a mask bit which can be set under program control to disable the incoming DREQ request at the specific channel . īƒ˜This bit is set when corresponding channel produces an EOP signal , if channel is not programmed for auto – initialization . īƒ˜The register is set to FFH after a reset operation. This disables all the DMA request till the mask register is cleared
  • 28. 8.Temporary Register īƒ˜The temporary register holds data during memory to memory data transfers . īƒ˜After the completion of the transfer operation , the last word transferred remains in the temporary register till it is cleared by the reset operation .
  • 29. 9.Status Register īƒ˜Status register keeps the track of the all DMA channel pending request & status of their terminal count . īƒ˜The bit Do-D3 are updates every time , the corresponding channel reaches TC or external EOP occurs . These are cleared upon reset and also on each status read operation .
  • 30. Important signal pins īƒ˜DREQ3 – DREQ0 (DMA request): Used to request a DMA transfer for a particular DMA channel. īƒ˜DACK3 – DACK0 (DMA channel acknowledge): Acknowledges a channel DMA request from a device. īƒ˜ HRQ (Hold request): Requests a DMA transfer.
  • 31. īƒ˜HLDA (Hold acknowledge) signals the 8237 that the microprocessor has relinquished control of the address, data and control buses. īƒ˜MEMW (Memory write): Used as an output to cause memory to write data during a DMA write cycle. īƒ˜ MEMR (Memory read): Used as an output to cause memory to read data during a DMA read cycle
  • 32. īƒ˜ A3 – A0 : address pins select an internal register during programming and provide part of the DMA transfer address during DMA operation. īƒ˜A7 – A4 : address pins are outputs that provide part of the DMA transfer address during a DMA operation. īƒ˜ DB0 – DB7 : data bus, connected to microprocessor and are used during the programming DMA controller.
  • 33. Data Transfer modes 1) Single Transfer Mode īƒ˜ In Single Transfer mode the device is programmed to make one transfer only. īƒ˜ The word count will be decremented and the address decremented or incremented following each transfer. īƒ˜ When the word count ``rolls over'' from zero to FFFFH, a Terminal Count (TC) will cause an Auto initialize if the channel has been programmed to do so.
  • 34. 2) Block Transfer Mode īƒ˜ In Block Transfer mode the device is activated by DREQ to continue making transfers during the service until a TC, caused by word count going to FFFFH, or an external End of Process (EOP) is encountered. īƒ˜ DREQ need only be held active until DACK becomes active. Again, an Auto initialization will occur at the end of the service if the channel has been programmed for it.
  • 35. 3)Demand transfer mode īƒ˜Device continues transfer until a TC is reached or an external EOP is detected or the DREQ signal goes inactive . īƒ˜After the I/O device is able to catch up , the service mat be re-established activating DREQ signal again. īƒ˜Only EOP generated by TC or external EOP can cause the auto- initialization and only if it is programmed for .
  • 36. 4)Cascade mode īƒ˜In this mode ,more than one 8237 can be connected together to provide more than four DMA channels . īƒ˜The HRQ & HLDA signals from additional 8237s are connected with DREQ & DACK pins of channel of the host rsp. īƒ˜The priority of the DMA requests may be preserved at each level.
  • 37. 5)Memory to memory transfer â€ĸ To perform the transfer of the block of data from one set of memory address to another one ,this mode is used. â€ĸ The transfer is initialize by setting DREQo using software command . â€ĸ The 8237 sends HRQ signal to CPU as usual & when HLDA signal is activated by CPU ,device starts operating in block transfer mode to read the data from file.
  • 38. â€ĸ The channel 0 current register acts as a source pointer. â€ĸ The byte read data from memory is stored in an internal temporary register of 8237. â€ĸ The channel 1 current register acts as a destination pointer to write the data from temporary register to the destination memory. â€ĸ The pointers are automatically incremented or decremented , depending upon the programming .