What is Direct Memory Access (DMA)? How disk controllers and memory communicate

preview_player
Показать описание
Having the CPU co-ordinate communication between heavily used I/O devices like disks reduces CPU throughput as it waits for data transfer to complete. Direct Memory Access or DMA is a method of transferring large blocks of data between disk controllers and memory that frees up the CPU to accomplish other tasks one the transfer is initialized. The CPU must provide basic info to start transfer, but then is free to do other work until it receives an interrupt to notify it of the completion of the data transfer. This optimization results in big gains in CPU throughput and reduced latency.

If you have not seen the Little Man Computer (LMC) series of videos, they explore how a computer works at it most fundamental level. You can find them here:

Рекомендации по теме
Комментарии
Автор

I really found the differences between programmed io, interrupted io and DMA from your videos. You gave simple and real examples for clear understanding. Thank you so much for this

bhanuchanderbalusa
Автор

Excellent explanation. I just wish it was longer and more in depth, but it is amazing at just how much understanding I gained about this topic from such a short video. Thank you.

mth