Why DMA needs non-bufferable buffers? i am sure what is the use of non-cacheable(data need to be be require from cache because of genuinity i,e Speech and audio). But what non-bufferable means?
non-cacheable and non-bufferable
Apr 10, 2008
2 Replies
Bufferable means that any writes to the memory may be temporarily buffered in the CPU before going out to the memory.
If you write something to bufferable memory, and then immediately start a DMA process from that memory, the data may still be in the write buffer, and the DMA engine will grab the old data from the memory before the write has been completed.
It is still possible to use bufferable (and/or cacheable) memory for DMA operations, as long as you ensure that the data has been written to memory before starting the DMA write. In some cases, this is a better solution that making the memory non-cacheable or non-bufferable.
It inferes if we use non-bufferable approach, there is no duplication o the data i.e the synchronization is perfect.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required