WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'un système de vote électronique pour le parlement: "cas du sénat congolais"

( Télécharger le fichier original )
par Gérard et Patrick KANDE NGALAMULUME Gérard et BUKASA TSHIBUABUA Patrick
Université de Kinshasa RDC - Ingénieur civil en électronique 2011
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2.2.4. Circuit additionneur complet

Il faut donc réaliser un circuit qui correspond à la table de vérité reprise dans le tableau 2.3, on obtient le schéma de la figure 2.2 qui représente un additionneur complet.

Figure 2.2 : Représentation schématique d'un additionneur complet

Cherchons à présent l'équation de Ci+1 et Si en utilisant la table de vérité reprise dans le tableau 2.3. Pour cela, dressons les tableaux de Karnaugh correspondants reportés dans les tableaux 2.4.

Tableau 2.4 : Tableaux de Karnaugh relatifs à l'additionneur complet

Du premier tableau de Karnaugh, on tire l'équation de Si suivante :

Si = Ci

~

i

i + ~ i ~

iBi + CiAiBi + C iAi i

= Ci (

~

i

i + AiBi) + ~

i (

iBi + Ai ~i)

= Ci ( ) + C

i (Ai Bi)

= Ci (Ai Bi)

Dans le deuxième tableau de Karnaugh, nous n'avons pas recherché les groupements optimaux et ce, pour pouvoir mettre en évidence la fonction

Ai Bi déjà réalisée avec la somme Si.

En effet, les 3 groupements indiqués nous donnent l'équation de Ci+1 suivante :

Ci+1 = iBiCi + AiBi + Ai iCi

= AiBi +Ci ( ~iBi + Ai ~i)

= AiBi + Ci (Ai Bi)

De deux expressions Si et Ci+1 qui viennent d'être calculées, nous déduisons le schéma logique d'un additionneur complet représenté à la figure 2.3.

Figure 2.3 : Schéma logique d'un additionneur complet

L'additionneur complet est le circuit de base pour effectuer la somme de nombres de plusieurs bits. Il existe deux méthodes d'addition des nombres binaires.

La première utilise un seul additionneur complet auquel on présente les chiffres de même rang des nombres à additionner. Il s'agit de la somme en série.

La deuxième fait appel à autant d'additionneurs complets qu'il y a de chiffres dans les nombres à ajouter. Il s'agit de la somme en parallèle.

2.2.5. Somme en série

Les deux nombres (ici de 8 bits) à additionner sont chargés dans deux registres A et B comme on le voit à la figure 2.4. Le résultat de la somme est stocké dans un troisième registre S. Il faut aussi disposer d'une bascule synchrone de type D qui sert à mémoriser la retenue de la somme partielle précédente.

Figure 2.4: Somme en série nécessite un seul additionneur complet, 3
registres et une bascule D

Les 3 registres et la bascule D sont commandés par le même signal d'horloge qui synchronise toute l'opération.

Le fonctionnement du circuit est le suivant :

Au début, la bascule doit être mise à 0 en activant l'entrée CLEAR. Par contre, les

3 registres n'ont pas besoin d'être remis à 0.

Les deux termes de la somme sont chargés dans les registres A et B avec une première impulsion d'horloge. Les deux premiers chiffres de chaque terme sont alors présents à la sortie des registres et donc aux entrées de l'additionneur.

Ainsi, on trouve à la sortie Si le premier résultat partiel et à la sortie Ci+ila première retenue.

La situation est celle qui apparaît à la figure 2.5 où l'on additionne les deux nombres de l'exemple précédent.

Figure 2.5 : Au début de l'addition la bascule est mise à zéro et les termes
sont chargés dans les registres A et B

La deuxième impulsion d'horloge produit les faits suivants :

· Le premier résultat partiel est stocké dans le premier étage du registre S.

· La première retenue est mémorisée par la bascule D.

