Dma-how dma works-microprocessor, Assembly Language

DMA

  • DMA stands for Direct Memory Access
    • It is uses same Address/Data lines on ISA bus
    • It controls the ISA bus instead of the processor ("bus master")
    • Floppy Drive (DRQ2)
    • Hard Drive (varies)
    • Sound Card (varies)

 

  • DMA vs. Programmed I/O
    • It need less processor load
    • It can continually transfer the same block (loop indefinitely)
    • The devices which are demand-based can be serviced more efficiently

     

  • DMA characteristics:
    • It is 16-bit or 8-bit transfers

 

HOW DMA WORKS to transfer data from memory to a peripheral:

1. The peripheral Device requests for DMA service by pulling DREQ line high

2. The DMA controller requests CPU go on hold by pulling CPU's HRQ line high

3. The CPU finished current bus cycle, then acknowledges with HLDA the CPU relinquishes ALL bus control now (3-state)

4. The DMA controller activates DACK line to acknowledge the DMA to the peripheral

5. The DMA start transferring data to the peripheral

 

Posted Date: 10/10/2012 9:17:48 AM | Location : United States







Related Discussions:- Dma-how dma works-microprocessor, Assignment Help, Ask Question on Dma-how dma works-microprocessor, Get Answer, Expert's Help, Dma-how dma works-microprocessor Discussions

Write discussion on Dma-how dma works-microprocessor
Your posts are moderated
Related Questions
http://www.raritanval.edu/uploadedFiles/faculty/cs/full-time/Brower/CISY256/2013Spring/CISY256%20Assembly%20Project.pdf

#I submitted my assignment this morning and it is still processing. How long does it take?

RET : Return from the Procedure:- At each CALL instruction, the register IP and register CS of the next instruction is pushed to stack, before the control is transferred to the

ROL : Rotate Left without Carry: This instruction rotates the content of the destination operand to the left by the specified count bit-wise excluding the carry. The most signific

Write a program that will input a number from the keyboard, and then display the number in binary form, as well as the number of one's in the number. Hint: Shift the value left (or

A/D conversion: Basic tasks: (a) Write a program that will read and display the analog voltage on pin PE7 approximately once every second. (b) Write a program that will read and d

#write a program 8086 to find the largest number

There are 3 kinds of OCWs. The command word OCWI is utilized for masking the interrupt requests; when the mask bit corresponding to an interrupt request is value 1, then the requ

Write a MC68H12 assembly language program to find the largest number in an array of ten 8-bit numbers. The array is stored in memory locations starting at address $1100. Use branch

Modes of 8254 :   Mode 0 (Interrupt on Terminal Count)-GATE which value is 1 enables counting and GATE  which value is 0 disables counting, and GATE put not effect on