Dma how does it work
Term of the Day. Best of Techopedia weekly. News and Special Offers occasional. Techopedia Explains Direct Memory Access DMA A defined portion of memory is used to send data directly from a peripheral to the motherboard without involving the microprocessor, so that the process does not interfere with overall computer operation.
Memory addresses. Interrupt request numbers IRQ. Direct memory access DMA channels. Share this Term. Tech moves fast! Multiple hardware systems adopt Direct Memory Access, such as disk drive controllers, graphics cards, network cards, and sound cards. DMA is also used for on-chip data transfer in multi-core processors.
It can transfer expensive memory operations such as large copies or scatter-gather operations from the CPU to a dedicated DMA engine. DMA is important in network-on-chip and memory computing architectures. Then how does Direct Memory Access work?
The arrow 3 in the diagram doesn't seem to match the text description To determine which one is correct, the bus timing diagram for step 3 will be needed.
More importantly, one needs to find out which device is responsible for holding the data signal in step 3. Does the disk controller sends out the data to DMA controller first, and then the DMA controller repeat the data putting its own voltage onto the bus to the memory?
The "Ack" in step 4 is also suspicious. Doesn't the DMA already know the number of bytes to be copied? Not sure how to clarify. What books on OS and on architecture did you study or do you think are the best? Show 5 more comments. Active Oldest Votes. Q2 So, the whole point of a DMA controller is to "perform the tedious task of storing stuff from the device's internal buffer into main memory". Q3 kind of If you think of the hard disk as the stack of bricks just delivered to a building site, and the processor is the bricklayer that lays the bricks to build the house.
Improve this answer. Mats Petersson Mats Petersson 2 2 silver badges 7 7 bronze badges. Add a comment. Namely: What are the bus systems involved in this description? Most computer systems have a memory bus. Most computers have other kinds of bus systems as well. Does the disk IO go through the memory bus also? In other words, does the disk uses the address bus lines for addresses, and the data bus lines for data? Does the disk controller sees the memory bus as A memory bus? That is, it thinks it is talking to a memory chip; i.
Very unlikely - talking to a memory chip requires one to be ultra-precise about issuing commands according to DRAM timing latencies - a few clock cycles too early or too late, data loss will occur. At the very bottom line, though: A DMA is a programmable device. If the data transfer involves two different bus, the DMA may have to do this to different bus. Sign up or log in Sign up using Google. Whenever a processor is requested to read or write a block of data, i.
Thus the DMA controller is a convenient mode of data transfer. Your email address will not be published. Save my name, email, and website in this browser for the next time I comment. Key Takeaways DMA is an abbreviation of direct memory access. DMA is a method of data transfer between main memory and peripheral devices. DMA controller transfers the data to and from memory without the participation of the processor.
0コメント