System Memory Management Units

The Arm System Memory Management Units

The System Memory Management Unit family

White paper: Enterprise Virtualization with Arm CoreLink SMMU and Arm CoreLink GIC

Download

Highlights

CoreLink MMU-600AE features

  • Meets automotive safety requirements for building high-performance ASIL B to ASIL D systems.
  • Software compatible with MMU-600 with Arm v8.2 compliant RAS reporting interface.
  • Efficient functional logic duplication, ECC and address protection for SRAM.
  • AMBA extensions for interface protection.
  • Fault management unit to simplify error reporting, testing and integration.

Download TRM

 

CoreLink MMU-600 features

  • Enhances CoreLink MMU-500 feature set by incorporating SMMUv3.1 specification to support Armv8.2 CPUs.
  • Expands the number of contexts supported to millions.
  • Implements AMBA-DTI to interface TBU and TCU to improve scalability.
  • Multi-level TLB and Walk Cache improves system address translation hit rates.
  • Improved write buffer depth and parallel translations.
Diagram on enterprise for CCN502 to 512.

CoreLink MMU-500 Features

  • Builds on top of MMU-400 features by implementing SMMUv2 architecture adding support for Armv8 CPUs.
  • Supports Stage 1, Stage 2, and Stage1 followed by Stage 2 address translation for up to 128 active device contexts.
  • Implements a distributed Translation Buffer Unit (TBU) micro-architecture with direct point-to-point connections between each TBU and the centralized Translation Control Unit (TCU) for Page Table Walks (PTWs).
  • Supports up to 128 entries per TLB which is further backed by TCU cache up to 2K entries.

CoreLink MMU-401 Features

  • Supports SMMUv1 architecture for Armv7 CPUs and Arm v8 for 64KB page sizes.
  • Performs stage2 translation only for hypervisor support.
  • Implements a single TBU micro-architecture with connection to a single TCU for page table walks.

MMU-500 Block Diagram

CoreLink MMU-500 Characteristics

The CoreLink MMU-500 supports the translation formats of Armv7 and Armv8 architectures and performs Stage 1, Stage 2, or Stage 1 followed by Stage 2 translations for all page sizes except 16KB page granule for Armv8. The MMU-500 is implemented as a distributed design with one or more TBUs communicating to a single centralized TCU that performs PTWs to memory. Each TBU can be located in its own clock and power domain making it easy to co-locate the TBU with the peripheral requiring translation. Each TBU communicates to the TCU over an point-to-point stream interface and with bus masters over ACE-Lite. The TCU has an AXI4 slave interface for configuration. 


Get support

Community Forums

Answered Forum FAQs
  • ARM Community
0 votes 662 views 0 replies Started 5 days ago by Annie Cracknell Answer this
Answered Forum FAQs
  • ARM Community
0 votes 432 views 0 replies Started 5 days ago by Annie Cracknell Answer this
Suggested answer missing spl/u-boot-spl-ddr.bin when building Uboot for Coral 0 votes 3234 views 5 replies Latest yesterday by nichols51 Answer this
Suggested answer Priority Group Setting for NVIC Cortex-M7 0 votes 10402 views 1 replies Latest 3 days ago by SeanB Answer this
Suggested answer Looking for manufacturer to produce our motherboard design 0 votes 9015 views 1 replies Latest 3 days ago by Ibrahim112 Answer this
Suggested answer In APB, for data bus width, can I increase from 32 bits(default) to 64 bits(as per my project requirements)?
  • APB
  • AMBA 2 APB Interface
0 votes 1714 views 1 replies Latest 8 days ago by Colin Campbell Answer this
Answered Forum FAQs Started 5 days ago by Annie Cracknell 0 replies 662 views
Answered Forum FAQs Started 5 days ago by Annie Cracknell 0 replies 432 views
Suggested answer missing spl/u-boot-spl-ddr.bin when building Uboot for Coral Latest yesterday by nichols51 5 replies 3234 views
Suggested answer Priority Group Setting for NVIC Cortex-M7 Latest 3 days ago by SeanB 1 replies 10402 views
Suggested answer Looking for manufacturer to produce our motherboard design Latest 3 days ago by Ibrahim112 1 replies 9015 views
Suggested answer In APB, for data bus width, can I increase from 32 bits(default) to 64 bits(as per my project requirements)? Latest 8 days ago by Colin Campbell 1 replies 1714 views