pci - How can a PCIe card dma data into CPU ram? -


this in reference this answer given similar dma/pci question. gathered answer pc not have dma capable of transferring data to/from pci card, , pci card must provide dma capabilites. have received similar answers colleagues saying, "a two-way dma needs on fpga (referring pci card) enable burst transfers to/from cpu memory."

my understanding when pc receives read request, needs fulfill read request creating return packet data requested. so, if card requests page of data (4096 bytes), pc needs return packet 4096 bytes. how card's dma reach across bus , use it's dma fill needed packet this answer suggests?

i think there might misunderstanding here. card not "reach across" bus use dma function in pc.

the card bus master. can directly read , write entire memory of pc, cpu can. pc memory system point of view, there no difference between card or main cpu in pc. both bus masters. both can perform reads , writes memory.

bursts of 4096 bytes not supported. have split multiple smaller bursts.


Comments

Popular posts from this blog

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - UML - How would you draw a try catch in a sequence diagram? -

c++ - No viable overloaded operator for references a map -