next up previous contents index
Next: Cahier des charges Up: Example : Simulateur logique Previous: Introduction   Contents   Index

Subsections


Logique numérique

Introduction

La logique numérique est à la base de l'informatique, notamment matérielle. C'est elle qui permet de décrire un schéma électronique logique et d'étudier son comportement. La logique est liée à l'algèbre de Boole (d'où le nom booléen) qui permet de définir un schéma logique à l'aide d'équations.

L'algèbre de Boole comporte trois opérateurs, le ET, le OU et le NON. L'écriture des équations reprend les symboles de l'arithmétique pour le ET (multiplication) et pour le OU (addition) et ajoute un symbole pour le NON (barre horizontale au-dessus de l'expression à inverser). L'algèbre de Boole définit aussi des règles de simplification ou réarrangements des expressions, qui permettent de réduire le nombre de portes (et donc de transistors).

Il serait possible de concevoir un programme en Scheme de simplification automatique des équations. En effet, Scheme est particulièrement à l'aise pour manipuler des expressions symboliques.

Lorsque que l'on possède une équation logique, il est possible de fabriquer le circuit électronique correspondant assez simplement. Sur les schémas complexes, des problèmes de dissipation de chaleur, de temporisation, de parasites interviennent, rendant la réalisation moins immédiate qu'avec des schémas simples.

Tout commence avec le transistor qui est un composant électronique qui agit comme un interrupteur piloté par une entrée de commande. En assemblant des transistors, on construit des composants plus gros remplissant une fonction logique. Les composants de base sont les portes logiques comme le AND. Puis en assemblant des portes logiques, on définit des foncions de plus en plus complexes, comme un additionneur à un bit, puis un additionneur à n-bits, etc. Les microprocesseurs sont décrits à l'aide de fonctions logiques.

L'une des particularités de la logique est de permettre une grande réutilisation des composants afin de construire des composants plus complexes et de toujours permettre la définition de la fonction réalisée sous la forme d'une équation.


Portes logiques élémentaires

A l'aide des transistors, il est possible de concevoir des éléments plus complexes que sont les portes logiques. Une porte logique réalise une fonction logique particulière.


Schéma du ET

Voici par exemple la représentation d'une porte AND :

Figure 10.1: Représentation d'une porte AND.


Table de vérité

Le comportement de cette porte est entièrement spécifié par sa table de vérité, qui met en relation toutes les valeurs possibles des entrées et la valeur de sortie résultante. Rappelons que les valeurs sont binaires, c'est à dire qu'elles valent 0 ou 1. La table de vérité de la porte AND est :


Table 10.1: Table de vérité d'une porte AND.
a b s
0 0 0
0 1 0
1 0 0
1 1 1


Cette table de vérité montre les correspondances entre les valeurs binaires en entrée et les valeurs binaires en sortie. Ainsi, la valeur en sortie est 1 lorsque les deux entrées sont à 1 et seulement dans ce cas.


Algèbre de Boole

On peut aussi définir le comportement d'une porte à l'aide d'une équation logique. Une équation logique utilise trois opérateurs, le ET, le OU et le NON. Le ET est noté comme la multiplication, le OU est noté comme l'addition et le NON est noté avec une barre au-dessus de l'expression à inverser :


Table 10.2: Opérateur de l'algèbre de Boole.
Expression Equation
a ET b a.b
a OU b a+b
NON a 0


Pour manipuler les équations logiques, l'algèbre de Boole définit des règles de simplification. Leur description sort du cadre de ce tutorial sur le langage Scheme ! Le lecteur le souhaitant pourra se référer au livre Architecture de l'Ordinateur de A. TANENBAUM[9], qui est la bible des architectures matérielles, et dont l'exposé part du transistor pour aboutir aux machines parallèles.

La simplification ou le réarrangement d'une expression logique a toujours pour but l'optimisation du schéma logique et donc de la carte électronique ou du circuit correspondant.

Dans notre cas, l'équation de la porte AND est très simple, puisque l'opérateur ET existe dans l'algèbre :

s = a.b


Le NON

Les autres portes logiques standards sont les portes NOT (inverseur), OR (ou), NAND (non-et), NOR (non-ou).Voici leur représentation et leur table de vérité :

Figure 10.2: Représentation d'une porte NOT.


Table 10.3: Table de vérité d'une porte NOT.
a s
0 1
1 0


L'équation logique de la porte NOT est aussi très simple, car l'opérateur NON existe dans l'algèbre :


Le OU

La porte OR est donc un inverseur : sa sortie est toujours l'inverse de son entrée.

Figure 10.3: Représentation d'une porte OR.


Table 10.4: Table de vérité d'une porte OR.
a b s
0 0 0
0 1 1
1 0 1
1 1 1


La porte OR est un ou logique entre les valeurs en entrée. Son équation est :


Le NON-ET et le NON-OU

Le lecteur pourra lui-même déterminer les tables de vérité des antres portes NAND et NOR, en sachant qu'il suffit de placer un inverseur à la sortie des portes, respectivement, AND et OR pour obtenir la valeur de leur sortie. L'équation logique du NAND est :


Création d'une fonction logique

Nous allons utiliser les portes élémentaires pour fabriquer une porte plus complexe. Nous partons de la table de vérité de la fonction logique à réaliser, puis nous obtenons son équation et enfin son schéma logique.

Table de vérité

Il existe une fonction logique appelée ou-exclusif et notée XOR dont voici la table de vérité :


Table 10.5: Table de vérité d'une porte XOR.
a b s
0 0 0
0 1 1
1 0 1
1 1 0


Cette table de vérité est le point de départ de la définition de la porte. Elle spécifie entièrement le comportement et permet de déduire son équation logique. Avec l'équation, il est possible d'étudier la porte, de la simplifier, de transformer la manière de la construire en vérifiant que le comportement reste inchangé.

Equation logique

Pour obtenir l'équation logique d'une porte XOR, nous regardons dans la table les lignes où la sortie vaut 1 : ce sont les deux lignes du milieu. Nous écrivons alors l'équation de la sortie directement en fonction des entrées :

Nous avons donc : s vaut 1 lorsque l'inverse de a vaut 1 ET b vaut 1, OU a vaut 1 ET l'inverse de b vaut 1.

Lorsque ces conditions ne sont pas rencontrées, s vaut 0.

Dire que l'inverse de a vaut 1 revient à dire que a vaut 0. Cela nous conduit à une nouvelle formulation : s vaut 1 lorsque a vaut 0 ET b vaut 1, OU a vaut 1 ET b vaut 0.

L'équation est donc la simple traduction de ce que l'on lit sur la table. L'algèbre de Boole nous permettrait de la simplifier, le cas échéant.

Réalisation

Pour réaliser le schéma électrique correspondant à la fonction XOR, nous lisons simplement son équation :

Figure 10.4: Construction d'une porte XOR.

Nous voyons que la construction de nouvelles fonctions logiques n'est pas très compliquée. La simplification est parfois plus ardue.


next up previous contents index
Next: Cahier des charges Up: Example : Simulateur logique Previous: Introduction   Contents   Index
© 1993 to 2001 Erian Concept