Article de reference

Logique séquentielle

Dans la théorie des automates , la logique séquentielle est un type de circuit logique dont la sortie dépend de la valeur actuelle de ses signaux d'entrée et de la séquence des ...

Dans la théorie des automates , la logique séquentielle est un type de circuit logique dont la sortie dépend de la valeur actuelle de ses signaux d'entrée et de la séquence des entrées passées, l'historique des entrées. Cela contraste avec la logique combinatoire , dont la sortie est fonction uniquement de l'entrée actuelle. Autrement dit, la logique séquentielle a un état ( mémoire ) tandis que la logique combinatoire n'en a pas.

La logique séquentielle est utilisée pour construire des machines à états finis , un élément de base de tous les circuits numériques. Pratiquement tous les circuits des appareils numériques pratiques sont un mélange de logique combinatoire et séquentielle.

Un exemple courant d'un appareil doté d'une logique séquentielle est un téléviseur doté de boutons « chaîne précédente » et « chaîne suivante ». En appuyant sur le bouton « haut », le téléviseur reçoit une entrée lui indiquant de passer à la chaîne suivante au-dessus de celle qu'il reçoit actuellement. Si le téléviseur est sur le canal 5, appuyer sur « haut » le fait passer sur le canal 6. Cependant, si le téléviseur est sur le canal 8, appuyer sur « haut » le fait passer sur le canal « 9 ». Pour que la sélection de canal fonctionne correctement, le téléviseur doit savoir quel canal il reçoit actuellement, ce qui a été déterminé par les sélections de canal précédentes. Le téléviseur stocke le canal actuel dans le cadre de son état . Lorsqu'une entrée « chaîne précédente » ou « chaîne suivante » lui est donnée, la logique séquentielle du circuit de sélection de canal calcule le nouveau canal à partir de l'entrée et du canal actuel.

Les circuits logiques séquentiels numériques sont divisés en types synchrones et asynchrones . Dans les circuits séquentiels synchrones, l'état du dispositif ne change qu'à des moments discrets en réponse à un signal d'horloge . Dans les circuits asynchrones, l'état du dispositif peut changer à tout moment en réponse à des modifications des entrées.

Logique séquentielle synchrone

Aujourd'hui, presque toute la logique séquentielle est une logique cadencée ou synchrone . Dans un circuit synchrone, un oscillateur électronique appelé horloge (ou générateur d'horloge ) génère une séquence d'impulsions répétitives appelée signal d'horloge qui est distribuée à tous les éléments de mémoire du circuit. L'élément de mémoire de base dans la logique synchrone est la bascule . La sortie de chaque bascule ne change que lorsqu'elle est déclenchée par l'impulsion d'horloge, de sorte que les modifications des signaux logiques dans tout le circuit commencent toutes au même moment, à intervalles réguliers, synchronisées par l'horloge.

La sortie de tous les éléments de stockage (bascules) du circuit à un instant donné, les données binaires qu'ils contiennent, est appelée l' état du circuit. L'état du circuit synchrone ne change que sur les impulsions d'horloge. À chaque cycle, l'état suivant est déterminé par l'état actuel et la valeur des signaux d'entrée au moment où l'impulsion d'horloge se produit.

Le principal avantage de la logique synchrone est sa simplicité. Les portes logiques qui effectuent les opérations sur les données nécessitent un temps limité pour répondre aux modifications de leurs entrées. C'est ce qu'on appelle le délai de propagation . L'intervalle entre les impulsions d'horloge doit être suffisamment long pour que toutes les portes logiques aient le temps de répondre aux modifications et que leurs sorties se « stabilisent » sur des valeurs logiques stables avant que l'impulsion d'horloge suivante ne se produise. Tant que cette condition est remplie (en ignorant certains autres détails), le circuit est assuré d'être stable et fiable. Cela détermine la vitesse de fonctionnement maximale du circuit synchrone.

La logique synchrone présente deux inconvénients principaux :

  • La fréquence d'horloge maximale possible est déterminée par le chemin logique le plus lent du circuit, également appelé chemin critique. Chaque calcul logique, du plus simple au plus complexe, doit être effectué en un seul cycle d'horloge. Les chemins logiques qui effectuent leurs calculs rapidement sont donc inactifs la plupart du temps, en attente de l'impulsion d'horloge suivante. Par conséquent, la logique synchrone peut être plus lente que la logique asynchrone. Une façon d'accélérer les circuits synchrones consiste à diviser les opérations complexes en plusieurs opérations simples qui peuvent être effectuées en cycles d'horloge successifs, une technique connue sous le nom de pipelining . Cette technique est largement utilisée dans la conception des microprocesseurs et contribue à améliorer les performances des processeurs modernes.
  • Le signal d'horloge doit être distribué à chaque bascule du circuit. Comme l'horloge est généralement un signal haute fréquence, cette distribution consomme une quantité relativement importante d'énergie et dissipe beaucoup de chaleur. Même les bascules qui ne font rien consomment une petite quantité d'énergie, générant ainsi de la chaleur résiduelle dans la puce. Dans les appareils alimentés par batterie, une complexité matérielle et logicielle supplémentaire est nécessaire pour réduire la vitesse d'horloge ou éteindre temporairement l'horloge lorsque l'appareil n'est pas utilisé activement, afin de maintenir une durée de vie de la batterie utilisable.

Logique séquentielle asynchrone

La logique séquentielle asynchrone ( sans horloge ou à temporisation automatique ) n'est pas synchronisée par un signal d'horloge ; les sorties du circuit changent directement en réponse aux changements des entrées. L'avantage de la logique asynchrone est qu'elle peut être plus rapide que la logique synchrone, car le circuit n'a pas besoin d'attendre un signal d'horloge pour traiter les entrées. La vitesse du dispositif n'est potentiellement limitée que par les délais de propagation des portes logiques utilisées.

Cependant, la logique asynchrone est plus difficile à concevoir et est sujette à des problèmes qui ne se rencontrent pas dans les conceptions synchrones. Le principal problème est que les éléments de mémoire numérique sont sensibles à l'ordre dans lequel leurs signaux d'entrée arrivent ; si deux signaux arrivent à une bascule ou à un verrou presque au même moment, l'état dans lequel passe le circuit peut dépendre du signal qui arrive en premier à la porte. Par conséquent, le circuit peut passer dans le mauvais état, en fonction de petites différences dans les délais de propagation des portes logiques. C'est ce qu'on appelle une condition de concurrence . Ce problème n'est pas aussi grave dans les circuits synchrones car les sorties des éléments de mémoire ne changent qu'à chaque impulsion d'horloge. L'intervalle entre les signaux d'horloge est conçu pour être suffisamment long pour permettre aux sorties des éléments de mémoire de se " stabiliser " afin qu'elles ne changent pas lorsque l'horloge suivante arrive. Par conséquent, les seuls problèmes de synchronisation sont dus aux " entrées asynchrones " ; les entrées du circuit provenant d'autres systèmes qui ne sont pas synchronisés avec le signal d'horloge.

Les circuits séquentiels asynchrones ne sont généralement utilisés que dans quelques parties critiques de systèmes par ailleurs synchrones où la vitesse est primordiale, comme les parties de microprocesseurs et les circuits de traitement de signaux numériques .

La conception de la logique asynchrone utilise des modèles et des techniques mathématiques différents de la logique synchrone et constitue un domaine de recherche actif.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index