FR2476367A1 - Appareil et procede d'adressage de memoire - Google Patents
Appareil et procede d'adressage de memoire Download PDFInfo
- Publication number
- FR2476367A1 FR2476367A1 FR8103297A FR8103297A FR2476367A1 FR 2476367 A1 FR2476367 A1 FR 2476367A1 FR 8103297 A FR8103297 A FR 8103297A FR 8103297 A FR8103297 A FR 8103297A FR 2476367 A1 FR2476367 A1 FR 2476367A1
- Authority
- FR
- France
- Prior art keywords
- address
- memory
- internal memory
- circuit
- internal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Abstract
L'INVENTION CONCERNE UN PROCEDE ET UN APPAREIL D'ADRESSAGE DE MEMOIRE. ELLE SE RAPPORTE A UN APPAREIL D'ADRESSAGE DE MEMOIRE 1 QUI COMPREND UN CIRCUIT 5 COMMANDE PAR UNE ADRESSE ACTUELLE DE MEMOIRE EXTERNE TRANSMISE PAR UNE LIGNE 2 D'ENTREE ET PAR UN SIGNAL CREE PAR UN CIRCUIT 8 A MEMOIRE AUXILIAIRE, AFIN QU'UNE ADRESSE ACTUELLE DE MEMOIRE INTERNE SOIT FORMEE ET PERMETTE L'ADRESSAGE D'UNE MEMOIRE INTERNE 15. LES COMPOSANTS PRECITES SONT PLACES DANS UN SEUL BOITIER DE CIRCUIT INTEGRE AFIN QU'ILS DONNENT UNE SECURITE MAXIMALE POUR LA PROTECTION DES PROGRAMMES. APPLICATION A LA LUTTE CONTRE LE VOL DES PROGRAMMES.
Description
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.
Claims (16)
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é.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/122,836 US4377844A (en) | 1980-02-20 | 1980-02-20 | Address translator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2476367A1 true FR2476367A1 (fr) | 1981-08-21 |
| FR2476367B1 FR2476367B1 (fr) | 1986-12-26 |
Family
ID=22405050
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR8103297A Expired FR2476367B1 (fr) | 1980-02-20 | 1981-02-19 | Appareil et procede d'adressage de memoire |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US4377844A (fr) |
| JP (1) | JPS57500310A (fr) |
| CA (1) | CA1155966A (fr) |
| DE (1) | DE3136066A1 (fr) |
| FR (1) | FR2476367B1 (fr) |
| GB (1) | GB2081946B (fr) |
| NL (1) | NL8120082A (fr) |
| WO (1) | WO1981002480A1 (fr) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4519036A (en) * | 1983-01-05 | 1985-05-21 | Emi Limited | Program storage hardware with security scheme |
| DE3415209A1 (de) * | 1983-04-29 | 1984-10-31 | N.V. Philips' Gloeilampenfabrieken, Eindhoven | Speichereinheit mit einem speicher und einer schutzeinheit |
| DE3318083A1 (de) * | 1983-05-18 | 1984-11-22 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung mit einem speicher und einer zugriffskontrolleinheit |
| US4716586A (en) * | 1983-12-07 | 1987-12-29 | American Microsystems, Inc. | State sequence dependent read only memory |
| GB2165377A (en) * | 1984-09-19 | 1986-04-09 | Itt Ind Ltd | A computer element |
| US4701847A (en) * | 1985-01-09 | 1987-10-20 | Logical Services, Inc. | Adaptive instruction sequence synthesizer and process |
| US5155829A (en) * | 1986-01-21 | 1992-10-13 | Harry M. Weiss | Memory system and method for protecting the contents of a ROM type memory |
| US5687354A (en) * | 1990-02-09 | 1997-11-11 | Harry M. Weiss | Memory system and method for protecting the contents of a ROM type memory |
| US5542059A (en) * | 1994-01-11 | 1996-07-30 | Exponential Technology, Inc. | Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order |
| US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
| GB2308905A (en) * | 1996-01-08 | 1997-07-09 | John Robert Miller | Protected system processor |
| KR100253328B1 (ko) * | 1997-09-30 | 2000-05-01 | 김영환 | 메모리의 데이터 보호회로 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2471004A1 (fr) * | 1979-11-30 | 1981-06-12 | Dassault Electronique | Installation et dispositif de controle de l'acces a une memoire electronique |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5128728A (fr) * | 1974-09-04 | 1976-03-11 | Hitachi Ltd | |
| US3949378A (en) * | 1974-12-09 | 1976-04-06 | The United States Of America As Represented By The Secretary Of The Navy | Computer memory addressing employing base and index registers |
| US4128875A (en) * | 1976-12-16 | 1978-12-05 | Sperry Rand Corporation | Optional virtual memory system |
| US4155119A (en) * | 1977-09-21 | 1979-05-15 | Sperry Rand Corporation | Method for providing virtual addressing for externally specified addressed input/output operations |
-
1980
- 1980-02-20 US US06/122,836 patent/US4377844A/en not_active Expired - Lifetime
-
1981
- 1981-02-17 WO PCT/US1981/000211 patent/WO1981002480A1/fr not_active Ceased
- 1981-02-17 JP JP56501087A patent/JPS57500310A/ja active Pending
- 1981-02-17 GB GB8131648A patent/GB2081946B/en not_active Expired
- 1981-02-17 NL NL8120082A patent/NL8120082A/nl unknown
- 1981-02-17 DE DE813136066A patent/DE3136066A1/de not_active Withdrawn
- 1981-02-18 CA CA000371174A patent/CA1155966A/fr not_active Expired
- 1981-02-19 FR FR8103297A patent/FR2476367B1/fr not_active Expired
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2471004A1 (fr) * | 1979-11-30 | 1981-06-12 | Dassault Electronique | Installation et dispositif de controle de l'acces a une memoire electronique |
Non-Patent Citations (2)
| Title |
|---|
| IBM TECHNICAL DISCLOSURE BULLETIN, vol. 14, no. 11, avril 1972, NEW YORK (US) * |
| IBM TECHNICAL DISCLOSURE BULLETIN, vol. 21, no. 2, juillet 1978, NEW YORK (US) * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO1981002480A1 (fr) | 1981-09-03 |
| JPS57500310A (fr) | 1982-02-18 |
| US4377844A (en) | 1983-03-22 |
| DE3136066A1 (en) | 1982-05-19 |
| CA1155966A (fr) | 1983-10-25 |
| GB2081946A (en) | 1982-02-24 |
| FR2476367B1 (fr) | 1986-12-26 |
| GB2081946B (en) | 1985-01-30 |
| NL8120082A (fr) | 1982-01-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| FR2476367A1 (fr) | Appareil et procede d'adressage de memoire | |
| CA2034002C (fr) | Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en oeuvre de ce procede | |
| FR2828294A1 (fr) | Procede pour generer une image en memoire morte | |
| FR2625347A1 (fr) | Structure de reseau de neurones et circuit et arrangement de reseaux de neurones | |
| CH616252A5 (fr) | ||
| CH629319A5 (fr) | Installation de traitement de donnees. | |
| FR2750554A1 (fr) | Systeme a acces conditionnel et carte a puce permettant un tel acces | |
| FR2523745A1 (fr) | Procede et dispositif de protection d'un logiciel livre par un fournisseur a un utilisateur | |
| FR2489555A1 (fr) | Systeme de traitement de donnees a commande par pipeline | |
| FR2612316A1 (fr) | Carte a circuits integres ayant une capacite de verification d'erreur interne | |
| FR2491654A1 (fr) | Appareil de commande par microprogramme | |
| FR2526560A1 (fr) | Dispositif pour la protection contre une lecture non autorisee de mots de programme a memoriser dans une memoire, et unite de memoire comportant ladite memoire | |
| FR2488031A1 (fr) | Appareil de reproduction d'un support d'enregistrement rotatif a recherche automatique de parties d'enregistrement a reproduire | |
| FR2585859A1 (fr) | Unite de commande d'operations de masques vectoriels. | |
| FR2594996A1 (fr) | Procede et dispositif pour l'enregistrement et la lecture d'information codee numerique au choix protegee ou non protegee par un code de correction d'erreurs | |
| FR2713368A1 (fr) | Procédure et procédé de communication entre machines et procédé généralisé de préparation de programmes afférents. | |
| BE897587A (fr) | Circuit parallele de controle de redondance cyclique | |
| FR2472232A1 (fr) | Dispositif et procede d'effacement d'antememoire | |
| FR2637708A1 (fr) | Dispositif pour le traitement de donnees | |
| EP0520579B1 (fr) | Dispositif de traitement de l'information plus particulièrement adapté à un langage chaíné, du type FORTH notamment | |
| FR2483656A1 (fr) | Ordinateur comportant des circuits de manipulation de bits | |
| EP0112427B1 (fr) | Dispositif de commande logique programmable | |
| FR2475763A1 (fr) | Processeur numerique a structure pipeline | |
| FR2545244A1 (fr) | Unite de memoire comprenant une memoire et un dispositif de protection | |
| EP3284206A1 (fr) | Procédé de sécurisation de l' exécution d'un programme |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ST | Notification of lapse |