Overview

The Arm CoreLink System Controllers

Arm CoreLink System Controllers orchestrate critical AMBA system tasks such as hardware virtualization support, interrupt management, L3 cache operation, DMA, TrustZone security and peripheral operation. Designed for optimal compatibility with Arm processors and Multimedia IP, they are the natural complements to the System IP Interconnect and Memory Controller product lines. 

Generic Interrupt Controller (GIC)

 

  • Supports interrupt detection, prioritization, re-distribution and virtualization
  • Handles Private Peripheral Interrupts (PPI), Shared Peripheral Interrupts (SPI), Software Generated Interrupts (SGI) and Locality Peripheral Interrupts (LPI)
  • GIC-500 also supports message-based interrupts such as PCI Express MSI/MSI-X interrupts, and Interrupt Translation Services for ID translation and core migration

Learn more

System Memory Management Unit

 

  • Provides same view of memory to IO peripheral devices as CPU using stage1 and/or stage2 virtual to physical address translation
  • Enforces memory protection and access schematic while extending memory virtualization services that match those provided by the main application processor to ensure consistent security across the SoC
  • The CoreLink MMU-600 has a stage 2 protection mechanism which enables TrustZone Media Protection v2 (TZMP2) with master side filtering

Learn more


Other System Controllers

 

  •  Controllers perform critical system tasks such as TrustZone Security, DMA, Level 2 Cache and IO Peripherals' operation

Learn more

Use Cases

System Controllers are used for many functions within an SoC, including:

Virtualization

Virtualization is the ability of a system to support multiple virtual machines each running its own guest operating system with its own private access to memory and IO peripherals without any interference whatsoever from the others. Arm's SMMU enables hardware virtualization by performing stage1 and/or stage2 address translation for IO devices, thereby providing them with the same view of memory as the CPU/GPU. 


Memory Mapping

Another interesting use case of SMMU is to perform memory mapping to enable a programmable view of memory for IO peripherals. As an example, SMMU supports scatter-gather operations whereby an IO peripheral can access disjoint locations of physical memory as a single contiguous block of virtual memory due to the SMMU translation. This results in improved utilization of memory while ensuring that the IO peripheral performance is not affected. 


Cache Control

CPU to off-chip memory communication has become the performance bottleneck in many SoCs. Level 2 Cache Controllers improve CPU performance by keeping memory access on-chip with a typical latency 10-25% of accessing the data off-chip. At the same time, the reduced CPU demands on the off-chip memory bandwidth free up that resource for other masters. Level 2 Cache Controllers also contribute significantly to power efficiency as on-chip accesses are typically an order of magnitude lower in power versus going off-chip. Typically these are embedded inside the CPU or delivered as standalone components optimized to match the processor requirements and integrate easily into the AMBA interconnect.


Interrupt Management & Translation

Arm GICs perform the key function of interrupt management and translation. Management functions include detection, masking, prioritization and routing of interrupts to the appropriate cores. Interrupt Translation Service (ITS) modules in the GIC perform the task of device isolation and ID translation for incoming message-based interrupts, thereby enabling virtual machines to program peripherals directly.


Security

Arm's TrustZone security platform enables hardware-based secure access to regions of both off-chip memory and on-chip SRAM. The memory space is divided into a configurable number of regions each with its own access permissions. This setup ensures that malicious software cannot compromise system operation by latching onto data or code it shouldn't have access to. 


Direct Access to Memory

Arm's CoreLink DMA controllers perform critical functions of moving streams of data between a peripheral and memory without overloading the CPU. Software programs typically write the data transfer instructions to memory and trigger the DMA engine which then takes over and performs the data move without incurring any additional overhead on the CPU.

 

Get support

Arm support

Arm training courses and on-site system-design advisory services enable licensees to realize maximum system performance with lowest risk and fastest time-to-market.

Arm training courses  Open a support case
Answered Where do I find presentations and photos from SC'18? 0 votes 627 views 0 replies Started 3 months ago by John Linford Answer this
Answered SCP firmware for Juno board
  • Juno Arm Development Platform
  • Arm Trusted Firmware
  • FPGA
0 votes 171 views 4 replies Latest 6 hours ago by Zhenyu Ning Answer this
Suggested answer Arm Compute lib graph model - Convolution Layer with Dilation
  • Machine Learning (ML)
  • Arm Compute Library (ACL)
0 votes 41 views 1 replies Latest 7 hours ago by Sheri Zhang 张晓霞 Answer this
Not answered MPU and TrustZone 0 votes 14 views 0 replies Started 8 hours ago by Talk2Joseph Answer this
Suggested answer Cortex A15 SCU
  • Cortex-A15
  • Cortex-A
0 votes 266 views 1 replies Latest 8 hours ago by Christopher Tory Answer this
Suggested answer WT it non cache able memory when it broadcast at transaction
  • Cortex-A53
  • Cortex-A
0 votes 164 views 1 replies Latest 8 hours ago by Christopher Tory Answer this
Not answered Understanding XDMAC on Cortex-M7
  • cortex-m7
  • Cortex-M
0 votes 16 views 0 replies Started 9 hours ago by Paul Braman Answer this
Not answered Mali T760: Undefined reference to `gbm_bo_get_offset'
  • Mali GPU (Midgard Architecture)
  • Mali-T760
0 votes 17 views 0 replies Started 9 hours ago by klemen Answer this
Suggested answer boundary concept
  • AMBA
  • AXI
  • AHB
0 votes 46 views 1 replies Latest 12 hours ago by Georgia James Answer this
Not answered is there a x86 linux distribution for cross compilation for Raspberry Pi?
  • Raspberry Pi
  • Cross compiling
  • x86
  • Linux
0 votes 16 views 0 replies Started 13 hours ago by ChrisArena1661 Answer this
Suggested answer FFT algorithm
  • fft
  • Cortex-M3
  • Cortex-M
  • STM32F
0 votes 874 views 3 replies Latest 14 hours ago by joedenly Answer this
Not answered Energy probe issue - No data prints on Streamline
  • arm streamline
  • DS-5 Community Edition
0 votes 20 views 0 replies Started 15 hours ago by Tifaine Answer this
Answered Where do I find presentations and photos from SC'18? Started 3 months ago by John Linford 0 replies 627 views
Answered SCP firmware for Juno board Latest 6 hours ago by Zhenyu Ning 4 replies 171 views
Suggested answer Arm Compute lib graph model - Convolution Layer with Dilation Latest 7 hours ago by Sheri Zhang 张晓霞 1 replies 41 views
Not answered MPU and TrustZone Started 8 hours ago by Talk2Joseph 0 replies 14 views
Suggested answer Cortex A15 SCU Latest 8 hours ago by Christopher Tory 1 replies 266 views
Suggested answer WT it non cache able memory when it broadcast at transaction Latest 8 hours ago by Christopher Tory 1 replies 164 views
Not answered Understanding XDMAC on Cortex-M7 Started 9 hours ago by Paul Braman 0 replies 16 views
Not answered Mali T760: Undefined reference to `gbm_bo_get_offset' Started 9 hours ago by klemen 0 replies 17 views
Suggested answer boundary concept Latest 12 hours ago by Georgia James 1 replies 46 views
Not answered is there a x86 linux distribution for cross compilation for Raspberry Pi? Started 13 hours ago by ChrisArena1661 0 replies 16 views
Suggested answer FFT algorithm Latest 14 hours ago by joedenly 3 replies 874 views
Not answered Energy probe issue - No data prints on Streamline Started 15 hours ago by Tifaine 0 replies 20 views