additionneur-soustracteur
Anglais: adder-subtractor
Un circuit capable d'additionner ou de soustraire des nombres binaires.
additionneur-soustracteur : un circuit, deux modes arithmétiques
Un additionneur-soustracteur est un circuit logique numérique unique qui effectue à la fois l'addition et la soustraction de nombres binaires sous le contrôle d'un signal de mode. Le même matériel exécute l'une ou l'autre opération sans reconfiguration, basculant entre elles via une entrée de contrôle qui sélectionne généralement si le circuit ajoute ou soustrait à chaque cycle d'horloge ou passage combinatoire.
Le circuit exploite la représentation en complément à deux des nombres négatifs. Pour soustraire B de A, l'additionneur-soustracteur inverse tous les bits de B (formant le complément à un) et ajoute 1, puis effectue une addition binaire standard avec A. Une ligne de contrôle gère cette inversion et l'opération de retenue d'entrée ; lorsque le bit de mode est 0, le circuit ajoute directement ; lorsqu'il est réglé sur 1, il inverse B et force une retenue initiale, calculant ainsi A moins B. Cette approche unifiée élimine le besoin de blocs d'additionneur et de soustracteur séparés.
L'implémentation utilise généralement une chaîne d'additionneurs complets, où des portes XOR à chaque étage de bit inversent conditionnellement l'entrée B en fonction du contrôle de mode. Le premier XOR reçoit également le signal de contrôle comme retenue d'entrée. Un additionneur-soustracteur de N bits nécessite N additionneurs complets, N portes XOR et une logique additionnelle minimale, ce qui le rend plus économique que la duplication d'unités arithmétiques. Le délai de propagation augmente avec la largeur de bit car les retenues se propagent à travers chaque étage.
Les additionneurs-soustracteurs apparaissent dans les unités arithmétiques et logiques (ALU) des processeurs, les microcontrôleurs et les pipelines de traitement du signal partout où les deux opérations sont nécessaires. Ils sont fondamentaux pour tout système effectuant des opérations arithmétiques signées. Les conceptions modernes mettent souvent en cascade des variantes d'additionneurs plus rapides, telles que les structures à anticipation de retenue (carry-lookahead) ou de Kogge-Stone, pour réduire le délai et la consommation d'énergie dans les chemins de données plus larges.
Une limitation courante est le temps de propagation de la retenue dans les conceptions à propagation de retenue (ripple-carry), qui devient critique au-delà de 16 ou 32 bits. La détection de débordement est également requise lors de l'utilisation d'entiers de largeur fixe ; le circuit doit signaler lorsque les résultats dépassent la plage représentable. Ces contraintes guident le choix entre des implémentations simples à propagation et des topologies d'additionneurs à saut de retenue (carry-skip) ou à préfixe plus complexes mais plus rapides dans les conceptions de production.
Sources
- Source de la définitionWiktionary
- Source complémentaireEE2280 Logic Designnthuee.org