Brevet FR2476367A1 — publié le 19810821

La présente invention concerne les mémoires numé- riques et les circuits d'adressage de mémoires de façon gé- nérale, et plus précisément un appareil de traduction des adresses tirées d'un registre classique d'adresses incorporé à une unité centrale de traitement de type classique, en une adresse "cachée" ou "interne" permettant l'adressage d'une mémoire interne. Les mémoires internes sont Dar exemple des mé- moires vives, des mémoires à accès direct et des mémoires mortes habituellement. Parmi ces mémoires, les mémoires mortes sont souvent utilisées pour la conservation des pro- grammes d'ordinateur, des listes de données et des autres informations analogues dont le changement n'est pas prévu. Comme dans le cas des autres supports classiques permanents, tels que les rubans de papier, les disques et les bandes magnétiques, les mémoires mortes constituent aussi un moyen commode pour le stockage permanent et la dissémination des programmes d'ordinateur, deslistes de données et analogue. Etant donné l'utilisation toujours croissante des ordinateurs dans les affaires et l'industrie, la dissé- mination des programmes particuliers, utilisant différents types de mémoires permanentes, notamment des mémoires mortes, a augmenté de façon correspondante. Du fait de cette dissé- mination croissante de programmes particuliers, la copie sans autorisation des programmes a augmenté et constitue une perte sérieuse et considérable pour ceux qui ont inves- ti beaucoup de temps et d'argent pour la mise au point des programmes. Comme dans le cas des autres supports enregis- trés, notamment les rubans de papier, les bandes et les dis- ques magnétiques, les mémoires mortes peuvent aussi être directement copiées. Cependant, leur structure rend habi- tuellement conteuse de façon prohibitive leur programmation en série. Le coût considérable de la reproduction directe des mémoires mortes n'est cependant pas un obstacle in- surmontable. Les mémoires mortes classiques, comme de nom- breux autres types de supports déjà enregistrés, donnent un accès direct et indépendant à tout emplacement interne de la mémoire. Ainsi, chaque accès est indépendant de tous les autres. Lorsque la duplication d'une mémoire morte est pro- hibitivement coûteuse, cet accès aléatoire et indépendant rend relativement simple, à l'aide de dispositifs classi- ques, la lecture d'un programme de la mémoire morte et le report des données lues sur une bande ou un disque. Ensuite, après rechargement du programme dans un autre type de mémoire telle qu'une mémoire à accès direct, le programme peut être utilisé de toute manière classique. Jusqu'à présent, on a utilisé différents procé- dés pour essayer d'empêcher la duplication sans autorisation d'un programme d'ordinateur ou de liste de donnéesconservées dans une mémoire morte. Par exemple, un tel procédé met en oeuvre des instructions initiales de sécurité dans le programme de la mémoire. Lorsqu'un utilisateur non autorisé lit la mémoire, les instructions de sécurité sont transfé- rées avec le reste du contenu de la mémoire morte dans une mémoire à accès direct ou une autre mémoire vive qui est utilisée pendant l'opération de lecture et de transfert des données. Ensuite, lorsque les instructions sont exécutées à partir de la mémoire à accès direct ou d'une autre mé- moire vive, elles provoquent l'introduction de zéros ou d'autres informations étrangères à certains emplacements du programme ou à tous les emplacements du programme pré- sent dans la mémoire. Cette opération est possible parce que le transfert du contenu d'une mémoire morte à une mé- moire vive classique, par exemple par adressage séquentiel de la mémoire morte, préserve obligatoirement les adresses du contenu de la mémoire morte dans la mémoire vive classi- que. En fait, le programme de la mémoire morte, lorsqu'il est dupliqué dans une mémoire vive classique, se détruit automatiquement. L'un des problèmes posés par ce procédé décrit qui rend inopérante la duplication non autorisée des pro- grammes des mémoires mortes est que la méthode de sécurité peut elle-même être rendue inopérante par un utilisateur non autorisé. L'opération peut être effectuée simplement par l'utilisateur qui obtient une copie imprimée du pro- gramme par un dispositif classique et qui, par mise en oeu- vre d'opérations classiques manuelles ou automatiques de démontage, détecte et rend inefficaces les instructions externes de sécurité. Un autre inconvénient des mémoires classiques et d'un appareil classique d'adressage de mémoire est l'es- pace limité d'adressage disponible dans de nombreux appa- reils d'adressage. Cette caractéristique est due au fait que l'espace limité d'adressage limite beaucoup la taille des programmes et des données mémorisés pouvant être utilisés avec l'appareil d'adressage. Comme les programmes d'ordinateur comprennent des séquences d'instructions écrites en général à des emplace- ments successifs de la mémoire, on peut tirer avantage de ce fait et récupérer un programme important avec rela- tivement peu d'adresses. Les seules adresses qui sont né- cessaires essentiellement sont celles qui correspondent aux instructions initiales et aux instructions condition- nelles de saut. Pour cette raison, on peut avantageusement utiliser un appareil d'adressage auxilaire. Compte tenu des considérations qui précèdent, l'invention concerne une mémoire interne ainsi qu'un appa- reil et un procédé d'adressage de mémoire tels qu'un dispositif, commandé par une adresse actuelle de mémoire externe et par un signal créé en fonction d'une adresse antérieure de la mémoire, forme une adresse actuelle de mémoire interne permettant l'adressage de la mémoire interne. Elle concerne aussi une mémoire interne ainsi qu'un appareil et un procédé d'adressage de mémoire selon lesquels un dispositif peut modifier une adresse de mé- moire interne indépendamment d'une adresse de mémoire ex- terne, à chaque interrogation successive de la mémoire. Elle concerne aussi une mémoire interne et un appareil et un procédé d'adressage de mémoire tels qu'un dispositif exécute un programme tiré de la mémoire à l'aide d'adresses internes tirées des adresses externes initiales. Elle concerne aussi une mémoire interne ainsi qu'un appareil et un procédé d'adressage de mémoire tels qu'une mémoire auxiliaire, sous la commande soit d'adresses antérieures de la mémoire interne soit d'adresses anté- rieures d'une mémoire externe, forme des adresses actuel- les de mémoire interne. Elle concerne aussi une mémoire ainsi qu'un appareil et un procédé d'adressage mettant en oeuvre plu- sieures registres destinés à conserver des adresses de retour utilisées dans des programmes ayant plusieurs sous- programmes internes. Elle concerne aussi une mémoire ainsi qu'un appareil et un procédé d'adressage de mémoire qui permet- tent l'utilisation de mémoires dont la capacité dépasse l'espace d'adressage de l'unité centrale de traitement avec laquelle la mémoire et l'appareil d'adressage sont utilisés. Elle concerne aussi une mémoire ainsi qu'un appareil et un procédé d'adressage de mémoire de type indiqué, tels que la mémoire et l'appareil sont incorporés dans un même boîtier de circuit intégré. Plus précisément, l'invention concerne un appareil qui, lorsqu'il est convenablement programmé, transmet une séquence prédéterminée de signaux d'entrée en fonction d'une séquence prédéterminée d'adresses d'en- trée. Toutes les autres séquences d'adresses d'entrée ne provoquent pas la transmission d'un signal de sortie ou provoquent la transmission d'un signal de sortie inu- tilisable. De cette manière, un programme présent dans la mémoire interne peut être exécuté sans qu'il puisse être copié par mise en oeuvre des procédés et dispositifs classiques. Etant donné que la mémoire interne et l'appareil d'adressage de mémoire selon l'invention sont incorporés au même boîtier de circuit intégré, la copie d'un program- me contenu dans la mémoire est pratiquement impossible sans l'aide d'un appareillage extrêmement sophistiqué, tel qu'une microsonde ou un microscope électronique à balayage. En l'absence d'une microsonde, d'un microscope ou analogue, l'obtention d'une copie complète, en l'absence de toute in- formation sur le fait que deux ou plusieurs sauts condition- nels sont placés en série ou non, nécessite l'exécution de tous les trajets possibles. La mise en oeuvre de tous ces trajets possibles d'exécution nécessite au moins 2n exé- cutions du programme, n étant le nombre d'instructions con- ditionnelles de saut rencontrées au cours de l'exécution. Même lorsque le code comprend un petit nombre de boucles, le nombre de séquences à essayer est considérable. Par exemple, dans le cas d'un programme ayant cinq sauts con- ditionnels, le copieur doit exécuter 32 fois le programme afin qu'il parcoure toutes les branches. Si le programme contient 50 sauts conditionnels, ce nombre n'étant pas inhabituellement élevé, le parcours de chaque branche nécessiterait plusieurs années compte tenu de la techno- logie actuelle. Pour ces raisons, le maintien secret de la structure d'un programme et en particulier de l'arran- gement des sauts conditionnels est très souhaitable afin que la duplication non autorisée d'un programme soit évitée. D'autres caractéristiques et avantages de l'in- vention ressortiront mieux de la description qui va suivre, faite en référence aux dessins annexés sur lesquels: - la figure 1 est un diagramme synoptique d'un mode de réalisation d'appareil selon l'invention dans le- quel une adresse antérieure de mémoire interne est utilisée avec des bits choisis d'une adresse actuelle de mémoire externe pour la formation d'une adresse actuelle de mémoire interne; - la figure 2 représente un autre mode de réalisa- tion d'appareil selon l'invention, analogue à celui de la figure 1 mais comprenant plusieurs registres d'adresse de retour; - la figure 3 est un diagramme synoptique d'un autre mode de réalisation d'appareil selon l'invention, mettant en oeuvre une adresse antérieure de mémoire externe avec des bits choisis d'une adresse actuelle de mémoire ex- terne pour la création d'une adresse actuelle de mémoire interne; - la figure 4 est un organigramme d'un programme ayant des points de décision en série et en parallèle; et - la figure 5 est un organigramme d'un programme n'ayant des points de décision qu'en série. La figure 1 représente un mode de réalisation d'appareil 1 d'adressage de mémoire. L'appareil comporte une ligne 2 d'entrée. Celle-ci est destinée à relier l'ap- pareil 1 à une source extérieure d'adressesde mémoire telle qu'un registre classique d'adresse d'une unité centrale de traitement, non représentée. Un circuit 3 de sélection de bits est couplé à la ligne 2. Ce circuit 3 choisit, en fonction d'un signal de commande d'entrée, zéro, un ou plusieurs bits d'une adresse provenant d'une source exté- rieure d'adresses de mémoire couplée à la ligne 2 d'entrée. Une première entrée d'un circuit additionneur 5 est reliée au circuit 3 par une ligne 4. Une adresse interne trans- mise par le circuit additionneur 5 parvient, par une ligne 6, à un circuit 15 constituant une mémoire interne adres- sable, et par une ligne 7 à un circuit 8 constituant une mémoire auxiliaire, contenant une mémoire adressable 8a. Un registre 10 d'adresses directes est relié par une ligne 9 à une première sortie du circuit auxiliaire 8. Le regis- tre 10 est relié par une ligne il à une seconde entrée du circuit additionneur 5. Cette liaison est destinée à la transmission au circuit 5 d'une adresse directe tirée du circuit 8 et dépendant d'une adresse interne antérieure. Une seconde sortie du circuit 8 est reliée par une ligne 12 à une entrée d'un circuit 13 à N bits. Ce dernier est relié par une ligne 14 à une seconde entrée du circuit 3 de sé- lection. Le circuit 13 est destiné à transmettre le signal précité de commande au circuit 3, en vue de la sélection d'un nombre de bits égal à 0, 1 ou plus, dans une adresse externe transmise par la ligne 2, d'après un signal pro- venant du circuit auxiliaire 8. En pratique, la mémoire interne 15 reliée à la ligne 6 du circuit additionneur 5 et la mémoire 8a du cir- cuit 8 sont programmées simultanément. La programmation si- multanée des mémoires 15 et 8a du circuit 8 présente cer- tains avantages. L'un de ceux-ci est que des adresses di- rectes destinées au registre 10 et formées par le circuit 8 en fonction d'adresses antérieures de mémoire interne peuvent être choisies afin que des signaux répétés d'entrée correspondant à la même adresse de mémoire externe trans- mise par la ligne 2 provoquent la formation d'une adresse différente de mémoire interne chaque fois que l'adresse de mémoire externe est utilisée. Inversement, l'adresse directe peut être choisie de manière que des adresses différentes particulières de mémoire externe provoquent la formation d'une même adresse de mémoire interne. La sélection est en- tièrement à la disposition du programmeur. Un autre avantage de la programmation simultanée des mémoires 15 et 8a est le réglage du circuit 13 en vue de la sélection d'un nombre de bits égal à 0, 1 ou plusieurs, dans une adresse de mémoire externe transmise par la ligne 2. Lors de la programmation des mémoires 15 et 8a, e programmeur connaît les adresses de mémoire externe qui sont associées aux instructions conditionnelles de saut. Le programmeur qui dispose de ces connaissances peut par exemple choisir un bit de la nouvelle adresse, par exemple le bit de poids le plus faible, après l'apparition d'un saut conditionnel dans la ligne 2. On peut noter que l'adresse suivante transmise par la ligne 2 après une instructionsconditionnelle de saut, est soit l'adresse suivante tirée du registre d'adresses de programme de l'unité centrale, soit l'adresse indicatrice associée à l'instruction conditionnelle de saut auquel passerait l'unité centrale si la condition était satisfaite. Dans tous les cas, la limitation du signal de sortie du circuit 3 à un seul bit d'une adresse après une instruction condi- tionnelle de saut ne permet pas un écart de la branche d'exécution convenable dans le programme: Le circuit 3 de sélection de bits peut aussi être utilisé pour la lecture de données dans des listes placées dans la mémoire interne. Cependant, dans ces conditions, la valeur du nombre N du circuit 13 est en général supérieure à 1. Par exemple, si l'adresse de mémoire externe correspond à la lecture de l'un des 360 articles d'une liste, l'adresse de mémoireexterne, pour un adressage classique, identifie la liste et l'article particulier voulu dans la liste. Dans ce cas, l'adresse directe du registre 10 identifie la liste et un nombre de bits pouvant atteindre 9, dans l'adresse de la mémoire externe, est choisi par le circuit 3 et le circuit 13 pour la création de l'adresse de mémoire interne permettant la lecture du contenu de l'article de la liste à l'emplacement voulu dans la mémoire interne 15. La figure 2 représente une variante d'appareil d'adressage de mémoire 20 selon l'invention. L'appareil 20 a une ligne 21 d'adresses d'entrée de mémoire externe des- tinée à relier l'appareil 20 à une source extérieure d'a- dresses de mémoire, par exemple le registre d'adresses d'une unité centrale de traitement (non représentée). Un détecteur 22 d'adresse de début est relié à la ligne 21 d'entrée. Ce détecteur 22 est destiné à détec- ter une adresse de début provenant de la source d'adresses de mémoire externe relieeà la ligne 21. Un circuit 24 de sélection de bits est relié au détecteur 22 par une ligne 23. Ce circuit 24 a le même rôle que le circuit 3 décrit précédemment en référence à l'appareil de la figure 1. Une première entrée d'un circuit additionneur 26 est reliée au circuit 24 de sélection de bits par une ligne 25. La sortie du circuit additionneur 26 est reliée par une ligne 27 à une mémoire interne 19 et par une ligne 28 t un circuit 29 à mémoire auxiliaire, et à un circuit 30 destiné à ajouter une unité. Le circuit 29 contient une mémoire auxiliaire adressable 29a. Un circuit 32 d'adresse directe est relié à la sortie du circuit 29 par une ligne 31. Un premier circuit 34 de commande de commutation, référencé Si, est relié à une seconde entrée du circuit 29 par une ligne 33. Un second circuit 36 de commande de com- mutation repérée par la référence S2 est relié à une troi- sième sortie du circuit 29 par une ligne 35. Un troisième circuit 38 de commande de commutation repéré par la ré- férence S3 est relié à une quatrième sortie du circuit 29 par une ligne 37. Un circuit 40 de commande à N bits est relié à une cinquième sortie du circuit 29 par une ligne 39. Ce circuit 40 a le même rôle que le circuit 13 décrit précédemment en référence à la figure 1. Les circuits 34 et 36 sont destinés à commander un commutateur 45 à plusieurs contacts et plusieurs cur- seurs. Ce commutateur 45 a deux contacts mobiles 46, 47 et plusieurs contacts fixes 48, 49, 501, 502 "' 50 k Le contact mobile 47 est relié au circuit 34 et peut coo- pérer sélectivement avec les contacts fixes 48 et 49. Le contact fixe 48 est relié au circuit addition- neur 30 et le contact fixe 49 est relié à la sortie du registre 32 d'adresses directes. Le contact mobile 46 est relié au circuit 36 et est destiné à coopérer avec les contacts fixes 501, 5 2'... 50kg Ces derniers contacts fixes sont reliés à un nombre correspondant de registres i, 602,. 60k destinés à conserver plusieurs adresses directes A1, A2,... A k Les signaux de sortie des registres 60,, 60 2..DTD: k parviennent à un commutateur qui porte la référence 70. Celui-ci comporte un contact mobile 71, un contact fixe 72 et plusieurs contacts fixes 731 732'... 73k. Le con- tact fixe 72 est relié par une ligne 74 à un circuit 75 de constante d'adresse de début. Les contacts fixes 731' 732'... 73k sont reliés chacun à l'un des registres cor- respondants 601, 6021... 60k* Le contact mobile 71 est relié par une ligne 76 à une seconde entrée du circuit additionneur 26. Un circuit 81 de commande de registre de sé- lection destiné à commander le commutateur 70 est relié à ce dernier et au circuit 38 de commande par une ligne 80. Ce circuit 81 est aussi relié au détecteur 22 d'adresse de début par une ligne 82. Le fonctionnement de l'appareil de la figure 2 est pratiquement identique à celui de l'appareil de la figure 1, mais avec en plus une certaine souplesse de programmation, grâce à la disposition des registres 601, 6021. 60k. Comme décrit précédemment en référence à l'appareil de la figure 1, la mémoire interne 19 et la mémoire auxiliaire 29a sont programmées simultanément. La mémoire auxiliaire 29a du circuit 29 et la mémoire interne 19 sont programmées simultanément afin que le circuit 29 puisse former une adresse directe convenable destinée au registre 32 d'adresses directes, des signaux convenables de commande des circuits 34, 36 et 38 et un signal con- venable de commande destiné à être transmis au circuit 40 pour la sélection des bits des adresses externes par le circuit 24. Lors du fonctionnement, lorsque les adresses de la mémoire externeprovenant d'une source extérieur d'adresses de mémoire apparaissent dans la ligne 21 d'entrée, le détec- teur 22 d'adresse de début interroge chacune des adresses jusqu'à ce qu'il détecte une adresse de début. Ensuite, le registre 81 de sélection qui est validé par un signal convenablede commande provenant du circuit 38, relie le contact mobile 71 au contact fixe 72. Comme les contacts 71 et 72 sont reliés, une constante dadresse de début pro- venant du circuit 75 est transmise au circuit additionneur 26 par les lignes 74 et 76. Suivant la valeur du nombre N du circuit 40, un nombre de bits égal à 0, 1 ou plus, tirés de l'adresse de début, est choisi par le circuit 24 et transmis au circuit additibnneur 26. Dans ce dernier, les bits choisis de l'adresse de mémoire externe et la cons- tante d'adresse de début sont ajoutés et permettent la cré- ation, dans la ligne 27, d'une adresse de mémoire interne destinée à la mémoire 19. Après l'adresse initiale de mémoire externe et il la création de l'adresse initiale de mémoire interne, les adresses suivantes de mémoire interne sont formées à l'aide soit d'une adresse directe provenant du registre 32 sous la commande d'un signal du circuit 29, soit de la somme de l'adresse interne précédente et d'une constante, par exemple égale à 1, provenant du circuit additionneur 30. La sélection de l'utilisation de l'adresse directe ou de l'adresse interne précédente pour la formation de l'adresse de mémoire interne est déterminée par la position du con- tact mobile 47 dans le commutateur 45. Lorsque le circuit 29 transmet un signal aux circuits 34 et 36 de commande afin que les contacts 47 et 49 d'une part et le contact 46 et l'un des contacts fixes l' 502' - 50k d'autre part soient reliés dans le commu- tateur 45, une adresse directe provenant du registre 32 est conservée dans l'un des registres 601, 602,... 60k' sui- vant la position du contact 46 dans le commutateur 45. De manière analogue, lorsque le programme contenu dans le circuit 29 transmet aux circuits 34 et 36 les signaux de commande de positionnement des contacts 46 et 47 du com- mutateur 45 de manière que les contacts 47 et 48 d'une part et le contact 46 et l'un des contacts fixes 501, 2'... 50 d'autre part soient reliés, la somme de l'a- dresse interne précédente et de la constante, par exemple +1, provenant de l'additionneur 30 est mémorisée dans l'un des registres... 60k suivant la position du contact 46 par rapport aux contacts fixes 501, 502'... 50k du commutateur 45. Comme décrit précédemment, lorsqu'un registre particulier 601, 602,.. 60k doit être relié au circuit additionneur 26, le circuit 29 transmet aussi un signal de commande aux circuits 38 et 81 par les lignes 37 et 80. Ce signal de-commande assure la liaison du contact mobile 71 du commutateur 70 à l'un des contacts fixes 731' 732' 35..73 k. Grâce à l'utilisation des registres 601, 6021... ky l'appareil d'adressage de mémoire selon l'invention permet l'exécution d'un programme ayant k sous-programmes internes totalement indépendants de l'unité centrale ex- terne de traitement, par mémorisation des adresses de re- tour associées aux sauts des sous-programmes dans l'un des registres. Par exemple, lorsqdun programmeur crée des adres- ses internes avec l'additionneur 30 et lorsqu'un programme particulier à deux sauts a des sous-programmes, le program- meur peut conserver le signal de l'additionneur 30 dans un registre 601 et les adresses de retour et de saut de sous-programme dans les registres 602 et 6 03* Dans ces conditions, lors du déroulement du programme, les commu- tateurs 45 et 70 sont commutés afin qu'ils transmettent la constante convenable et les adresses directes voulues dans les registres choisis 601, 602,... 60k et qu'ils transmet- tent au moment convenable les signaux de ces registres au circuit additionneur 26. La figure 3 représente une variante d'appareil selon l'invention. Dans les modes de réalisation des figu- res 1 et 2, une adresse de mémoire interne est formée à l'aide d'un type de circuit de réaction dans lequel une adresse actuelle de mémoire interne est formée à l'aide d'une adresse antérieure de mémoire interne et d'une adres- se actuelle de mémoire externe. L'appareil de la figure 3 utilise un type de circuit de prédiction dans lequel une adresse antérieure de mémoire externe est utilisée avec une adresse actuelle de mémoire externe pour la formation d'une adresse actuelle de mémoire interne. L'appareil d'adressage 90 représenté sur la fi- gure 3 comporte une ligne 91 d'entrée. Celle-ci est des- tinée à relier l'appareil 90 à une source d'adresses de mémoire externe, par exemple un registre d'adresses d'une unité centrale de traitement. Un circuit 92-de sélection de bits et un circuit 93 à mémoire auxiliaire sont reliés à la ligne 91 d'entrée. Ce circuit 93 qui comporte une mémoire auxiliaire 93a est aussi relié au circuit 92 de sélection de bits par une ligne 94. Un circuit addition- neur 96 est relié par une ligne 95 à la sortie du circuit 92. Un circuit 98 d'adresse directe est relié à la sortie du circuit 93 par une ligne 97. La sortie de ce circuit 98 d'adresse directe est reliée au circuit additionneur 96 par une ligne 99. Lors du fonctionnement et comme décrit en réfé- rence aux figures 1 et 2, un nombre de bits égal à 0, 1 ou plus, choisis dans une adresse de mémoire externe de la ligne 91, est transmis par le circuit 92 au circuit addi- tionneur 96 et est combiné à une adresse directe provenant du circuit 98. Comme dans les appareils des figures 1 et 2, l'adresse directe conservée dans le circuit 90 est trans- * mise par le circuit 93 et permet la formation d'une adres- se de mémoire interne transmise par une ligne 100 à la sortie du circuit additionneur 96. Comme dans le cas des mémoires 15 et 19, l'adresse interne ainsi formée assure l'adressage de la mémoire interne 101. Pour les raisons indiquées précédemment en réfé- rence aux appareils des figures 1 et 2, la mémoire interne 101 et la mémoire auxiliaire 93a du circuit 93, sont programmées simultanément. Lors de cette programmation simultanée des mémoires 93a et 101, le programmeur choisit l'adresse directe appropriée pour la modification de l'a- dresse de mémoire externe ainsi que le nombre et la posi- tion des bits de l'adresse de mémoire externe à combiner à l'adresse directe dans le circuit additionneur 96. Par exemple, après une adresse initiale de mémoire externe, un nombre de bits choisis égal à 0, 1 ou plusieurs des adresses suivantes transmises par la ligne 91 d'adresse de mémoire externe est combiné à une adresse directe pro- venant du circuit 98, dans le circuit additionneur 96. Les bits particuliers choisis d'après l'adresse externe et le caractère de l'adresse directe sont déterminés en- tièrement par le programmeur au cours de la programmation des mémoires 101 et 93a. En général bien que cette caractéristique ne soit pas indispensable, à chaque interrogation des mémoires internes 15, 19 et 101, le circuit 8, 29 ou 93 respective- ment détermine l'adresse directe d'après une adresse pré- cédente de mémoire externe ou interne, suivant le mode de réalisation particulier. Pour cette raison, les appareils des figures 1, 2 et 3 a un fonctionnement dynamique. En effet, les adresses de mémoire interne créées dans l'appa- reil varient constamment en fonction du fonctionnement in- terne de l'appareil même lorsque l'adresse de mémoire ex- terne ne varie pas. La figure 4 représente un exemple de programme simple, permettant l'indication des avantages de l'inven- tion; ce programme correspond à plusieurs déclarations sir S2'... S et à plusieurs sauts conditionnels ou points de décision D1, D2 et D3. Chaque décision donne lieu à une réponse OUI ou NON. Des déclarations et des décisions sont disposées dans des branches parallèles et chaque branche a deux points de décision en série tels que D1-D2 et D1 -D3. Si le programme n'est pas imprimé, l'observation de toutes les instructions de la totalité du programme nécessite le parcours de chaque branche. Dans ce cas, il faut 2n par- cours, n étant le nombre de branches parallèles, et dans cet exemple, 2 = 4. On peut montrer par analyse que, dans un programme de complexité raisonnable, le nombre de points de décision montés en parallèle est facilement tel que le nombre d'essais devient considérable et nécessiterait donc un temps prohibitif. La figure 5 représente un autre exemple de pro- gramme correspondant à plusieurs déclarations S1, S2'... S5 et plusieurs points de décision D1, D2. Dans cet exem- ple, ces derniers sont montés en série. Lorsque tous les points de décision sont montés en série, on peut déterminer toutes les instructions par simple parcours de deux bran- ches quel que soit le nombre de points de décision. Ce- pendant, ceci n'est possible que lorsque l'utilisateur sait que tous les points de décision sont montés en série. S'il n'en est pas au courant, lDitilisateur est obligé d'exécuter 2n passages, n étant le nombre de points de décision; le nombre de passages est là encore potentiellement prohibitif. La description qui précède montre que, tant que l'utilisateur ne peut pas voir le programme présent dans les mémoires internes 15, 19 et 103, la recopie d'un pro- gramme de complexité raisonnable est pratiquement impossi- ble. L'observation du programme par l'utilisateur est évi- tée de la façon la plus commode par fabrication de tous les composants de chacun des modes de réalisation décrits, y compris les mémoires interne et auxiliaire, dans un seul bottier de circuit intégré. Il est bien entendu que l'invention n'a été dé- crite et représentée qu'à titre d'exemple préférentiel et qu'on pourra apporter toute équivalence technique dans ses éléments constitutifs sans pour autant sortir de son cadre. Par exemple, les circuits additionneurs 5, 26 et 87 représentés sur les figures 1, 2 et 3 peuvent être rem- placés par un certain nombre d'autres circuits de combi- naison tels que des circuits de soustraction OU exclusif, notamment. REVENDICATIONS 1. Appareil d'adressage de mémoire, caractérisé en ce qu'il comprend un dispositif (5) recevant une adresse actuelle de mémoire externe et un signal créé en fonction d'une adresse précédente de mémoire externe et destiné à trans- mettre une adresse actuelle de mémoire interne, et un dispositif (6) destiné à transmettre l'adres- se actuelle de mémoire interne à une mémoire adressable (15). 2. Appareil selon la revendication 1, caractérisé en ce que le dispositif destiné à transmettre l'adresse actuel- le de mémoire interne comporte un dispositif (22) de dé- tection d'une adresse de début de mémoire externe et un dispositif (26) commandé par le dispositif de détection (22) et destiné à transmettre une adresse initiale actuel- le de mémoire interne lorsqu'une adresse de début de mé- moire externe est détectée. 3. Appareil selon la revendication 1, caractérisé en ce que le dispositif (26) destiné à transmettre une adresse actuelle de mémoire interne comporte un dispositif qui re- çoit une adresse précédente de mémoire interne et qui transmet le signal créé d'après une adresse précédente de mémoire externe. 4. Appareil selon la revendication 3, caractérisé en ce que le dispositif qui transmet le signal comporte un circuit (29) à mémoire auxiliaire, commandé par l'adresse précédente de mémoire interne. 5. Appareil selon la revendication 4, caractérisé en ce que le dispositif destiné à transmettre le signal com- porte plusieurs registres (601, 602,... 60k) un dispositif destiné à conserver sélectivement le signal du circuit (29) à mémoire auxiliaire dans les re- gistres, et un dispositif (81) de sélection du contenu des registres. Appareil selon la revendication 3, caractérisé en 6. ce que le signal comprend une adresse modifiée de mémoire interne et le dispositif destiné à transmettre le signal comprend un dispositif qui reçoit l'adresse précédente de mémoire interne et qui transmet l'adresse modifiée de mémoire interne. 7. Appareil selon la revendication 6, caractérisé en ce que le dispositif destiné à transmettre l'adresse pré- cédente modifiée de mémoire interne comporte un dispositif (30) de modification de l'adresse interne précédente par une constante. 8. Appareil selon la revendication 7, caractérisé en ce que la constante est égale à 1. 9. Appareil selon la revendication 3, caractérisé en ce que le dispositif destiné à former l'adresse de mémoire interne comporte un dispositif qui reçoit l'adresse précé- dente de mémoire interne et l'adresse actuelle de mémoire externe de la source extérieure d'adressesde mémoire et qui forme sélectivement une adresse actuelle modifiée de mémoire externe. 10. Appareil selon la revendication 9, caractérisé en ce que l'adresse actuelle modifiée de mémoire externe com- porte des bits choisis d'une adresse actuelle de mémoire externe, et le dispositif destiné à former sélectivement l'adresse actuelle modifiée de mémoire externe comporte un dispositif (24) de sélection des bits choisis. 11. Appareil selon la revendication 10, caractérisé en ce que le dispositif de sélection des bits choisis comporte un dispositif (24) qui reçoit un signal de com- mande identifiant les bits à choisir et un dispositif (44) qui reçoit l'adresse précédente de mémoire interne et qui transmet ledit signal de commande. 12. Appareil selon la revendication 11, caractérisé en ce que le dispositif destiné à transmettre le signal de commande comporte un circuit (29) à mémoire auxiliaire qui reçoit l'adresse précédente de mémoire interne. 13. Appareil selon la revendication 1, caractérisé en ce que le dispositif destiné à transmettre l'adresse actuelle de mémoire interne comporte un dispositif qui reçoit une adresse précédente de mémoire externe d'une source d'adres- ses externes et qui transmet ledit signal créé d'après une adresse précédente de mémoire externe. 14. Appareil selon la revendication 13, caractérisé en ce que le dispositif destiné à transmettre un signal comporte un circuit à mémoire auxiliaire commandé par l'adresse précédente de mémoire externe. 15. Appareil selon la revendication 1, caractérisé en ce qu'il comporte une mémoire interne (19), et le dis- positif destiné à former l'adresse de mémoire interne et le dispositif de couplage sont disposés dans un même boi- tier de circuit intégré. 16. Procédé d'adressage d'une mémoire interne, assu- rant la protection d'un programme d'ordinateur conservé dans la mémoire interne contre une utilisation et une du- plication non autorisées, ledit procédé étant caractérisé en ce qu'il comprend la disposition d'une mémoire auxiliaire, et l'utilisation de la mémoire auxiliaire pour la formation, d'après une adresse précédente utilisée pour un adressage précédent de la mémoire interne, d'une adresse actuelle utilisée pour l'adressage de la mémoire interne. 17. Procédé selon la revendication 16, caractérisé en ce que l'adresse précédente est une adresse externe précédente. 18. Procédé selon la revendication 16, caractérisé en ce que l'adresse précédente est une adresse précédente de mémoire interne. 19. Procédé selon la revendication 16, caractérisé en ce que l'utilisation d'une adresse précédente comprend l'utilisation de bits choisis d'une adresse externe pré- cédente. 20. Procédé selon la revendication 16, caractérisé en ce que la disposition d'une mémoire auxiliaire comprend la réalisation de la mémoire auxiliaire et de la mémoire interne dans un même boîtier de circuit intégré.