UHADD8 |
Addition de moitié de 8 bits non-signé |
| ARM |
Syntaxe
|
UHADD8{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 moitié d'addition de parallèle d'octets avec des valeurs non-signés.
Remarques
- Sur la nature de l'addition parallèle non-signée : L'instruction UHADD8 effectue une addition parallèle de moitié d'octets, ce qui signifie qu'elle
additionne les valeurs des octets dans deux registres de manière parallèle tout en tenant compte de la nature non-signée des données. Elle opère sur des octets de 8
bits, en additionnant chaque paire d'octets (de deux registres de 32 bits) en traitant les résultats comme des valeurs positives.
- Sur le type d'addition réalisée (moitié d'octets) : La notion de "moitié d'octets" dans UHADD8 désigne le fait que l'instruction additionne les quatre
premiers bits d'un octet avec les quatre derniers bits d'un autre octet, ce qui permet de réaliser une addition sur les moitiés. Cela est particulièrement utile pour
les applications où la somme des demi-composants d'un octet est nécessaire, par exemple dans les traitements d'images ou de signaux.
- Sur la gestion des données non-signées : UHADD8 traite les valeurs de manière non-signée, ce qui signifie qu'elle ne s'inquiète pas du bit de signe.
Les valeurs dans les registres sont considérées comme des entiers naturels. Cela est souvent plus simple et plus rapide à manipuler pour des applications traitant des
données comme des couleurs d'images, des indices de tableau, ou des comptages où les valeurs sont toujours positives.
- Sur les opérations parallèles : L'instruction UHADD8 réalise une addition parallèle, c'est-à-dire qu'elle additionne plusieurs paires d'octets
simultanément, ce qui permet d'accélérer considérablement des opérations de traitement de données qui nécessitent une addition sur des éléments multiples. Par exemple,
elle peut être utilisée dans des algorithmes de compression d'images ou de données, ou dans des traitements où plusieurs chaînes de données doivent être additionnées en
même temps.
- Sur les paramètres des registres Rn et Rm : Les registres Rn et Rm contiennent les deux opérandes de 32 bits. Chaque opérande est divisé en quatre octets
de 8 bits, ce qui signifie qu'au total, l'instruction UHADD8 additionne quatre paires d'octets entre les deux registres. Le résultat de ces additions est ensuite
entreposé dans le registre de destination Rd, ce qui permet de traiter plusieurs éléments à la fois.
- Sur la flexibilité du champ conditionnel {cond} : Le champ conditionnel {cond} permet d'exécuter UHADD8 uniquement si une certaine condition est
remplie, définie par les drapeaux du processeur. Cela peut permettre une exécution conditionnelle de l'instruction, comme dans des situations où la somme des moitiés
d'octets n'a de sens que dans certaines situations spécifiques (par exemple, lorsqu'un seuil est atteint).
- Sur l'absence de gestion des retenues : Contrairement à des opérations classiques d'addition, UHADD8 n'effectue pas de propagation de la retenue entre
les octets. Chaque addition d'octet est réalisée indépendamment, ce qui peut simplifier le traitement mais aussi limiter l'utilisation de cette instruction dans des
contextes où une gestion explicite des retenues est nécessaire pour des calculs plus complexes.
- Sur l'utilisation typique dans le traitement d'images et de signaux : L'instruction UHADD8 est particulièrement adaptée pour des applications telles que
le traitement d'images où l'on doit effectuer des opérations sur des couleurs codées sur des octets (par exemple, additionner les composantes de couleur d'une image
pixel par pixel). Elle permet également de traiter des signaux numériques dans des systèmes embarqués, offrant une vitesse d'exécution significativement meilleure
qu'une addition séquentielle.
Dernière mise à jour : Dimanche, le 12 novembre 2017