Circuit synchrone

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 30 janvier 2017 à 17:21 et modifiée en dernier par Microco (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

Un circuit synchrone est un circuit électronique numérique qui fonctionne à un rythme dicté par une horloge. Cette horloge interne au processeur donne à intervalles réguliers une impulsion électrique simultanée (en première approximation) à tous les composants du processeur. Sa fréquence peut atteindre quelques gigahertz (GHz) pour des processeurs récents.

Les ordinateurs personnels usuels sont munis de processeurs synchrones.

Composants

Un circuit numérique, comme un processeur, est composé de multiples composants comme les mémoires, additionneurs, multiplexeurs, soustracteurs, diviseurs, multiplicateurs). Ces composants fonctionnent de manière binaire suivant le niveau de tension qu'ils reçoivent en entrée et rendent un niveau de tension haut ou bas en sortie (en binaire, 0 ou 1).

L’impulsion électrique sur le composant l'autorise à utiliser les données reçues en entrée, ce qui peut le faire passer d’un état à un autre (tension de sortie haute ou basse) en passant par un état transitoire. Cet état transitoire est donc le temps durant lequel s'établit la tension de sortie du composant. Durant ce temps d'établissement, aucune information n'est valable au sortir du composant. C'est pourquoi il est nécessaire de faire fonctionner le processeur par étape successive pour ne prendre en compte que des tensions stables au sortir des composants.

Certaines instructions et certaines données sont plus rapides que d'autres à traiter, mais le processeur doit attendre l'impulsion de l'horloge pour passer à la suite du traitement de données et des instructions. Cela permet d'éviter que certains composants ne s'avancent dans les calculs, fournissant de ce fait des valeurs faussées à leurs voisins.

Inconvénients

Il existe différents problèmes pour les circuits synchrones. Tout d'abord, le temps de propagation du signal d’horloge. En effet, le parcours du signal électrique (onde électrique) dans le circuit demande un certain temps. L'onde électrique se propage à la vitesse de la lumière, on peut donc calculer que pour un processeur fonctionnant à 3 GHz, l'onde parcourt 15 cm entre chaque coup d'horloge. À cela, il faut rajouter le temps d'établissement des signaux dans les composants. On peut donc arriver à des situations ou les composants situés à côté de l’horloge sont dans un état (t) et ceux situés de l’autre côté du processeur sont dans un état (t-1). On arrive donc à une situation d’asynchronisation du processeur, c'est-à-dire que les composants ne sont pas tous synchrones et qu'ils se fournissent l'un l'autre des résultats faussés.

D'autres problèmes s'y ajoutent, comme le phénomène de gigue d'horloge, c'est-à-dire le fait que le signal d'horloge ne soit pas parfaitement régulier. Là encore, cela peut conduire à des erreurs ou à une perte de performance pour les éviter.

Ces inconvénients provoquent l'intérêt pour des solutions de remplacement comme les circuits asynchrones.