DMA stands for "Direct
Memory Access" and is a method of transferring data from
the computer's RAM to another part of the computer without processing it using
the CPU. While most data that is input or output from your computer is
processed by the CPU, some data does not require processing, or can be
processed by another device.
In these situations, DMA can save processing time and is a more
efficient way to move data from the computer's memory to other devices. In
order for devices to use direct memory access, they must be assigned to a DMA channel.
Each type of port on a computer has a set of DMA channels that can be assigned
to each connected device. For example, a PCI controller and a hard drive
controller each have their own set of DMA channels.
For example, a sound card may need to access data stored in the
computer's RAM, but since it can process the data itself, it may use DMA to
bypass the CPU. Video cards that support DMA can also access the system memory
and process graphics without needing the CPU. Ultra DMA hard drives use DMA to transfer
data faster than previous hard drives that required the data to first be run
through the CPU.
An alternative to DMA is the Programmed Input/Output (PIO)
interface in which all data transmitted between devices goes through the
processor. A newer protocol for the ATAIIDE interface is Ultra DMA, which
provides a burst data transfer rate up to 33 mbps. Hard drives that come with
Ultra DMAl33 also support PIO modes 1, 3, and 4, and multiword DMA mode 2 at
16.6 mbps.
DMA TRANSFER TYPES
MEMORY TO MEMORY TRANSFER
In this mode block of data from one memory address is moved to
another memory address. In this mode current address register of channel 0 is
used to point the source address and the current address register of channel is
used to point the destination address in the first transfer cycle, data byte
from the source address is loaded in the temporary register of the DMA
controller and in the next transfer cycle the data from the temporary register
is stored in the memory pointed by destination address. After each data
transfer current address registers are decremented or incremented according to
current settings. The channel 1 current word count register is also decremented
by 1 after each data transfer. When the word count of channel 1 goes to FFFFH,
a TC is generated which activates EOP output terminating the DMA service.
AUTOINITIALIZE
In this mode, during the initialization the base address and word
count registers are loaded simultaneously with the current address and word
count registers by the microprocessor. The address and the count in the base
registers remain unchanged throughout the DMA service.
After the first block transfer i.e. after the activation of the
EOP signal, the original values of the current address and current word count
registers are automatically restored from the base address and base word count
register of that channel. After auto initialization the channel is ready to
perform another DMA service, without CPU intervention.
DMA CONTROLLER
The controller is integrated into the processor board and manages all
DMA data transfers. Transferring data between system memory and an 110 device
requires two steps. Data goes from the sending device to the DMA controller and
then to the receiving device. The microprocessor gives the DMA controller the
location, destination, and amount of data that is to be transferred. Then the
DMA controller transfers the data, allowing the microprocessor to continue with
other processing tasks. When a device needs to use the Micro Channel bus to
send or receive data, it competes with all the other devices that are trying to
gain control of the bus. This process is known as arbitration. The DMA
controller does not arbitrate for control of the BUS instead; the I/O device
that is sending or receiving data (the DMA slave) participates in arbitration.
It is the DMA controller, however, that takes control of the bus when the
central arbitration control point grants the DMA slave's request.
+ comments + 2 comments
RAM is a very important part of your CPU. The speed of your PC depends on how much RAM you got. It also depends on your amount of Virtual Memory Sometimes. RR Parts Direct
you can't install two RAMs with different MHz on a single motherboard. Sometimes it works but, usually one of the RAM MrSparepartsOnline
Post a Comment