`
longxj
  • 浏览: 101794 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

cache coherency when using dma

阅读更多

linux提供两种方式,来保证使用dma时,内存和硬件cache的一致性:

1.Coherent DMA mapping

When using this mapping, the kernel ensures that there will be no cache coherency problems between the memory and the hardware device; this means that every write operation performed by the CPU on a RAM location is immediately visible to the hardware device, and vice versa. This type of mapping is also called "synchronous" or "consistent."


2.Streaming DMA mapping

When using this mapping, the device driver must take care of cache coherency problems by using the proper synchronization helper functions. This type of mapping is also called "asynchronous" or "non-coherent."

说白了,如果采用第一种方式的话,就是由kernel来保证一致性,驱动程序是不用考虑的,这种方法的缺点是

在某些体系结构上,效率很低;如果采用第二种方式的话,那么是有驱动程序来保证一致性的,所以当驱动

要使用dma来进行数据传输时,必须首先检测内存和硬件cache的一致性,linux提供了这类方法。

分享到:
评论

相关推荐

    directory based cache coherency

    目录式缓存一致性是计算机系统中确保多处理器之间内存数据一致性的关键技术。在现代多核处理器架构中,每个核心都可能有自己的高速缓存,当多个核心同时访问同一块内存时,就可能出现数据不一致的问题。...

    arteris-ncore-white-paper.pdf

    Heterogeneous processing has become a hallmark of mobile SoCs, but designing cache coherency across these diverse processing elements can be difficult. Standard on-chip interfaces and network-on-a-...

    cache系统介绍

    一致性(Coherency)和一致性(Consistency)是Cache系统中十分关键的概念。一致性指的是维持多级Cache系统之间数据的同步。当多个Cache层次同时保存有同一数据时,若其中一个Cache层次中的数据被修改了,其他层次上...

    支持监听一致性协议的2级Cache 研究及实践

    监听一致性协议(snooping coherency protocol)是一种常见的实现方式,它允许每个处理器监听系统总线上的通信,以确定是否有其他处理器修改了共享数据。当检测到这样的修改时,当前处理器的缓存中的对应数据会被标记...

    CacheCoherence:为基于总线的广播系统实现 MI、MSI、MESI、MOSI、MOESI 和 MOESIF 协议

    缓存一致性是多处理器系统中的一个关键概念,它确保了所有处理器对共享内存的访问保持一致,避免数据的不一致性和错误。在基于总线的广播系统中,多个处理器通过共享总线进行通信,这就需要一种机制来维护缓存一致性...

    Cache-Memory-10-03.pdf

    在“第3章 Coherency and Consistency”中,讲述了缓存的一致性问题。由于多级缓存的出现,当多个缓存副本之间不一致时,会发生所谓的缓存一致性问题。记忆一致性(Memory Consistency)问题是指如何确保处理器看到...

    IBM cache state

    ### IBM Power8 Cache State设计与专利技术解析 #### 一、引言 本文将深入探讨IBM Power8处理器中关于缓存一致性(Cache Coherence)管理的相关技术,特别是针对其独特的缓存状态设计及其在美国获得的专利(US7,337...

    dma-contiguous.rar_memory

    在分析和修改这类代码时,需要深入了解Linux内核内存管理机制,包括页表、伙伴系统(Buddy System)以及内存域(DMA Coherency Domains)等概念。同时,还需要关注性能和内存效率,避免内存浪费和不必要的碎片。 ...

    AXI4 cache一致性文档

    AMBA4 ACE (AMBA 4 Advanced Coherency Extensions) 是AMBA4的一部分,它专门用于解决多核系统中的缓存一致性问题。 #### ACE 的特点: 1. **高性能**:ACE提供了高速的数据传输能力,可以有效地支持大规模并行处理...

    SMP_coherent.docx

    ARM处理器中的SCU(System Coherency Unit)就是为了解决这个问题而设计的。本文将基于给定的文档内容,详细阐述多核一致性配置流程,并解释涉及的关键步骤。 首先,配置流程主要分为两个部分:Primary processor...

    ARMV8 Shareability Versus Coherency 介绍.pptx

    armv8 sharability和conherency的介绍PPT, sharability和conherency的配置细节, 不了解的同学可以看看.

    AMD,原版AXI手册

    此手册,"AMBA AXI和ACE协议规范",涵盖了AXI3、AXI4以及AXI4-Lite三种不同版本的协议,以及ACE(Advanced Cache Coherency Extensions)和ACE-Lite。 AXI3是AXI协议的早期版本,支持突发(burst)传输,允许连续...

    memory-barriers.pdf

    文章还提到了内核I/O屏障效果,CPU缓存对一致性的影响(包括缓存一致性cache coherency、缓存一致性与DMA、缓存一致性与MMIO)以及CPU所采取的一些行为(比如Alpha架构的情况)。 在隐式内存屏障方面,包括了与锁定...

    amba-axi的PDF

    ACE(Advanced Cache Coherency Extensions)扩展则增加了缓存一致性支持;ACE5-Lite、ACE5-LiteDVM和ACE5-LiteACP则分别适用于轻量级、动态电压和频率调整以及低功耗音频/视频应用。 5. **术语更新**:从Issue H...

    1Z0-048 RAC OCP

    2. Global Cache服务:确保所有实例对数据的一致访问,通过Global Data Services(GDS)和Global Cache Coherency Protocol(GCCP)实现。 3. Network Configuration:使用Interconnect进行实例间的通信,确保数据的...

    Video Saliency Detection via Spatial-Temporal Fusion and Low-Rank Coherency Diffusion

    Video Saliency Detection via Spatial-Temporal Fusion and Low-Rank Coherency Diffusion

    概念题.pdf

    2. **Cache Coherency**:缓存一致性是指当多个CPU同时访问共享数据时,保证所有CPU的缓存中数据的一致性。常见的缓存一致性协议有MESI(Modified, Exclusive, Shared, Invalidated)和MOESI等。 3. **PCB (Process...

    IHI0022G_amba_axi_protocol_specIHI0022G_amba_axi_protocol_spec

    AXI5-Lite、ACE5(Advanced Cache Coherency Extensions,高级缓存一致性扩展)、ACE5-LiteDVM(Data Value Tagged)、以及ACE5-LiteACP(Advanced Coherent Port)是针对不同场景的扩展,分别支持轻量级应用、缓存...

    AMBA AXI and ACE Protocol Specification

    AXI(Advanced eXtensible Interface)和ACE(Advanced Cache Coherency Extensions)是AMBA协议中的两个重要组成部分,主要关注高性能和高带宽的系统设计。 **AXI协议** AXI协议是AMBA架构中的总线接口标准,分为...

Global site tag (gtag.js) - Google Analytics