Arithmétique des ordinateurs

Dans un additionneur à anticipation de retenue, quelle combinaison des définitions du signal de génération g et du signal de propagation p de chaque rang (a, b étant les entrées du rang) et de l'expression de la retenue vers le rang supérieur c(i+1) est correcte ?

  1. Ag = a + b, p = a·b, c(i+1) = p + g·c(i)
  2. Bg = a·b, p = a ⊕ b, c(i+1) = g + p·c(i)
  3. Cg = a ⊕ b, p = a·b, c(i+1) = g·p·c(i)
Afficher la réponse et l'explication

Réponse : B. g = a·b, p = a ⊕ b, c(i+1) = g + p·c(i)

Si a et b valent tous deux 1 dans un rang, une retenue est générée quelle que soit la retenue entrante : le signal de génération est g = a·b. Si un seul des deux vaut 1, la retenue entrante est transmise telle quelle vers le haut : le signal de propagation est p = a ⊕ b (parfois défini comme un OR). On a donc c(i+1) = g(i) + p(i)·c(i) ; en développant, la retenue de chaque rang s'obtient en parallèle, en deux niveaux logiques, à partir des seuls g·p et de la retenue du rang de poids faible. Les expressions inversant génération et propagation ne calculent pas correctement.

S'entraîner sur ce thème Retour au thème

Autres questions sur Arithmétique des ordinateurs

  1. Quelle est la principale raison de l'emploi d'additionneurs à retenue conservée pour additionner les nombreux produits partiels d'un multiplieur ?
  2. Quelle caractéristique de l'arbre de Wallace utilisé dans les multiplieurs rapides est correcte ?
  3. Quel est le principal effet de l'algorithme de Booth en base 4 (codage de Booth) dans un multiplieur ?
  4. Lors de la multiplication de deux nombres non signés de 8 bits, combien de bits faut-il pour représenter le résultat sans débordement ?
  5. Quelle expression calcule correctement la multiplication d'un entier x par 10 au moyen de décalages et d'additions, sans instruction de multiplication ?