FR 2533719 A1 19840330 FR 8315304 A 19830927 i La présente invention concerne des systèmes à microprocesseur, et spécifiquement un circuit de comman- de de cadencement ou d'horloge servant à commander le úonc- tionnement d'un microprocesseur utilisé dans un enironne- ment à puissance limitée, comme par exemple dans un dispo- sitif médical implanté. L'une des nombreuses utilisations des unités miniatures de traitement électronique des données, plus connues habituellement sous le nom de microprocesseurs, est- la commande des circuits de contrôle et de diagnostic dans des dispositifs médicaux implantés Ils sent particulière- ment intéressantsen raison de leur poids et de leur taille relativement faibles Mais dans chaque application, le micro- processeur requiert une certaine quantité d'énergie et la demande du point de vue énergie varie en fonction de la quan- tité d'activité "de traitement" effectuée par le microproces- seur Sous le terme d'activité "de traitement", on désigne des transferts de données dans et hors de différents regis- tres situés dans le microprocesseur ainsi que les calculs ou les opérations logiques effectuées par l'unité de trai- tement Dans le cas de l'utilisation dans des dispositifs implantés du point de vue médical, un organe de stockage tel quune pile fome habituellement la source j'alimentation en énergie pendant le fonc- tionnement du microprocesseur, mais lorsque la pile est usée, il devient nécessaire de la remplacer par voie chirurgicale afin de conserver les fonctions électriques effectuées par le microprocesseur. Une solution évidente visant à réduire au mini- mum les difficultés précédentes, consiste à utiliser un. circuit logique à microprocesseur requérant une quantité- minimum d'énergie et/ou à utiliser des piles durables ayant une durée de vie prolongée Les avantages fournis par ces techniques sont limités par l'état de la techniqu e en ce qui concerne la conception des circuits logiques à l'état solide ou transistorisé et la conception des piles. Une autre solution assez évidente visant à ac- croître la durée de vie utile de la source d'alimentation en énergie du microprocesseur consiste à débrancher, les cir- cuits non essentiels pendant des périodes, qui ne requièrent pas l'utilisation des circuits électroniques concernés, mais dans le cas d'un dispositif commandé par microprocesseur, comme par-exemple un dispositif d'acquisition de données, ceci peut ne pas être toujours possible étant donné que des opérations de fonctionnement ou de gestion interne nécessitent un fonctionnement conti- nu pour le pointage, l'enregistrement des données et d'au- tres opérations de contrôle et de commande De même cer- tains types de circuits logiques essentiels pour le fonc- tionnement de l'unité de traitement tels qu'une mémoire active requièrent des cycles de rafraîchissement ou de ré- génération répétitifs Éfin de maintenir leurs contenus de données à l'état valide Les cycles de régénération re- quièrent une alimentation continue en énergie, qui ne peut pas être suspendue temporairement Cependant une quantité importante d'énergie pourrait être conservée grâce à une désactivation de l'unité de traitement pendant les temps morts, comme par exemple entre des transferts de données de mémoire ou entre des exécutions d'instructions Mais étant donné que le microprocesseur lui-même est habituellement la seule unité à l'intérieur d'un système de traitement de don- nées, qui commande tous les autres dispositifs (comme par exemple des périphériques et des mémoires), habituellement son alimentation en énergie n'est pas réduite étant donné que ceci pourrait entraîner une perte du synchronisme dans le fonctionnement avec les autres dispositifs. Compte-tenu de ce qui précède, un but de la pré- sente invention est de fournir un circuit de commande de ca- dencement visant à réduire l'exigence en énergie d'un micro- processeur fonctionnant dans un environnementà énergie limitée. Un but plus spécifique de la présente invention est de fournir un circuit de commande de cadencement permet- tant de faire démarrer et d'arrêter une horloge d'un micro- processeur pendant une phase optimum au cours de son cycle d'instructions, de manière à réduire le prélèvement d'éner- gie pendant les temps morts et à préserver son fonctionne- ment en synchronisme avec les autres dispositifs, lors du redémarrage. Un autre but de la présente invention est de fournir un circuit de commande de cadencement destiné à être utilisé dans un système à microprocesseur qui compor- te une mémoire à accès direct tu aléatoire, ledit circuit per- mettant l'utilisation de la mémoire par d'autres dispositifs périphériques situés dans le système lorsque le microproces- seur fonctionne à vide. D'autres buts de l'invention ressortiront de l'examen de la description qui va suivre d'une forme de réalisation de l'invention donnée à titre d'illustration. Conformément à la présente invention, les buts mentionnés ci-dessus ainsi que d'autres buts sont atteints au moyen d'un circuit de commande de cadencement accouplé au système du microprocesseur et qui inclut ( 1) un disposi- tif réalisant un suivi dè la phase de traitement, servant à introduire une impulsion de phase en réponse à un signal de synchronisation de cycle d'instructiors provenant du micro- processeur, chaque impulsion de synchronisation identifiant une phase prédéterminée dans le cycle opérationnel di'lexécu- tion d'une instruction par le microprocesseur et ( 2) un cir- -cuit logique de démarrage/d-arrêt répondant à l'impulsion de phase provenant du dispositif réalisant un suivi de phase de traitement et à un signal de demande d'arrêt/de démarrage provenant de différents dispositifs situés dans le système à microprocesseur en vue de valider ou d'invalider respec- tivement la transmission des impulsions d'horloge depuis une horloge jusqu'au microprocesseur Dans un cas, les si- gnaux de demande d'arrêt et de démarrage apparaissent entre les accès directs à la mémoire, effectués par le microproces- seur Dans un autre cas, une demande d'arrêt est transmise après que le microprocesseur a achevé un cycle d'instruc- tiord-et une demande de démarrage est transmise après que le mi- croprocesseur déclenché un cycle d'instructions Le démarra- ge et l'arrêt du microprocesseur interviennent uniquement - lors des apparitions de l'impulsion de phase, c'est-à-dire à un instant o les lignes de transmission de données d'en- trée/sortie du microprocesseur sont débranchées,du point de vue logique, d'un bus périphérique extérieur auquel se trou- ve raccordé un dispositif, comme par exemple une mémoire. Avantageusement, d'autres dispositifs périphé- riques peuvent avoir accès à la mémoire alors que le micro- processeur, est débranché En outre, le dispositif réalisant un suivi de phase de traitement produit également des signaux d'information de phase et les transmet dans un bus de trans- mission de données, de manière à informer des dispositifs pé- riphériquesraccordés au bus de transmission de données, de la phase actuelle du cycle d'instructionsdu microprocesseur de telle sorte que les dispositifs périphériques peuvent se préparer d'eux-mêmes pour un transfert de données d'entrée/ sortie avec la mémoire partagée en commun. D'autres caractéristiques et avantages de la pré- sente invention ressortiront de la description donnée ci-après prise en référence aux dessins annexés, sur lesquels: la figure 1 représente un schéma-bloc d'un circuit de commande de cadencement mettant en jeu les concepts de la présente invention; la figure 2 est un chronogramme du circuit de commande de cadencement de la figure 1; et la figure 3 est un Èchéma détaillé du circuit de la figure 1. On va indiquer ci-après le meilleur de mode de mise en oeuvre de la présente invention. Comme indiqué précédemment, la présente invention est utile pour conserver l'énergie utilisée par un micro- processeur fonctionnant dans un environnement à énergie limitée, comme par exemple dans un dispositif médical im- planté Lors du développement de la présente invention, on a établi qu'il existe une différence assez importante dans la dissipation de puissance entre les modes statique et dynamique de fonctionnement d'un microprocesseur, en particulier d'un microprocesseur utilisant des circuits logiques CMOS, comme par exemple le microprocesseur por- tant la référence 1802 et fabriqué par la société dite RCA. Les figures 1 et 2 représentent le schéma-bloc du circuit, dans lequel le concept de la présente invention peut être mis en oeuvre, ainsi que son chronogramme Comme cela est représenté, un circuit logique 12 de démarrage/ d'arrêt synchrone délivre un signal CLK EN dans le conduc- teur 30 pendant le mode actif de fonctionnement dynamique deun microprocesseur 15 et supprime le signal CLK EN ten- dant le mode inactif statique de fonctionnement L'envoi du signal CLK EN valide une porte ET 14 qui permet la transmis- sion directe de signaux de cadencemert depuis une source for- mant horloge 17 jusqu'à l'entrée CK du microprocesseur 15. Tout en étant commandé de façon cadencée par ces signaux de cadencement, le microprocesseur 15 traitexdes données transférées entre lui-même, la mémoire 1 l et les périphéri- ques 21 Un bus 13 de l'unité de traitement est relié à la mémoire 11 et un bus périphérique 20 accouple les disposi- tifs périphériques au bus 13 de l'unité de traitement La mémoire 11 est de façon typique une mémoire à accès direct ou aléatoire comportant à la fois des lignes de transmission d'adresses et des lignes de transmission de données Il pour- rait également s'agir d'un autre type de dispositif de mémoi- re Le bus périphérique 20 véhicu Ae normalement des signaux provennfît de tests d'acquisition de données. Dans le cas de l'application envisagée du micro- processeur dans un dispositif médical implanté, habituelle- ment environ quatre vingt dix pour-cent de l'activité du mi- processeur 15 sont utilisés pour établir des références de mémoire et des transferts entre les dispositifs raccordés aux bus 13 et 20 Mais parfois le microprocesseur 15 n'en- tre pas en jeu dans une opération de traitement de données, ou dans une opération de transfert dé données et par consé- quent ne nécessite pas d'être alimenté par une énergie de fonctionnement pour réaliser la commande en séquence de ses registres internes et de ses unités arithmétiques Ces condi- tions pourraient être provoquées par la réalisation d'une acquisition de données par l'un des dispositifs périphéri- ques 21, qui introduirait dans la mémoire 11, des données échantillonnées en vue de leur utilisation ultérieure par le microprocesseur 15 Dans la forme de réalisation préfé- rée, un tel transfert intervient alors que les lignes de transmission de données de l'unité de traitement sont dé- branchées du point de vue logique par rapport au bus 13 de sorte que les lignes de transmission d'adress Eeet de données de la mémoire 13 sont libres. Lors du fonctionnement, un dispositif 10 réali- sant un suivi de phase de traitement conserve la trace ou le suivi de la phase en cours de fonctionnement du microproces- seur pendant son cycle d'instructions Dans le microprocesseur 1802 préféré, chaque cycle d'instructiorscomporte huit sta- des ou phases qui se déroulent pendant la durée de huit im- pulsions de cadencement provenant de l'horloge source 19. Le dispositif 10 réalisant un suivi de phase contrôle les impulsions de cadencement 16 provenant de l'horloge 17 et un signal de synchronisation 18 provenant du microproces- seur 15 Le signal de synchronisation apparaît pendant une phase prédéterminée faisant partie des huit:phases du cycle de fonctionnement du microprocesseur 15 Le dispositif 10 réalisant un suivi de phase de traitement transmet, en syn- chronisme avec les impulsions de cadencement et avec les im- pulsions de synchronisation, une série de signaux d'informa- tions dans le bus 20 Ces signaux d'informations informent les dispositifs périphériques du cycle d'instructionsquiest en cours dans le microprocesseur 15 Le dispositif 10 réali- sant le suivi de phase de traitement délivre également une impulsion de phase de démarrage/arrét (impulsion SSPP) dans le conducteur 22 et l'envoie au circuit logique de démarra- ge/d'arrêt synchrone 12 L'impulsion SSPP apparalt pendant une phase prédéterminée faisant partie-des phases du cycle d'instructior 5 du microprocesseur 15, et ce également an synchronisme avec les impulsions d'horloge provenant de la source 17 Pendant l'application de l'impulsion SSPP, les lignes de transmission de données du microprocesseur sont dans un état d'impédance élevée, de sorte que si cela est nécessaire, les dispositifs périphériques peuvent avoir accès au bus de la mémoire, alors que le microprocesseur est au repos, comme cela est expliqué précédemment. De même, pendant l'envoi de l'impulsion SSPP, le circuit logique de démarrage/arrêt 72 synchrone peut répondre d un signal de demande d'arrêt (STOP) ou à un signal de de- mande de démarrage (START) apparaissant dans les conducteurs 24 et 26 Les signaux START et STOP peuvent provenir du mi- croprocesseur 15, par exemple lorsqu'il déclenche une inter- ruption ou achève un transfert en mémoire Si le circuit 12 reçoit un signal STOP le signal CLK EN apparaissant dans le conducteur 30 sera supprimé lors de l'apparition de l'impul- sion SSPP suivante De façon analogue, lorsque le micropro- cesseur est en sommeil, le circuit logique'-12 transmet le signal CLK EN en réponse à un signal START apparaissant dans la ligne 24 lors de l'apparition de l'impulsion SSPP suivan- te provenant du dispositif 10 réalisant un suivi de phase de traitement Par consequent le dispositif 10 réalisant le suivi de phase de traitement garantit que le micropro- cesseur passe toujours en sommeil ou devient actif en syn- chronisme avec la phase désirée dans le cycle d'instruc- tiom du microprocesseur 15, par exemple lorsque ce dernier est découplé, du point de vue logique, du bus 13. Un signal RESET (remise à l'état initial) ini- tialise toutes les bascules bistables et toutes les portes contenues dans le circuit logique de démarrage/arrêt 12 avant qu'intervienne le fonctionnement du circuit 12 Ce- ci place le circuit 12 dans 1 ' état de fonctionnement lors- que le système du microprocesseur est mis sous tension en premier. La figue 3 montre un schéma détaillé du circuit d'arrêt d'horloge synchrone 12 et du circuit 10 réalisant un suivi de phase de traitement, que l'on vient de décrire en référence à la figure 1 o Le dispositif 10 réalisant un suivi de phase de traitement contient un compteur octal (par exemple un compteur en anneau) et un circuit décodeur 34 qui réalise une indexation sur une position binaire en réponse à la réception de chaque impulsion de cadencement provenant de l'organe 17 (figure 1) En réponse aux impul- sions de cadencement, le circuit décodeur 34 produit l'im- pulsion SSPP chaque fois qu'il compte huit impulsions, ou bien chaque fois qu'un bit de compte revient dans la posi- tion "un" dans le compteur en anneau 34 Lors de la phase "un", les lignes de transmission d'adress E et de données d' entrée/sortie du microprocesseur sont dans un état d'im- pédance élevée Un signal SYNC (syhronisation), fonmant ipul- sions de cadencement "B" (TPB), provenant du microproces- seur 15 valide une entrée d'une porte ET 36 de sorte que le décodeur 34 est initialisé (c'est-à-dire ramereà l'état initial) au début de chaque cycle d'instruction du microprocesseur 15 en synchronisme avec les impulsions de cadencement délivrées par l'horloge 17 qui est également rac- cordéeà l'autre entrée de validation de la porte ET 36 Afin de déclencher une demande de démarrage dans le conducteur 24, le circuit logique de démarrage/d'arrêt synchrone 12 comporte une porte OU 38 qui répond à différents signaux g de commande, tel qu'un signal d'interruption "Il NT' et des signaux d'accès direct en mmoiz Dx IN" et QD?',A OUTQ (entrées 40, 42,44) Ces signaux déclenchent et terminent le transfert des don- nées de la mémoire en rapport avec la mémoire à accès di- rect 11 De même le circuit logique 12 contient une porte ET 46 qui, en vue de déclencher une demande d'arrêt du mi- croprocesseur 15 dans le conducteur 26, répond à différents signaux de commande de dispositifs périphériques, comme par exemple CPU DONE (liaison à l'"unité centrale effectuée)- i signal DMA IN DONE (accès direct dans la mémoire effec- tué) ou un signal DMA OUT DONE (sortie effectuée hors de la m H- mire) entrées ( 48,50,52) Ces signaux indiquent que l'unité de traite- ment a achevé une séquence d'instructions, ou bien qu'une opération de transfert en mémoire est achevée et que par conséquent l'unité de traitement peut être arrêtée I Pour arrêter le microprocesseur, une bascule bistable 54 est positionnée en réponse à l'envoi d'un si- gnal de demande STOP dans le conducteur 26, en supposant qu'aucun signal de demande START n'est préseit dans le conducteur 24 La sortie "Q" de la bascule bistable 54 et l'impulsion SSPP présente dans le conducteur 22 comman- dent une porte ET 56 de manière à positionner une seconde bascule bistable 58 La bascule bistable 58 est également positionnée lors de l'apparition de l'impulsion SSPP En- suite, sur sa sortie Q la sortie bistable 58 invalide un signal de validation présent dans le conducteur 30, afin d'invalider la porte ET 14 de manière à bloquer le transfert,s'effectuant par l'intermédiaire du conducteur 16, des impulsiors de cadencement provenant de l'horloge 17 en direction du microprocesseur 15 o De même la bascu- le bistable 58 délivre sur sa sortie (Q), un signal de validation qui ramène à l'état initial la bascule bista- ble 54 par l'intermédiaire d,'une porte OU 62, et se main- tient elle-même dans un état positionné en raison de la présence d'une porte OU 60 raccordée selon un circuit de réaction à la bascule bistable 58, jusqu'à ce qu'une deman- de START apparatsse dans le conducteur 24. Pour faire redémarrer le microprocesseur, c'est- à-dire pour permettre le passage des signaux de cadencement- à travers la porte ET 14, un signal START présent dans le conducteur 24 positionne la bascule bistable 58 lors de l'apparition d'une impulsion SSPP dans le conducteur 22. Lorsque la bascule bistable 58 est positionnée, la sortie "' de cette bascule bistable délivre un signal de valida- tion servant à valider la porte ET 14 de manière à permet- tre le transfert des impulsions de cadencement depuis l'hor- loge 17 jusqu'au microprocesseur 15. La description donnée ci-dessus illustre un mo- de préféré de mise en oeuvre des concepts de la présente in- vention et n'est en aucun cas censée limiter la portée de cette dermière à ce qui est représenté et décrit Cependant il apparaltra à l'évidence que différentes modifications peuvent être apportées à cette forme de réalisation spéci- fique, tout en permettant d'obtenir certains des avantages ou tous les avantages de l'invention et d'en atteindre les buts. On notera par ailleurs que la seconde entrée de la porte OU 62 (dont la première entrée est reliée à la sortie Q de la bascule 58) reçoit par l'intermédiaire d'une porte un signal de remise à zéro RESET appliqué sur l'entrée 28 du circuit. h REVENDICATIONS lo Circuit de commande de cadencement pour un système de microprocesseur incluant un microprocesseur ( 15) qui répond à des impulsions de cadencement pour réa- liser le traitement d'instructions au cours d'une plurali- té de phases successives lors de chaque cycle d'instruc- tions O caractérisé en ce qu'il comporte une horloge ( 17) servant à produire des im- pulsions de cadencementy des moyens ( 10) réalisant un suivi de la phase de traitement, sensibles auxdites impulsions d'hor- loge et à une phase prédéterminée dans chaque cycle d 1 ins- tructior dudit microprocesseur ( 15) afin de produire un si- gnal d'impulsion de phase- des moyens de réception ( 24026) servant à rece- voir un signal de dende darzt et unsignal de demande de démar- rage O ledit signal de demande d'arrêt étant produit lorsque ledit microprocesseur ( 15) achève une séquence d'instruc- tions et ledit signal de demande de démarrage étant produit lorsque ledit microprocesseur déclenche une séquence d'ins- tructions; et des moyens logiques synchrones ( 12) répondant audit signal d'impulsion de phase et au signal de demande d'arrêt pour invalider le tran$fert desdites impulsions de cadencement vers ledit microprocesseur, et répondantau- dit signal d'impulsion de phase et audit signal de deman- de de démarrage pour valider le transfert desdites impul- sions de cadencement vers ledit microprocesseuro 2 Circuit de commande de cadencement selon la revendication 1, caractérisé en ce que ledit système à mi- croprocesseur comporte des dispositifs périphériques ( 21) interconnectes par un bus de transmission de données ( 20), et que lesdits moyens logiques synchrones ( 12) comportent des moyens permettant de produire et de transmettre par l'intermédiaire dudit bus de transmission de données ( 20) des signaux d'informations de phase identifiant la phase en cours du cycle d'instructionsdudit microprocesseur. 3 Circuit de commande de cadencement suivant l'une quelconque des revendication 1 et 2, caractérisé en ce que ledit microprocesseur ( 15) comporte des lignes de transmission de données d'entrée/sortie et que ladite pha- se prédéterminée desdits moyens ( 10) réalisant un suivi de la phase de traitement correspond à la phase d'impédance élevée des lignes de transmission de données d'entrée/sor- tie dudit microprocesseur. 4 Circuit de commande de cadencement suivant la revendication 3, caractérisé en ce que ledit système à microprocesseur comporte des moyens de mémoire ( 11) pos- sédant des lignes de transmission d'adresses et de données et que ledit signal de demande d'arrêt est produit lors de l'achèvement d'un transfert de données entre ledit micro- processeur ( 15) et lesdits moyens de mémoire ( 11) et que ledit signal de demande de démarrage est produit en répon- se au déclenchement d'un transfert de données en liaison avec lesdits moyens de mémoire.