Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:multiasm:paarm [2025/03/07 06:03] eriks.klavinsen:multiasm:paarm [2025/12/02 20:06] (current) eriks.klavins
Line 5: Line 5:
 ARM stands for Advanced RISC Machine. ARM stands for Advanced RISC Machine.
  
-Today, ARM has multiple processor architecture series, including Cortex-M, Cortex-R, Cortex-A, and Cortex-X, as well as other series. Cortex-X series processors are made for performance to be used in Smartphones and LaptopsNow it supports up to 14 cores, but this value changes over time. Similarly, the Cortex-A series is made for devices designed to execute complex computation tasks. These processors are made to provide power-efficient workloads for increasing battery life. Similarly to the Cortex-X series, these processors also may have up to 14 cores. The cortex-R series is made for real-time operations, where reaction to events is crucial. These are made specifically to be used in time-sensitive and safety-critical environments. The architecture itself is very similar to the Cortex-A processors with some exceptions that will not be discussed here. The Cortex-M series is for microcontrollers where low power consumption and computational power are required. Many wearable devices, IoT, and embedded devices contain ARM microcontrollers.+ARM has multiple processor architecture seriesCortex-M, Cortex-R, Cortex-A, and Cortex-X, as well as other series, not only generalised Central Processing Units - CPU. 
 +Cortex-X series processors are made for performance on smartphones and laptopsIt supports up to 14 cores, but that number may change over time. Similarly, the Cortex-A series is designed for devices that execute complex computational tasks. These processors are designed to deliver power-efficient performance, increasing battery life. Like the Cortex-X series, these processors also may have up to 14 cores. The cortex-R series is made for real-time operations, where reaction to events is crucial. These are designed specifically for use in time-sensitive and safety-critical environments. The architecture is very similar to the Cortex-A processorswith some exceptions that will not be discussed here. The Cortex-M series of microcontrollers requires low power consumption and high computational power. Many wearable devices, IoT devices, and embedded devices use ARM processors.  
 +The ARM processor “world” is huge – only through individual investigation can it be explored and its potential realised. In this book, we will present key ideas for what needs to be investigated in more depth to unlock the exact processor's full potential and features. The primary resource for this book is the ARM official homepage at https://developer.arm.com/documentation, which includes all its resources and documentation. 
 + 
 +Mobile devices tend to use Cortex-A series processors. As the instruction set is very similar to that of the Cortex series (of course, with minor differences), we will use a Raspberry Pi 5 as a mobile device to learn its architecture. The A64 instruction set will be used in assembly language. The Raspberry Pi 5 uses BCM2712, an ARM Cortex-A76 processor based on the ARMv8.2 architecture. The processor architecture includes many useful features to speed up applications. Currently, the Raspberry Pi 5 has NEON with an integrated floating-point unit, but only half-precision. The architecture has an optional L3 cache, and the BCM2712 on the Raspberry Pi 5 has 2MB of it. All specifics are available in the BCM2712 datasheet.  
 +Note that ARM typically uses registers to manipulate data. There are no operations that directly manipulate data in memory. All the data must be loaded into the processor's general-purpose registers. All manipulations are performed directly on those registers containing data, and the data can finally be stored back in memory.
  
-Mobile devices tend to use Cortex-A series processors. To learn its architecture, we will use the Raspberry PI. For ARM architecture, we will use the Cortex-M series microcontroller. We chose an ST-manufactured microcontroller, the STM32H743VIT6 microcontroller, to work with the assembler programming language. The microcontroller itself is being chosen for a reason – the processor core is based on ARMv7 Cortex-M7 which is one of the most powerful processor architectures among microcontrollers. 
en/multiasm/paarm.1741327399.txt.gz · Last modified: 2025/03/07 06:03 by eriks.klavins
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0