摘要:
1.DMA传之前是否需要把cache更新到内存。It depends。大部分X86支持DMA当主存跟Cache不一致时,DMA直接从Cache里面去数据,那就不需要cache flush了。但有些hardware不支持DMA从cache取数据,这时候就有必要在DMA之前flush cache到主存了。不过在windows下,cache flush的操作其实不需要driver来关心,当driver调用OS的API去做DMA的时候,OS已经帮我们做好了cache跟memory之间的coherence了。2. DMA有哪些类型。可以分为Packet Based, Common-Buffer, Hyb 阅读全文