Brevet FR2774784A1 — publié le 19990813

MICROPROCESSEUR COMPORTANT UN SYSTEME DE SYNCHRONISATION AVEC UN EVENEMENT ASYNCHRONE ATTENDU La présente invention concerne un microprocesseur comprenant un compteur pour mesurer un intervalle de temps en fonction d'une consigne de comptage et d'un signal d'horloge de comptage. La présente invention concerne la synchronisation d'un tel microprocesseur, au cours de l'exécution d'un programme, avec un événement asynchrone attendu. Par "événement asynchrone", on désigne de façon classique un événement dont l'apparition ou la fréquence d'apparition n'est pas synchronisée avec l'horloge interne d'un microprocesseur. A titre d'exemple, la figure 1 représente les bits d'une transmission de données asynchrones, comprenant classiquement un bit de démarrage ou "bit de start" bs, de valeur nulle, suivi de bits bO, bl, b2, b3... (de valeur 1 ou O) constitutifs d'un message. Ces divers bits sont séparés par des intervalles de temps constants Te correspondant à la période d'un signal d'horloge externe He. De façon classique, la réception de la suite de bits est faite avec un décalage d'un demi-cycle d'horloge He et se traduit par les étapes suivantes - détecter le passage à O du bit bs (événement El, apparition du bit de start), - quand un intervalle de temps égal à Te/2 s'est écoulé depuis l'événement El (événement E2), lire le bit hs et vérifier que celui-ci est toujours à O, - quand un intervalle de temps égal à Te s'est écoulé depuis l'événement E2 (événement E3), lire le premier bit bO du message, - quand un intervalle de temps égal à Te est écoulé depuis l'événement E3 (événement E4), lire le deuxième bit bl du message, etc.. La figure 2 illustre schématiquement la mise en oeuvre pratique de cette méthode au moyen d'un microprocesseur MP piloté par un signal d'horloge Hi de période T1, non synchronisé à l'horloge externe He de la transmission de donnée. Le microprocesseur reçoit sur un port P1 la suite de bits de la figure 1, et est équipé d'un compteur TMR de type "timer". Ce compteur est piloté par un signal d'horloge H2 de période T2 et enregistre une consigne de comptage VAL que lui présente le microprocesseur quand un signal de chargement LOAD lui est appliqué. Lorsque le compteur atteint la valeur 0 après chargement d. la consigne VAL, un drapeau FLZ du compteur passe automatiquement à O. Ce drapeau FLZ est appliqué sur un port P2 du microprocesseur MP. Avec cet agencement classique, la méthode décrite ci-dessus se traduit par la séquence de programmation suivante, exprimée en termes généraux (1) quand le port P1 passe à zéro (événement El, apparition du bit bs), charger dans le compteur TMR une consigne de comptage VAL1 correspondant à une durée de comptage VAL1xT2 égale à Te/2, (3) quand le port P2 (drapeau FLZ) passe à O (événement E2) charger dans compteur une consigne de comptage VAL2 correspondant à une durée de comptage VAL2xT2 éyale à Te, puis lire le bit bs sur le port P1 et vérifier que ce bit est bien égal à 0, (4) quand le port P2 passe à O (événement E3), charger dans compteur la consigne de comptage VAL2, puis lire le bit bO sur le port P1, (5) quand le port P2 passe à O (événement E4), charger dans le compteur avec la consigne de comptage VAL2, puis lire le bit bi sur le port Pi, .. - (ainsi de suite pour la lecture des bits suivants) On voit que le chargement de chaque nouvelle consigne de comptage VALl ou VAL2 est effectué immédiatement après la réalisation de chaque événement et avant la lecture des bits, afin d'éviter un décalage progressif du programme vis-à-vis du flux des données binaires asynchrones. Malgré cette précaution, il apparaît qu'un décalage temporel peut intervenir entre le moment où l'événement attendu se réalise effectivement et le moment où cet événement est détecté, c'est-à-dire le moment où la condition "quand" est satisfaite dans le programme cidessus. Ce décalage est imputable aux méthodes classiques de détection d'événement, par scrutation ("polling") ou par interruption. On rappelle que la scrutation consiste en une surveillance cyclique, par une boucle de programme, d'un point du microprocesseur, par exemple les ports Pi et P2. Cette méthode nécessite plusieurs cycles machine (horloge Hl) pour être exécutée. Le décalage apparaissant entre la réalisation de l'événement et sa détection effective est aléatoire. Il peut être nul si l'événement intervient au moment exact de la scrutation du port, ou égal à un ou plusieurs cycles machine dans le cas contraire. D'autre part, la méthode par interruption consiste à associer un signal d'interruption prioritaire à l'événement à détecter. Lorsque l'événement se réalise, le microprocesseur est envoyé dans un sous-programme d'interruption qui comprend un certain nombre d'opérations à réaliser ainsi qu'une instruction de renvoi à la suite du programme à exécuter, pour chargement du compteur. Cette méthode, comme la précédente, génère un décalage entre l'instant où l'événement se produit et l'instant où une nouvelle consigne de comptage est effectivement chargée dans le compteur. De plus, le chargement d'un compteur n'est pas une opération instantanée et introduit un décalage supplémentaire. Le microprocesseur doit en effet lire la consigne de comptage, l'appliquer sur un bus de données pour la présenter à l'entrée du compteur, puis appliquer le signal de chargement LOAD, ces opérations pouvant représenter plusieurs cycles machine. Dans de nombreuses applications, ces divers décalages sont négligeables devant les intervalles de temps Te/2 et Te, l'horloge Hl du microprocesseur et l'horloge de comptage H2 étant identiques et très rapides devant l'horloge externe He. Toutefois, dans le cadre de la réalisation d'un microprocesseur destiné aux cartes à puces et autres dispositifs électroniques portables, ces retards peuvent devenir critiques et conduire à des dysfonctionnements. En particulier, les microprocesseurs des cartes à puce sans contact reçoivent par induction magnétique des données numériques à haut débit, à une cadence qui, bien qu'inférieure à l'horloge interne Hi, est suffisamment élevée pour que les cycles machines pouvant être perdus dans une boucle de scrutation ou dans un sous-programme d'interruption ne soient pas négligeables. De plus, dans ces applications, le signal d'horloge externe He de la transmission ainsi que le signal d'horloge de comptage H2, extraits de la fréquence porteuse Fac d'un champ magnétique alternatif, peuvent être plus rapides que l'horloge interne Hl du microprocesseur. Les signaux He et H2 peuvent être par exemple de 13 MHz et l'horloge interne Hl de l MHz. Ainsi, la présente invention a pour objectif de prévoir un microprocesseur pourvu de moyens lui permettant de se synchroniser avec précision avec un événement asynchrone, ou de se synchroniser à une horloge plus rapide que son horloge interne. Cet objectif est atteint par la prévision d'un microprocesseur du type ci-dessus, comprenant des moyens de détection à logique câblée d'au moins un événement attendu agencés pour appliquer immédiatement au compteur un signal de chargement d'une consigne de comptage lorsque l'événement attendu se réalise. Ces moyens de détection étant à logique câblée et spécifiquement prévus pour que la détection d'un ou plusieurs événements provoque la mise à jour du compteur, on s'affranchit des décalages provoqués par les méthodes classiques de scrutation ou d'interruption. En effet, le temps de réaction d'un circuit à logique câblée, c'est-àdire le temps de commutation de portes logiques, peut être considéré comme négligeable. Selon un mode de réalisation, les moyens de détection sont agencés pour pouvoir détecter les événements suivants : l'expiration d'un intervalle de temps, et le changement de valeur d'un signal logique quelconque. Selon un mode de réalisation, les moyens de détection sont programmables et comprennent au moins un registre pour recevoir au moins un code d'au moins un événement à détecter. De plus, les moyens de détection peuvent être avantageusement utilisés pour placer le microprocesseur dans un état de veille pendant l'attente d'un événement, de manière à diminuer sa consommation électrique. Ainsi, selon un mode de réalisation, les moyens de détection comprennent des moyens pour désactiver le microprocesseur après avoir été activés, et activer le microprocesseur lorsque l'événement attendu se réalise. Selon un mode de réalisation, les moyens de détection désactivent le microprocesseur en bloquant l'application d'un signal d'horloge interne au coeur du microprocesseur. Selon un mode de réalisation, le microprocesseur comprend des moyens de décodage et de traitement d'une instruction d'attente d'un événement, agencés pour, sur réception de l'instruction d'attente : présenter à l'entrée du compteur une consigne de comptage, fournir aux moyens de détection un code de l'événement à détecter, puis activer les moyens de détection. Selon un mode de réalisation, le microprocesseur comprend des moyens de décodage et de traitement d'une instruction d'attente d'un événement comportant un code de l'événement à détecter ainsi qu'une consigne de comptage fournie sous forme directe ou indexée. Selon un mode de réalisation, les moyens de détection comprennent des moyens de production de codes événements lorsque des événements prédéterminés se produisent en des points prédéterminés du microprocesseur, et des moyens de comparaison d'un code événement délivré par les moyens de production avec le code événement d'un événement attendu. Selon un mode de réalisation, le compteur reçoit un signal d'horloge de comptage différent d'un signal d'horloge interne du microprocesseur. Selon un mode de réalisation, le microprocesseur comprend des moyens pour extraire le signal d'horloge de comptage de la fréquence porteuse d'un champ magnétique alternatif. La présente invention concerne également un procédé de synchronisation d'un microprocesseur avec un événement attendu, le microprocesseur comprenant un compteur pour mesurer un intervalle de temps en fonction d'une consigne de comptage et d'un signal d'horloge de comptage, comprenant les étapes suivantes : présenter préalablement une consigne de comptage à l'entrée du compteur attendre ] 'événement et, lorsque l'événement attendu se réalise, appliquer immédiatement au compteur un signal de chargement de la consigne de comptage présente à l'entrée du compteur. Selon un mode de réalisation, l'événement correspond à l'écoulement d'un intervalle de temps déterminé par une consigne de comptage précédemment chargée dans le compteur. Selon un mode de réalisation, le signal de chargement de la consigne de comptage est appliqué au compteur au moyen d'un circuit à logique câblée prévu pour détecter l'événement attendu et générer le signal de chargement avec un délai minimal correspondant à un temps de commutation de portes logiques. Selon un mode de réalisation, le microprocesseur est désactivé pendant l'attente d'un événement. Selon un mode de réalisation, le microprocesseur est activé après que le signal de chargement a été appliqué au compteur. Selon un mode de réalisation, on désactive et on active le microprocesseur en bloquant et en rétablissant l'application d'un signal d'horloge interne au coeur du microprocesseur. Ces caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés plus en détail dans la description suivante d'un microprocesseur selon l'invention, en relation avec les figures jointes parmi lesquelles - la figure l précédemment décrite représente les bits d'une transmission de données asynchrones, - la figure 2 est le schéma de principe classique d'un circuit à microprocesseur agencé pour la détection de données asynchrones, - la figure 3 est le schéma sous forme de blocs d'un microprocesseur selon l'invention comportant un système de synchronisation selon l'invention, - la figure 4 représente de façon plus détaillée certains éléments du système et du microprocesseur de la figure 3, et - la figure 5 est un chronogramme illustrant divers signaux logiques intervenant dans le fonctionnement du système de la figure 3. La figure 3 représente un microprocesseur 10 comprenant classiquement une unité centrale CPU, connectée à un bus de données 15 et un bus d'adresses 16, une mémoire programme MEM, une banque de registre REGBANK et un générateur d'horloge CGEN délivrant le signal d'horloge interne H1 du microprocesseur, appliqué à l'unité CPU. On retrouve par ailleurs sur la figure le compteur TMR décrit au préambule, piloté par un signal d'horloge de comptage H2. La banque REGBANK et le compteur TMR sont connectés au bus de données 15 en tant qu'éléments périphériques de l'unité CPU, et des adresses ADD de registres peuvent être envoyées à la banque REGBANK par l'intermédiaire du bus d'adresses 16. Selon l'invention, le microprocesseur 10 comprend un circuit détecteur d'événement EVTDET à logique câblée assurant la détection d'événement devant être pris en compte au cours de l'exécution d'un programme. Comme cela ressort de l'exemple donné au préambule, le terme "événement" désigne de façon classique le fait qu'un signal logique change de valeur en un point du microprocesseur. L'événement peut être le passage à O du signal, son passage à 1, ou simplement son changement d'état (de 1 à O ou de O à 1). Selon les besoins et les applications, le signal à surveiller peut être prélevé sur un bus interne ou un port du microprocesseur, ou être un drapeau !"flat") du microprocesseur. Le changement de la valeur du signal peut constituer en lui-même l'événement attendu, ou être la traduction en logique binaire d'un événement quelconque dont dépend le déroulement d'un programme. Le détecteur EVTDET est connecté par une entrée EV1 à la sortie d'un générateur d'événement EVTGEN, et reçoit sur une autre entrée EV2 le code CODEEW d'un événement à attendre, délivré par l'unité CPU. Le détecteur EVTDET délivre le signal LOAD de chargement du compteur TMR ainsi qu'un signal ED ("Event Detected") signifiant qu'un événement attendu s'est produit. Enfin, le détecteur EVTDET est activé par un signal EW ("Event Wait") d'attente d'un événement, délivré par l'unité CPU. Le générateur d'événement EVTGEN est un circuit codeur dont les entrées, ici 16 entrées I1 à T16, sont connectées en divers points à surveiller du microprocesseur. Le générateur EVTGEN délivre sur l'entrée EV1 du détecteur EVTDET un code CODEED de l'événement détecté, codé ici sur quatre bits. Le schéma de la figure 3 illustre une application de l'invention correspondant au problème technique décrit au préambule, c'est-à-dire la réception de données asynchrones par un microprocesseur de carte à puce sans contact. On trouve ainsi sur la figure 3 un circuit classique 30 de transmission de données par induction magnétique, comprenant un circuit résonant 31 composé d'une bobine d'antenne 32 et d'une capacité 33 en parallèle, ainsi qu'un circuit diviseur 34 et un circuit décodeur/démodulateur 35 connectés aux bornes du circuit résonant. Lorsque la bobine 32 est plongée dans un champ magnétique alternatif FLD de fréquence Fac modulé en amplitude, émis par un lecteur de cartes à puce, une tension alternative induite Vac apparaît. La fréquence Fac de la tension Vac est divisée par le circuit 34 qui délivre le signal d'horloge de comptage H2 (le rapport de division pouvant être égal à 1). Le circuit 35 démodule la tension Vac et décode le signal reçu pour en extraire les bits bs, bO, bl, b2... de la suite de bits asynchrones (figure 1). La sortie du circuit 35 est appliquée sur un port P1 de l'unité CPU. Dans cette application, le générateur d'événement EVTGEN est connecté par son entrée I1 au port Pi de l'unité CPU et par son entrée I2 à la sortie du compteur TMR délivrant le drapeau FLZ. Le générateur EVTGEN est conçu pour délivrer un code événement CED1 quand le signal présent sur le port I1 passe à O, et un code événement CED2 quand le drapeau FLZ passe à O. La séquence de programme décrite au préambule, concernant la réception des bits bs, bO, bl... reçus selon une période Te, est exécutée comme suit i) l'unité CPU envoie au détecteur EVTDET le code CODEEw = CED1 du premier événement El à attendre (correspondant à l'apparition du bit de start bs sur le port P1), ii) l'unité CPU présente sur le bus 15 la consigne de comptage VAL1 (correspondant au comptage d'un temps Te/2) qui se retrouve ainsi à l'entrée du compteur TMR, iii) ces étapes préparatoires étant effectuées, l'unité CPU active le détecteur EVTDET au moyen du signal EW. Le passage à O du port P1 est détecté par le générateur EVTGEN qui délivre immédiatement le code CODEED = CED1 au détecteur EVTDET, lequel le compare au code CODEEW de l'événement à surveiller. L'identité des codes étant vérifiée, le détecteur EVTDET délivre immédiatement le signal LOAD au compteur TMR, puis délivre à l'unité CPU le signal ED indiquant que l'événement attendu s'est produit. Par "immédiatement", on entend une opération quasi instantanée, faite dans un intervalle de temps très court correspondant aux temps de commutation des diverses portes logiques constituant les circuits EVTGEN et EVTDET. Ainsi, grâce à l'invention, le chargement de la consigne VAL1 dans le compteur TMR est pratiquement simultané à la réalisation de l'événement attendu. Après avoir reçu le signal ED, l'unité CPU poursuit l'exécution du programme enregistré dans la mémoire MEM, c'est-à-dire prépare l'attente de l'événement suivant E2 (correspondant à l'écoulement de l'intervalle de temps Te/2). A cet effet, l'unité CPU répète les opérations i) et ii) ci-dessus, à la différence près que la valeur VAL2 (attente pendant un temps Te) est maintenant présentée à l'entrée du compteur TMR et que le code événement CODEEw fourni au détecteur EVTDET est le code CED2. Lorsque le drapeau FLZ passe à O, la consigne VAL2 est immédiatement chargée dans le compteur TMR et l'unité CPU procède ensuite à la lecture du bit bs. Les opérations de lecture des bits suivants bO, bl... (événements E3, E4...) sont identiques à la précédente et répétitives. En résumé, la prévision d'un circuit spécifique à logique câblée assurant la détection des événements et le déclenchement immédiat du chargement du compteur TMR permet d'éviter une accumulation de retards qui pourraient conduire à la perte d'un bit. Ces avantages de l'invention se retrouvent pour l'émission d'une suite de bits conforme à celle de la figure 1. Dans ce cas, l'unité CPU envoie le code événement VAL2 (FLZ = O) au détecteur EVTDET, prépare la valeur VAL2 à l'entrée du compteur TMR, applique ellemême le signal LOAD au compteur TMR et applique simultanément le signal d'activation EW au détecteur EVTDET. Lorsque le temps Te est expiré et que le drapeau FLZ passe à O, la consigne VAL2 est toujours présente en entrée du compteur TMR et est rechargée automatiquement par le détecteur EVTDET. Le détecteur EVTDET envoie ensuite le signal ED à l'unité CPU qui émet le premier bit bO. Grâce à l'invention, le retard pouvant intervenir entre le passage à O du drapeau FLZ et l'envoi d'un bit bO, bl, b2, b3... par l'unité CPU n'est pas cumulatif car ce retard ne concerne pas le compteur TMR qui est rechargé immédiatement après expiration de l'intervalle de temps précédent. D'autre part, selon un aspect optionnel mais avantageux de l'invention, le coeur du microprocesseur, c'est-à-dire l'unité CPU, est désactivé pendant les périodes d'attente d'un événement. Dans le mode de réalisation illustré en figure 3, cette désactivation est obtenue en supprimant l'application de l'horloge interne H1 à l'unité CPU au moyen d'un interrupteur SW. L'interrupteur est piloté par le détecteur EVTDET et est placé dans l'état ouvert (non passant) quant le détecteur EVTDET reçoit le signal d'activation EW, puis est à nouveau fermé lorsque l'événement attendu se réalise (émission du signal ED). Ainsi, pendant les périodes d'attente d'un événement, le microprocesseur est désactivé et ne consomme pas de courant. La figure 4 illustre un exemple de réalisation du détecteur EVTDET. L'entrée EV1 du détecteur est connectée à une première entrée d'un comparateur logique 30. L'entrée EV2 est connectée à une deuxième entrée du comparateur 30 par l'intermédiaire d'un registre tampon 31 permettant de conserver le code CODEEw à l'entrée du comparateur 30. La sortie du comparateur 30 délivre un signal EQ1 appliqué sur l'entrée d'horloge H d'une bascule D de référence 32 dont l'entrée D est maintenue àl. La bascule 32 reçoit sur son entrée de remise à zéro RST le signal d'activation EW et délivre sur sa sortie Q un signal EQ2. Le signal EQ2 est appliqué en entrée d'un circuit monostable 33 délivrant le signal LOAD ainsi qu'en entrée d'une porte ET 34 recevant sur son autre entrée le signal d'activation EW. La sortie de la porte ET 34 est appliquée sur l'entrée D d'une bascule D de référence 35 recevant sur son entrée d'horloge H le signal d'horloge interne H1 du microprocesseur. La sortie Q de la bascule 35 délivre un signal INHIB de pilotage de l'interrupteur SW (voir aussi figure 3). Le signal INHIB est également appliqué en entrée d'un circuit monostable 36 dont la sortie délivre le signal ED ("événement détecté") . Enfin, les bascules 32 et 35 sont à front descendant, c'est-à-dire déclenchées par le passage à 0 de leurs entrées d'horloge H respectives, les serties Q recopiant alors les entrées D. Le fonctionnement interne du détecteur EVTDET, illustré par le chronogramme de la figure 6, est le suivant. Le signal d'activation EW, normalement à 0, est mis à 1 par l'unité CPU après chargement d'un code événement CODEEw dans le registre tampon 31. Le signal EQ2 passe à 0 ainsi que la sortie de la porte 34. A cet instant, on suppose par exemple que signal d'horloge interne H1 est à 0, comme illustré en figure 6. Au cours du front descendant suivant du signal d'horloge H1, la bascule 35 se déclenche et recopie en sortie la valeur 0 présente sur son entrée D. Le signal INHIB passe à O et l'interrupteur SW est ouvert, de sorte que l'unité CPU ne reçoit plus le signal d'horloge H1 (sur la figure 6, le signal d'horloge reçu par l'unité CPU est référencé H1*, pour le distinguer du signal permanent Hl délivré par le générateur CGEN). Quand, ensuite, l'événement attendu se réalise, les codes CODEEw et CODEED sont égaux et le signal EQ1 passe à O. Le signal EQ2 passe à 1 et la sortie du monostable 33 délivre le signal de chargement LOAD sous la forme d'une impulsion. Simultanément, la sortie de la porte ET 34 passe à 1. A cet instant, on suppose à nouveau que le signal d'horloge interne H1 est à O (voir figure 6). Au cours du front descendant suivant du signal d'horloge H1, la bascule 35 se déclenche et recopie en sortie la valeur 1 présente sur son entrée D. Le signal INHIB passe à 1 et l'interrupteur SW est refermé, de sorte que l'unité CPU est à nouveau activée. Simultanément, le monostable 36 délivre le signal ED ("événement détecté") à l'unité CPU, sous la forme d'une impulsion. En définitive, le mode de réalisation qui vient d'être décrit permet d'interrompre et de rétablir le signal d'horloge H1 au même moment, ici sur un front descendant, de sorte que le fonctionnement de l'unité CPU n'est pas perturbé. Plus précisément, l'unité CPU reprend les opérations là où elle avait été interrompue au moment de sa mise en sommeil. Dans ces conditions, l'attente d'un événement ne nécessite aucune scrutation du signal ED, et la remise en service de l'unité CPU est immédiate après l'émission du signal ED. La partie droite de la figure 4 représente très schématiquement la structure interne de l'unité CPU. On y trouve un décodeur d'instruction DEC et une bascule D référencée 40 dont la sortie Q délivre le signal EW ("attente événement"). Le décodeur DEC, en lui-même classique, a pour fonction d'interpréter les instructions reçues de la mémoire programme MEM et de cadencer leur exécution au sein de l'unité CPU. Selon encore un autre aspect optionnel mais avantageux de l'invention, le décodeur DEC est agencé pour pouvoir traiter une instruction de synchronisation SYNC du type suivant CODEsYNC YN CODEEw ADD comprenant un code opération CODEsyNc, le code CODEEw d'un événement à attendre et une adresse ADD d'un registre de la banque REGBANK contenant une consigne de comptage VAL. Le décodeur DEC, après lecture (cycle "fetch") de l'instruction SYNC dans la mémoire MEM, procède aux opérations suivantes. Le décodeur DEC extrait le code CODEEw de l'instruction SYNC et le stocke dans le registre 31 du détecteur EVTDET, extrait l'adresse ADD et l'envoie sur le bus d'adresses 16, puis applique un signal de lecture RD à la banque REGBANK. La consigne de comptage VAL présente à cette adresse est presentée, par l'intermédiaire du bus de données 15, en entrée du compteur TMR. Ensuite, le décodeur DEC active le détecteur EVTDET en envoyant une impulsion de tension sur l'entrée SET de mise à 1 de la bascule 40. Pour la mise à O du signal EW, l'impulsion ED délivrée par le détecteur EVTDET est appliquée sur l'entrée RESET de la bascule 40. La prévision d'une telle instruction SYNC et d'un décodeur DEC capable d'exécuter cette instruction est un aspect pratique de l'invention permettant de simplifier considérablement le travail d'un programmeur et de faire appel à tout instant à la fonction de synchronisation selon l'invention. Bien entendu, la présente invention est susceptible de diverses applications autres que celle qui vient d'être décrite en correspondance avec le problème technique exposé au préambule. Par exemple, l'invention est applicable à la synchronisation de processeurs asynchrones ne possédant pas les mêmes fréquences d'horloge. De façon générale, l'invention peut être mise en oeuvre dans tout type de microprocesseur et remplace avantageusement les méthodes de synchronisation classiques par scrutation ou interruption. La présente invention est également susceptible de diverses variantes et modes de réalisation. Par exemple, l'instruction SYNC décrite plus haut contient un consigne de comptage sous forme indexée, représentée par l'adresse d'un registre. Il est bien entendu possible, comme variante, de fournir directement la consigne dans l'instruction de synchronisation. Par ailleurs, le détecteur d'événement peut être d'une structure plus complexe permettant d'attendre simultanément deux événements. Dans ce cas, on peut superposer l'attente d'un événement relatif au changement de valeur d'un signal logique avec l'attente d'un événement correspondant à l'écoulement d'un intervalle de temps. Cette variante permet de définir une fenêtre temporelle d'attente et d'éviter que le microprocesseur ne reste bloqué dans un état de sommeil si l'événement attendu ne se réalise pas. Enfin, l'homme de l'art remarquera que la structure du détecteur d'événement décrit plus haut est très proche de celle d'un décodeur d'interruption de microprocesseur, à la différence près qu'un décodeur d'interruption a pour fonction de générer un signal d'interruption et l'adresse d'un sous-programme d'interruption lorsqu'un événement attendu se réalise. Aussi, un mode de réalisation avantageux d'un microprocesseur est de fusionner dans un seul circuit la fonction d'un décodeur d'interruption classique et celle du détecteur d'événement selon l'invention. REVENDICATIONS 1. Microprocesseur (10) comprenant un compteur (TMR) pour mesurer un intervalle de temps (Te/2, Te) en fonction d'une consigne de comptage (VAL1, VAL2) et d'un signal d'horloge de comptage (H2), caractérisé en ce qu'il comprend des moyens (EVTDET, EVTGEN) de détection à logique câblée d'au moins un événement attendu (El, E2, E3), agencés pour appliquer immédiatement audit compteur un signal de chargement (LOAD) d'une consigne de comptage (VAL1, VAL2) lorsque l'événement attendu se réalise. 2. Microprocesseur selon la revendication 1, dans lequel lesdits moyens de détection sont agencés pour pouvoir détecter les événements (El, E2, E3) suivants - l'expiration d'un intervalle de temps (Te/2, Te), - le changement de valeur d'un signal logique quelconque. 3. Microprocesseur selon l'une des revendications 1 et 2, dans lequel lesdits moyens de détection sont programmables et comprennent au moins un registre pour recevoir au moins un code d'au moins un événement à détecter. 4. Microprocesseur selon l'une des revendications 1 à 3, dans lequel lesdits moyens de détection comprennent des moyens (INHIB, SW) pour désactiver le microprocesseur après avoir été activés, et activer le microprocesseur lorsque l'événement attendu se réalise. 5. Microprocesseur selon la revendication 4, dans lequel lesdits moyens de détection désactivent le microprocesseur en bloquant l'application d'un signal d'horloge interne (H1) au coeur (CPU) du microprocesseur. 6. Microprocesseur selon l'une des revendications 1 à 5, caractérisé en ce qu'il comprend des moyens (DEC) de décodage et de traitement d'une instruction d'attente d'un événement (SYNC), agencés pour, sur réception de ladite instruction d'attente - présenter à l'entrée du compteur une consigne de comptage (VAL1, VAL2), - fournir auxdits moyens de détection (EVTDET, EVTGEN) un code (CODEEw) de l'événement à détecter, puis - activer (EW) les moyens de détection. 7. Microprocesseur selon la revendication 6, comprenant des moyens (DEC) de décodage et de traitement d'une instruction (SYNC) d'attente d'un événement comportant un code (CODEEw) de l'événement à détecter ainsi qu'une consigne de comptage (ADD, VAL) fournie sous forme directe (VAL) ou indexée (ADD). 8. Microprocesseur selon l'une des revendications précédentes, dans lequel les moyens de détection (EVTDET, EVTGEN) comprennent - des moyens (EVTGEN) de production de codes événements (CODEED) lorsque des événements prédéterminés se produisent en des points prédéterminés du microprocesseur, - des moyens de comparaison d'un code événement (CODEED) délivré par les moyens de production (EVTGEN) aïec le code événement (CODEEw) d'un événement attendu. 9. Microprocesseur selon l'une des revendications précédentes, dans lequel le compteur reçoit un signal d'horloge de comptage (H1) différent d'un signal d'horloge interne (H1) du microprocesseur. 10. Microprocesseur selon l'une des revendications précédentes, comprenant des moyens (31, 34) pour extraire ledit signal d'horloge de comptage (H2) de la fréquence porteuse (Fac) d'un champ magnétique alternatif (FLD). 11. Procédé de synchronisation d'un microprocesseur avec un événement attendu (El, E2, E3), le microprocesseur comprenant un compteur (TMR) pour mesurer un intervalle de temps (Te/2, Te) en fonction d'une consigne de comptage (VAL1, VAL2) et d'un signal d'horloge de comptage (H2), caractérisé en ce qu'il comprend les étapes suivantes - présenter préalablement une consigne de comptage (VAL1 VAL2) à l'entrée du compteur (TMR), - attendre l'événement, - lorsque l'événement attendu se réalise, appliquer immédiatement au compteur (TMR) un signal (LOAD) de chargement de la consigne de comptage (VAL1, VAL2) présente à l'entrée du compteur. 12. Procédé selon la revendication 11, dans lequel ledit événement (E2, E3) correspond à l'écoulement d'un intervalle de temps déterminé (Te/2, Te) par une consigne de comptage (VAL1, VAL2) précédemment chargée dans le compteur (TMR). 13. Procédé selon l'une des revendications 11 et 12, dans lequel le signal (LOAD) de chargement de la consigne de comptage est appliqué au compteur au moyen d'un circuit (EVTDET) à logique câblée prévu pour détecter l'événement attendu et générer le signal de chargement avec un délai minimal correspondant à un temps de commutation de portes logiques. 14. Procédé selon l'une des revendications 11 à 13, dans lequel le microprocesseur est désactivé (INHIB) pendant l'attente d'un événement. 15. Procédé selon la revendication 14, dans lequel le microprocesseur est activé après que le signal de chargement (LOAD) a été appliqué au compteur (TMR). 16. Procédé selon la revendication 15, dans lequel on désactive et on active le microprocesseur en bloquant et en rétablissant l'application d'un signal d'horloge interne (H1) au coeur (CPU) du microprocesseur.