zoukankan      html  css  js  c++  java
  • 关于DMA的几个小问题

    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, Hybrid三种。Packet Based其实就是Driver配置好DMA的基本参数,主动让Device做DMA。Common-Buffer,就是开一块内存跟Device共享,Device自己定时poll这块Memory,发现Memory的数据变化,Device自己开始DMA,需要Driver维护好这块common buffer。Hybrid的就是,有Common-Buffer,但是存放的不是数据,而是一些Descriptor Entry,Device poll这些Descriptoy entry,来开始DMA。

  • 相关阅读:
    HTML Style Sheet
    Chrome 崩溃 相关
    android dialog 不变暗
    URL replacement
    android SharedPreferences
    android PreferenceActivity
    据说还可以的网站
    android brightness control
    Android network status 3G/WIFI
    android activity onSearchRequested()
  • 原文地址:https://www.cnblogs.com/zzSoftware/p/2888899.html
Copyright © 2011-2022 走看看