New Book Recommendation: Mastering Cortex-M Processors with Arm Helium

This article is reprinted from the Jishu Community
Jishu Column: Jishu Reading
Jishu Reading is a reading column launched by the Jishu Community. The Jishu Reading column regularly recommends books and technical management books in the fields of embedded systems, artificial intelligence, the Internet of Things, cloud computing, security, and semiconductors, and organizes community book donation activities and author webinars to facilitate reader interaction. We welcome you to follow Jishu Reading (https://aijishu.com/books).
This issue of Jishu Reading recommends the new book “Arm Helium Technical Guide: Vector Processing Extensions for Cortex-M Series Processors” authored by Arm processor expert Jon Marsh, with contributions from engineers at Arm Technology. The book is published by the Mechanical Industry Press and is a collaborative work of the Arm Technology Education Program, making it an ideal guide for learning Arm Helium MVE technology.

New Book Recommendation: Mastering Cortex-M Processors with Arm Helium

Book Overview

The Arm Helium technology brings exciting new capabilities to microcontrollers, enabling complex digital signal processing or machine learning applications to run on low-cost, low-power devices. This book first introduces the basic concepts of Helium from an easy-to-understand perspective, including Single Instruction Multiple Data (SIMD), vector processing, floating-point and fixed-point data representation, and saturation operations. Then, it breaks down the instruction set into several parts for detailed discussion, covering topics such as pipeline structure, prediction and branch handling, data processing, and memory access. Additionally, it introduces the encoding mechanisms of Helium core technologies such as Cortex-M55, including compilation, debugging, and optimization. The conclusion of this book is an important part that discusses how to implement DSP and ML workloads.

Please note that prior knowledge of Cortex-M processors, basic DSP theory, and a foundation in C language and Arm assembly language is required to read this book.

Book Features

  • Professional reference book on Arm Helium technology.The book is authored by experts in Arm processors, providing readers with professional theoretical learning of Arm Helium technology.

  • Clear themes and strong practicality.The book has clear themes, making it easy for readers to learn. It also introduces the encoding mechanisms of processor cores with Helium capabilities, such as Arm Cortex-M55, and how to implement DSP and ML workloads.

Author Profile

Jon Marshhas over 25 years of experience, having worked for Arm and its semiconductor partners. He has been involved in the development of multiple Arm CPUs, from Arm2 to the current high-end 64-bit processors. He has provided consulting and training on Arm processors for most of the world’s top semiconductor and consumer companies and has spoken at conferences and universities in Asia, Europe, and North America.

Translator Profiles

Zhang Xiangnanis a software engineer at Arm Technology (Arm China), involved in the development of multiple commercial products, mainly responsible for system-level validation and software development of Arm Cortex-M series CPUs. He is familiar with the characteristics of Arm Cortex-M series processors and their software development and has a strong interest in CPU underlying technologies.
Cao Kaiis a senior software development engineer at Arm Technology, dedicated to performance evaluation, CoreSight debugging, and performance optimization for different chip architectures. He is also an enthusiast of AloT (TinyML) and has previously worked in the Huawei LiteOS IoT project team.
Chang Linghaois a senior software development engineer at Arm Technology, focusing on research and development of CPU low-level software and operating systems, with rich experience in adapting various operating systems to Arm architecture optimization in system kernels.
Mei Jidongis a senior software engineer in the CPU department of Arm Technology, focusing on research and development of CPU low-level software, mainly responsible for software system validation and hardware performance validation of CPU IP products.

Table of Contents Overview

  • Chapter 1 Introduction
  • 1.1 Introduction to Helium
  • 1.2 Armv8.1-M Architecture
  • 1.3 Comparison with Other Arm SIMD/DSP Features
  • 1.3.1 Helium vs. Neon
  • 1.3.2 Helium vs. Scalable Vector Extension
  • 1.3.3 Helium vs. Cortex-M DSP Features
  • 1.3.4 Helium vs. Dedicated DSP
  • 1.4 Helium Use Cases
  • 1.5 Questions
  • Chapter 2 Introduction to SIMD/Vector Processors
  • 2.1 SIMD/Vector Processing
  • 2.2 Floating Point and Fixed Point
  • 2.2.1 Saturation Operations
  • 2.2.2 Fixed Point and Floating Point DSP
  • 2.2.3 Helium Floating Point Format
  • 2.2.4 C Data Types and Primitives
  • 2.3 Questions
  • Chapter 3 Helium Architecture
    • 3.1 Basic Concepts of Helium
      • 3.1.1 Helium Registers
      • 3.1.2 Channels
      • 3.1.3 Vector Blocks and Beats
      • 3.1.4 Instruction Examples
    • 3.2 Helium Vector Processing
    • 3.3 Low Overhead Branch Extension
    • 3.4 Tail Prediction
    • 3.5 Helium Instruction Set
      • 3.5.1 Basics of the Instruction Set
      • 3.5.2 Instruction Modifiers
      • 3.5.3 Instruction Forms
    • 3.6 Questions
    • Chapter 4 Data Processing Instructions
    • 4.1 Arithmetic Operations
      • 4.1.1 Addition and Subtraction
      • 4.1.2 Absolute Value
      • 4.1.3 Shifting
      • 4.1.4 Logical Operations
      • 4.1.5 Minimum and Maximum Values
      • 4.1.6 Format Conversion and Rounding
      • 4.1.7 Bit Counting
      • 4.1.8 Element Reversal
    • 4.2 Multiplication Operations
      • 4.2.1 Multiplication Instructions
      • 4.2.2 Multiply-Add Instructions
      • 4.2.3 Complex Number Operation Instructions
      • 4.2.4 Fixed Point Complex Multiplication
    • 4.3 Data Movement
    • 4.4 Comparison and Prediction
    • 4.5 Questions
    • Chapter 5 Memory Access Instructions
    • 5.1 Vector Load and Store
    • 5.2 Discrete-Aggregate
    • 5.3 Interleaved and De-Interleaved Load/Store
    • 5.4 Questions
    • Chapter 6 Helium Branch, Scalar, and Other Instructions

      • 6.1 Low Overhead Branch Extension
      • 6.2 Armv8.1-M Scalar Instructions
        • 6.2.1 Conditional Execution
        • 6.2.2 General Register Shifting
      • 6.3 Other Instructions
    • Chapter 7 Helium Programming
      • 7.1 Compilers and Tools
        • 7.1.1 Arm Compiler 6
        • 7.1.2 GCC Helium Features
        • 7.1.3 Debugging, Tracing, and Profiling Helium CPU Cores
      • 7.2 Helium Programming Methods
      • 7.3 Vector Libraries
      • 7.4 Automatic Vectorization
        • 7.4.1 Using Vectorizing Compilers
        • 7.4.2 Programming for Automatic Vectorization
        • 7.4.3 Automatic Vectorization Examples
      • 7.5 Helium Primitive Functions
        • 7.5.1 Primitive Programming
        • 7.5.2 Primitive Prediction
        • 7.5.3 Primitive Dot Product Example
        • 7.5.4 Primitive Discrete-Aggregate Example
        • 7.5.5 Primitive Tail Handling
        • 7.5.6 Primitive Function Workflow
      • 7.6 Helium Assembly Code
        • 7.6.1 Inline Assembly Code
        • 7.6.2 Inline Assembly Examples
        • 7.6.3 Native Assembly Language Functions
      • 7.7 Porting DSP Code from Other Architectures
      • 7.8 Helium Low-Level Code
        • 7.8.1 Enabling Helium
        • 7.8.2 Detecting Helium
        • 7.8.3 Exception Handling
      • 7.9 Questions
    • Chapter 8 Performance and Optimization
    • 8.1 Code Profiling and Performance Evaluation
      • 8.1.1 Helium Performance Counters and Ratios
      • 8.1.2 Embedded Trace Macrocell
    • 8.2 Performance Considerations
    • 8.3 Performance and Cortex-M Memory System
      • 8.3.1 Cache
      • 8.3.2 Tight Coupling Memory
    • 8.4 Performance Considerations for Dual Vector Block Microarchitecture
    • 8.5 Performance Examples
    • 8.6 Questions
    • Chapter 9 Basics of DSP
      • 9.1 Matrix Operations
        • 9.1.1 Matrix Multiplication
        • 9.1.2 Matrix Transposition
      • 9.2 Fourier Transform
        • 9.2.1 Introduction to Fourier Transform
        • 9.2.2 Fast Fourier Transform
        • 9.2.3 FFT Example
    • Chapter 10 DSP Filtering
      • 10.1 Convolution
      • 10.2 Filters
        • 10.2.1 Introduction to FIR Filters
        • 10.2.2 FIR Filter Example
    • Chapter 11 Application Examples
    • 11.1 Image Processing
    • 11.2 Encryption
      • 11.2.1 Large Number Arithmetic
      • 11.2.2 Polynomial Multiplication
    • Chapter 12 Neural Networks and Machine Learning

      • 12.1 Introduction to Neural Networks
        • 12.1.1 Convolutional Neural Networks
        • 12.1.2 Recurrent Neural Networks
      • 12.2 CMSIS-NN
        • 12.2.1 CMSIS-NN Optimization
        • 12.2.2 CMSIS-NN Helium Optimization
      • 12.3 TensorFlow Lite for Microcontrollers
        • 12.3.1 TensorFlow Lite for Microcontrollers and CMSIS-NN
        • 12.3.2 Model Conversion
        • 12.3.3 Deploying Models on Helium Cortex-M CPUs
        • 12.3.4 Keyword Detection Example
      • 12.4 Converting Neural Networks for Helium
      • 12.5 Classical Machine Learning

    Book Purchase

    1. JD Flagship Store https://item.jd.com/10092254496951.html
    2. Free application for the English electronic version:Free application for the electronic version | A technical masterpiece, the Arm Helium technical reference book is hot off the press! (https://aijishu.com/a/1060000000142281)

    Arm Helium Extension Technology Classroom

    • Helium Technology Lecture | Overcoming the Impact of Amdahl’s Law
    • Helium Technology Lecture | Using Circular Buffers
    • Helium Technology Lecture | Sudoku, Registers, and the Power of Belief
    • Helium Technology Lecture | Why Not Directly Use Neon?

    Reprinted from | Jishu Community

    Copyright belongs to the original author, if there is any infringement, please contact for deletion

    END
    
    
    
    
    
    
    关于安芯教育
    
    
    
    安芯教育是聚焦AIoT(人工智能+物联网)的创新教育平台,提供从中小学到高等院校的贯通式AIoT教育解决方案。
    安芯教育依托Arm技术,开发了ASC(Arm智能互联)课程及人才培养体系。已广泛应用于高等院校产学研合作及中小学STEM教育,致力于为学校和企业培养适应时代需求的智能互联领域人才。
    
    
    
    

    Leave a Comment