Brevet FR2642544A1 — publié le 19900803

La présente invention se rapporte, d'une manière générale, aux systèmes de traitement de données, et concerne plus particulièrement un tel système possédant un premier programme d'instructions d'ordinateur et un second programme d'instructions d'ordinateur conçu pour interdire au premier programme d'utiliser ce second progamme. Plus précisément, l'invention se propose de réaliser une carte personnelle (CP) comportant une unité de traitement centrale (UTC) qui opère selon un premier programme écrit par l'utilisateur, et selon un Second programme rédigé par celui qui a fait ou confectionné la carte en question, qui permet de neutraliser ou d'inhiber l'exécution des instructions du premier programme en interdisant à ce dernier d'utiliser directement le programme d'instructions du second programme. Une carte personnelle (en abrégé : CP) renfermant un microprocesseur est connue par le brevet US 4 211 919. t'avantage d'une telle carte est qu'elle peut conserver des informations confidentielles. C'est ainsi, par exemple, que nul ne peut accéder aux informations conservées dans la carte sans connaître son code ou "numéro" d'identification. Or, l'émetteur de la carte, qui peut être une banque, par exemple, n aimerait pas que le fabricant connaisse les programmes d'application particuliers utilisés par la banque. En conséquence, celui qui fabrique la carte produit simplement un programme d'opérations de base qui est enregistré dans la carte au moment de la livraison. L'émetteur de la carte produit ensuite le programme d'application qui lui convient. Dans ces conditions, le fabricant qui produit la carte peut fournir la même CP avec le même programme d'application à tous ses clients. Il est important que le fabricant puisse conserver le même programme opératoire de base et que #les informations qui sty rapportent ne soient pas connues de l'émetteur de la car te.En effet, Si ce dernier pouvait déterminer la structure et la nature du programme opératoire de base, il n'aurait plus besoin du producteur de la carte et pourrait, éventuellement, s'en passer En conséquence, l'un des buts de la présente invention est d'apporter un système de traitement de données possédant un premier et un second programmes pour exécuter des instructions conformément à ceux-ci sans sauter du premier programme au second. L'invention a également pour buts de fournir un système de traitement de données visant l'objectif principal ci-dessus, tout en étant peu coûteux et facile à fabriquer; de réaliser un système de traitement de données pouvant être utilisé à plusieurs fins; de produire un système de traitement de données dans lequel certaines données ou informations peuvent être maintenues confidentielles ou secrètes; d'apporter un système de traitement de données comportant deux sections séparées et distinctes contenant des programmes d'instructions d'ordinateur; et de réaliser un système de traitement de données qui est facile à employer et à programmer. Selon la présente invention, un système de traitement de données comprend une première mémoire pour conserver un premier programme d'ordinateur et une seconde mémoire pour conserver un second programme d'ordinateur. Des moyens de traitement sont prévus pour lire et exécuter les programmes contenus dans la première et dans la seconde mémoires. Des circuits sont aussi prévus pour déterminer si les instructions d'ordinateur lues dans le premier ou dans le second programme par le processeur se rapportent à l'autre de ces deux programmes et pour produire un signal d'interruption en réponse à une telle détermination. Quand le signal d'interruption est engendré, le processeur est arrêté par ce signal et est empêché de continuer le traitement des signaux. D'autres buts et avantages de l'invention ressortiront de la description qui va suivre, en référence atordessins annexés, dont la figure 1 est une vue à plat d'une carte personnelle (ou CP) et, notamment, d'une carte de crédit, conforme à la présente invention; la figure 2 est un schéma par blocs de la CP représentée sur la figure 1; la figure 3 est un schéma par blocs d'un processeur utilisé dans la CP représentée sur la figure 2; la figure 4 illustre la structure ou la configuration de la mémoire utilisée dans le processeur représenté sur la figure 3; la figure 5 est un schéma par blocs d'un circuit de supervision ou de contrôle utilisé dans le processeur de la figure 3; la figure 6 est un schéma par blocs du générateur de signaux d'accès utilisé dans le circuit de contrôle représenté sur la figure 5;; la figure 7 représente un exemple d'un programme d'instructions d'ordinateur utilisé dans la CP que montre la figure 1; les figures 8 et 9 sont des graphiques illustrant la forme des tensions produite par l'unité centrale représentée sur la figure 3 en opérant avec le programme de la figure 7; la figure 10 est un organigramme illustrant le fonctionnement de l'unité de traitement centrale de la figure 3 après une interruption du processeur; la figure Il représente un second exemple du programme d'instructions utilisé dans la CP que l'on voit sur la figure 1; la figure 12 est un graphique représentant la forme des tensions générées par l'unité de traitement centrale de la figure 3 en conformité au programme de la figure 11;; la figure 13-illustre un troisième exemple d'instructions d'ordinateur utilisé dans la CP représentée sur la figure 1; la figure 14 -est un graphique montrant la forme des tensions engendrées par l'unité de traitement centrale représentée sur la figure 8 en opérant selon le programme de la figure 13; la figure 15 illustre un quatrième exemple du programme d'instructions d'ordinateur utilisé dans la CP représentée sur la figure 1; et la figure 16 est un graphique représentant la orme des tensions engendrées par l'unité de traitement centrale de la figure 3 en opérant selon le programme de la figure 15. On va décrire maintenant un dispositif électro iaue conforme à I1 invention en se référant au dessin annexé. En se reportant à la figure 1, on voit un dispositif électronique, notamment une carte personnelle CP-, qui peut être une carte de crédit, par exemple, portant la référence 11, conforme à la présente invention, qui comrend une base ou un substrat 13 de forme rectangulaire et qui peut être mise dans la poche. Une piste mangétique 15, destinée à recevoir des données ou des informations, s'étend sur la base 13. La carte personnelle ll peut être utilisée dans un lecteur de carter magnétique classique ou ordinaire, du type de ceux utilisés dans les distributeurs de billets de banque, capable de lire les informations de la piste magnétique 15. La CP Il comporte des contacts 17 permettant de la connecter à un dispositif externe (non représenté), tel qu'un lecteur/enregistreur utilisé dans les réseaux de traitement de données. Les informations relatives au prossesseur et à l'émetteur de la CP peuvent être imprimées ou estampées sur la base 13, de la manière universellement connue par les cartes magnétiques classiques. La figure 2 représente la structure interne de la carte CP Il. La carte CP ll contient un processeur 21 qui exécute certaines opérations prédéterminées en réponse aux signaux d'entrée qu'il reçoit par la borne d'entrée 17. Le processeur 21 est relié à la borne d'entrée 17 à travers un circuit d'interface série/parallèle (désignée par la suite : interface S/P) 23 et un circuit entrée/ sortie (désigné par la suite : borne E/S) 25. La. borne E/S 25 est reliée à la borne d'entrée 17. En se référant à la figure 3 r on voit que le processeur 21 comprend une unité de traitement centrale UTC 31 qui effectue certaines opérations conformément au programme contenu dans une première mémoire, notamment dans une mémoire morte effaçable et programmable (qualifiée par la suite : EPROM) (Erasable and programmable read only memory) 33. Une seconde mémoire (telle qu'une mémoire morte effaçable et électriquement programmable (Erasable and electrically programmable read only memory (désignée par la suite : E2PROM) 35 contient un progamme établi par l'émet teur ou l'entité qui a délivré la carte, par exemple, par une banque. Les données qui sont engendrées au cours d'une opération sont temporairement conservées dans une mémoire à accès aléatoire (Random access memory) désignée par la suite : RAM 37.L'UTC 31 accède au EPROM 33, au E2PROM 35 et au RAM 37 par un bus d'adresse 39, qui peut être un bus (d'adresse) de 16 bits transmettant les adresses, et par un bus de données 41, de 8 bits, qui véhicule les données. Lorsque l'unité centrale 31 accède à EPROM 33, à E2PROM 35 ou à RAM, l'unité centrale 31 applique les données d'adresses sur le bus d'adresse 39. Le décodeur 43, qui est relié à la borne de sortie du bus d'adresse 39, reçoit ces données. Le décodeur 43 transforme les données d'adresses en un signal de préparation qui est dirigé vers EPROM 33, ELPROM 35 ou RAM 37, selon l'information d'adresse. EPROM 33, E2PROM 35 ou RAM 37 reçoit ce signal de préparation et devient accessible à UCT 31. L'accès de l'unité centrale 31 à EPROM 33, E2 35 ou RAM 37 peut être interdite si le dispositif de contrôle ou de surveillance 45 constate que UCT 31 tente d'accéder à une aire prédéterminée de EPROM 33, de E2PROM ou de RAM 37. Dans certains modes de réalisation, l'unité centrale UCT 31 peut être un microprocesseur Z80 fabriqué par la Sté Zilog, Inc. (Zilog est une marque déposée de cette Société), comportant six broches destinées à des signaux qui seront indiqués plus loin, et un certain nombre de broches véhiculant les signaux de sortie pour les bus d'adresses 39 et de données 41. L'une des six broches est une broche 51 qui délivre un signal Ml. Quand son niveau est bas, le signal Ml indique que l'actuel cycle de machine est le cycle de recherche (fetch cycle) du code d'opération (désigné par la suite : opcode) d'une exécution d'instructions. Le cycle de recherche d'opcode est le premier cycle de machine pour exécuter une instruction. La broche 53 délivre un signal de demande ou de requête de mémoire (désigné par la suite : signal MROQ). Quand son niveau est bas, le signal MROQ indique que le bus d'adresse 39 a des données d'adresses valides, c'est à-dsre, convenant pour une opération de lecture ou d'écriture d'une mémoire. La broche IORQ 55 délivre un signal de requête ou de demande entrée/sortie désigné par la suite signal IORQ. Quand son niveau est bas, le signal IORQ indique que la moitié intérieur du bus d'adresse 39 comporte une adresse IZO (entrée/sortie) valable pour une opération de lecture ou d'écriture entrée/sortie (opération 1/0). Le signal IORQ est aussi à son niveau bas conjointement avec le signal M1 durant le cycle d'interruption de confirmation, qui commence quand 1'UCT 31 échantillonne un signal d'interruption pendant le bord ascendant du dernier cycle d'horloge de la fin d'une instruction quelconque. La broche 57 est un signal de lecture (désigné ci-après singal RD). Quand son niveau est bas, le signal RB indique que l'unité centrale UCT 31 désire lire des don nées provenant de EPROM 33, de E2PROM 35 et ou du dispositif d'entrée/sortie 1/0 25 (voir figure 1). La broche 59 délivre un signal d'écriture (désigné par la suite : signal WR). Quand son niveau est bas, le signal WR indique que le bus de données 41 comporte des données valides devant être conservées dans la mémoire désignée par l'adresse ou dans l'emplacement I/O. La broche 61 reçoit une demande d'interruption (désignée par la suite : signal INT). Le signal INT est produit par d'autres dispositifs que l'unité de traitement centrale 31. Dans le présent mode de réalisation, le signal INT est engendré par le dispositif de 'contrôle ou de surveillance 45. L'EPROM 33 comporte une broche 63 qui reçoit du décodeur 43 un signal de validation ou de conditionnement CE (chip enable signal). Quand son niveau est bas, ce signal CE autorise 1'EPROM 33 à accepter les ordres ou les cannées d'entrée venant de l'unité centrale 31. L'EPROM 33 a aussi une broche 65 qui reçoit un signal d'autorisation de délivrance OE de signal de sortie de la broche RB 57 de l'unité centrale 31. Quand son niveau est bas, le signal OE autorise 1'EPROM 33 à délivrer les données de sortie qui y sont mémorisées. L'EZPROM 35 a aussi une broche CE 67, une broche OE 69 et une broche WE 71. La broche 67 reçoit le signal CE du décodeur 43. Quand son niveau est bas, le signal CE autorise le E2PROM 35 à accepter les commandes ou les données arrivant de l'unité centrale 31. La broche 69 reçoit le signal OE de la broche RD 57 de l'unité centrale 31. Quand son niveau est bas, le signal OE autorise le ELPROM 35 à de livrer les données qui y sont mémorisées. La broche 71 reçoit un signal d'autorisation d'écriture WE du circuit ET-NON 97. Le signal WE, lorsque son niveau est bas, permet à d'autres dispositifs, tels que l'unité centrale d'écrire des données dans le E2PROM 35. La RAM 37 a une broche 73, une broche 75 et une broche 77. La broche 73 reçoit le signal CE du décodeur 43. Quand son niveau est bas, ce signal CE autorise la RAM 37 à accepter les commandes ou les données d'entrée de l'unité centrale 31. La broche 75 reçoit le signal OE de la broche 57 de l'unité centrale 31. Quand son niveau est bas, le signal OE autorise la RAM 37 à délivrer les données qui y sont mémorisées. La broche 77 reçoit le signal WE du premier circuit ET négatif 97. Quand son niveau est bas, le signal WE permet à l'unité centrale 31 d'inscrire des données ou des informations dans la RAM 37. Le dispositif de contrôle ou de surveillance 45 a une première, une seconde, une troisième, une quatrième et une cir.cuième broches d'entrée 79, 81, 83, 85 et 87 et une première, une seconde et une troisième broches de sortie 89, 91 et 93. Le processeur 21 comporte, en outre, un premier et un second circuits ET négatifs 95 et 97. e bus d'adresse 39 de l'unité centrale de traitement 31 est ocrinecte au EPROM 33, au E2PROM 35 et à la RAM 37, au décodeur 43 et au dispositif de contrôle ou de surveillance 45. Le bus de données 41 de L'UCT 31 est relié au EPROM 35r au r2PROM 35 et au dispositif de contrôle 45. La broche M1 est connectée à la première broche 79 d'entrée du dispositif de ccntrôle 45. La broche MREQ 53 est connectée à la broche d'entrée du décodeur 43 et à la cinquième broche d'entrée 87 du dispositif de surveillance 45. La broche IORQ 55 est reliée à la quatrième broche d'entrée 85 du dispositif de contrôle ou de surveillance 45 et à la première entrée 99 du circuit ET négatif 95. Un circuit ET négatif est un circuit logique qui produit un signal de bas niveau quand deux signaux de bas niveau lui sont appliqués et qui produit un signal de haut niveau quand, au moins, un signal de haut niveau lui est appliqué et est équivalent, du point de vue du fonctionnement, à un circuit OU. La broche RD 57 est connectée à la troisième broche d'entrée 83 du dispositif de contrôle 45 et aux broches OE 65, 69 et 75 des EPROM 33, E2PROM 35 et de la RAM 37, respectivement. La broche WR 59 est connectée à l'entrée 81 du dispositif de surveillance 45 et à l'entrée 101 du second circuit ET négatif 97. La première broche de sortie 89 du dispositif de contrôle ou de surveillance 45 est connectée à la broche INT 61. La seconde broche de sortie 91 du dispositif de contrôle 45 est reliée à la seconde broche d'entrée 103. La troisième broche de sortie 93 du dispositif de contrôle 45 est connectée à la première broche d'entrée 105 du second circuit ET négatif 97. La broche de sortie 107 du premier circuit ET négatif 95 est connectée au dispositif entrée/sortie I/O 25. La broche de sortie 109 aboutit aux broches WE 71 et 77 du E2PROM 35 et de la RAM 37. Les trois sorties du décodeur 43 sont connectées respectivement aux broches 63, 67 et 73 du EPROM 33, du E2PRCM 35 et de la RAM 37. L'unité centrale de traitement 31 place les données d'adresse sur le bus d'adresse 39. L'unité centrale 31 sélectionne la mémoire correspondant à la donnée d'adresse fournie, puis délivre ou charge un opcode provenant de la mémoire. L'unité centrale 31 décode cet opcode, puis exécute l'opération conforme à ltopcode ainsi décodé. Au cours de ces opérations, le décodeur 43 sélectionne une mémoire parmi 1'EPROM 33, l'E2PROM 35 et la RAM 37 conformément aux données d'adresse fournies par l'unité centrale 31. En même temps, le dispositif de surveillance 45 reçoit les données d'adresse et détermine s'il est permis à l'unité centrale de traitement 31 d'accéder à l'adresse de mémoire spécifiée par les données d'adresse fournies par l'unité centrale 31. La figure 4 dépeint le fonctionnement du dispositif de contrôle ou de surveillance 45 et montre comment une adresse est assignée à plusieurs mémoires, telles que EPROM 33, E2 35 et RAM 37. La CP 11 possède deux sortes de programmes. Le premier est produit par le fabricant. Ce programme, (qualifié par la suite : "programme de base"), définit le mode de fonctionnement de base de la carte CP 11, par exemple, la procédure de confirmation du numéro d'identification personnel (NIP). Un second programme est produit par le propriétaire ou l'émetteur de la carte (qualifié par la suite "utilisateur"), qui est généralement un organisme financier ou bancaire. La plupart des émetteurs de CP désirent utiliser la carte 21 à des fins spécifiques, sans intervention du fabricant de celle-ci. Pour satisfaire ce désir, l'utilisateur créé un programme, laualifié par la suite : "programme de l'usager") qui peut Être conservé aux fins d'utilisation dans la CP 211. Selon la présente invention, le programme systématique est inscrit dans une aire de programmation 201 prévue dans un espace de mémoire. L'aire de programmation 201 com merci à une adresse 0000 (en hexadécimal, ou en abrégé HEX) et s'étend Jusqutà une adresse RIFFE (HEX). L'aire 201 du programme de base est située dans 1' EPROM 33. Le programme de l'usager est conservé dans l'aire 203 de l'espace de mémoire. Cette aire 203 commence à l'adresse 2000 (Hex) et s'étend à l'adresse 27FF (Hex) dans l'E2 PROM 35. Les informations nécessaires pour utiliser le programme d'usager sont conservées dans l'aire 205 lisible par l'utilisateur commençant à l'adresse 2000 (HEX) et s'éten dant jusqu'à l'adresse 27FF(Hex) qui inclut l'aire (203) contenant le programme enregistré par l'utilisateur. L'unité de traitement centrale 31 ne peut lire que les informations contenues dans l'aire 205. Les données qui sont engendrées pendant le déroulement du programme systématique et celui de l'utilisateurpeuvent être enregistrées et lues dans une aire de lecture et d'écriture 207 commençant à l'adresse 5000 (Hex) et- finissant à l'adresse 60FF (Hex). Les adresses comprises entre 5000 (Hex) et 5FFF(Hex) correspondent à E2PROM 35. Les adresses entre 6000 (Hex) et 60FF (Hex) correspondent à la RAM 37. L'aire de lecture et d'écriture 207 est réservée pour la mémoire de travail d'UTC 31. Comme il a été indiqué plus haut, la CP 21 possède deux sortes de programmes dont l'unI le programme d'utilisateur ou d'usager est créé par le détenteur de la carte ou par celui qui le délivre. Si le programme enregistré par l'utilisateur comporte des étapes qui se branchent sur certaines étapes faisant partie du programme de base, il devient possible à celui-ci d'accéder à ce dernier programme. Dans le pire des cas, l'usager peut voler ou altérer les informations servant à faire fonctionner le programme de base. Comme il a été indiqué plus haut, le programme de base comprend l'opération de base de la CP 21 incluant les étapes de vérification du numéro d'identification personnel PIN. Orr la sécurité du déroulement du programme de base doit être garantie par l'émetteur ou le fabricant de la carte. Aucune autre personne que le fabricant ne doit avoir accès au programme de base. Conformément à la présente invention le dispositif de contrôle ou de surveillance 45 empêche l'unité centrale 31 d'accéder au programme de base pendant l'exécution du programme de l'utilisateur. La figure 5 montre les détails du dispositif de contrôle ou de surveillance 45. Le bus d'adresse 39 est relié au décodeur d'adresse 121 qui délivre un signal A, lequel devient bas quand le décodeur d'adresse 121 détecte une adresse comprise entre 2000 (Hex) et 2FFF(Hex). L'aire d'adresse comprise entre 2000 (Hex) et 2FFF (Hex) est l'aire lisible par l'utilisateur (voir figure 4). Le bus d'adresse 39 est aussi relié à un décodeur 123 lequel émet un signal B qui devient bas quand le décodeur 123 détecte une adresse comprise entre 5000 (Hex) et 60FF(Hex). L'aire comprise entre 5000 (Hex) et 60FF (Hex) est l'aire de lecture et d'écriture de l'utilisateur (voir figure 4). Le bus d'adresse 39 est relié à un décodeur d'adresse d'opcode 125 qui délivre un signal C devenant bas quand le décodeur 125 détecte une adresse comprise entre 2000 (Hex) et 27FF(Hex). L'aire d'adresse comprise entre 2000(Hex) et 27FF(Hex) est l'aire contenant le programme enregistré par l'utilisateur (voir figure 4).- C'est ainsi, par exemple, que lorsque la donnée d'adresse circulant sur le bus 39 est 200Ô(Hex)r le signal A et le signal C sont bas et le dispositif de surveillance 45 distingue les données d'adresse distinguant l'aire contenant le programme enregistré par l'usager des autres aires. Le bus d'adresse est aussi relié à un circuit 127 qui, en réponse à certains signaux de l'unité de trai tement centrale 31, tels que le signal MREQ, en engendrant un signal d'accès à l'une des trcis mémoires, telle 1'EPROM 33, et la nature de l'autorisation d'accès délivrée par 1'JCT 31; opcode, lecture ou écriture. L'accès par opcode signifie que 11 UCT 31 peut accéder à l'une des trois mémoires afin d'extraire un opcode contenu dans celle-ci. L'accès de lecture signifie que llUCT 31 peut accéder à l'une des trois mémoires afin de lire les données qui sont inscrites. L'accès d'écriture signifie que I'UCT 31 a accès à l'une des trois mémoires pour y inscrire des données ou des informations. Quand 1'UCT 31 est en mode opcode, un circuit de signal d'accès 127 délivre un signal D de bas niveau. Lorsque 1'UCT 31 est en mode d'accès de lecture, le circuit 127 délivre un signal F de bas niveau. Quand 1'UCT 31 est en mode d'accès d'écriture, le circuit 127 engendre un signal F de bas niveau. Le circuit 127 produisant ces signaux d'accès sera décrit plus en détail par la suite. La borne de sortie du décodeur d'adresse de lecture 121, qui délivre le signal A, est reliée à la borne d'entrée d'un premier inverseur 129 dont la fonction est d'inverser le niveau du signal A. La borne de sortie du premier inverseur 129 est reliée à la première borne d'entrée d'un troisième circuit ET négatif 131. La borne de sortie du troisième circuit ET négatif 131 est reliée à la borne de rétablissement d'une première bascule 133. La seconde borne d'entrée d'un troisième circuit ET négatif 131 est reliée à la borne délivrant le signal E. La borne de sortie du décodeur d'adresse d'écriture 123, qui délivre le signal B, est couplée à la borne d'entrée d'un second inverseur 135 inversant le niveau du signal B. La borne de sortie du second inverseur 135 est reliée à la première borne d'entrée d'un quatrième circuit ET négatif 137. La borne de sortie du quatrième circuit ET négatif 137 est reliée à la borne de rétablissement d'une seconne bascule 139. La seconde borne d'entrée d'un quatrième circuit ET négatif 137 est reliée à la borne délivrant le signal d'accès F du circuit 127. La borne de sortie du décodeur d'adresse d'opcode, qui délivre le signal C, est couplée à la borne d'entrée d'un troisième inverseur 141 qui inverse le niveau du signal C. La borne de sortie du troisième inverseur 141 est couplée à la première borne d'entrée d'un cinquième circuit ET négatif 143. La borne de sortie du cinquième circuit ET négatif 143 est couplée à la borne de rétablissement d'une troisième bascule 145. Les bornes de sortie des trois bascules 133, 139 et 145 sont reliées à un circuit OU négatif 147 qui délivre un signal bas quand l'une, au moins, de ses trois entrées est à un niveau bas. Le circuit OU négatif 147 envoie un signal L à la broche INT 61 de l'unité de traitement centrale 31. La borne de sortie du décodeur d'adresse d'opcode 141, qui délivre le signal C, est aussi reliée à la première borne d'entrée d'un sixième circuit ET négatif 149. La seconde borne d'entrée du sixième circuit ET négatif 149 est reliée à une borne délivrant un signal D. La borne de sortie du sixième circuit ET négatif 149 est reliée à la borne d'activation (set) d'ure circuit de verrouillage des données d'adresse du bus d'adresse 39 en réponse au signal de sortie du sixième circuit ET négatif 149. Les bornes délivrant les signaux D, E et F sont respectivement connectées à trois bornes d'entrée d'un circuit OU négatif 153. La borne de sortie du circuit OU négatif 153 est connectée à la borne d'activation (set) du circuit de verrouillage de l'adresse courante 155. On va expliquer maintenant l'action des signaux de sortie des circuIts décrits ci-dessus et notamment du circuit OU négatif 153. La borne de sortie du circuit' OU négatif 153 délivre un signal G qui est bas quand, au moins, un des signaux de sortie D, E ou F est bas. Comme il a été indiqué plus haut, deux signaux D, E ou F bas indiquent que l'unité centrale 31 accède à l'une des mémoires, par exemple au EPROM 33. Plus précisément, quand le signal G est bas, ceci indique que l'unité centrale de traitement 31 a accès à l'une des mémoires. Le signal D fait fonction de signal de verrouillage pour le verrou de données d'adresse courante 155. Quand 1'UTC 31 accède à l'une des mémoires, les données d'adresse du bus 39 sont bloquées dans le verrou de données d'adresse courante 155. Le signal H délivré par le sixième circuit ET négatif 147 est bas quand les signaux C et D sont bas. Comme il a été expliqué, le signal C, lorsqu'il est bas, indique les présentes données d'adresses circulant sur le bus de données situées entre les adresses 2000(Hex) et 27FF(Hex) qui est l'aire d'enregistrement du programme d'utilisateur. Le signal D, quand il est bas, indique que l'unité centrale de traitement 31 est dans le mode d'accès opcode. Le si gnal H, quand il est bas, indique que les données d'adresses sont dans l'aire de programme enregistré par l'utilisateur quand 1' UCT 31 est dans lé mode d'accès opcode. Quand le signal H est utilisé comme signal de verrouillage pour le verrou des données d'adresses opcode 151, ces données d'adresses sont bloquées dans ce dernier quand l'unité centrale 31 est dans le mode d'accès opcode. Le cinquième circuit ET négatif 143 délivre un signal I qui est bas quand le signal C est haut et que le signal D est bas. Le' signal C est haut quand les données d'adresses circulant sur le bus de données 39 sont en dehors de l'aire d'enregistrement de programme de l'utilisateur. Le signal D est bas lorsque l'unité de traitement centrale 31 est en mode d'accès opcode. Le signal I est bas lorsque l'unité centrale 31 est en mode d'accès opcode à une aire autre que l'aire d'enregistrement de programme de l'utilisateur, par exemple, à l'aire de programme du système dans le présent mode de réalisation.Quand on utilise le signal I comme signal de rétablissement du troisième circuit de verrouillage 145, ce dernier est rétabli à son état normal quand l'unité de traitement centrale 31 est dans le mode d'accès opcode vers une aire autre que l'aire des programmes enregistrés par l'utilisateur. Le quatrième circuit ET négatif 137 émet un signal J qui est bas quand le signal B est haut et que le signal F est bas. Quand le signal B est haut, ceci indique que les données d'adresse circulant sur le bus de données 39 sont présentes. Le troisième circuit ET négatif 131 émet un signal K qui est bas quand le signal A est haut et que le signal E est bas Le signal A est haut quand les données d'adresse arrivant par le bus de données 39 sont en dehors de l'aire d'enregistrement de l'utilisateur et de l'aire de lecture et d'écriture de l'utilisateur. Le signal E est bas quand 11 unité centrale 31 est en mode d'accès de lecture. Le signal x est bas quand l'unité de traitement cen trale 31 est dans le mode d'accès de lecture d'une aire extérieure à l'aire d'enregistrement et de lecture de l'utilisateur comprise entre 5000 et 60FF. Le signal F est bas quand 1'UCT 31 est dans le mode d'accès d'écriture. Le signal J est bas quand 1'UCT 31 est en mode d'accès d'écriture d'une aire extérieure à l'aire de lecture et d'écriture de l'utilisateur.Le signal J est utilisé comme signal de remise ou de rétablissement pour le second circuit de verrouillage 139. Le second circuit de verrouillage 139 est rétabli ou remis (reset) quand 1'UTC 31 est dans le mode d'accès vers une aire en dehors de l'aire de lecture et d'écriture de l'utilisateur. Quand le 'signal K est appliqué à la borne de rétablissement ou de remise du premier circuit de verrouillage 133, celui-ci est rétabli (reset) quand l'unité centrale 31 est dans le mode d'accès de lecture d'une aire de mémoire située en dehors de l'aire de lecture et d'enregistrement de l'utilisateur. En se référant maintenant à la figure 6, con #oIntement avec la figure 5, on voit que le bus d'adresse 39 est couplé à un décodeur d'adresse 201 qui engendre un signal 203 qui, bas, indique que la donnée d'adresse fournie est A000(Hex). La présente invention prévoit une instruction pour lire les données de l'adresse A000(Hex) dans le programme de base. Le programme de l'utilisateur fait suite au programme de base, c'est-à-are que l'instruction ordonnant de lire les données présentes à l'adresse A000(Hex) est, exécutée le programme de l'utilisateur Les signaux 203, MREQ et RD sont appliqués à un générateur 205 qui produit un signal de départ 207 quand tous ses signaux d'entrée sont bas. Quand les données d'adresse reçues par le bus d'adresse sont AOOO(Hex), le bus d'adresse 39 considère que les données d'adresse sont valides ce qui établit l'unité de traitement centrale 31 dans le mode d'accès à la lecture, tandis que le signal de départ 207 est bas. La borne de sortie du générateur de signaux de départ 205 est reliée aux trois bornes de positionnement de la première, de la seconde et de la troisième bascules 133, 139 et 145. Les bascules 133t 139 et 145 sont positionnées quand l'adresse A000(Hex) est détectée et que l'unité centrale est en état d'accéder à l'une des mémoires. Les bornes de sortie du générateur de signaux de départ 205 et le signal RD sont respectivement couplés aux bornes d'entrée d'un générateur d'impulsions 209 produisant un signal E qui est bas quand le signal de départ 207 et le signal RD sont bas. Les bornes de sortie du générateur de signaux de départ 205 et le signal WR sont respectivement appliqués aux bornes d'entrée d'un générateur d'impulsions 211 qui engendre un signal F dont le niveau est bas quand le niveau du signal de départ 207 et celui du signal WR sont bas. Les bornes de sortie auxquelles apparaissent le signal de départ 207, le signal RD et le signal M1 sont respectivement couplées à un générateur d'impulsions d'échantillonnage d'adresse 213 engendrant un signal Y qui est bas quand le signal de départ 207, le signal. RD et le signal M1 sont bas. Les figures 7 et 8 montrent un exemple de codage du programme de base. Cet exemple illustre un cas où le programme de l'utilisateur comporte une étape de branchement avec le programme de base. Les instructions comprises entre 1034 (Hex) et 103A (Hex) se rapportent au programme de base. Celles comprises entre 2000(Hex) et 2013 (Hex) font partie du programme de l'utilisateur qui est contrôlé par le dispositif de surveillance 45. Uniquement aux fins de l'exposer le codage des programmes de base et d'utilisateur commencent avec une instruction "LD Ar (A000)". Pour commencer, I'UTC 31 effectue un cycle de recherche de opcode ou un cycle M1. Plus précisément, l'unité centrale 31 envoie les données d'adres se 1034 (Hex) sur le bus d'adresse. En même temps 1'UTC 31 fait le signal M1 bas afin d'indiquer qu'il est dans le cycle de recherche du opcode. L'UTC 31 donne alors les signaux MRQ et, RD une valeur basse.Le signal RD, lorsqu'il est bas, indique que les données contenues dans les mémoires peuvent être transférées sur le bus de données 41. L'unité centrale 31 accède ensuite-à la mémoire correspondant aux données d'adresse et prélève l'opcode LD sur le bus de données. Après l'acquisition de ltopcode LD, la donnée A000(Hex) est fournie au bus de données 41. Sur la figure 7, la référence "A" comprise entre LD et AOOO(Hex), désigne un registre interne de l'unité de traitement centrale 31 qui reçoit ces données. A l'impulsion d'horloge suivante, l'UCT 31 envoie les données d'adresse A000 (Hex) sur le bus d'adresse 39. Ces données A000 (HEX) sont appliquées à un décodeur d'adresse 201 faisant partie du dispositif de surveillance 45. Comme il a été expliqué, le décodeur 201 fait le signal 203 bas. Après l'envoi des données d'adresse AC00(Hex), l'unité centrale de traitement fait devenir bas les signaux MREQ et RD. En réponse aux signaux 203, aux signaux MREQ et RD, le générateur 205 produit le signal de départ 207.Le signal 205 positionne les trois bascules 133, 139 et 145. A partir de cet instant, le dispositif de surveillance 45 peut contrôler le programme d'utilisateur. La donnée d'adresse A000(Hex) est fournie au décodeur 43 du processeur de données (voir figure 3). Le décodeur 43 ne produit pas de signal CE parce qu'aucune mémoire n'a été assignée aux données d'adresse A000(Hex). Par conséquent, le bus de données 41 est flottant. L'étape dans laquelle les données d'adresse A000(Hex) sont appliquées sur le bus d'adresse 39, tandis que les signaux MREQ et RD sont bas, est désignée comme étant l'étape I (voir figure 8). Les cycles de la machine seront qualifiés ci-après : "étapes". L'étape 1 est le cy cle de machine qui établit les bascules 133, 137 et 145 dans le dispositif de surveillance ou de contrôle 45, comme il a été décrit plus haut Dans l'étape 2, l'unité de traitement centrale 31 exécute l'opération d'acquisition de I'opcode et envoie les données d'adresse 1037 (Hex) d'un pointeur de programme (non représenté) au bus d'adresse 39 L'UCT donne ensuite aux signaux Ml, MREQ et RD un niveau bas. Le décodeur 43 du processeur 21 engendre un signal de sélection conforme aux données d'adresse 1037 (Hex).Le décodeur 43 sélectionne 1'EPRGM 33 en appliquant ce signal de sélection à 1'EPROM 33. Si le niveau du signal de rétablissement et le signal L sont hauts, l'étape 2 n'est pas interrompue. Ceci est dû au fait que le signal L est haut et que le signal bas ne sera pas appliqué à la broche INT 61 de 1'UCT 31. Dans l'étape 3, 1'UTC 31 lit les données faisant suite à ltopcode "CALL" conservé dans 1'EPROM 33, c'està-dire que 1'UCT 31 envoie les données d'adresse 1038 (Hex) du compteur de programme qui incrémente automatiquement les données d'adresse qui y sont contenues. Quand les signaux MREQ et RD sont bas, le circuit de signaux d'accès 127 fait les signaux ~D et E bas. Pour les signaux d'adresse 1038 (Hex), le décodeur de signaux de lecture, d'écriture et d'adresse opcode 12, 123 et 125 font les signaux D et E bas. Pour les données d'adresse 1038 (Hex) les décodeurs de signaux de lecture, d'écriture et d'adresse opcode 12, 123 et 125 font le niveau des signaux A, B et C hauts. Les signaux H, I, J et K sont hauts En réponse à un signal G bas, le verrou de données d'adresse courante 155 bloque les données d'adresse 1037 sur le bus d'adresse 39 Par les signaux I, J et K, les bascules 133, 139 et 165 ne sont pas affectées. En réponse aux données d'adresse 1038 (Hex), le décodeur 43 (voir figure 3) sélectionne 1'EPROM 33 en fournissant le signal CE. L'EPROM 33 envoie les 8 bits inférieurs des données, OO(Hex) sur le bus 41. Comme dans le cycle de machine précédent, le dispositif de surveillance 45 ne fait pas le signal L bas et 1'UTC n'est pas interrompue. L'UTC 31 range ces 8 bits inférieurs dans son registre. Dans l'étape 4, 1'UTC 31 lit les bits supérieurs 20 (Hex) à la suite de l'opcode "CALS" Les procédures sont les mêmes que dans l'étape 3. L'UTC 31 obtient les données d'adresse indiquant l'adresse de destination pour le branchement. Après l'étape 4, 1'UTC 31 conserve les données de l'adresse à laquelle elle doit retourner. A l'étape 4-1, 1'UTC 31 écrit les 8 bits supérieurs des dcnnées qui sont contenues dans le compteur de programme à l'adresse SP-1. SP désigne les données contenues dans le pointeur de pile. A l'étape 4-1, SP indique 60FF (Hex). En conséquence, 1'UTC 31 inscrit 10 (Hex) à l'adresse 6OFE (Hex). Il est à noter que les données contenues dans le compteur de programme sont incrémentées après que ce dernier a transmis les données au commencement de l'étape 4. A l'étape 4-2, l'JTC 31 écrit les 8 bits inférieurs des données qui sont conservées dans le compteur de programme à l'adresse SP-2. L'UTC 31 inscrit les données 3A (Hex) à l'adresse 60FD (Hex). Ensuite, I'UTC 31 change le contenu du pointeur de pile, c'est-à-dire, qu il remplace les données (60FF) (Hex) par (60FF-2) (Hex). Maintenant, 1'UTC 31 exécute les instruction# des étapes 5 et 6. A l'étape 5, 1'UTC 31 effectue le cycle d'acquisition d'opcode. Plus précisément, 1'UTC 31 fait bas les signaux Ml, MREQ et RD. En réponse aux signaux M1 et RD les signaux D et E deviennent bas. L'UTC 31 envoie les données d'adresse 2000 (Hex) sur le bus d'adresse 39 avant d'émettre les signaux Ml, MREX et RD. En réponse aux données d'adresse 2000(Hex), les décodeurs d'adresse de lecture et d'opcode 121 et 125 rendent bas le niveau des signaux A et C. En réponse aux signaux bas A, C, D et E, les signaux G et H deviennent bas. En réponse au signal G bas, le verrou 155 bloque les données d'adresse sur le bus 39. En réponse au signal H bas, le verrou 151 bloque les données d'adresse sur le bus d'adresse 39. A A l'étape 6, 1'UTC 31 lit les 8 bits inférieurs des données suivant ltopcode "JP" contenu dans 1'E2PROM. L'UTC 31 rend bas le signal RD. En réponse au signal RD bas, le signal E devient bas. Le signal E bas fait seulement le signal G bas. Le signal H est haut. Ainsi, le verrou des données de l'adresse courante 155 bloque les données 2001 (Hex) sur le bus d'adresse 39. Etant donné que le signal H est haut, le verrou des données d'adresse d'opcode 151 ne bloque pas les nouvelles données et tient les anciennes données 2000 (Hex). A A l'étape 7, 1'UTC 31 lit les 8 bits supérieurs des données faisant suite à I'opcode "JP", 20 (Hex). Comme à l'étape 6, le verrou 155 bloque les nouvelles données 2002 (Hex) sur le bus d'adresse. Le verrou de données d'adresse d'opcode 151 contient les anciennes données 2000(Hex). Les données d'adresse 2010 (Hex) sont conservées dans le compteur de programme. A l'étape 8, 1'UTC 31 saute à l'adresse 2010 (Hex). L'instruction correspondant à l'adresse 2010 (Hex) est "LD (5000), A"r qui indique que les données contenues dans un registre (non représenté) de 1'UTC 31 sont envoyées à la mémoire en conformité avec l'adresse 5000(Hex). Pour exécuter l'instruction ci-dessus, les données contenues dans le compteur de programme sont envoyées sur le bus d'adresse 39. L'étape 8 est le commencement du cyle de machine. En conséquence, 1'UTC 31 produit une valeur basse aux signaux Ml, MREQ et RD. Les étapes suivantes s'effectuent comme l'étape 5. Aux étapes 9 et 10, les données faisant suite à 1 t opcode "LD" sont lues de la même façon qu'aux étapes 6 et 7. 1'UTC 31 acquiert l'information concernant la destination à laquelle 1'UTC 31 envoie les données conservées dans le registre. A l'étape 11, 1'UTC 31 envoie les données conservées dans le registre à l'adresse 5000 (Hex). Cette opération est l'opération d'écriture. L'UTC rend le signal WR bas près de l'envoie des données 5000 (Hex) sur le bus d'adresse 39. L'UTC 31 rend le signal MREQ bas et envoie les données devant être écrites sur le bus de données 41. Après que le bus de données 41 a été établi,#l'UTC rend le signal WR bas. En réponse au signal WR et au signal CE du décodeur 43, les données B de 1'UTC 31 sont écrites dans l'E2PROM 35. A l'étape 12, 1'UTC 31 envoie les données 2013 (Hex), qui sont engendrées par le compteur de programme, sur le bus d'adresse 39. L'UTC 31 opère ensuite conformément ax données d'adresse 2013 (Hex). A l'étape 5, 1'UTC 3 re-.s le signal M1 bas afin de commencer un nouveau cycle de machine. Du E2PROM 35, 1'UTC 31 obtient ltopcode #RETU, qui désigne une instruction de retour. L'UTC retourne à l'opératIon conformément aux données d'adresse contenues dans le pointeur de pile. Afin de retourner, 1'UTC 31 lit l'adresse du pointeur de pile et acquiert les données contenues dans la pile conformément à l'adresse conservée dans le pointeur de pile. Le pointeur de pile tient présentement les données 60FD (Hex) de l'étape 4-2. Les données 60FD(Hex) du pointez de pile sont envoyées dans le compteur de programme. L'JTC 31 envoie les données 60FD(Hex) sur le bus d'adresse 39. L'UTC 31 rend le signal RD bas. En réponse au signal RD et aux données d'adresse 60FD (Hex), 1'UTC 31 obtient les 8 bits bas de l'adresse de retour 3A (Hex) conservée à l'adresse 60FD (Hex) à l'étape 12-1. A l'étape 12-2, 1'UTC 31 obtient les 8 bits supérieurs de l'adresse de retour 10 (HEX) conservée à l'adresse 60FE (Hex). L'UTC 31 reçoit donc toutes les données concernant l'adresse de retour 103A (Hex). Le contenu du pointeur de pile se place sur 60FF (Hex). A l'étape 13, 1'UTC 31 opère conformément aux données d'adresse 103A (Hex) et va au cycle d'acquisition de l'opcode. Pour commencer, 1'UTC 31 envoie les données d'adresse 103A (Hex) qui sont conservées dans le compteur de programme et qui ont été envoyées de la pile à l'étape précédente. L'UTC 31 rend bas les signaux Ml, MREQ et RD. En réponse aux signaux Ml, MREQ et RD et aux données d'adresse 103A (Hex), 1'UTC 31 tente d'accéder la mémoire. A ce stade, le générateur de signal d'accès 127 du dispositif de surveillance 45 rend les signaux D et E bas. En réponse aux données d'adresse 103A (Hex) les décodeurs de lecture, d'écriture et d'adresse d'opcode 121, 123 et 125 laissent les signaux A, B et C inchangés, c'està-dire, à leur niveau haut. En réponse aux signaux C et D, le circuit ET négatif 143 rend le niveau du signal I bas. En réponse aux signaux A et C, le circuit ET négatif 131 rend le signal K bas. En réponse aux signaux I et K, la première et la troisième bascules 133 et 145 sont rétablies (reset) de sorte que leurs contenus sont bas. En réponse au contenu des bascules 133 et 145, le circuit OU négatif 147 rend le signal L bas. Le signal L est appliqué sur la broche INT 61 de 1'UTC 31,qui est ainsi interrompu Au stade ci-dessus, le signal G est rendu bas en réponse aux signaux bas D e#t E. Le verrou des données de l'adresse courante 155 bloque les données d'adresse sur le bus d'adresse 39 en réponse au signal bas G. Le signal H reste haut en réponse au signal haut C et au signal bas D. Ainsi le verrou de données d'adresse opcode 151 ne bloque pas les données d'adresse du bus d'adresse 39 et maintient les données. En se reportant maintenant à la figure 10, on va décrire maintenant la routine d'interruption. En réponse à un signal L bas, 1'UTC 31 opère conformément au programme d'interruption. A l'étape P-i, 1'UTC 31 détecte si elle opère ou non dans le mode d'acquisition d'opcode- interrompu. Afin de le détecter, 1'UTC 31 vérifie le contenu des bascules 133, 139 et 145. Comme il a été décrit plus haut, un signal I bas rétablit (reset ) la bascule 145 et est engendré quand 1'UTC 31 tente d'accéder à une aire d'adresse autre que celle dont l'adresse est comprise entre 2000 (Hex) et 27FF (Hex) pendant l'acquisition de l'opcode. Le signal J bas rétablit la bascule 139 et est engendré quand 1'UTC 31 tente d'accéder à une aire autre que celle dont l'adresse est comprise entre 5000 (Hex) et .60FF (Hex) en mode d'écriture. Un signal K bas rétablit la bascule 133 et est produit quand llUTC 31 essaie d'accéder à une aire dont l'adresse n'est pas comprise entre 2000 (Hex) et 2FFF (Hex) ou entre 5005 (Hex) et 60FF (Hex) en mode de lecture. Lorsque llUTC 31 est en mode d'acquisition d'opcode, elle détecte si le pointeur de pile contient ou non les données d'adresse 60FF (Hex) pendant l'étape P-2. Si le pointeur ce pile contient les données 60FD, llUTC 31 retourne au programme d'application comme représenté sur la firme 7 à l'étape P-3. Lorsqu'il se trouve que 1' UTC 31 n'est pas dans le mode d'acquisItion d'opcode à l'étape P-1, ou si le pointeur de pile ne contient pas l'adresse 60FD à l'étape P2, 1'UTC 31 détermine#que le programme d'application a raté. L'UTC arrête alors l'opération conformément au programme d'application, après quoi 1'UTC 31 lit et conserve les données des bascules 133, 139 et 145 et des verrous de données d'adresse d'opcode 151 et 155 à l'étape P-4. Ces données servent à analyser la cause de l'interruption. Selon le programme représenté sur la figure 7, quand 1'UTC est interrompue, c'est-à-dire, à l'étape 13 représentée sur la figure 9, le signal M1 est bas. Ceci indique que I'UTC 31 est dans le mode d'acquisition d'opcode. Le pointeur de pile conserve les données 60FD (Hex) quand une interruption se produit. Ceci est dû au fait que l'opération d'interruption décrémente le contenu du-pointeur de pile de deux unités (Hex). Comme il a été indiqué plus haut, à l'étape 12-2 effectué avant l'interruption, le pointeur de pile conserve les données 60FF (Hex). Ainsi, le pointeur de pile conserve les données 60FD (Hex). En se référant maintenant aux figures 11 et 12, on voit un second exemple de codage d'un programme d'utilisateur. Dans ce second programme, 1'UTC 31 tente d'exécuter une instruction d'écriture dans une adresse située en dehors de l'aire d'écriture et de lecteure de l'utilisateur. LUTC 31- exécute les mêmes instructions que celles du code du premier exemple du programme d'utilisateur représenté sur la figure 7. Dans l'étape B-l qui suit l'étape 7, 1'UTC 31 entre dans le cycle d'acquisition d'opcode et fait les signaux Ml, MREQ et RD bas afin de prélever 1'opcode contenu dans la mémoire Conformément aux données d'adresse 2010 (Hex). En réponse à ces signaux M1, MREQ et RD bas et aux données d'adresse 2010 (Hex), 1'UTC 31 acquiert l'opcode LD. A l'étape B-2 qui suit l'étape 2-1, 1'UTC 31 lit les 8 bits inférieurs des données d'adresse suivant l'opcode "LD". A l'étape B-3, 1'UTC 31 lit les 8 bits supérieurs 709 (Hex) des données d'adresse faisant suite à l'opcode "LD". A ce stade, 1'UTC ~ 31 obtient les informations indiquant ou les données sont conservées. A l'étape B-4, 1'UTC 31 entre dans le mode d'écriture et envoie l'adresse 7000(Hex) sur le bus d'adresse 39. L'UTC fait aussi les signaux MREQ et WR bas. En réponse au signal d'écriture WR, le générateur d'impulsions d'échantillonnage d'adresse 211 rend le signal F bas. Les signaux D et E restent hauts. En réponse aux données d'adresse 7000 (Hex), les décodeurs de lecture, d'écriture et d'adresse d'opcode 121, 123 et 125 font les signaux A, B et C hauts. En réponse à un signal B haut et à un signal F bas, le circuit ET négatif 137 fait le signal J bas. Les signaux I et K restent hauts. En réponse au signal J, la bascule 139 est rétablie (reset) et le contenu de la bascule 139 (haut) entre dans le circuit OU négatif 147. En réponse au signal de sortie de la bascule 139, le circuit OU négatif i47 rend le signal L bas de sorte que 1'UTC est interrompue. Après l'interruption de 1'UTC 31, celle-ci opère sous la routine d'interruption représentée sur la figure 10. Selon le présent programme, l'UTC 31 opère dans le mode d'écriture quand l'interruption se produit. En conséquence, 1'UTC 31 exécute l'étape P-4 représentée sur la figure 10. En se référant aux figures 13 et 14, on va dé crire maintenant un troisième exemple de programme d'utilisateur. Ce programtte comprend des étapes d'écriture de données dans une dresse située à l'extérieur de l'aire de lecture et d'écriture de l'utilisateur. La différence entre le premier et le troisième codes de programme réside dans l'étape 2010. Dans le troisième prcgramme, l'étape 2010 est "LDA, (7000 (Hex))" et correspond à l'opération de lecture. Ainsi, 1'UTC 31 lit ltopcode "LD" et les 8 bits inférieurs des données d'adresse "70" aux étapes C-l, C-2 et C-3, qui sont, grosso modo, équi7alentes aux étapes B-1, B-2 et B-3. Dans l'étape 2-4, 1'UTC 31 passe à l'exécution de la lecture. Plus précisément, 1'UTC 31 envoie les données d'adresse 7000 (Hex)" et rend les signaux MREQ et RD bas. En réponse aux signaux MREQ et RD, le signal E devient bas. En réponse aux données d'adresse "7000", les décodeurs d'adresse de lecture, d'écriture et d'opcode 121, 123 et 125 font hauts les signaux A, B et C. En réponse au signal E bas et au signal A haut, le circuit ET négatif 131 fait le signal K bas. Les signaux I et J restent hauts. En réponse au signal C bas, et aux signaux A et C hauts, le circuit OU négatif 153 rend le signal G bas, tandis que le signal H reste haut. En réponse à un signal G bas, le verrou des données de l'adresse courante, bloque les données d'adresse sur le bus d'adresse 39. Par contre, le verrou de données d'adresse d'opcode 151, ne bloque pas les données et maintient celles-ci en réponse au signal H haut. En réponse au signal K, la bascule 133 est rétablie ou débasculée (reset) de sorte que le circuit OU négatif 147 rend le signal L bas. L'UTC 31 est interrompue par le signal L bas. Quand 1 r UTC 31 est interrompue, elle opère selon la routine d'interruption représentée sur la figure 10. Conformément au présent code de programme, 1'UTC opère en mode de lecture quand les interruptions se produisent. Ainsi, 1'UTC 31 lit et conserve les données décrites plus haut. En se référant maintenant aux figures 15 et 16, on va décrire un quatrième exemple d'un code de programme. La différence entre le premier et le quatrième exemples de codes de programmes d'utilisateur réside dans l'étape de retour å l'étape source. Dans l'étape D-l, après les étapes 5, 6 et 7, 1'UTC 31 entre dans l'étape indiquée par adresse 2010 (Hex). L'UTC exécute d'abord le cycle d'acquisition de ltopcode, puis envoie les données d'adresse 2010 (Hex) et rend les signaux Ml, MREQ et RD bas. En réponse aux signaux Ml, MREQ et RD bas, 1'UTC 31 conserve intérieurement lopcode "JP". Aux étapes D-2 et D-3 faisant suite à l'étape D-l, 1'UTC 31 lit les 8 bits inférieurs et supérieurs des données d'adresse faisant suite à L'opcode "JP" conservé dans 1'EPROM 33. A l'étape D-4 faisant suite à l'étape D-3, 1' UTC 31 exécute le cycle d'acquisition de ltopcode indiqué par les données d'adresse 103A (Hex). Tout dtabord, 1'UCT 31 envoie les données d'adresse 103A sur le bus d'adresse 39. Ensuite, 1'UTC 31 ac quiert 1'opcode "JP". Toutefois, 1'UCT 31 est interrompue, comme il est expliqué ci-dessous. En réponse aux données d'adresse 103A (Hex), les décodeurs d'adresse de lecture, d'écriture et d'opcode 121, 123 et 125 du dispositif de contrôle ou de surveillance 45 fait les signaux A, B et C hauts. Pendant le cycle d'acquisition d'opcode, 1'UTC 31 rend les signaux Ml, MREQ et RD bas. En réponse aux signaux Ml, MREQ et RD, le circuit de signaux d'accès 127 rend les signaux D et E bas et le signal F haut. En réponse au signal haut A et au signal bas E, le circuit ET négatif 131 rend le signal K bas. En réponse au signal B haut et au signal F haut, le circuit ET négatif 137 maintient le signal J haut. -En réponse au signal C haut et au signal B bas, le circuit ET négatif 143 rend le signal I bas, tandis que le circuit ET négatif 147 fait le signal H haut.En réponse aux signaux A, B et C, le circuit OU négatif 153 rend le signal G bas. En réponse aux signaux bas I et K, les bascules 133 et 145 sont rétablies ou débasculées (reset) et délivrent un signal bas. En réponse aux signaux des bascules 133 et 145, le circuit Ot: négatif 147 rend le signal L bas et 1'UCT 31 est interrompue. En réponse au signal G bas, le verrou des données de l'adresse courante 155 bloque les données sur le bus d'adresse 39. En réponse au signal H haut, le verrou de données d'adresse opcode 151 ne bloque pas les données et conserve les anciennes données. Quand 1'UTC 31 est interrompue, elle opère se Ion la routine d'interruption représentée sur la figure 10. Conformément au codage du présent programme, 1'UTC 31 opère dans le mode d'acquisition d'opcode quand l'interruption se produit. Toutefois, 1'UTC 31 retourne au programme de base sous ltopcode "JP", et. non sous l'opcode "RET". L'UTC 31 ne change pas les données conservées dans le pointeur de pile quand il retourne au programme de base. Autrement dit, le pointeur de pile retient les données "60FD" quand 1 t UTC 31 revient au programme de base. Quand se produit l'interruption de 1'UTC 31, celle-ci doit diminuer le contenu du pointeur de pile, c'est-à-dire, "60-FB". Ainsi, 1'UTC 31 va à l'étape P-4 représentée sur la figure 10. Il va de soi que de nombreuses modifications peuvent être apportées aux exemples de réalisation repré- sentés et décrits, qui n'ont, bien entendu, aucun caractère limitatif, sans sortir pour autant du cadre de l'invention. REVENDICATIONS 1 - Système de traitement de données qui comprend des moyens de mémorisation, lesdits moyens de mémorisation comprenant, en outre des premiers moyens pour conserver un premier programme, lequel comporte un certain nombre de premières instructions; des seconds moyens pour conserver un second programme, lequel comporte un certain nombre de secondes instructions; des moyens de traitement pour lire et exécuter lesdits premières et secondes instructions desdits premier et second programmes conservés par lesdits premiers et seconds moyens de conservation dans lesdits moyens de mémorisation;; des moyens de surveillance ou de contrôle pour déterminer si lesdites premières ou secondes instructions lues dans lesdits premier ou second programmes par lesdits moyens de traitement se rapportent à l'autre d'entre eux et pour générer un signal dtinterrup.~on en réponse à une telle détermination r dans lequel lesdits moyens de traitement sont interrompus par le signal d'interruption généré par lesdits moyens de contrôle ou de surveillance. 2 - Système de traitement de données selon la revendication 1, caractérisé en ce que lesdits moyens de traitement comprennent des moyens pour émettre des données d'adresse indiquant l'emplacement de mémoire où lesdits moyens de traitement peuvent accéder aux données. 30 Système de traitement de données selon la revendication 2, caractérisé en ce que lesdits moyens de traitement exécutent une opération de lecture pour lire, une opération d'écriture pour écrire et une opération d'acquisition de code pour acquérir un code indiquant l'une desdites premières ou secondes instructions. 40 Système de traitement de données selon la revendication 3, caractérisé en ce que lesdits moyens de surveillance ou de contrôle comprennent, en outre des moyens pour distinguer ladite opération d'acquisition de code desdites opérations de lecture et d'écriture; et des moyens pour engendrer un signal de code en réponse afin de distinguer ladite opération d'acquisition de code desdites opérations de lecture et d'écriture. 5 - Système de traitement de données selon la revendication , caractérisé en ce que lesdits moyens de surveIllance ou de contrôle comprennent, en outre des moyens pour déterminer si les données d'adresse émises par lesdits moyens de traitement sont adressées à une partie de ladite mémoire contenant un autre desdits premier et second programmes qui est en cours d'utilisation à l'instant de la détermination, et des moyens pour générer un signal de distinction d'adresse en réponse à une telle détermination. 60 Système de traitement de données selon la revendication 5, caractérisé en ce que lesdits moyens de surveillance ou de contrôle comprennent aussi des moyens pour générer un signal d'interruption en réponse audit signal de code et dudit signal de distinction d'adresse. 70- Une carte qui comprend un corps ou un substrat; des moyens de mémoire, lesdits moyens de mémoire comprenant notamment des premiers moyens pour conserver un premier programme, ledit premier programme comprenant un certain nombre de premières instructions; des seconds moyens pour conserver un second programme, ledit second programme comprenant un certain nombre de secondes instructions; des puces montées sur ledit corps de carte pour lire et exécuter lesdites premières et secondes instructions desdits premier et second programmes conservés par lesdits premiers et seconds moyens de conservation contenus dans lesdits moyens de mémorisation;; des moyens de surveillance ou de contrôle pour déterminer si lesdites premières ou secondes instructions lues dans lesdits premier ou second programmes par lesdites puces se rapporte à l'autre desdits premier ou second programmes et pour générer un signal d'interruption en réponse à une telle détermination, dans laquelle ladite puce est interrompue par le signal d'interruption généré par lesdits moyens de surveillance ou de contrôle. 8 - Carte selon la revendication 7, caractérisée en ce que ladite puce comporte des moyens pour émettre des données d'adresse indiquant un emplacement de ladite mémoire où ladite puce peut accéder à des données. 9 - Carte selon la revendication 8, caractérisée en ce que ladite puce exécute une opération de lecture afin de lire une opération d'écriture pour écrire et une opération d'acquisition de code pour obtenir un code indiquant ladite première ou ladite seconde instructions. 10 - Carte selon la revendication 9, caractérisée en ce que lesdits moyens de surveillance ou de contrôle comprennent des moyens pour distinguer ladite opération d'acquisition de code desdites opérations de lecture et d'écriture; et des moyens pour générer un signal de code en réponse à la distinction de ladite opération d'acquisition de code desdites opérations de lecture et d'écriture. 11 - Carte selon la revendication 10, caractérisée en ce qu'elle comprend aussi des moyens pour déterminer si les données d'adresse émises par ladite puce se rapportent à une partie de ladite mémoire contenant un autre desdits premier et second programmes que celui qui est utilisé à l'instant de la détermination et, des moyens pour générer un signal de distinction d'adresse en réponse à une telle détermination. 12C Carte selon la revendication 11, caractérisée en ce que lesdits moyens de surveillance ou de con trôle comprennent aussi des moyens pour engendrer un signal d'interruption en réponse audit signal de code et dudit signal de distinction d'adresse. 130 Carte selon la revendication 7, caractérisée en ce que ledit premier programme est un programme d'application pour une application particulière de ladite carte, tandis que ledit second programme est un programme de système pour des fonctions communes à plusieurs applications. 14 - Procédé pour exécuter des instructions d'un programme conformément à un premier programme conservé dans une première mémoire et qui inclut un certain nombre d'instructions, et d'un second programme contenu dans une mémoire et qui inclut un certain nombre d'instructions, qui consite à lire les instructions incluses dans le premier et dans le second programmes; à exécuter lesdites instructions de programmes; à déterminer si les instructions lues dans ledit premier programme ou dans ledit second programme pendant ladite étape de lecture se rapportent à l'autre desdits premier ou second programmes; à générer un signal d'interruption conformément au résultat de ladite détermination; et à interrompre ladite étape d'exécution en accord avec ledit signal d'interruption. 15 - Procédé selon la revendication 14, caractérisé en ce que ladite étape d'exécution inclut une étape d'émission de données d'adresse indiquant l'adresse de l'emplacement de la mémoire contenant l'instruction de programme concernée par ledit signal d'interruption. 16 - Procédé selon la revendication 15, caractérisé en ce que ladite étape d'exécution comprend une phase consistant à lire/écrire des données; et, une phase pour acquérir un code indiquant lesdites instructions. 17 - Procédé selon la revendication 16, caractérisé en ce que ladite étape de détermination comporte une phase pour distinguer ladite étape d'acquisition des autres étapes; et une phase de génération d'un signal de code en réponse au résultat de la distinction. 18"- Procédé selon la revendication 17, caractérisé en ce que ladite étape de détermination comprend une phase pour déterminer si les données d'adresse émises indicent celui des deux programmes qui est différent de celui utilisé à l'instant considéré; et une phase de génération d'un signal de distinction d'adresse en réponse au résultat de la détermination. 19 - Procédé selon la revendication 18, caractérisé en ce que ladite phase de génération dudit signal d'interruption comprend une phase consistant à générer le signal d'Interruption en réponse au signal de code et au signal de distinction d'adresse.