Programmation NEON-v7
Objectifs
|
- Connaissance des jeux d'instructions ARMv7.
- Cours théorique
- Support PDF (en anglais), imprimé en présentiel ; à distance via Teams.
- Assistance du formateur tout au long de la formation.
- Chaque session débute par un point avec les stagiaires.
- Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
- Les prérequis sont vérifiés avant l'entrée en formation, sur la base des prérequis publiés sur cette fiche.
- Pendant la formation, les acquis sont évalués en continu : quiz de fin de séquence et observation directe du formateur.
- À l'issue de la formation, chaque participant reçoit une attestation de fin de formation.
Plan du cours
- Clarification des ressources partagées par NEON et VFP
- Banc de registres, registres Q, registres D
- Types de données
- Vecteur et scalaire
- Registres système associés
- Problèmes d'alignement
- Activation de NEON/VFP
- Différences entre NEONv7 et NEONv8
- Instructions produisant des résultats plus larges / plus étroits
- Modificateurs d'instructions
- Choix de la forme
- Choix du type de l'opérande / du résultat
- Souplesse de la syntaxe
- Déclaration de vecteurs initialisés en langage C
- Utilisation d'unions avec des vecteurs et des tableaux de vecteurs pour simplifier le débogage
- Conversion de type des vecteurs
- Modes d'adressage
- Load / store de vecteurs
- Load / store de vecteurs multiples
- Instructions de load / store d'éléments et de structures
- Éléments simples multiples
- Un élément vers 1 lane
- Un élément vers toutes les lanes
- Optimisation de l'ordre des données en mémoire pour tirer parti des structures à 2, 3 et 4 éléments
- Mécanismes d'accélération du processeur : store merging buffers
- Move
- Swap
- Table lookup
- Transposition de vecteurs
- Zip / unzip de vecteurs
- Transfert de données entre NEON et l'unité entière
- AND logique, Bit Clear, OR, XOR
- Opérations avec valeurs immédiates
- Instructions d'insertion bit à bit, pour éviter les branchements
- Comptage des zéros, des uns, des signes en tête
- Normalisation des nombres flottants lorsque VFP n'est pas implémenté
- Duplication de scalaire
- Extract
- Décalage avec arrondi et saturation possibles
- Inversion de champ de bits
- Instructions arithmétiques
- Add, arithmétique modulo et arithmétique saturée
- Division / multiplication par deux du résultat
- Arrondi
- Subtract
- Multiply
- Multiply accumulate / Multiply subtract
- Valeur absolue
- Min / Max
- Instructions de conversion
- Conversion de nombres flottants en nombres à virgule fixe
- Conversion de nombres à virgule fixe en nombres flottants
- Instructions arithmétiques avancées
- Estimation de l'inverse, estimation de l'inverse de la racine carrée, algorithme de Newton-Raphson
- Instructions pairwise
- Comparaison d'éléments
- Filtre FIR
- Conversion de l'algorithme scalaire en algorithme vectoriel
- Recherche des instructions NEON permettant de coder l'algorithme vectoriel
- Optimisation du code
- Utilisation du performance monitor pour affiner l'algorithme
- FFT (DFT)
- Conversion de l'algorithme scalaire en algorithme vectoriel, en comprenant comment les propriétés du cercle permettent de traiter 4 angles simultanément
- Recherche des instructions NEON permettant de coder l'algorithme vectoriel
- Optimisation du code
- Utilisation du performance monitor pour affiner l'algorithme
Plus d'information
Pour vous enregistrer ou pour toute information supplémentaire, contactez nous par email à l'adresse info@ac6-formation.com.
Les inscriptions aux sessions de formation sont acceptées jusqu'à une semaine avant le début de la formation. Pour une inscription plus tardive nous consulter
Vous pouvez aussi remplir et nous envoyer le bulletin d'inscription
Ce cours peut être dispensé dans notre centre de formation près de Paris ou dans vos locaux, en France ou dans le monde entier.
Les sessions inter-entreprises programmées sont ouvertes dès deux inscrits. Sous condition d'un dossier complet, les inscriptions sont acceptées jusqu'à une semaine avant le début de la formation.
Dernière mise à jour du plan de cours : 2 juillet 2026
L'inscription à nos formations est soumise à nos Conditions Générales de Vente
Sur le même sujet :
Yocto ou Buildroot : comment choisir pour votre projet Linux embarqué