Saturday, December 20, 2014

Brief Introduction of DMA

DMA, short for direct memory access, is a very easy and convenient way to transfer data. Generally speaking, you have to process data first through the CPU when transferring data. Sometimes, it is not necessary and troublesome because you may have to wait for a while to transfer data. However, DMA offers you a better choice. Using this technique, you can transfer data from main memory to a device without passing it through the CPU. Keep in mind that some data does not need to be processed or can be processed by another device. Under such circumstance, DMA can really save you a lot of time and energy. Moreover, it works more efficiently. Therefore, computers having DMA channels can transfer data to and from devices much more quickly than computers without a DMA channel.

In order to make you have a better understanding about how it works, we can take a sound card for an example to make some explanations. A sound card may need to get some data which is stored in the computer’s RAM. Without DMA, it will take some time to wait for the CPU to process the data. However, it can also use DMA to bypass the CPU for processing the data itself. In this way, not only do you transfer data in a quicker way, but you also have the opportunity to do some other work on your computer since the CPU is not very busy.

Nonetheless, if you want to make use of DMA, there is something you are supposed to do: assign your devices to a DMA channel. Otherwise, you have no chance to experience how fast and convenient it can be. As a matter of fact, each kind of port on a computer has a set of DMA channels. Therefore, you can assign your device to the DMA channel and then you are free to transfer data.