Understanding ARMv8-A Architecture

Understanding ARMv8-A Architecture

In previous articles, we often mentioned Armv8-A. So what exactly is Armv8-A? This question can be simple or complex. Today, let’s take some time to briefly study it. As we all know, ARM is a company that designs and licenses processors and corresponding IPs (such as interconnect buses, interrupt controllers, image processors, etc.). Currently, its … Read more

Understanding Armv8-A Performance Monitoring Unit (PMU)

Understanding Armv8-A Performance Monitoring Unit (PMU)

Click the blue 'Arm Selected' at the top left and select 'Set as Star'. The Performance Monitoring Unit (PMU) in the Armv8-A CPU provides hardware-level performance monitoring and analysis capabilities. The PMU collects hardware event counts through counters. The counters include cycle counters and event counters. You can configure: 5 event counters to count specified … Read more

Introduction to MMU in ARMV8-A – Part 1

Introduction to MMU in ARMV8-A - Part 1

1. Concept of Address Translation The code in ARMV8-A generally uses virtual addresses for addressing access, which are converted into physical addresses in the memory system. This conversion is performed by a component of the processor called the MMU. The MMU uses a translation table to convert virtual addresses to physical addresses; this translation table … Read more

Introduction to MMU in ARMV8-A – Part 5

Introduction to MMU in ARMV8-A - Part 5

Continuing from the previous article, Introduction to MMU in ARMV8-A – Part 4. Page Tables in ARMV8-A ARMV8-A supports three types of page table formats: ARMV8-A AArch64 Long Descriptor Format ARMV7-A Long Descriptor Format, such as the Large Physical Address Extension (LPAE) in the ARM Cortex-A15 processor ARMV7-A Short Descriptor Format Although ARMV8-A uses the … Read more

In-Depth Analysis of Cortex-A32 Processor for High-Efficiency Embedded Environments

In-Depth Analysis of Cortex-A32 Processor for High-Efficiency Embedded Environments

The Cortex-A32 is a unique product in the ARM architecture, holding an important position. The Cortex-A32 is based on the ARMv8-A architecture but is designed specifically for 32-bit processors. The figure below shows the compatibility of the Cortex-A32 with the ARMv8-A architecture and compares it with the Cortex-A35. Figure 1: Cortex-A32 and ARMv8-A Tips Based … Read more

Preview: Discussing Privilege Modes, Boot Strategies, and Security Isolation in ARMv8-A and RISC-V CPU Architectures

Preview: Discussing Privilege Modes, Boot Strategies, and Security Isolation in ARMv8-A and RISC-V CPU Architectures

Preview PreviewIn the coming weeks, we will spend several weeks or even a couple of months discussing the differences in privilege modes, secure boot, and sleep/wake strategies between the two CPU architectures: ARMv8-A and RISC-V. RISC-V

Cortex-A72 Based on ARMv8-A Architecture

Cortex-A72 Based on ARMv8-A Architecture

The ARM Cortex-A72 is a high-performance 64-bit processor core based on the ARMv8-A architecture. Since its launch in 2015, it has been widely used in high-end mobile devices, embedded systems, automotive electronics, and consumer electronics. 1. Architecture and Performance Features The Cortex-A72 adopts the ARMv8-A architecture, supporting 64-bit data processing, and introduces extended virtual address … Read more

Introduction to the Arm Cortex-A55 CPU

Introduction to the Arm Cortex-A55 CPU

The Cortex-A55 processor is a mid-range low-power processor that utilizes the Armv8-A architecture. The diagram below illustrates the functional structure of this processor.Functional OverviewThe system registers of this CPU primarily provide the following functions: System control and configuration Memory Management Unit (MMU) configuration and management Cache configuration and management System performance monitoring Generic Interrupt Controller … Read more

Line-by-Line Interpretation of Armv8-A Assembly SMP Boot Code

Line-by-Line Interpretation of Armv8-A Assembly SMP Boot Code

This article provides a line-by-line explanation of the Armv8-A assembly code sourced from ArmĀ® Development Studio. It focuses on the boot sequence of the AArch64 MPCore processor. This code initializes the system from Exception Level 3 (EL3, typically the Secure Monitor mode) and transitions to Exception Level 1 (EL1, typically the OS mode), during which … Read more