SSUB16 |
Soustraction 16 bits signé |
| ARM |
Syntaxe
|
SSUB16{cond} {Rd}, Rn, Rm
|
Paramètres
| Nom |
Description |
| cond |
Ce paramètre optionnel permet d'indiquer le code de condition |
| Rd |
Ce paramètre permet d'indiquer le registre de destination. |
| Rn |
Ce paramètre permet d'indiquer le registre contenant le premier opérande. |
| Rm |
Ce paramètre permet d'indiquer le registre contenant le deuxième opérande. |
Description
Cette instruction permet d'effectuer une soustraction parallèle de demi-mot avec des valeurs signés.
Remarques
- Soustraction parallèle de demi-mots signés : L'instruction SSUB16 effectue deux soustractions signées en parallèle, en opérant sur les deux moitiés
(16 bits chacun) des registres Rn et Rm. Elle s'inscrit dans les instructions SIMD (Single Instruction, Multiple Data) adaptées aux architectures ARM.
- Utilisation de valeurs signées : Chaque demi-mot est interprété comme une valeur signée sur 16 bits (intervalle de -32 768 à +32 767). Cette précision est
essentielle pour les applications où le traitement de données signées est requis, comme l'audio ou les signaux capteurs.
- Optimisation de la performance : Grâce à la vectorisation implicite, SSUB16 double le débit de traitement comparé à une boucle classique utilisant deux
instructions de soustraction. Cela permet un gain de performance significatif, surtout dans les systèmes embarqués.
- Utile dans le traitement d'image ou vidéo : Elle est particulièrement utile pour effectuer des comparaisons de blocs, comme dans les algorithmes de
détection de mouvement ou de compression, où deux blocs de pixels 16 bits peuvent être comparés simultanément.
- Conservation des bits de résultat : Le résultat des deux soustractions est combiné dans un seul registre 32 bits, chaque partie du registre contenant le
résultat signé de l'opération correspondante. Cela évite des manipulations de registre complexes et permet un traitement compact.
- Compatible avec SADD16 et autres instructions SIMD : SSUB16 est souvent utilisée conjointement avec SADD16 (addition parallèle signée) ou QSUB16
(soustraction saturée) pour construire des opérations mathématiques vectorielles plus complexes tout en gardant une syntaxe ARM claire.
- Conditionnelle via le champ cond : Comme d'autres instructions ARM, elle accepte un code conditionnel optionnel (cond) permettant d'exécuter la
soustraction uniquement si certaines conditions sur les drapeaux d'état sont réunies. Cela permet un contrôle précis du flot d'exécution.
- Très utile pour l'optimisation d'algorithmes DSP : L'instruction est idéale pour les algorithmes de traitement de signal numérique (DSP), comme les filtres
à réponse impulsionnelle finie (FIR) ou les différences de phase, en exploitant la structure pairée des registres pour traiter plus de données à la fois.
Dernière mise à jour : Dimanche, le 12 novembre 2017