USAD8 |
Sommation absolue 8 bits non-signé |
| ARM |
Syntaxe
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 sommation de valeur naturel de différences absolues.
Remarques
- Sur la signification de "sommation de différences absolues" : USAD8 calcule la différence absolue entre chaque paire d'octets (8 bits) de Rn et Rm, puis
additionne les résultats. Cela permet d'obtenir une mesure globale de dissimilarité entre deux blocs de données.
- Sur la nature parallèle de l'opération : L'instruction traite quatre octets en parallèle (un par 8 bits), rendant le processus extrêmement rapide pour
les comparaisons de vecteurs de données. C'est une approche particulièrement adaptée aux applications de vision par ordinateur ou de traitement de signaux.
- Sur l'importance de l'opération dans les algorithmes de reconnaissance : Des algorithmes comme la recherche de blocs en compression vidéo (par exemple
en MPEG) utilisent très souvent ce type d'opération pour estimer les différences de mouvement ou les changements d'image.
- Sur l'utilisation du paramètre {cond} : Le suffixe {cond} permet de conditionner l'exécution selon l'état des drapeaux du programme. Cela évite l'ajout
d'instructions de saut supplémentaires, rendant le contrôle du flux plus compact et plus rapide.
- Sur la précision du terme "valeurs naturelles" : Le terme "valeurs naturelles" dans la description mérite d'être remplacé par "valeurs non-signées", car
en contexte informatique, il est plus précis de parler de valeurs non-signées (unsigned) pour des données 8 bits.
- Sur la destination du résultat : Le résultat final (la somme des différences absolues) est placé dans un seul registre Rd. Cela signifie que la somme
doit être inférieure ou égale à 255 × 4 = 1020 pour éviter toute saturation, ce qui est toujours garanti ici car l'opération est sans saturation.
- Sur la différence avec USADA8 : USAD8 se limite à la somme des différences absolues, tandis que son homologue USADA8 ajoute aussi un registre
d'accumulation au résultat. Il est important de ne pas les confondre selon les besoins en accumulation.
- Sur les usages dans les systèmes embarqués : Grâce à sa capacité à réaliser des comparaisons rapides de petits blocs de données, USAD8 est largement
utilisé dans les processeurs embarqués et les coprocesseurs SIMD pour des tâches d'analyse légère tout en consommant peu de ressources.
Dernière mise à jour : Dimanche, le 12 novembre 2017