· Les contenus des registres A et B se décalent d'un étage vers la droite ; ainsi les chiffres de poids immédiatement supérieur se présentent aux entrées du sommateur. Nous nous trouvons alors dans la situation de la figure 2.6. La bascule est désormais symbolisée par un carré à l'intérieur duquel est inscrit son état.

Figure 2.6 : Le premier résultat partiel est stocké dans le premier étage du registre
S et les termes sont décalés d'un cran vers la droite dans les registres A et B

La donnée présente sur l'entrée série des registres est sans importance. L'addition se déroule de façon identique pour les chiffres suivants. Après 9 impulsions d'horloge (une pour le chargement de A et B, 8 pour effectuer la somme), le résultat de la somme se trouve stocké dans le registre S tandis que la sortie de la bascule indique la retenue. Nous nous trouvons dans la situation de la figure 2.7.

Figure 2.7: A la fin de l'addition, le contenu du registre S indique le
résultat de la somme et l'état de la bascule indique la retenue

L'addition prise en exemple a pour retenue finale 0, ce qui signifie que le résultat 1101 0110 est juste.

Si la bascule est à l'état 1, cela signifie que la dernière somme a donné lieu à une retenue de 1. On dépasse ainsi la capacité du circuit, cela est désigné par le terme anglais « overflow » qui signifie débordement.

Il y a overflow lorsque le nombre qui est le résultat de la somme a plus de bits que ceux qui peuvent être contenus dans le registre (dans notre cas 8).

Avec 8 bits, le nombre le plus élevé que l'on peut représenter est :

(1111 1111)2 = (255)10.

Avec des registres à 8 bits, on peut donc additionner les nombres compris entre 0 et 255 (exprimés en code décimal), mais le résultat de leur somme ne doit pas lui-même dépasser 255.

Dans le cas contraire, on obtiendrait un résultat qui, pour être stocké, nécessiterait un registre de 9 bits.

En utilisant un ordinateur ou un circuit sommateur, il est toujours nécessaire de faire attention à ne jamais en dépasser la capacité. L'overflow donne des résultats erronés.

Supposons que l'on effectue la somme suivante :

Le dernier chiffre à gauche du résultat ne trouvant pas de place dans le registre S est perdu. Le résultat qui est indiqué par le contenu de S est 0100 0000, ce qui équivaut à 64 en code décimal et non 320 qui est le vrai résultat.

Pour savoir s'il y a dépassement, il suffit d'examiner l'état de la bascule à la fin de l'addition : si elle est à l'état 0, le résultat est juste ; par contre, si elle est à l'état 1, cela indique qu'il y a eu une retenue de 1 lors de la dernière addition et que l'on a dépassé la capacité du circuit.

On peut faire l'économie du registre S en rebouclant la sortie S de l'additionneur sur l'entrée série du registre A ou B.

Si l'on relie par exemple la sortie S à l'entrée série du registre A, comme illustré à la figure 2.8, le résultat de l'addition apparaîtra dans le registre A. En effet, à chaque impulsion d'horloge, le résultat partiel de chaque somme se trouve décalé dans le registre A.

Figure 2.8: Le registre A peut aussi servir pour stocker le résultat
de la somme

La méthode de la somme en série est la plus proche de notre façon usuelle d'effectuer des additions : on additionne un chiffre à la fois en partant de celui de plus faible poids.

Toutefois, elle est plutôt lente parce qu'elle requiert autant d'impulsions d'horloge qu'il y a de chiffres à additionner.

Pour plus de rapidité, on fait appel à la méthode de la somme en parallèle où tous les chiffres sont additionnés simultanément.

Selon le mode de calcul de la retenue, on distingue la somme en parallèle avec retenue série et la somme en parallèle avec retenue anticipée.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Et il n'est rien de plus beau que l'instant qui précède le voyage, l'instant ou l'horizon de demain vient nous rendre visite et nous dire ses promesses"   Milan Kundera