|
An
adder (adder A is an electronic circuit to make an addition.) Is an
electronic circuit (an electronic circuit is a set of interconnected electronic components on a printed circuit in the but ...) to make an addition.
On dénote deux types d'additionneurs : parallèle et série. There were two types of adders: parallel and serial.
Dans la classe des additionneurs parallèles, nous décrirons ici ceux à propagation de retenue et ceux à retenue anticipée. In the class of parallel adders, we describe here the spread of those selected and those ahead.
Additionneur parallèle Parallel adder
Codée sur un bit, la table de vérité de l'addition est : Encoded on a bit, the truth table of the addition is:
A Has | B B | A + B A + B | Retenue Hold |
|---|
0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 1 1 | 1 1 | 0 0 | 1 1 | 0 0 | 1 1 | 0 0 | 1 1 | 1 1 | 0 0 | 1 1 |
Demi-additionneur Half adder
À partir de cette table de vérité on peut par exemple construire le circuit suivant, appelé « demi-additionneur » : From this truth table can be build for example the following circuit, called "half-adder":
Demi additionneur (1 bit) où A et B sont les entrées, S la somme A + B et C la retenue. Half Adder (1 bit), where A and B are the inputs, S the sum A + B and C restraint.
Additionneur complet Full adder
Un additionneur complet nécessite une entrée supplémentaire : une retenue. A full adder requires an additional entry: restraint.
L'intérêt de celle-ci est de permettre le chaînage des circuits. The advantage of this is to allow the chaining of circuits.
La table de vérité d'un additionneur complet est : The truth table of a full adder is:
A Has | B B | R Entrée Entry R | A + B + R Entrée A + B + R Entry | R Sortie R Output |
|---|
0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 1 1 | 1 1 | 0 0 | 0 0 | 1 1 | 0 0 | 1 1 | 0 0 | 0 0 | 1 1 | 1 1 | 0 0 | 1 1 | 1 1 | 0 0 | 0 0 | 1 1 | 0 0 | 1 1 | 0 0 | 1 1 | 0 0 | 1 1 | 1 1 | 1 1 | 0 0 | 0 0 | 1 1 | 1 1 | 1 1 | 1 1 | 1 1 | 1 1 |
Le circuit correspondant, l'additionneur complet, est composé de deux demi-additionneurs en série accompagnés d'une logique pour calculer la retenue (un OU entre les deux retenues générables par chacun des demi-additionneurs) : The corresponding circuit, full adder, is composed of two half-adders in series with a logic to calculate the deduction (an OR between the two selected by each of the generic half-adders):
Un additionneur complet 1 bit. A 1-bit full adder.
Additionneur parallèle à propagation de retenue Parallel propagation adder restraint
Il est possible de chaîner plusieurs additionneurs un bit pour en fabriquer un capable de traiter des mots de longueurs arbitraires : It is possible to chain several one-bit adders to make a capable of processing arbitrary words of length:
Quatre additionneurs un bit chainé pour former un additionneur 4 bits. Four adders a bit string to form a 4-bit adder.
L'inconvénient de ce circuit est sa lenteur car il dépend du temps (Le temps est un concept développé pour représenter la variation du monde : l'Univers n'est jamais figé, les...) de propagation de la retenue de module en module. The disadvantage of this circuit is slow because it depends on the time (Time is a concept developed to represent the change in the world: the universe is never static, and ...) of propagation of the restraint module module.
Cette conception ne peut être choisie pour des circuits dépassant quelques bits, à moins de n'avoir aucune contrainte de temps. This design can be chosen for circuits exceeding a few bits, unless you have no time.
Additionneur parallèle à retenue anticipée Parallel adder ahead
Dans ce qui suit on note A et B le cumulande et le cumulateur. In what follows we denote the A and B cumulande and cumulative.
R est la retenue. R is the reservoir.
X indice indique le bit auquel on s'intéresse, 0 étant l'indice de poids (Le poids d'un corps nu ou force de pesanteur est la force exercée sur un corps (de masse m) immobile dans le...) le plus faible. X index which indicates the bit interest, 0 being the index of weight (the weight of
a naked body or force of gravity is the force exerted on a body (mass m) moving in on ...) the lower. La fonction logique (Cet article se place d'emblée dans le cadre de la logique classique.) OU est notée « + ». The logic function (This article first place in the framework of classical logic.) OU is rated "+".
La fonction logique ET est notée « . » ou n'est pas notée du tout (ainsi AB est l'équivalent de A . B ou A ET B). The logical functions and is rated "." Or not rated at all (and AB is the equivalent of A. B or A and B).
Tout d'abord on constate que le calcul de la retenue est tout à fait faisable théoriquement : dans la pratique il nécessite beaucoup trop de portes logiques. First we note that the calculation of the reservoir is quite feasible in theory: in practice it requires too many logic gates.
Pour le second additionneur, la retenue (en entrée) est égale à : For the second adder, the selected (input) is equal to:
R 1 = (A 0 . B 0 ) + (A 0 . R 0 ) + (B 0 . R 0 ) (1) R 1 = (A 0. B 0) + (A 0. R 0) + (B 0. R 0) (1)
Pour le troisième additionneur, la retenue est égale à : For the third adder, the deduction is equal to:
R 2 = (A 1 . B 1 ) + (A 1 . R 1 ) + (B 1 . R 1 ) (2) R 2 = (A 1. B 1) + (A 1. R 1) + (B 1. R 1) (2)
et ainsi de suite. and so on.
On peut substituer R 1 dans (2) par sa valeur (1) . You can substitute R 1 in (2) by its value (1).
On voit immédiatement que le résultat est une formule très longue rendant cette technique totalement impraticable pour un additionneur de, par exemple, 16 bits. You can readily see that the result is a very long making this technique impractical for a full adder, for example, 16 bits.
Additionneur un bit avec les sorties p et g complémentaires One bit adder and the outputs P and G complementary
Il faut donc trouver un compromis entre vitesse (La vitesse est une grandeur physique qui permet d'évaluer l'évolution d'une quantité en fonction du temps.) et complexité (La complexité est une notion utilisée en philosophie, épistémologie (par exemple par Anthony Wilden ou Edgar Morin), en...) du circuit chargé de calculer les retenues. We must therefore find a compromise between speed (the speed is a physical quantity that can evaluate the evolution of a quantity over time.) And
complexity (Complexity is a concept used in philosophy, epistemology (eg Anthony Wilden or Edgar Morin), in ...) circuit to calculate deductions.
Cela peut se faire par l'utilisation de deux valeurs intermédiaires : la retenue propagée et la retenue générée . This can be done by the use of two intermediate values: the restraint and the restraint spread generated.
Nommées p et g, elles sont définies ainsi : Named p and g, are defined as:
p, la retenue propagée sera égale à 1 si l'un des bits du cumulande ou cumulateur est à 1 : p i = A i OU exclusif B i . p, spread the deduction will be equal to 1 if one bit of cumulande or cumulative is 1: p i = A i B i exclusive OR. g, la retenue générée sera égale à 1 si à la fois le bit en question du cumulande et du cumulateur sont à 1 : g i = A i ET B i . g, the reservoir created will be equal to 1 if both the bit in question of cumulande and accumulation are to 1: g i = a i and b i.
Comme en base 10, si les deux chiffres à additionner forment un résultat supérieur à 9, alors une retenue est générée, et si deux chiffres forment le total ( Total est la qualité de ce qui est complet, sans exception. D'un point de vue comptable, un total est le...) 9, alors la retenue (éventuellement issue de la colonne de chiffres précédente) sera propagée. As in base 10 if the two numbers add up to form a result of more than 9, then a deduction is created, and if two figures are the total (Total is the quality of what is complete, without exception. As a matter of view, is the total ...) 9, then the restraint (possibly end of the column of numbers above) will be propagated.
On peut facilement modifier un additionneur complet pour en extraire ces deux nouveaux signaux. You can easily edit a full adder to extract these two new signals.
Ensuite, on peut constater que la retenue du second additionneur peut être facilement calculée : en effet, à partir du premier additionneur et de ses sorties p et g, la retenue sera à 1 si g est à 1 (elle est générée), ou bien p est à 1 en même temps qu'on à déjà une retenue. Then we can see that the deduction of the second adder can be easily calculated: in fact, from the first adder and its output p and g, the deduction will be 1 if g is to 1 (it is generated) or p is 1 at the same time we already to a deduction.
C’est-à-dire : R 1 = g 0 OU (p 0 ET R 0 ), et ainsi de suite : Ie: R 1 = 0 or g (p 0 and r 0), and so on:
R 2 = g 1 + (p 1 . g 0 ) + (p 1 . p 0 . r 0 ) R 2 = g 1 + (p 1. G 0) + (p 1. P 0. R 0) R 3 = g 2 + (p 2 . g 1 ) + (p 2 . p 1 . g 0 ) + (p 2 . p 1 . p 0 . r 0 ) R 3 = g 2 + (p 2. G 1) + (p 2. P 1. G 0) + (p 2. P 1. P 0. R 0) R 4 = g 3 + (p 3 . g 2 ) + (p 3 . p 2 . g 1 ) + (p 3 . p 2 . p 1 . g 0 ) + (p 3 . p 2 . p 1 . p 0 . r 0 ) R 4 = g 3 + (p 3. G 2) + (p 3. P 2. G 1) + (p 3. P 2. P 1. G 0) + (p 3. P 2. P 1. P 0. r 0)
Additionneur 4 bits utilisant une unité de calcul anticipée de la retenue 4-bit adder using a calculation unit early restraint
On peut étendre ce principe à des additionneurs N bits, chacun composé de N additionneurs 1 bit et son unité de calcul anticipé de la retenue. We can extend this principle to N-bit adders, each composed of N 1-bit adders and the unit of calculation in advance of the reservoir.
Par exemple, un bloc de base avec N = 4 peut être représenté schématiquement comme ceci : For example, a basic block with N = 4 can be represented schematically as follows:
|