Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Path
  • Cache Coherency Glossary
  • The Shared Course Model
  • Cache Coherency Revision Sheet
  • Why Coherence Exists8
  • States and Protocols12
  • Transactions12
  • Races and Controller Design8
  • Progress and the Fabric16
  • Ordering and Synchronization12
  • Performance and Scalability12
  • Real Protocols12
  • SoC Integration12
    • LLC Data and Directory Policies
    • Devices and DMA
      • Coherent Versus Non-Coherent DMA
      • I/O-Coherent Ports
      • Device Caches and CXL.cache
      • Software Maintenance for DMA
    • The Memory-Controller Boundary
  • Power, Clocking and Reliability12
  • Verification12
  • Debug and Bring-up12
  • Interview and Design Review17
  • Capstone: A Coherent Model Lab5
Loading lesson

‹SoC Integration
  1. Topics
  2. Cache Coherency
  3. SoC Integration
  4. Devices and DMA

Part 9 · SoC Integration · All levels

Devices and DMA

Separate coherent data access, device caching, address translation and software buffer handoff.

  • 4topics
  • 4lessons

Direct memory access, or DMA, lets a device transfer memory without the CPU performing each payload load/store. That does not determine its cache-coherence or synchronization contract. Introduce a device D explicitly and identify its path before choosing software maintenance.

Lesson

After it you can...

Coherent Versus Non-Coherent DMA

Say which clean and invalidate steps a non-coherent device needs, and when.

I/O-Coherent Ports

Trace a one-way coherent device read and write through H.

Device Caches and CXL.cache

Name CXL's three protocols, its device types and who manages coherence.

Software Maintenance for DMA

Write the Linux DMA API sequence for each direction and for a descriptor ring.

Read in order after current-data sourcing and completion boundaries. The CPU caches remain MESI C0/C1. D is an additional named device, not a renamed CPU.

Check yourself Does coherent DMA mean the device and CPU can concurrently modify a buffer with no synchronization?

No. Coherence addresses cached data and permissions. Buffer lifetime, operation ordering, atomicity and application synchronization still need a defined contract.

Related topics

  • Shared course model

  • Prerequisite: completion boundaries

PreviousNext: Coherent Versus Non-Coherent DMA

Up next

Up nextCoherent Versus Non-Coherent DMA

Sign in to save progress

Practice this lessonReport an error

See also

  • LLC Data and Directory Policies
  • The Memory-Controller Boundary