0
11kviews
Describe the importance of DMA controller. Explain method of interfacing 8257 DMA with 8086 microprocessor.
1 Answer
2
531views
  • DMA Transfer is a hardware controlled I/O Transfer technique. It is mainly used for high-speed data transfer between I/O and Memory where the speed of the peripheral is generally faster than the µP.
  • In Program Controlled I/O, Status or interrupt driven I/O the speed of transfer is slow mainly because instructions need to be decoded and then executed for the transfer.
  • DMA transfer is software independent and hence much faster. A device known as the DMA Controller (DMAC) is responsible for the Direct Memory Access transfer.
  • 8086 initializes the DMAC by giving the starting address and the number of bytes to be transferred. An I/O device requests the DMAC, to perform DMA transfer, through the DREQ line.
  • The DMAC in turn sends a request signal to the µP, through the HOLD line. The µP finishes the current machine cycle and releases the system bus (gets disconnected from it). It also acknowledges receiving the HOLD signal through the HLDA line.
  • The DMAC acquires control of the system bus. The DMAC sends the DACK signal to the I/O peripheral and the DMA transfer begins.
  • After every byte is transferred, the Address Register is incremented (or decremented) and the Count Register is decremented, this continues till the Count reaches zero (Terminal Count).
  • When DMA transfer is completed, the system bus is released by the DMAC by making HOLD = 0. Thus µP takes control of the system bus and continues its operation.
  • The DMA Controller (DMAC) does DMA transfer through its channels. The minimum requirements of each channel are:

    i. Address Register (to store the starting address for the transfer).

    ii. Count Register (to store the number of bytes to be transferred).

    iii. A DREQ signal from the IO device. iv. A DACK signal to the IO device.

Interfacing of 8086 with 8257/8237

Please log in to add an answer.