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
Your assignment for this project is to write an assembly language program that checks if the user's input is a valid ISBN number. A sample run of your program might look like:

When Seen in the choir, Terry was the picture of an angelic devil. I have to underline the predicate twice

Example : Write a program to move the contents of the memory location 0500H to BX and also to register CX. Add immediate byte 05H to the data residing in memory location, whose ad


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

* * * * **** * * * * * How can i print this help me pls

You have to write a subroutine (assembly language code using NASM) for the following equation. Dx= ax2+(ax-1)+2*(ax+2)/2

from pin description it seems that 8086 has 16 address/data lines i.e.AD0_AD15.The physical address is however is larger than 2^16.How this condition can be handled

Interrupt System Based on Single 8259 A The 8259A is contained in a 28-pin dual-in-line package that need only a + 5-V supply voltage.  Its organization is shown in given figur

GROUP : Group the Related Segments:- The directive which is used to form logical groups of segments with same purpose or type. This isused to inform the assembler to form a log