Cache Corherency For Multicore Micros

June 9, 2011
ARM's new AMBA 4 interface and protocol specification features the AMBA 4 AXI Coherency Extensions (ACE). It enables system level cache coherency and memory barriers ensure optimal instruction ordering.

ACE Cache Line States and their alternative MOESI naming

Arm microcontroller cores take advantage of Arm's AMBA 4 interface. The latest version incorporates the AMBA 4 AXI Coherency Extensions (ACE). AMBA 4 was launched last year. The new spec targets heterogeneous multicore processor clusters including processors such as the ARM Cortex-A15 MPCore and the ARM Mali-T604 graphics processor. It provides a standard mechanism for managing cache coherency, memory barriers and virtual memory.

The system supports the 5-state MOESI cache coherency model. The ACE cache line states (Fig. 1) map directly to this model. ACE is designed to perform direct master-to-master data transfer when possible. This improves performance because off-chip access is often ten times that of on-chip communication.

The latest standard employs memory barriers throughout the memory sub-system. This allows system architects to ensure optimal instruction ordering in most instances.

ACE allows designers to handle distributed virtual memory support utilized by cores like the Cortex-A15. The ARM Cortex-A15 MPCore is the first core to support AMBA 4 AXI ACE. Multicluster systems share a single set of MMU (memory management unit) page tables. A page table update by one master invalidates translation look-aside buffers (TLB) using a broadcast ACE invalidation message.

The CoreLink CCI-400 Cache Coherent Interconnect from Arm incorporates a pair of ACE coherency ports. This enables two CPU clusters allowing hthe design of systems with up to 8 Cortex-A15 CPU cores. The CCI-400 also handles up to three master interfaces for memory controller and peripherals ports.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!