Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Smart Homes
    • Tools, Software and IDEs blog
    • Works on Arm blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
SoC Design and Simulation blog IP Selection: ARM Cortex-A9 or Cortex-A7?
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • Cortex-A9
  • Cortex-A7
  • performance optimization
  • ip selection
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

IP Selection: ARM Cortex-A9 or Cortex-A7?

Bill Neifert
Bill Neifert
September 24, 2016

This entry is extracted from an entry originally posted on Carbon Design Systems’ blog by Andy Meier in February of 2013.  The blog has been edited to use the updated product names after their purchase by ARM.

In starting any new SoC design, it is important to ask a variety of questions, especially when selecting IP.  An architect may ask, for my application, how will the cache subsystem handle our existing code? What about code yet written?  How many instructions per cycle will the CPU be able to execute?  What about percentage of time spent on Cache and TLB misses?  This blog will dive a bit into how an architect at one of Carbon’s customers answered these questions and drive the IP selection process.

CPU: Cortex-A9 or Cortex-A7?

The first IP selection question our customer faced was to use a Cortex®-A9 or should they design with the new Cortex-A7. According to ARM, the Cortex-A7 will enable entry-level smart phones designs below a $100 while the performance of these smart phones will be equivalent to a $500 high-end smart phone of just a few years ago. Pretty impressive!

Among its many features, the Cortex-A7 has an integrated L1 and L2 cache, which allows lower transaction latencies and ultimately improved memory system performance. While the Cortex-A9 architecture is capable of supporting a 16, 32 or 64KB L1 cache with L2 cache supported with the optional PL310 L2 cache controller.

The designer’s intuition told them to choose the Cortex-A7 but they wanted to confirm their choice by benchmarking on a cycle accurate virtual prototype that was set up for several experiments that varied cache size, latency configuration, and interconnect possibilities. The benchmarks they chose to use in their experiments were Dhrystone and CoreMark. To jump-start their effort, they began with a Cycle Performance Analysis Kit (CPAKs) developed around the Cortex-A9 and Cortex-A7.   Each CPAK contains not only a simple platform but also the bare metal benchmarks and sample initialization code which allowed them to get up and running immediately.

They began their analysis by running Dhrystone on a Cortex-A9 1 CPU, 32K D-cache configuration with an external L2 Cache.  They examined the cache behavior by looking into cache events provided with each component.  Using SoC Designer profiling capability, they were quickly able to see how the benchmark was exercising the cache-subsystem.

 Figure 1: Cache Activity from Cortex-A9 running Dhrystone

In addition to D-Cache characteristics, they gathered I-Cache information and TLB information provided by examining the PMU events from the Cortex-A9.  They used these to calculate the D-Cache miss rate, I-Cache Miss rate and TLB miss rate percentage for both Dhrystone and CoreMark.

Figure 2: Cortex-A9 CPU Profiling Events

Using ARM IP Exchange this customer quickly and easily specified the alternate configurations of the Cortex-A9 they were interested in.  Updating their platform to use these new models was as simple as selecting "Replace Component" in the SoC Designer Platform Menu.

Figure 3: ARM IP Exchange Selection page for Cortex A9

Replicating the platform configuration and the experiments set up for the Cortex-A9, they gathered the same profile information but this time for the Cortex-A7. Below you will see the Instruction and pipeline profiling information provided with the Cycle Model Cortex-A7 Model.

Figure 4: Cortex-A7 Profiling Events

Ultimately the experiments and analysis they performed, confirmed their initial thought of using the Cortex-A7 for this project.  The real value in this was that they were able to do this all in a 100% implementation accurate environment prior to finalizing their decision. These initial platforms were also leveraged later on in their design cycle for architectural performance optimization.

Anonymous
SoC Design and Simulation blog
  • Arm Virtual Platform co-simulation solution accelerates SoC verification

    Daniel Owens
    Daniel Owens
    Avery Design Systems’ co-simulation design verification solution that integrates SystemC-based Arm virtual platforms with a SystemVerilog environment.
    • December 6, 2022
  • IP exchange and Cycle Models end-of-life update

    Gemma Platt
    Gemma Platt
    Arm Cycle Models and Arm IP Exchange are now End-of-Life, understand what this means to you.
    • May 25, 2022
  • Accelerate IP Selection with the New Arm IP Explorer

    Zach Lasiuk
    Zach Lasiuk
    The newly announced Arm IP Explorer platform represents a step-change in efficiency for the IP selection process when defining a custom System on Chip (SoC).
    • May 4, 2022