« Fonctionnement d'un ordinateur/Les circuits combinatoires » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 162 :
====Les ''minterms'' (comparateurs avec une constante)====
 
PourNous commencer,allons nousmaintenant allons voirétudier un circuit très simple,comparateur qui estvérifie utilisé dans la conception des sous-circuits. Ce circuit est appelési le '''comparateur avec une constante'''. C'est un circuit qui possède plusieurs entrées et une seule sortie : on lui envoie un nombre codé sur plusieurs bits en d'entrée, et le circuit vérifie que ce nombre est égal à une certaine constante (2, 3, 5, 8, ou tout autre nombre) qui dépend du circuit. Laet sortierenvoie estun alors1 miseseulement àsi 1 sic’est le nombre en entrée est égal à cette constante, alors que la sortie est mise à 0 sinoncas. Ainsi, on peut créer un circuit qui mettra sa sortie à 1 uniquement si on envoie le nombre 5 sur ses entrées. Ou comme autre exempleencore, créer un circuit qui met sa sortie à 1 uniquement quand l'entrée correspond au nombrevaut 126. Et ainsi de suite : tout nombre peut servir de constante à vérifier. Le circuit possède plusieurs entrées, sur lesquelles on place les bits du nombre à comparer. Sa sortie est un simple bit, qui vaut 1 si le nombre en entrée est égal à la constante et 0 sinon. Nous allons voir qu'il y en a deux types, qui ressemblent aux deux types de comparateurs avec zéro. Le premier type est basé sur une porte NOR, à laquelle on ajoute des portes NON. Le second est basé sur une porte ET précédée de portes NON.
 
Tout circuit de ce type est systématiquement composé de deux couches de portes logiques : une couche de portes NON et une porte ET à plusieurs entrées. Créer un tel circuit se fait en trois étapes. En premier lieu, il faut convertir la constante à vérifier en binaire : dans ce qui suit, nous nommerons cette constante k. En second lieu, il faut créer la couche de portes NON. Pour cela, rien de plus simple : on place des portes NON pour les entrées de la constante k qui sont à 0, et on ne met rien pour les bits à 1. Par la suite, on place une porte ET à plusieurs entrées à la suite de la couche de portes NON.
Ligne 175 :
 
[[File:Fonctionnement d'un comparateur avec une constante.jpg|centre|vignette|upright=2|Fonctionnement d'un comparateur avec une constante.]]
 
Le second type de comparateur avec une constante est fabriqué avec une porte NOR précédée de portes NON. Il se fabrique comme le comparateur précédent, sauf que cette fois-ci, il faut mettre une porte NON pour chaque bit à 1 de l'opérande, et non chaque bit à zéro. En clair, la couche de portes NON est l'exact inverse de celle du circuit précédent. Le tout est suivi par une porte NOR.
 
[[File:Exemples de comparateurs de type NON-NOR.jpg|centre|vignette|upright=2|Exemples de comparateurs de type NON-NOR.]]
 
Pour comprendre pourquoi on procède ainsi, il faut simplement regarder ce que l'on trouve en sortie de la couche de portes NON :
* si on envoie la constante, tous les bits à 0 seront inversés alors que les autres resteront à 1 : on se retrouve avec un zéro en sortie ;
* si on envoie un autre nombre, soit certains 1 du nombre en entrée ne seront pas inversés, ou alors des bits à 0 le seront : il y aura au moins un bit à 1 en sortie de la couche de portes NON.
 
La porte NOR, quant à elle est un comparateur avec zéro, comme on l'a vu plus haut. Pour résumer, la première couche de portes NON transforme l'opérande et que la porte NOR vérifie si l'opérande transformée vaut zéro. La transformation de l'opérande est telle que son résultat est nul seulement si l’opérande est égale à la constante testée.
 
[[File:Fonctionnement des comparateurs de type NON-NOR.jpg|centre|vignette|upright=2|Fonctionnement des comparateurs de type NON-NOR.]]
 
====Combiner les comparateurs avec une constante====