Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Processeurs asynchrones, ascenseurs embouteillés et emploi du temps
Article mis en ligne le 1er mai 2009
dernière modification le 5 février 2014

Cycle de processeur, fréquence d’horloge

Qu’est-ce qu’un cycle de processeur ? Toutes les opérations dans un microprocesseur sont synchronisées par une horloge, ce qui permet de savoir à quel moment le résultat d’une micro-opération va être disponible. J’appelle
micro-opération une opération moins complexe qu’une instruction, par exemple une étape d’instruction. Il est nécessaire de savoir à quel instant précis telle modification de tel registre sera disponible et stable, pour pouvoir enchaîner la micro-opération
suivante : c’est le rôle de l’horloge.

Comment fonctionne l’horloge du processeur ? Elle repose sur un dispositif à quartz, qui régule un circuit oscillant selon une fréquence extrêmement précise. À chaque fin de période le circuit oscillant émet un signal. On rappelle que la période est l’inverse de la fréquence : si un circuit a une période de 1/50 de seconde, on dit que sa fréquence est de 50 Herz (Hz). La sortie du circuit logique correspondant à une micro-opération est couplée à une entrée d’un circuit ET dont l’autre entrée est couplée à l’horloge. À chaque top d’horloge la porte ET délivre un résultat. Ainsi toutes les opérations sont synchronisées. Ce que l’on appelle la fréquence d’un processeur est la fréquence de son horloge.

Processeurs asynchrones

Ce cadencement des opérations simplifie grandement la conception des circuits, mais on peut imaginer qu’il fait perdre du temps à certains endroits : toutes les micro-opérations ne durent pas le même temps et certains résultats obtenus ne sont pas disponibles parce qu’on attend le top d’horloge. Aussi existe-t-il un domaine de recherche prometteur, les processeurs asynchrones. La synchronisation est remplacée par la signalisation : un élément de circuit qui obtient un résultat prévient le consommateur de ce résultat par l’émission d’un signal, ce qui nous place dans une logique assez semblable à celle des protocoles de réseau, où l’on ignore toujours ce qui se passe « à l’autre bout ».

Parmi les avantages collatéraux fournis par l’asynchronisme, signalons
une consommation électrique et des interférences électromagnétiques
réduites. En effet, la simultanéité de déclenchement de toutes les
opérations provoque des pointes de consommation électrique que
l’asynchronisme permettrait de répartir dans le temps. L’observation
du fonctionnement interne des processeurs modernes, dont les
transistors se comptent en centaines de millions, révèle que la
propagation à tous les circuits du signal d’horloge absorbe près de la
moitié de l’énergie électrique dépensée.

Comme beaucoup de techniques avancées, les processeurs
asynchrones sont aujourd’hui un domaine assez confidentiel, mais
qui pourrait connaître une grande expansion au fur et à mesure que les
progrès des processeurs classiques deviendront plus laborieux.

L’université et ses ascenseurs, métaphore du processeur

L’université où je travaille est logée dans un bâtiment unique de six
étages, desservis par une unique batterie d’ascenseurs. La plupart des
cours y sont donnés par petits groupes, dans une multitude de salles
dispersées dans les étages. Inutile de dire qu’aux heures de
changement de cours les ascenseurs sont saturés ; si on compare cette
situation au fonctionnement d’un processeur dont les circuits logiques
seraient les salles de cours et dont l’alimentation électrique serait
la batterie d’ascenseurs chargée d’acheminer l’énergie pédagogique
sous la forme d’un flux d’étudiants, on pourrait dire qu’il s’agit
d’un processeur synchrone : à 10h ou à 14h, tout le monde commute
ensemble, et c’est la pagaille.

Une solution m’est venue à l’esprit : que chaque cours commence et
finisse à des heures décalées par rapport aux autres. Par exemple, le
cours de macroéconomie serait de 9h 51 à 11h 43, et celui d’analyse
fonctionnelle de 10h 07 à 12h 14. Ainsi, les ascenseurs seraient
beaucoup moins embouteillés. Mais ce qui deviendrait ingérable, ce
serait l’emploi du temps et le planning d’utilisation des salles, qui
sont déjà en l’état un problème très compliqué, et même NP-complet aux
dires des logiciens et des spécialistes de recherche opérationnelle.
Eh bien c’est exactement la raison pour laquelle les processeurs
asynchrones ne sont encore que des objets de recherche :
l’ordonnancement des opérations y est d’une complexité telle que les
bénéfices attendus par ailleurs en sont annulés.