How fast is Cortex-A76?

The Cortex-A76 CPU core from ARM offers a significant performance boost over previous ARM CPU cores like the Cortex-A73 and Cortex-A75. Based on ARM’s testing, the Cortex-A76 achieves up to 35% higher performance than the Cortex-A75 under the same power budget. Real-world performance will vary depending on factors like workload, system implementation, and power configuration,…

Qualcomm customizations of Cortex-A76 in Snapdragon SOCs

Qualcomm has made several customizations to the ARM Cortex-A76 CPU core in their Snapdragon system-on-chips (SOCs) to optimize performance and efficiency. The key changes include modifying the microarchitecture, increasing clock speeds, and adding custom instructions. Understanding Qualcomm’s customizations provides insight into the unique capabilities and advantages of Snapdragon SOCs. Overview of Cortex-A76 The Cortex-A76 is…

What is the difference between Cortex-A75 and A76?

The ARM Cortex-A75 and Cortex-A76 are two of ARM’s most powerful CPU cores designed for mobile devices. The Cortex-A76 succeeds the Cortex-A75 and brings significant improvements in performance and efficiency. In summary, the key differences between the Cortex-A75 and Cortex-A76 are: Manufacturing Process The Cortex-A75 is built on TSMC’s 10nm FinFET process, while the Cortex-A76…

Tips on Choosing the Right Cortex Debug Connector

When debugging Cortex-based microcontrollers, having the right debug connector is crucial for efficient and effective debugging. The debug connector provides the physical interface between the target Cortex device and the debugger/programmer. With a variety of debug connectors available for Cortex devices, choosing the right one can be confusing. This article provides tips on how to…

Cortex-M0 Low Power Features (Explained)

The Cortex-M0 processor from ARM is designed to provide an ultra low power 32-bit CPU solution for microcontroller and deeply embedded applications. The processor is optimized to deliver the best power vs performance ratio, making it ideal for power-constrained devices that need to balance processing capabilities with extended battery life. Low Power Design Philosophy The…

Normal Memory vs Device Memory in Arm (Explained)

When looking at memory in ARM-based systems, there are two main types of memory to consider: normal memory and device memory. Normal memory refers to the standard system RAM that is used by the operating system and applications. Device memory refers to memory that is integrated into peripheral devices and used for buffering data transfers….

Strongly Ordered Memory in Armv6 and Armv7 (Explained)

Strongly ordered memory is a memory ordering model used in the ARMv6 and ARMv7 architectures to ensure correctness and consistency of data in concurrent and parallel programming. It provides stricter guarantees compared to weakly ordered memory by enforcing a total order on memory operations. This prevents issues like read-after-write hazards and ensures program correctness. Introduction…

Code vs Data Memory Partitioning in Microcontrollers

Microcontrollers have limited amounts of memory available, so it is important to understand how this memory is partitioned and used. There are two main types of memory in microcontrollers – code memory and data memory. Code memory stores the executable instructions for the program running on the microcontroller. Data memory stores variables and data used…

Accessing Constants and Immediate Values in ARM Instructions (Cortex M)

ARM Cortex M processors provide several ways to access constant and immediate values directly within instructions. This allows efficient access to data without having to load values from memory. The main methods are: 1) Immediate values encoded directly in instruction opcodes, 2) PC-relative addressing to access constants in literal pools, 3) Load multiple registers using…

Instruction and Data Caches in ARM Cortex-M (Explained)

ARM Cortex-M processors feature both instruction and data caches to improve performance by reducing accesses to slower main memory. Caches take advantage of locality principles – the tendency for programs to access the same data and instructions repeatedly over a short period of time. By storing this frequently accessed information in smaller, faster memory caches…