wisemonkeys logo
FeedNotificationProfile
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Direct memory access (DMA)

profile
Dev Sheta
Aug 13, 2024
0 Likes
0 Discussions
126 Reads

DMA permits data transfer directly between I/O device and main memory,

without involvement by the CPU.

• The transfer of data is first initiated by the CPU.

• During the data transfer, the CPU performs other tasks. When the data

transfer is completed, the CPU receives an interrupt request from the DMA

controller.

• The operating system can use only DMA if the hardware has a DMA

controller.

• Consider a data transferred from disk drive to main memory with DMA as

shown in fig. 

Steps-

1. CPU initiates data transfer by programming DMA controller’s registers.

Control- transfer data from disk to main memory

Count- n Number of bytes to transfer

Address- Starting address location in main memory

2. DMA controller then requests disk controller to add data byte to be

transferred from the disk to its buffer.

3. The disk controller then sends the 1 data byte from buffer to the specified

memory location in main memory.

4. When the write is complete, the disk controller sends an acknowledgement

signal to the DMA controller. DMA controller then increments the address

value by 1 (next empty location to write the data) and decrements the byte

count value by one (1 byte is sent out of n bytes). Then steps 2,3,4 are

repeated till the count reaches 0.

5. When count=0, the DMA controller interrupts the CPU to let it know that

the transfer is now complete.


Comments ()


Sign in

Read Next

ART AND CULTURE OF VRINDAVAN

Blog banner

Guidelines for a Low sodium Diet.

Blog banner

What is Anxiety? How to manage Anxiety?

Blog banner

Tomato Butter Sauce with Bucatini

Blog banner

Fitness

Blog banner

Super Garlicky Tomato Soup with Smashed White Beans

Blog banner

Fudgy Tahini Date Chocolate Bars

Blog banner

The Right way of cooking

Blog banner