Direct memory access -- what does this refer to?

What is DMA?
    Direct memory access (DMA) is the process of transferring data without the involvement of the processor itself. It is often used for transferring data to/from input/output devices. A separate DMA controller is required to handle the transfer. The controller notifies the DSP processor that it is ready for a transfer. Then the processor relinquishes control of its external memory bus and grants the control of the bus to the DMA controller. The DMA controller then transfers the specified amount of data and signals the processor upon completion of the transfer.
The Texas Instruments TMS320C3x, TMS320C4x, the Motorola DSP96002, and the Analog Devices ADSP2106x family of more sophisticated DSP chips all have an on-chip DMA controller.

DMA Controller is a hardware device that allows I/O devices to directly access memory with less participation of the processor. DMA controller needs the same old circuits of an interface to communicate with the CPU and Input/Output devices. 
Direct Memory Access uses hardware for accessing the memory, that hardware is called a DMA Controller. It has the work of transferring the data between Input Output devices and main memory with very less interaction with the processor. The direct Memory Access Controller is a control unit, which has the work of transferring data.

Does DMA have it's types?
Yes, below are the types of DMA:- 
There are four popular types of DMA.

•Single-Ended DMA
•Dual-Ended DMA
•Arbitrated-Ended DMA
•Interleaved DMA

Single-Ended DMA: Single-Ended DMA Controllers operate by reading and writing from a single memory address. They are the simplest DMA.

Dual-Ended DMA: Dual-Ended DMA controllers can read and write from two memory addresses. Dual-ended DMA is more advanced than single-ended DMA.

Arbitrated-Ended DMA: Arbitrated-Ended DMA works by reading and writing to several memory addresses. It is more advanced than Dual-Ended DMA.

Interleaved DMA: Interleaved DMA are those DMA that read from one memory address and write from another memory address.

DMA extension, 
     Remote Direct Memory Access (RDMA) is another memory access method that enables two networked computers to exchange data in main memory without relying on the CPU, cache or the operating system of either computer. Like locally based DMA transactions, RDMA frees up resources and improves throughput and performance. This results in faster data transfer rates and lower latency between RDMA-enabled systems.

RDMA is useful in applications that require fast and massive parallel high-performance computing clusters and data center networks. For example, RDMA is useful when analyzing big data, in supercomputing environments and for machine learning that requires low latencies and high transfer rates.

  Direct Memory Access Advantages and Disadvantages :-

 Advantages:
 1. Transferring the data without the involvement of the processor will speed up the read-write task
2. DMA reduces the clock cycle requires to read or write a block of data.
 3. Implementing DMA also reduces the overhead of the processor. 
 Disadvantages 
 1. As it is a hardware unit, it would cost to implement a DMA controller in the system.
 2. Cache coherence problem can occur while using DMA controller. Parallel Processing and Data Transfer Modes in a Computer System Instead of processing each instruction sequentially, a parallel processing system provides concurrent data processing to increase the execution time. 
   In this the system may have two or more ALU's and should be able to execute two or more instructions at the same time. The purpose of parallel processing is to speed up the computer processing capability and increase its throughput. NOTE: Throughput is the number of instructions that can be executed in a unit of time. Parallel processing can be viewed from various levels of complexity. At the lowest level, we distinguish between parallel and serial operations by the type of registers used. At the higher level of complexity, parallel processing can be achieved by using multiple functional units that perform many operations simultaneously.




Comments

Popular posts from this blog

Software engineering & project management (21CS61) Model paper with answers under vtu 6th sem

Handwritten SPEM(21CS61) TIE answers 6th sem under vtu

Handwritten ML Solved model paper 6th sem 21AI63 under vtu