______________________________________________________
Leçon
XIV : SYSTÈMES LOGIQUES SÉQUENTIELS
Cette leçon a pour but de présenter brièvement un autre aspect de la logique booléenne : la logique séquentielle.
La logique booléenne n'est en effet pas toujours combinatoire (presque jamais en fait dans les dispositifs techniques). La logique combinatoire est illustrée sur des exemples simples mais pertinents pour aborder les systèmes complexes que sont les ordinateurs électroniques.
______________________________________________________
PLAN DE LA LEÇON
XIV
1. Introduction | 2. Systèmes synchrones et asynchrones |
3. Exemple de système séquentiel synchrone | 4. Quelques fonctions
logiques séquentielles 4.1. Les Verrous (latches) 4.2. Les Registres 4.3. Les Compteurs 4.4. Les Mémoires 4.5. Les Microprocesseurs |
5. Exercices / 6.
Corrigés 5.1. Exercice 5.1 5.2. Exercice 5.2 5.3. Exercice 5.3 5.4. Exercice 5.4 |
_________________________________________________________________ ____________________________________
______________________________________________________
1. INTRODUCTION
_____________
La logique séquentielle se distingue
de la logique combinatoire par le fait que dans cette dernière,
les sorties ne réagissent qu'aux entrées, sans que le système
ne soit sensible à l'histoire de ces entrées, ce qui est
le cas en logique séquentielle. Il faut alors toujours prendre en
compte les séquences d'entrée et de sortie du système
que l'on veut analyser. Cet état de fait rend l'analyse et la synthèse
de systèmes séquentiels plus pointue, et on consultera à
cette fin "Analyse et synthèse des systèmes logiques",
[18] .
Pour ce qui est de l'accès à l'informatique,
le lecteur trouvera un cheminement pédagogique et rigoureux de l'électronique
à la microinformatique dans "Systèmes microprogrammés,
une introduction au magiciel", [19],
ouvrage soutenant un enseignement à l'EPFL que nous recommandons
vivement aux étudiants.
______________________________________________________
2. SYSTÈMES
SYNCHRONES ET ASYNCHRONES
_____________
Il y a une autre distinction importante qu'il nous reste à présenter : les systèmes logiques peuvent être synchrones ou asynchrones.
- Système asynchrone : si on laisse un système électronique évoluer de lui-même, on disposera de l'information en sortie lorsque tous les délais électro-physiques se seront écoulés. Par exemple, le lecteur peut consulter des fiches techniques des portes logiques pour se faire une idée des ordres de grandeurs de ces délais. Dans ce cas, le système est asynchrone : le temps est continu car la sortie peut être lue n'importe quand.
- Système synchrone : Dans ce cas, une horloge électronique cadence la marche du système, et on connaît les instants où l'on peut lire les sorties, on connaît le temps de réponse d'un système.
______________________________________________________
3. EXEMPLE
DE SYSTÈME SÉQUENTIEL SYNCHRONE
_____________
Dans le système schématisé ci-dessous,
un verrou d'entrée bloque les données binaires en entrée.
Ces données sont traitées par un décodeur travaillant
de manière asynchrone et combinatoire. Les sorties asynchrones du
décodeur sont finalement resynchronisées sur l'horloge par
le verrou de sortie.
On représente le timing graphiquement de la sorte :
(Cf. Ex. 5.1 Timing
d'un système synchrone)
______________________________________________________
4. QUELQUES
FONCTIONS SÉQUENTIELLES
_____________
4.1. Les Verrous (latches)
4.2. Les Registres
4.3. Les Compteurs
4.4. Les Mémoires
4.5. Les Microprocesseurs
4.1.
Les Verrous
L'élément verrou, ou
bascule D permet de mémoriser un bit :
La bascule présente la fonction de recopier l'entrée D à la sortie Q, au flanc montant de l'entrée CP (Clock Pulse) :
D CP Q ------------------------ 0 0->1 0 1 0->1 1
Exemple de circuit : le HC74 (double bascule D avec set et reset)
4.2. Les
Registres
Un assemblage de verrous permet d'obtenir
une mémoire d'un mot, appelée registre. L'accès du
registre peut être parallèle, série. Dans l'exemple
- type présenté précedemment, il
s'agit de registres à entrée parallèle et sortie parallèle.
Exemple de circuit : le 74164 (8 bits entrée série, sortie parallèle)
4.3. Les
Compteurs
Les compteurs sont également
réalisés à l'aide d'assemblage de verrou.
Exemple de compteur : le HCT 4516 (compteur binaire up/down)
4.4.Les
Mémoires
Une mémoire est constituée
d'un ensemble de registres, muni d'un système d'adressage permettant
de stocker ou accéder à des informations.
Exemple de mémoire : FCB61C65 de Philips. Voir la fiche technique en annexe.
Extrait de la fiche technique de la mémoire FCB61C65 de Philips.
4.5.Les
Microprocesseurs
Le microprocesseur, dans sa forme
la plus dépouillée, est constitué :
- d'un compteur de programme (PC),
- d'une mémoire (MEM),
- d'une unité arithmétique et logique (ALU),
- d'interfaces d'entrée et sortie (E/S),
- de connections entre ces sous-systèmes (BUS).
Extrait de la fiche technique du microprocesseur 68HC11 de Motorola :
______________________________________________________
5. EXERCICES
_____________
5.1. Exercice
5.2. Exercice
5.3. Exercice
ÉNONCÉ---Corrigé
---Retour au paragraphe correspondant
du cours
Dans le système schématisé ci-dessous,
un verrou d'entrée bloque les données binaires en entrée.
Ces données sont traitées par un décodeur travaillant
de manière asynchrone et combinatoire. Les sorties asynchrones du
décodeur sont finalement resynchronisées sur l'horloge par
le verrou de sortie.
- Commentez:
* une fréquence d'horloge possible, compte tenu d'une technologie HCMOS et du décodeur ayant au maximum 20 portes logiques en série (cf. fiches techniques).
* les divers délais de réponses visualisables sur le timing. Quand dispose-t-on de la sortie ?
* une spécification en terme de timing et de fréquence d'horloge du système verrou-décodeur-verrou.
ÉNONCÉ---Corrigé
- Concevez un registre 4 bits rudimentaire, à
entrée série et sortie parallèle, en utilisant des
portes et des bascules D.
"Clock data in" doit valider le bit série, "Clock out" doit valider le mot de 4 bits.
- Comparez avec la spécification du HCT 164.
5.3.
Exercice
ÉNONCÉ---Corrigé
Une mémoire travaille sur un bus de données
de 8 bits, et un bus d'adresses de 13 bits.
- Quelle est sa capacité en Kilo-octets ?
- Etudiez la fiche technique du circuit mémoire
FB 61C65. Concevez les deux mémoires suivantes:
a) 16 bits de données, 12 bits d'adresse
b) 8 bits donnée, 14 bits adresse (indication : utilisez le MSB de l'adressage pour sélectionner la mémoire désirée)
______________________________________________________
6. CORRIGÉS
_____________
Exercice 5.1
Exercice 5,2
Exercice 5,3
CORRIGÉ---Énoncé---Retour
au paragraphe correspondant du cours
Sur la fiche technique du HC00 par exemple, on lit
un temps de propagation de 7 ns. Prenons 10 ns par sécurité.
20 portes aux maximum en série induisent donc un délai maximum
de 200 ns.
Il faut qu'entre le flanc montant de H et celui de non-H, la logique ait eu le temps de travailler. On obtient donc 2.5 MHz comme fréquence d'horloge maximum.
On dispose de la sortie peu de temps (le temps de réponse du latch, soit de l'ordre des 10 ns) après le latch de non-H, mais on en dispose encore au latch de H. C'est à dire qu'en termes extérieurs, l'entrée est prise en compte au flanc montant de H, et à ce moment-là on dispose de la sortie avec un retard de 400 ns.
CORRIGÉ---Énoncé
Voir la spécification du HC164
CORRIGÉ---Énoncé
- 8K
- Cela revient à connecter ensemble leur bus d'adresse, et à constituer un bus élargi de données, à 16 bits
- L'association de mémoires sert souvent
à ce cas: on veut étendre la zone mémoire. Dans ce
cas, les deux mémoires sont connectées sur le même
bus de données, mais c'est l'adresse qui choisit laquelle est activée.
Au plus simple, le bit de fort poid de l'adresse sert à selectionner
la mémoire. Plus compliqué: un décodeur est placé
sur le bus d'adresse.
_________________________________________________________________
FIN DE LA LECON Numéro XIV