← Retour au blog
tech 23 August 2026

Why Aren't My Two Cortex-A9 Cores Cache Coherent?

Discover why your Cortex-A9 cores might not be cache coherent and how to address this for optimal tech projects.

Article inspired by the original source
Why aren't my two Cortex-A9 cores cache coherent? ↗ thejpster.org.uk

Introduction

When diving into hardware development with ARM processors, a recurring question arises: Why aren't my two Cortex-A9 cores cache coherent? This question intrigues many developers and engineers as it directly affects the performance and efficiency of embedded systems. In this article, we will explore the possible reasons for this phenomenon and the solutions to address it.

Understanding Cache Coherence

Cache coherence is a crucial concept in multiprocessor systems. It ensures that all copies of cached data are synchronized across all cores in a processor. Without coherence, a core might work with outdated data, leading to unexpected behaviors and errors in applications.

The Specifics of Cortex-A9

The Cortex-A9 is an ARM processor offering a multi-core architecture, often used for its power and energy efficiency. However, not all systems equipped with Cortex-A9 automatically guarantee cache coherence between different cores. This largely depends on system configuration and hardware implementation.

Common Configuration Issues

One reason Cortex-A9 cores might not be cache coherent is due to improper system configuration. For instance, if the cache controller is not correctly set up to handle coherence, the cores may operate with independent caches. This means updates in one cache are not immediately visible to other cores.

Practical Example

Consider a system based on the Terasic DE0-Nano-SOC, which uses the Altera Cyclone-V SoC combining an ARM SoC and an FPGA. If the developer does not correctly configure the Memory Management Unit (MMU) to enable cache coherence, it can result in inconsistencies between cores.

Potential Solutions

Configuring the MMU

One solution is to ensure the MMU is configured to enable cache coherence. This might involve correctly setting up page tables and ensuring shared memory regions are marked as coherent.

Using Memory Barriers

Memory barriers are instructions that ensure the order of read and write operations. By using them wisely, one can ensure that data updates are properly propagated across all cores.

Firmware Update

In some cases, updating the SoC's firmware can resolve coherence issues. Manufacturers often release patches to improve cache management and multi-core coherence.

Conclusion

Cache coherence in multi-core systems like those using the Cortex-A9 is essential for maintaining performance and data integrity. By understanding the potential causes of incoherence and applying the appropriate solutions, you can ensure that your tech projects operate optimally.

Let's discuss your project in 15 minutes.

Cortex-A9 cache coherence ARM processor multiprocessor systems hardware development
Deepthix newsletter · 100% AI · every Monday 8am

An AI agent reads tech for you.

Our AI agent scans ~200 sources per week and ships the best articles to your inbox Monday 8am. Free. One click to unsubscribe.

Visit the newsletter page →

Want to automate your operations?

Let's talk about your project in 15 minutes.

Book a call