Introduction to Direct Memory Access (DMA)

  Рет қаралды 41,740

Intermation

Intermation

3 жыл бұрын

We've learned how interrupts relieve the CPU of the burden of polling, but what about the data transfer? A DMA will handle that for us. This lesson shows how.
Takeaways: At the completion of this lesson, each student should be able to:
• explain the benefits of direct memory access (DMA),
• describe the process of cycle stealing,
• explain how a cache supports the use of DMA,
• list the four things the DMA needs to complete a transfer, and
• show how different DMA configurations affect the number of memory cycles stolen per data element transfer.
#dma #io #bus

Пікірлер: 21
@Harko33
@Harko33 2 жыл бұрын
Just discovered this channel. Awesome. You're a very good teacher, thank you.
@toms_lii2065
@toms_lii2065 3 жыл бұрын
So underrated content. Thank you!
@thuantta
@thuantta 3 жыл бұрын
Very cool overview about what DMA is! Easy to understand explanation
@wtfitsdrewbritton
@wtfitsdrewbritton 2 жыл бұрын
Wish I found your videos sooner! Good stuff
@kyrilkaplan5011
@kyrilkaplan5011 2 жыл бұрын
Excellent teaching : the what and the why...thanks !
@radioactivepeter
@radioactivepeter 2 жыл бұрын
Excellent video, keep up the good work!
@user-kq1de9ef2t
@user-kq1de9ef2t 2 жыл бұрын
Thank you... perfect explanation!!
@johnw8154
@johnw8154 2 жыл бұрын
this should be trending honestly
@user-kh4kh2wl9p
@user-kh4kh2wl9p 2 жыл бұрын
Thanks!!
@leprofeet9989
@leprofeet9989 2 жыл бұрын
wowie this is useful thanks a lot
@goodwill7643
@goodwill7643 3 жыл бұрын
So as I understand, these functions (DMA Channels) are fixed and connected to specific/predefined interfaces like timers, UART or SPI and can be configured only with corresponding interface in order to decries clock cycles for data transfer. In other words I can't choose any random interface on software level and say ok, now do data transfer for ADC for example (if there is no DMA Channel for it). I think I got it. Thank you.
@Intermation
@Intermation 3 жыл бұрын
Depending on the hardware, you may or may not have the ability to transfer data between any device and memory. I've worked with a number of architectures where you just give the DMA a source address, a destination address, whether to increment, decrement, or leave static each of those addresses with each transfer, and the amount of data to transfer, and it handles the transfer.
@TNTsundar
@TNTsundar 3 жыл бұрын
It depends entirely on the DMA engine’s design. You could have mere copiers to more sophisticated ones that understand a lot more context. If the DMA is based on a one-size-fits-all design principle then yes, you could transfer between any peripheral on your chip to any other peripheral or memory.
@subashsuresh8953
@subashsuresh8953 2 жыл бұрын
But sir here we use the arrays that are a run-time storage right, here it's possible for that
@ayusssapkota327
@ayusssapkota327 2 жыл бұрын
How're you writing like that?
@goncalosousa9691
@goncalosousa9691 3 жыл бұрын
That means DMA interact with CPU?
@natrua100
@natrua100 3 жыл бұрын
why DMA have number of channels? Do they help to increase the speed of transfer?
@Intermation
@Intermation 2 жыл бұрын
As I've always understood it, a channel is assigned to a specific device. It can be rotated to another device, but only after completing its transfer for the first device.
@mrsteven1211
@mrsteven1211 3 жыл бұрын
No entendí nada =/
@Intermation
@Intermation 3 жыл бұрын
I'm guessing you understand a lot more than you think!
@blainegabriel8906
@blainegabriel8906 3 жыл бұрын
I'm Alone 😍😥
Ep 073: Introduction to Cache Memory
30:45
Intermation
Рет қаралды 33 М.
Sigma Kid Hair #funny #sigma #comedy
00:33
CRAZY GREAPA
Рет қаралды 13 МЛН
When You Get Ran Over By A Car...
00:15
Jojo Sim
Рет қаралды 29 МЛН
LOVE LETTER - POPPY PLAYTIME CHAPTER 3 | GH'S ANIMATION
00:15
What is DMA? What does it do? and Why is it Important?
8:23
RobSmithDev
Рет қаралды 10 М.
Rob Davis - What is RDMA
11:33
NVM Express
Рет қаралды 11 М.
Ep 081: Introduction to the Stack Pointer
16:09
Intermation
Рет қаралды 47 М.
Inter-Integrated Circuit (I2C) Basics
25:29
Intermation
Рет қаралды 14 М.
But, what is Virtual Memory?
20:11
Tech With Nikola
Рет қаралды 233 М.
Introduction to Direct Memory Access (DMA)
31:29
Vipin Kizheppatt
Рет қаралды 33 М.
What is DMA?   Direct Memory Access Explained!! (SIMPLIFIED)
10:17
Karthik Vippala
Рет қаралды 37 М.
Cache Systems Every Developer Should Know
5:48
ByteByteGo
Рет қаралды 460 М.