How DMA and PCIe play together?











up vote
1
down vote

favorite












in a PCIe configuration, devices have dedicated addresses and they send data in Peer-to-Peer mode to each other - every device can write when it wills and the switches take care to correctly pass data forward. There is no need to have a "bus master", which decides when and how data will be transmitted.



How does DMA come into play in such configuration? For me it seems that DMA is an outdated feature, which is not needed in a PCIe configuration. Every device can send data to the main memory, or read from it - obviously the main memory will always be the "slave" in such operations.



Or is there some other functionality of DMA, which I am missing?



Thank you in advance!










share|improve this question






















  • When a PCI device reads or writes main memory, that is DMA.
    – prl
    Nov 18 at 16:54










  • Sometimes a PCI device is called a “DMA engine” when reading/writing main memory is its only purpose, for example en.wikipedia.org/wiki/I/O_Acceleration_Technology.
    – prl
    Nov 18 at 16:59

















up vote
1
down vote

favorite












in a PCIe configuration, devices have dedicated addresses and they send data in Peer-to-Peer mode to each other - every device can write when it wills and the switches take care to correctly pass data forward. There is no need to have a "bus master", which decides when and how data will be transmitted.



How does DMA come into play in such configuration? For me it seems that DMA is an outdated feature, which is not needed in a PCIe configuration. Every device can send data to the main memory, or read from it - obviously the main memory will always be the "slave" in such operations.



Or is there some other functionality of DMA, which I am missing?



Thank you in advance!










share|improve this question






















  • When a PCI device reads or writes main memory, that is DMA.
    – prl
    Nov 18 at 16:54










  • Sometimes a PCI device is called a “DMA engine” when reading/writing main memory is its only purpose, for example en.wikipedia.org/wiki/I/O_Acceleration_Technology.
    – prl
    Nov 18 at 16:59















up vote
1
down vote

favorite









up vote
1
down vote

favorite











in a PCIe configuration, devices have dedicated addresses and they send data in Peer-to-Peer mode to each other - every device can write when it wills and the switches take care to correctly pass data forward. There is no need to have a "bus master", which decides when and how data will be transmitted.



How does DMA come into play in such configuration? For me it seems that DMA is an outdated feature, which is not needed in a PCIe configuration. Every device can send data to the main memory, or read from it - obviously the main memory will always be the "slave" in such operations.



Or is there some other functionality of DMA, which I am missing?



Thank you in advance!










share|improve this question













in a PCIe configuration, devices have dedicated addresses and they send data in Peer-to-Peer mode to each other - every device can write when it wills and the switches take care to correctly pass data forward. There is no need to have a "bus master", which decides when and how data will be transmitted.



How does DMA come into play in such configuration? For me it seems that DMA is an outdated feature, which is not needed in a PCIe configuration. Every device can send data to the main memory, or read from it - obviously the main memory will always be the "slave" in such operations.



Or is there some other functionality of DMA, which I am missing?



Thank you in advance!







dma pci-e






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 18 at 13:40









Emerson Fittipaldi

162




162












  • When a PCI device reads or writes main memory, that is DMA.
    – prl
    Nov 18 at 16:54










  • Sometimes a PCI device is called a “DMA engine” when reading/writing main memory is its only purpose, for example en.wikipedia.org/wiki/I/O_Acceleration_Technology.
    – prl
    Nov 18 at 16:59




















  • When a PCI device reads or writes main memory, that is DMA.
    – prl
    Nov 18 at 16:54










  • Sometimes a PCI device is called a “DMA engine” when reading/writing main memory is its only purpose, for example en.wikipedia.org/wiki/I/O_Acceleration_Technology.
    – prl
    Nov 18 at 16:59


















When a PCI device reads or writes main memory, that is DMA.
– prl
Nov 18 at 16:54




When a PCI device reads or writes main memory, that is DMA.
– prl
Nov 18 at 16:54












Sometimes a PCI device is called a “DMA engine” when reading/writing main memory is its only purpose, for example en.wikipedia.org/wiki/I/O_Acceleration_Technology.
– prl
Nov 18 at 16:59






Sometimes a PCI device is called a “DMA engine” when reading/writing main memory is its only purpose, for example en.wikipedia.org/wiki/I/O_Acceleration_Technology.
– prl
Nov 18 at 16:59



















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53361506%2fhow-dma-and-pcie-play-together%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53361506%2fhow-dma-and-pcie-play-together%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Paul Cézanne

UIScrollView CustomStickyHeader Resize height generates problems when scroll is too fast

Angular material date-picker (MatDatepicker) auto completes the date on focus out