Direct Memory Access - Principle

Principle

A DMA controller can generate addresses and initiate memory read or write cycles. It contains several registers that can be written and read by the CPU. These include a memory address register, a byte count register, and one or more control registers. The control registers specify the I/O port to use, the direction of the transfer (reading from the I/O device or writing to the I/O device), the transfer unit (byte at a time or word at a time), and the number of bytes to transfer in one burst.

To carry out an input, output or memory-to-memory operation, the host processor initializes the DMA controller with a count of the number of words to transfer, and the memory address to use. The CPU then sends commands to a peripheral device to initiate transfer of data. The DMA controller then provides addresses and read/write control lines to the system memory. Each time a word of data is ready to be transferred between the peripheral device and memory, the DMA controller increments its internal address register until the full block of data is transferred.

DMA transfers can either occur one word at a time or all at once in burst mode. If they occur a word at a time, this can allow the CPU to access memory on alternate bus cycles - this is called cycle stealing since the DMA controller and CPU contend for memory access. In burst mode DMA, the CPU can be put on hold while the DMA transfer occurs and a full block of possibly hundreds or thousands of words can be moved. When memory cycles are much faster than processor cycles, an interleaved DMA cycle is possible, where the DMA controller uses memory while the CPU cannot.

In a bus mastering system, both the CPU and peripherals can be granted control of the memory bus. Where a peripheral can become bus master, it can directly write to system memory without involvement of the CPU, providing memory address and control signals as required. Some measure must be provided to put the processor into a hold condition so that bus contention does not occur.

Read more about this topic:  Direct Memory Access

Famous quotes containing the word principle:

    A certain secret jealousy of the British Minister is always lurking in the breast of every American Senator, if he is truly democratic; for democracy, rightly understood, is the government of the people, by the people, for the benefit of Senators, and there is always a danger that the British Minister may not understand this political principle as he should.
    Henry Brooks Adams (1838–1918)

    Now, what I want is, Facts. Teach these boys and girls nothing but Facts. Facts alone are wanted in life. Plant nothing else, and root out everything else. You can only form the minds of reasoning animals upon Facts: nothing else will ever be of any service to them. This is the principle on which I bring up my own children, and this is the principle on which I bring up these children. Stick to Facts, sir!
    Charles Dickens (1812–1870)

    Well, you Yankees and your holy principle about savin’ the Union. You’re plunderin’ pirates that’s what. Well, you think there’s no Confederate army where you’re goin’. You think our boys are asleep down here. Well, they’ll catch up to you and they’ll cut you to pieces you, you nameless, fatherless scum. I wish I could be there to see it.
    John Lee Mahin (1902–1984)