FR2666160A2 - Device for anticipating the requirements of a decoding module and organisation of the files and programs with a view to this anticipation - Google Patents

Device for anticipating the requirements of a decoding module and organisation of the files and programs with a view to this anticipation Download PDF

Info

Publication number
FR2666160A2
FR2666160A2 FR9010536A FR9010536A FR2666160A2 FR 2666160 A2 FR2666160 A2 FR 2666160A2 FR 9010536 A FR9010536 A FR 9010536A FR 9010536 A FR9010536 A FR 9010536A FR 2666160 A2 FR2666160 A2 FR 2666160A2
Authority
FR
France
Prior art keywords
block
address
addresses
init
circuit
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
Application number
FR9010536A
Other languages
French (fr)
Other versions
FR2666160B2 (en
Inventor
Vernois Goulven Jean Alain
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR9010536A priority Critical patent/FR2666160B2/en
Publication of FR2666160A2 publication Critical patent/FR2666160A2/en
Application granted granted Critical
Publication of FR2666160B2 publication Critical patent/FR2666160B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography

Abstract

A coded file or program is cut up into blocks BLOC i with address Mci. At the head of each block are written the addresses Mc(i+1) of the other blocks called by this block BLOC i and the addresses App1 of this block BLOC i where these addresses Mc(i+1) are situated. Circuits mPi of the module M, transferring and decoding the blocks from the central memory, use these addresses, as from the start of the transfer, in order immediately to call the various blocks possibly callable by the main microprocessor mP2 of the module, in such a way that this mP2 finds the block it requires, decoded in the module.

Description

On a décrit dans le brevet français N0 89 381 et dans le certificat d'addition N0 89 125 un dispositif de transfert décodage perfectionné appelé module M @ permettant à un microprocesseur mP2 de traiter un programme codé sans que l ' utilisateur ait connaissance du programme décodé
Ce dispositif est caractérisé par la présence de circuits spécialisés mP3 travaillant en parallèle , transferrant et décodant un fichier codé situé en mémoire centrale M.C de l'ordinateur
Ces circuits spécialisés mP3 travaillant en parallèle sont sous le contrôle du microprocesseur principal mP2 du module qui charge en une RAM INIT du module, accessible aux mP3, les adresses des blocs à décoder, et les adresses où stocker en Ram
RAMCHAR du module les blocs décodés, le décodage étant fait à l'aide de blocs de cécodage B1 et B2 siutés en des RAM RAMCODE.
We have described in French patent N0 89,381 and in addition certificate N0 89,125 an improved decoding transfer device called module M @ allowing an mP2 microprocessor to process an encoded program without the user having knowledge of the decoded program
This device is characterized by the presence of specialized circuits mP3 working in parallel, transferring and decoding an encoded file located in central memory MC of the computer
These specialized circuits mP3 working in parallel are under the control of the main microprocessor mP2 of the module which loads into a RAM INIT of the module, accessible to mP3, the addresses of the blocks to be decoded, and the addresses where to store in Ram
RAMCHAR of the module decoded blocks, the decoding being done using cecoding blocks B1 and B2 siutes in RAM RAMCODE.

Des RAM tempons RAMTEMP permettent de stocker dans le module des blocs codés
Des circuits MUXi permettent 1' indépendance des différentes liaisons . et en particulier un multiplexeur MUXI contrôle les entrées et les sorties du module . FIGURE 1
Les exemples prenaient en compte des blocs codés de 2**8= 256 octets et le microprocesseur Z80 trailant les données sur 1 octet et les adresses sur 2 octets, ces valeurs n'étant pas limitatives de l'invention.
RAMTEMP tempons RAM allow coded blocks to be stored in the module
MUXi circuits allow the independence of the different links. and in particular a MUXI multiplexer controls the inputs and outputs of the module. FIGURE 1
The examples took into account coded blocks of 2 ** 8 = 256 bytes and the Z80 microprocessor tracking data on 1 byte and addresses on 2 bytes, these values not being limiting of the invention.

Dans ces circonstances , la partie basse de 1 'adresse d ' un octet décodé est la même que celle du programme clair , et fixée par le programmeur , mais la partie haute est celle du bloc . et donc différente car liée à l ' organisation du module
L'appel des blocs codés successivement transferrés et décodés, est déterminé par une instruction de saut lue normalement par le microprocesseur principal mP2 du module.
Under these circumstances, the lower part of the address of a decoded byte is the same as that of the clear program, and fixed by the programmer, but the upper part is that of the block. and therefore different because linked to the organization of the module
The call of the successively transferred and decoded coded blocks is determined by a jump instruction normally read by the main microprocessor mP2 of the module.

Un inconvenient de ce dispositif est que mP2 doit d'abord attendre le transfert décodage du bloc codé, ou éventuellement de la partie utile de ce bloc , et effectuer les opérations qu ' il y trouve, avant de lire l'instruction de saut et l'adresse d'arrivée lui permettant d'appeler un nouveau bloc. A drawback of this device is that mP2 must first wait for the decoding transfer of the coded block, or possibly of the useful part of this block, and carry out the operations which it finds there, before reading the jump instruction and the 'arrival address allowing him to call a new block.

Le but de la présente invention est d'anticiper les besoins de mP2 pour qu'il trouve en RAM du module le programme décodé dont il a besoin
Lorsque mP2 gère seul les mP3 il appelle au fur et à mesure de ses besoins les blocs à décoder par leurs adresses hautes et ensuite trouve l'adresse basse d'arrivée dans les
RAMCHAR dans lesquelles il a fait charger par les mP3 les blocs décodés
Dans le dispositif perfectionné suivant l'invention, mP2 ne s'occupe plus de la gestion du module, mais il est nécessaire qu ' il puisse trouver en RAMCHAR les éléments de fichier dont il a besoin et qu'il ne connait que par les adresses de sauts en mémoire centrale, qu'il trouve dans le fichier décodé au fur et à mesure de son travail.
The purpose of the present invention is to anticipate the needs of mP2 so that it finds in the module's RAM the decoded program it needs.
When mP2 manages the mP3 on its own, it calls the blocks to be decoded as and when required by their high addresses and then finds the incoming low address in the
RAMCHAR in which he had the decoded blocks loaded by the mP3s
In the improved device according to the invention, mP2 no longer takes care of the management of the module, but it is necessary that it can find in RAMCHAR the file elements which it needs and which it knows only by the addresses jumps in main memory, which he finds in the decoded file as he works.

Le but de la présente invention est atteint
1 En anticipant les besoins de mP2 par le transfert le décodage et le chargement en RAM du Module des blocs potentiellement appelables par mP2
2 En permettant à mP2 d'arriver sans recherche à 1' adresse voulue par le programme , bien que le bloc décodé soit en RAM du Module
3 En optimisant la gestion du module de façon à ce que cette anticipation soit économiquement réalisable
Dans cette nouvelle disposition , suivant 1 'invention mP2 ne charge pas lui même , en général , les informations en INIT
Les INIT sont confondus avec ou associées à une table d'affectation des RAM du module ou TAR , contenue dans la RAM
RAMTAR
Le transfert des blocs codés de la mémoire centrale vers les
RAMTEMP est assuré , suivant l'invention par un ou préférentiellement des circuits spécialisés mP6
La FIGURE 2 montre une disposition générale du module
Des circuits MUXi permettent les liaisons des différents composants sous le contrôle des différents circuits spécialisés mPi pour assurer les différentes fonctions suivant les règles de l'art
L'anticipation est réalisée
1.1 En mettant , suivant l'invention, au début de chaque bloc codé des informations d anticipation IA permettant l ' appel anticipé des blocs , ou parties utiles des blocs appelés par ce bloc , ou en recherchant , dès le décodage d ' un bloc , ces informations .FIGURE 3
Les informations d'anticipation placées en début de bloc sont de deux sortes
Celles qui peuvent être connues de 1' utilisateur par la simple observation des adressages en mémoire centrale se faisant à partir du bloc appelant elles peuvent être en clair
Celles qui ne peuvent être connues de cette façon si elles sont en clair , elles permettent une analyse du programme qui peut être préjudiciable ; elles seront préférentiellement codées suivant 1' invention , mais elles pourront être en clair si on accepte I ' analyse du programme qui peut en résulter
Les premières sont essentiellement
Les Les adresses hautes Mci des blocs Bloci appelés par le bloc appelant Bloc(i-1) , l'indice i n'indiquant que l'ordre logique d'intervention 1.1 . b Un signal , pouvant être un octet codé , séparant les données claires des données codées
Les secondes sont
Les adresses basses des arrivées dans ces blocs appelés -
1.1.d Les adresses appelantes App(i-1) du bloc appelant.
The object of the present invention is achieved
1 By anticipating the needs of mP2 by transferring the decoding and loading into RAM of the Module of the blocks potentially callable by mP2
2 By allowing mP2 to arrive without searching at the address desired by the program, although the decoded block is in RAM of the Module
3 By optimizing the management of the module so that this anticipation is economically feasible
In this new arrangement, according to the invention mP2 does not itself load, in general, the information in INIT
INITs are confused with or associated with a module RAM allocation table or TAR, contained in the RAM
RAMTAR
The transfer of coded blocks from the main memory to the
RAMTEMP is ensured, according to the invention by one or preferably specialized circuits mP6
FIGURE 2 shows a general layout of the module
MUXi circuits allow the connections of the different components under the control of the different specialized circuits mPi to ensure the different functions according to the rules of the art
Anticipation is realized
1.1 By putting, according to the invention, at the start of each coded block anticipation information IA allowing the early calling of the blocks, or useful parts of the blocks called by this block, or by searching, as soon as a block is decoded, this information .FIGURE 3
There are two types of anticipation information placed at the start of the block
Those which can be known to the user by the simple observation of the addresses in central memory being made from the calling block they can be in clear
Those which cannot be known in this way if they are clear, they allow an analysis of the program which can be prejudicial; they will preferably be coded according to the invention, but they may be in the clear if one accepts the analysis of the program which may result therefrom.
The former are essentially
The high addresses Mci of the Bloci blocks called by the block calling Block (i-1), the index i indicating only the logical order of intervention 1.1. b A signal, possibly a coded byte, separating clear data from coded data
The seconds are
The low addresses of arrivals in these blocks called -
1.1.d The App calling addresses (i-1) of the calling block.

1.1.e Les sauts internes dans ces blocs appelés. 1.1.e The internal jumps in these called blocks.

I.I.f Un signal , pouvant être un octet codé , séparant les informations d'anticipation des blocs appelés , des octets codés constituant le programme ou fichier destiné à mP2
Les adresses appelantes App(i-1) du bloc appelants contiennent les adresses Mci en mémoire centrale des blocs appelés.
IIf A signal, possibly a coded byte, separating the anticipation information from the blocks called, from the coded bytes constituting the program or file intended for mP2
The App calling addresses (i-1) of the calling block contain the Mci addresses in the main memory of the blocks called.

Leur connaissance est indispensable pour y remplacer cette daresse Mci en mémoire centrale par l'adresse Rci en mémoire
RAMCHAR du module où, sera placé ce bloc appelé lorsqu'il sera décodé.
Their knowledge is essential to replace this Daresse Mci in main memory with the address Rci in memory
RAMCHAR of the module where, this called block will be placed when it is decoded.

La connaissance de cette adresse appelante App(i-1) doit seulement être antérieure à sa lecture par mP2 pour pour que l'on puisse y charger l'adresse Rci, remplaçant l'adresse Mci, avant cette lecture. Knowledge of this calling address App (i-1) must only be prior to its reading by mP2 so that the address Rci, replacing the address Mci, can be loaded there before this reading.

Il est donc parfois suffisant que App(i-1) soit détecté au cours du décodage du bloc Bloc(i-1) par mP3. It is therefore sometimes sufficient for App (i-1) to be detected during the decoding of the Block block (i-1) by mP3.

Dans ces conditions, la sécurité est maximum; aucun octet codé ne peut être rattaché à une fonction particulière, et aucun octet clair ne peut servir à analyser le fichier programme. In these conditions, security is maximum; no coded byte can be attached to a particular function, and no clear byte can be used to analyze the program file.

1.2. L'antipation est également réalisée en chargeant les adresses des blocs appelés en INIT. 1.2. Antipointing is also carried out by loading the addresses of the blocks called in INIT.

La TAR, ou une partie de celle ci, est divisée en groupes d'octets INIT, destinés à recevoir les informations d'anticipation et de gestion des blocs codés appelés par un bloc appelant déja transferré . FIGURE 4 .  The TAR, or a part of it, is divided into groups of INIT bytes, intended to receive the anticipation and management information of the coded blocks called by a calling block already transferred. FIGURE 4.

Ces INIT sont chargés et/ou lus par mP6, mP3 et mP8 qui assurent la gestion de base de l'anticipation, et par mP10 qui améliore éventuellement cette gestion. These INITs are loaded and / or read by mP6, mP3 and mP8 which provide the basic management of anticipation, and by mP10 which possibly improves this management.

A chaque groupe INIT est associé, suivant l'invention, des paires de bits drapeaux a et b, placés, soit à l'exterieur de l'INIT dans un ou plusieurs octets, soit dans l'INIT. According to the invention, each INIT group is associated with pairs of flag bits a and b, placed either outside the INIT in one or more bytes, or in the INIT.

Ces bits drapeaux permettent de signaler à mP6 et mP3 l'état actif, 1 par exemple, ou inactif, 0 dans l'exemple, des
INIT correspondants; les bits a, ou du premier octet, pouvrant par exemple être relatifs à mP6, et les bits b, ou du second octet , relatifs à mP3 .
These flag bits are used to signal to mP6 and mP3 the active state, 1 for example, or inactive, 0 in the example,
INIT correspondents; bits a, or of the first byte, which can for example relate to mP6, and bits b, or of the second byte, relating to mP3.

L'etat est actif pour mP6 ou mP3 lorsqu'il y a des informations à lire pour l'un ou pour l'autre, et inactif dans le cas contraire. The state is active for mP6 or mP3 when there is information to read for one or the other, and inactive otherwise.

1.2.a Pour trasferrer de la mémoire centrale vers une
RAMTEMP un bloc codé, on utilise, suivant l'invention, un ou des circuits spécialisés mP6, qui, éventuellement sous le contrôle de mP2, mP3 ou mP9, par le biais d'adresses déposées en
INIT, gèrent le transfert des blocs codés de la mémoire centrale vers les RAMTEMP .
1.2.a To transfer from main memory to a
RAMTEMP a coded block, according to the invention, one or more specialized circuits mP6 are used, which, possibly under the control of mP2, mP3 or mP9, by means of addresses deposited in
INIT, manage the transfer of coded blocks from the main memory to the RAMTEMP.

Les circuits mP3 reprennent les blocs codés en RAMTEMP pour les décoder et les charger en RAMCHAR, ou les transferrent directement à partir de la mémoire centrale. The mP3 circuits take the blocks coded in RAMTEMP to decode them and load them in RAMCHAR, or transfer them directly from the main memory.

Ce circuit mP6, suivant l'invention, est susceptible de détecter l 'octet signal séparant les adresses claires des données codées
Les données claires sont chargées en TAR et les données codées en RAMTEMP .
This mP6 circuit, according to the invention, is capable of detecting the signal byte separating the clear addresses from the coded data.
Clear data is loaded in TAR and coded data in RAMTEMP.

L'adresse de la première donnée codée est chargée en INIT pour que ce soit éventuellement à la même adresse dans le bloc de décodage , que commence l ' utilisation de ce bloc de décodage -
Nous supposons d ' abord une situation élémentaire ou chaque bloc n ' appelle qu'il autre bloc et ou la gestion du module n'est pas optimisée .
The address of the first coded datum is loaded in INIT so that it is possibly at the same address in the decoding block that the use of this decoding block begins -
We first assume an elementary situation where each block calls only another block and or the management of the module is not optimized.

1.2.b Les blocs à décoder sont identifiés par leur adresse en mémoire centrale .  1.2.b The blocks to be decoded are identified by their address in central memory.

Le bloc BLOC i occupe 1 'adresse Mci en mémoire centrale
Ses adresses d'anticipation sont Mc(i+1) et Appi .
The BLOCK i block occupies the Mci address in main memory
Its anticipation addresses are Mc (i + 1) and Appi.

Les deux premiers octets de chaque INIT recoivent des informations d'anticipations relatives à un bloc BLOC i @ trouvées dans un bloc BLOC (i-1) précédemment transferré et éventuellement décodé
Ce sont l ' adresse Mci du bloc BLOC i , appelable en mémoire centrale par BLOC (i-1) et et l'adresse appelante App(i-l) contenant, dans BLOC (i-1), l'adresse Mci, cette adresse
App(i-1) étant connue soit directement comme Mci soit apres décodage du bloc .
The first two bytes of each INIT receive anticipation information relating to a BLOCK block i @ found in a BLOCK block (i-1) previously transferred and possibly decoded
These are the Mci address of the BLOCK i block, which can be called up in main memory by BLOCK (i-1) and the calling address App (il) containing, in BLOCK (i-1), the Mci address, this address
App (i-1) being known either directly as Mci or after decoding the block.

Les deux octets suivants recoivent 1' adresse Rti de la
RAMTEMP où mP6 doit charger le bloc codé BLOC i , et l'adresse Rci de la RAMCHAR où mP3 doit charger ce même BLOC i apres décodage .
The next two bytes receive the Rti address of the
RAMTEMP where mP6 must load the block BLOCK i, and the address Rci of RAMCHAR where mP3 must load this same BLOCK i after decoding.

1.2.c Il existe , suivant l'invention , des des adresses en
TAR que nous appelerons PilRt et PilRc où seront chargées les adresses disponibles Rti et Rci des RAMTEMP et RAMCHAR disponibles
Les adresses redevenues disponibles seront immédiatement chargées dans ces mémoires dans les quelles les circuits spécialisés du module trouveront les RAMTEMP et RAMCHAR à affecter à un bloc .
1.2.c According to the invention, there are addresses in
TAR which we will call PilRt and PilRc where will be loaded the available addresses Rti and Rci of the RAMTEMP and RAMCHAR available
The addresses that have become available again will be immediately loaded into these memories in which the specialized circuits of the module will find the RAMTEMP and RAMCHAR to be assigned to a block.

Les mP6 et mP3 fonctionnent , suivant l ' invention avec un cycle de recherche et un cycle de travail .  According to the invention, the mP6 and mP3 function with a research cycle and a work cycle.

Au cours du cycle de recherche ils explorent les bits drapeaux des INIT , et lorsqu ' ils ont trouvé des informations en
INIT , il effectuent le transfert et le décodage du bloc dont l'adresse a été trouvée en INIT
A la mise en route du module les INIT sont initialisés à a= et b= .
During the research cycle they explore the flag bits of the INITs, and when they have found information in
INIT, they transfer and decode the block whose address was found in INIT
When the module is started, the INITs are initialized to a = and b =.

Le microprocesseur principal mP2 du module appelle le bloc
BLOC 1 du fichier programme en plaçant dans 1' INIT 0 l ' adresse Mcl de ce BLOC 1 , et en activant cet INIT .
The main microprocessor mP2 of the module calls the block
BLOCK 1 of the program file by placing the Mcl address of this BLOCK 1 in INIT 0, and activating this INIT.

A partir de ce moment , 'anticipation est effectuée par mP6 et/ou mP3 , indépendamment de mP2 , par un processus d'auto alimentation -
1.3 La connaissance des instructions de saut et des adresses correspondantes et/ou des sauts internes dans le bloc en cours de décodage , peut , suivant 1 'invention être obtenue sans l ' utilisation d'adresses claires en début de bloc . FIGURE 5.
From this moment, anticipation is carried out by mP6 and / or mP3, independently of mP2, by a self-feeding process -
1.3 According to the invention, the knowledge of the jump instructions and of the corresponding addresses and / or of the internal jumps in the block during decoding can be obtained without the use of clear addresses at the start of the block. FIGURE 5.

Ceci est réalisé en détectant grace à un circuit spécialisé mP5 , les instructions de saut au cours de leur chargement par les mP3 dans les RAMCHAR , et en particulier à la sortie du multiplexeur MUX4 contrôlant l'acces au bus BUSCHAR alimentant les RAMCHAR
Le circuit de détection de saut mP5 est constitué d'un ensemble de circuits de comparaison et de transfert placés en dérivation sur le bus BUSMUX4 .
This is achieved by detecting, thanks to a specialized circuit mP5, the jump instructions during their loading by the mP3 in the RAMCHAR, and in particular at the output of the multiplexer MUX4 controlling access to the BUSCHAR bus supplying the RAMCHAR
The jump detection circuit mP5 consists of a set of comparison and transfer circuits placed in bypass on the BUSMUX4 bus.

Le circuit mP5 détecte une instruction de saut et lit 'adresse Mci en mémoire centrale , du bloc à décoder BLOC i pouvant être appelé par le bloc courant Bloc (i-I)
Il détecte également , sur le bus d'adresse , adresse basse appelante Rc(i-1)b, de la RAMCHAR courante Rc(i-1), où est chargée cette adresse appelée Mci.
The circuit mP5 detects a jump instruction and reads the address Mci in central memory, from the block to be decoded BLOCK i which can be called by the current block Block (iI)
It also detects, on the address bus, low calling address Rc (i-1) b, from the current RAMCHAR Rc (i-1), where this address called Mci is loaded.

Cette adresse en RAMCHAR est l'adresse appelante App(i-l) du bloc courant BLOC (i-1) en cours de décodage . This address in RAMCHAR is the calling address App (i-l) of the current block BLOCK (i-1) during decoding.

Cette adresse appelante App(i-l) est chargée en INIT à l'emplacement vu précédemment, de façon à pouvoir être chargée par un mP3, dans ce bloc BLOC (i-1), de l'adresse future en
RAMCHAR du bloc BLOC 1 appelé par l'adresse Mcl
Lorsque un mP3 disponible aura trouvé en INIT l'adresse Mcl du bloc BLOC 1 à décoder , il y trouvera également l'adresse appelante App(i-1) associée, du bloc BLOC (i-1) déja décodé, et siuté en RAMCHAR Rc(i-1), et l'adresse Rci de la RAMCHAR où charger le bloc BLOC i décodé.
This calling address App (il) is loaded in INIT at the location seen previously, so that it can be loaded by an mP3, in this BLOCK block (i-1), of the future address in
RAMCHAR of block BLOCK 1 called by address Mcl
When an available mP3 has found in INIT the address Mcl of the BLOCK 1 block to be decoded, it will also find there the associated calling address App (i-1), of the BLOCK block (i-1) already decoded, and located in RAMCHAR Rc (i-1), and the address Rci of the RAMCHAR where to load the block BLOCK i decoded.

Il chargera l ' adresse Rci de la RAMCHAR à 1' adresse appelante AFP(i-I) du bloc appelant BLOC (i-1), , mémorisée en INIT .  It will load the address Rci of the RAMCHAR at the calling address AFP (i-I) of the calling block BLOCK (i-1),, stored in INIT.

1.4 La connaissance des adresses App(i-1) contenant les adresses de saut Mci peut aussi être obtenue par voie purement logiciele grace à une instruction spéciale du fichier programme précédant le saut et lue par mP3 .  1.4 Knowledge of the App addresses (i-1) containing the Mci jump addresses can also be obtained purely by software by means of a special instruction from the program file preceding the jump and read by mP3.

2.1 Cycle de mP6-mP3 . FIGURES 6 et 7 . 2.1 mP6-mP3 cycle. FIGURES 6 and 7.

mP6 détecte un bit a à 1 correspondant à l ' INIT 1 où sont les données d'anticipation Mcl et éventuellement App de BLOC O
Chargement de Mcl , adresse du bloc BLOC 1 à transferrer dans un régistre A de mP6 .
mP6 detects a bit a to 1 corresponding to INIT 1 where are the anticipation data Mcl and possibly App of BLOCK O
Loading of Mcl, address of block BLOCK 1 to be transferred to an A register of mP6.

Chargement de l ' adresse Rtl dans un régistre B , à partir de
PilRt
Chargement de Rtl en INIT
Recherche et detection d ' un bit a à O indiquant que 1 'INIT 2 est libre pour recevoir les données d'anticipation de BLOC 1
Début du transfert du bloc BLOC 1
Chargement dans l'INIT 2 des adresses d'anticipation Mc2 et éventuellement Appl trouvées en tête de BLOC 1 .
Loading of the Rtl address in a register B, from
PilRt
Loading of Rtl in INIT
Search and detection of a bit a to O indicating that INIT 2 is free to receive anticipation data from BLOCK 1
Start of transfer of block BLOCK 1
Loading into INIT 2 of the Mc2 anticipation addresses and possibly Appl found at the head of BLOCK 1.

Détection de 1 'octet signal indiquant la fin des octets clairs. Detection of the signal byte indicating the end of the clear bytes.

Mise à 1 du bit a de l'INIT 2 pour rendre cet INIT actif pour mP6 .  Setting bit 1 of INIT 2 to make this INIT active for mP6.

Transfert des données codées du bloc Blocl dans la RAMTEMP Rtl
mP6 met à 1 le bit b de l 'INIT 1 pour rendre cet INIT actif pour mP3.
Transfer of coded data from the Blocl block to RAMTEMP Rtl
mP6 sets bit b of INIT 1 to 1 to make this INIT active for mP3.

Fin du transfert de BLOC 1 en RAMTEMP Rt1; mP6 débute un nouveau cycle de test .  End of the transfer from BLOCK 1 to RAMTEMP Rt1; mP6 begins a new test cycle.

Cycle de mP3 . FIGURE 7 . MP3 cycle. FIGURE 7.

mP3 détect le bit b mis à 1 par mP6 dans l'INIT 1. mP3 detects bit b set to 1 by mP6 in INIT 1.

Chargement dans un régistre de mP3 d'une adresse Rci de
RAMCHAR libre à partir de la mémoire PilRc.
Loading into an mP3 register of an Rci address of
RAMCHAR free from PilRc memory.

Chargement dans un second régistre de l'adresse Rt1 prise dans l'INIT 1
Chargement dans un troisiemme régistre de 1 'adresse appelante
App0.
Loading in a second register of the address Rt1 taken in INIT 1
Loading in a third register of the calling address
App0.

Transfert décodage de BLOC 1, de la RAMTEMP Rt1 à la RAMCHAR RcI -
Detection de l'adresse App0 contenant l'adresse Mci, et chargement de cette adresse App dans 1' INIT 1 si cette adresse n'est pas déja en INIT 1
Chargement de 1 'adresse Rcl à la place de Mcl dans l ' octet d'adresse App de BLOC 0 , bloc appelant BLOC 1 -
Remise de l'adresse Rtl, , devenue libre , sur PilRt .
Decoding transfer from BLOCK 1, from RAMTEMP Rt1 to RAMCHAR RcI -
Detection of the address App0 containing the Mci address, and loading of this App address in 1 'INIT 1 if this address is not already in INIT 1
Loading of the Rcl address instead of Mcl in the App address byte of BLOCK 0, block calling BLOCK 1 -
Delivery of the address Rtl, which has become free, on PilRt.

Fin du cycle de travail , début d ' un nouveau cycle de tests -
Le bloc décodé BLOC 1 est disponible pour un saut direct de mP2 à partir de l'adresse App0 de BLOC 0.
End of the work cycle, start of a new test cycle -
The decoded block BLOCK 1 is available for a direct jump to mP2 from the address App0 of BLOCK 0.

2.2 Lorsque les blocs codés ne transitent pas par les
RAMTEMP ce sont les mP3 qui gèrent le transfert décodage .
2.2 When the coded blocks do not pass through the
RAMTEMP it is the mP3 which manage the decoding transfer.

FIGURE 8.FIGURE 8.

Dans ce cas les mP3 recherchent le signal de fin des données anticipatives ; tant que ce signal n'a pas été détecté les octets sont chargés directement , ou apres décodage , en TAR . In this case the mP3s look for the end signal of the anticipatory data; as long as this signal has not been detected the bytes are loaded directly, or after decoding, in TAR.

Lorsque le signal est détecté le décodage du programme ou du fichier commence ; les octets décodés sont chargés en RAMCHAR et 1 'adresse Rcl de la RAMCHAR est placée à 1 'adresse App du bloc appelant BLOC 0, comme précédemment. When the signal is detected the decoding of the program or file begins; the decoded bytes are loaded in RAMCHAR and the address Rcl of RAMCHAR is placed at the address App of the block calling BLOCK 0, as before.

A la fin du cycle de mP3 le bloc décodé BLOC 1 est disponible pour un saut direct de mP2 à partir de l'adresse appelante App du bloc BLOC 0 .  At the end of the mP3 cycle, the decoded block BLOCK 1 is available for a direct jump from mP2 from the calling address App of block BLOCK 0.

2.3 Dans les solutions précédentes , on a remplacé dans le bloc appelant , grace au circuit mP3 . adresse haute des blocs appelés , correspondant à une adresse de bloc en mémoire centrale , par 1 'adresse haute en RAM du module où se trouvera effectivement le bloc décodé
Une autre solution , suivant 1 invention consiste à utiliser un ou préférentiellement des circuits programmables mP7 contrôlés par mP9 et situés en dérivation sur le bus BUSMODULE .
2.3 In the previous solutions, we replaced in the calling block, thanks to the mP3 circuit. high address of the blocks called, corresponding to a block address in central memory, by the high address in RAM of the module where the decoded block will actually be located
Another solution, according to 1 invention, consists in using one or preferably programmable circuits mP7 controlled by mP9 and located in bypass on the BUSMODULE bus.

FIGURE 9 .FIGURE 9.

Ces circuits permettent 1 'accès à un bus BUSRAM desservant les RAMCHAR à la place de BUSMODULE . These circuits allow access to a BUSRAM bus serving the RAMCHARs instead of BUSMODULE.

Ils font correspondre à 1 'adresse d'entrée Mci d ' un couple
Mci Rci , apparaissant sur BUSMODULE , une adresse de sortie Rci apparaissant sur BUSRAM.
They match a couple's Mci entry address
Mci Rci, appearing on BUSMODULE, an Rci output address appearing on BUSRAM.

De cette façon, lorsque mP2 lance une instruction de saut en mémoire centrale sur BUSMODULE , elle aboutit à 1 'adresse RAMCHAR correspondante
Mais il ne s'agit pas d'une simple transformarion d'adresse
Il faut d ' abord s ' assurer que 1 adresse apparaissant à l ' entrée appartient bien à un couple Mci Rci existant en INIT -
Ce résultat est obtenu en comparant dans un circuit de comparaison les valeurs émises par mP2 apparaissant sur les lignes d'adresses aux valeurs Mci chargées par mP9 dans le circuit de comparaison. FIGURE 10.
In this way, when mP2 launches a jump instruction in central memory on BUSMODULE, it results in the corresponding RAMCHAR address
But it is not a simple address transformation
We must first make sure that 1 address appearing at the entrance belongs to a Mci Rci couple existing in INIT -
This result is obtained by comparing in a comparison circuit the values emitted by mP2 appearing on the address lines with the values Mci loaded by mP9 in the comparison circuit. FIGURE 10.

Chaque fois qu ' un bit est identique , le circuit de comparaison donne une valeur résultante active
Si toutes les résultantes sont actives le circuit laisse passer 1' adresse Mci
Cette adresse est remplacée par 1 'adresse Rci qui apparait sur les lignes d'adresses de BUSRAM
Si une résultante au moins est négative le circuit ne transmet pas l'adresse.
Whenever a bit is identical, the comparison circuit gives an active resultant value
If all the resultants are active the circuit lets pass the Mci address
This address is replaced by the Rci address which appears on the BUSRAM address lines
If at least one result is negative the circuit does not transmit the address.

Lorsque un circuit de comparaison mP7 est activé c'est à dire si 1 'adresse demandée Mci par mP2 a été remplacée par Rci mP9 charge un nouveau couple Mci Rci dans le circuit mP7 libéré .  When a comparison circuit mP7 is activated, ie if the address requested Mci by mP2 has been replaced by Rci mP9 loads a new Mci Rci pair in the released circuit mP7.

Si le couple d'adresses ainsi éliminé correspond à un choix unique entre plusieurs couples, et si ces couples se trouvaient placés sur d'autres circuits de comparaison transformation, ces couples devenus inutiles, sont remplacés par d'autres couples pris en TAR de façon à ce que les circuits de comparaison transformation soient toujours chargés de couples d adresses Mci
Rci potentiellement utilisables par mP2 .
If the couple of addresses thus eliminated corresponds to a single choice between several couples, and if these couples were placed on other transformation comparison circuits, these couples become useless, are replaced by other couples taken in ART the transformation comparison circuits are always loaded with pairs of Mci addresses
Rci potentially usable by mP2.

De même , si aucun des couples d'adresses prédisposés dans les circuits de comparaison/transformation n'est l'adresse demandée par mP2, c'est à dire si tous les circuits sont inactifs
mP9 charge de nouvelles adresses en ces circuits jusqu ' à ce que la bonne adresse soit trouvée .
Similarly, if none of the pairs of addresses predisposed in the comparison / transformation circuits is the address requested by mP2, that is to say if all the circuits are inactive
mP9 loads new addresses into these circuits until the correct address is found.

Il est possible de disposer , suivant 1 'invention les cases mémoires de la TAR en autant de groupes qu ' il y a de circuits de comparaison
Chaque circuit de comparaison agit individuellement avec son propre circuit de transfert mP7 et sa propre réserve d'adresses en
TAR -
3 L'optimisation de la gestion du module est constituée
suivant l ' invention , de la gestion des filiations de blocs et de la sélection des parties utiles de ces blocs .
According to the invention, it is possible to arrange the memory boxes of the TAR in as many groups as there are comparison circuits.
Each comparison circuit acts individually with its own mP7 transfer circuit and its own address reserve in
TAR -
3 The optimization of module management is made up
according to the invention, the management of the filiations of blocks and the selection of the useful parts of these blocks.

3.1 Gestion des filiations des blocs . 3.1 Block parentage management.

Un bloc peut appeler plusieurs blocs fils et ces différents blocs fils seront des blocs frères . FIGURE 11 .  A block can call several child blocks and these different child blocks will be sister blocks. FIGURE 11.

Le choix d ' un des blocs fils par mP2 élimine , suivant 'invention , le le bloc père et les blocs frères et neveux devenus inutiles
L ' élimination d ' un bloc se fait par la mise à 0 des bits a et b de l'INIT correspondant et la remise des adresses Rti et Rci dans PilRt et PilRc .
The choice of one of the child blocks by mP2 eliminates, according to the invention, the father block and the brother and nephew blocks which have become unnecessary
The elimination of a block is done by setting the bits a and b of the corresponding INIT to 0 and the delivery of the addresses Rti and Rci in PilRt and PilRc.

La connaissance de l'adresse du premier bloc fils , ou fils ainé c'est à dire de celui par exemple dont l'adresse est la plus faible , et la connaissance chez ce fils de 1 adresse du frère immédiatement plus jeune c'est à dire dont l'adresse est immédiatement plus grande, et l'adresse chez un frère du frère plus jeune, permet un chaînage de tous les blocs issus d'un bloc donné , si pour boucler le chaînage le plus jeune connait l'adresse de l'ainé. Knowledge of the address of the first son block, or eldest son, that is to say of the one whose address is the weakest, for example, and knowledge of the address of the immediately younger brother in this son is at say whose address is immediately larger, and the address with a brother of the younger brother, allows chaining of all blocks from a given block, if to complete the chaining the youngest knows the address of l 'elder.

Pour parvenir à ce résultat, on dispose, suivant l'invention, dans chaque INIT, de mémoires supplémentaires, préférentiellement trois octets dans lesquels seront chargées 'adresse du père , l ' 1' adresse du premier fils et l'adresse d ' un éventuel frère ou plus particulièrement les adresses des INIT où sont chargés les informations d anticipation des blocs pères fils et frères chaque bloc ayant nécessairement un bloc père un bloc fils , mais pas nécessairement un bloc frère . FIGURES 12
13 et 14 .
To achieve this result, according to the invention, in each INIT, additional memories are available, preferably three bytes in which the address of the father, the address of the first son and the address of a possible child will be loaded. brother or more particularly the addresses of the INITs where the anticipation information for the father and son blocks is loaded, each block necessarily having a father block a son block, but not necessarily a brother block. FIGURES 12
13 and 14.

Les INIT , suivant l'invention sont préférentiellement numérotés de 0 à n. The INITs according to the invention are preferably numbered from 0 to n.

Un octet de chaînage peut chaîner 256 INIT successifs; ceci peut être souvent exessif .  A chaining byte can chain successive 256 INITs; this can often be excessive.

En choisissant, suivant l'invention, un nombre d'INIT inférieur à 256, on peut disposer dans chaque octet d'un ou plusieurs bits d informations supplémentaires ; 128 INIT occupant 7 bits de l'octet, et 64 INIT 6 bits par exemple. By choosing, according to the invention, an INIT number less than 256, it is possible to have in each byte one or more bits of additional information; 128 INIT occupying 7 bits of the byte, and 64 INIT 6 bits for example.

On dispose alors de plusieurs bitzs, correspondant à plusieurs informations supplémentaires , dont l'un peut être suivant l'invention un bit de sécurité s interdisant d'éliminer 'INIT ses fils et ses neveux , si cette INIT est demandé par ailleurs dans une autre filiation ou si le saut correspond à 'appel d ' un sous programme , et les autres , les bits a et b d'activation des INIT vus plus haut
Les cycles des mP6 et mP3 en cas d'adresses Mci multiples sont illustrés par les FIGURES 12 et 13.
We then have several bitzs, corresponding to several additional pieces of information, one of which may be according to the invention a security bit s prohibiting the elimination of 'INIT his sons and nephews, if this INIT is requested elsewhere in another parentage or if the jump corresponds to a call to a subroutine, and the others, the bits a and b for activating the INITs seen above
The cycles of mP6 and mP3 in the case of multiple Mci addresses are illustrated in FIGURES 12 and 13.

Dans la figure 12 mp6 recherche les INIT dont les bits a sont à O et dans la figure 13 les INIT dont les bits a sont à 1. In Figure 12 mp6 searches for INITs with bits a at 0 and in Figure 13 for INITs with bits a at 1.

3.2 La connaissance du bloc fils choisi par mP2, dans le cas de plusieurs sauts possibles, ne peut avoir lieu, qu'au moment même du saut par mP2 dans un nouveau bloc , 'est à dire dans une nouvelle RAMCHAR . 3.2 The knowledge of the child block chosen by mP2, in the case of several possible jumps, cannot take place, that at the very moment of the jump by mP2 in a new block, 'is to say in a new RAMCHAR.

Pour détecter ce changement de RANCHAR, on dispose, suivant 'invention, un circuit spécialisé mP8 sur le bus d'adresse de
BUSMODULE et plus particulièrement sur les voies contrôlant l'adressage des RAMCHAR. FIGURE 9.
To detect this change in RANCHAR, there is, according to the invention, a specialized circuit mP8 on the address bus of
BUSMODULE and more particularly on the channels controlling the addressing of RAMCHARs. FIGURE 9.

Ce circuit détecte les modifications d'adresses correspondant à l'adressage d'une RAMCHAR différente de la RANCHAR courante, c'est à dire correspondant à la sortie de cette RAMCHAR vers une autre RAMCHAR .  This circuit detects address changes corresponding to the addressing of a RAMCHAR different from the current RANCHAR, that is to say corresponding to the output of this RAMCHAR to another RAMCHAR.

Il cherche 1 'INIT dans laquelle se trouve l ' adresse Rci de la nouvelle RAMCHAR et grace au chaînage qu'il trouve dans cet INIT il met à 0 les bits a et b des INIT frères et neveux éliminés par le choix de mP2 , à moins qu'il ne trouve le bit s de sécurité actif
Il cherche ensuite l ' INIT dans laquelle se trouve 1 adresse
Rc(i-1) de la RAMCHAR que mP2 vient de quitter et met ses bits a et b à 0 .
It searches for the INIT in which the Rci address of the new RAMCHAR is located and thanks to the chaining it finds in this INIT it sets to 0 the bits a and b of INIT brothers and nephews eliminated by the choice of mP2, at unless it finds the active security bit s
It then searches for the INIT in which there is 1 address
Rc (i-1) of RAMCHAR that mP2 has just left and sets its bits a and b to 0.

Cette recherche de 1' INIT est facilitée par une table de correspondance Rci-INIT ordonnée par rapport aux Rci et dans laquelle sont chargées , en regard des Rci , les adresses des INIT contenant ces Rci .  This search for the INIT is facilitated by an Rci-INIT correspondence table ordered with respect to the Rci and in which are loaded, opposite the Rci, the addresses of the INIT containing these Rci.

Le circuit mP8 charge également en PilRt et PilRc les adresses Rti et Rci trouvées dans ces INIT , ainsi que 1' adresse
Rci de la RAMCHAR quittée devenues réutilisables ..
The mP8 circuit also loads the Rti and Rci addresses found in these INITs into PilRt and PilRc, as well as the address
Rci of the RAMCHAR left become reusable.

La mise à O des bits a et b est réalisée suivant le cycle de travail de mP8 illustré FIGURE 14 .  The setting of bits a and b is carried out according to the work cycle of mP8 illustrated in FIGURE 14.

3.2.a Une autre solution , suivant l'invention pour signaler le saut de mP2 hors du bloc décodé courant et donc hors de la RAMCHAR courante consiste à mettre dans le fichier programme destiné à mP2 , avant 1 'instruction de saut , une instruction de chargement en RAMTAR de l'adresse de saut
Avant de quitter la RAMCHAR courante , mP2 charge cette adresse de saut à une adresse prédéterminée de la TAR et met à une valeur active un bit signalant à mP9 , mP6 ou mP3 que la RAMCHAR courante a été abandonnée et que 1 'adresse de la nouvelle RAMCHAR a été déposée à l' adresse prédéterminée .
3.2.a Another solution, according to the invention for signaling the jump of mP2 out of the current decoded block and therefore out of the current RAMCHAR consists in putting in the program file intended for mP2, before the jump instruction, an instruction of loading in RAMTAR of the jump address
Before leaving the current RAMCHAR, mP2 loads this jump address at a predetermined address of the TAR and sets to active value a bit signaling to mP9, mP6 or mP3 that the current RAMCHAR has been abandoned and that the address of the new RAMCHAR has been delivered to the predetermined address.

3.3 L ' optimisation de la gestion du module est obtenue également en éliminant les sauts impossibles .  3.3 Optimization of module management is also obtained by eliminating impossible jumps.

Les octets potentiellement utiles à mP2 sont compris dans le bloc décodé , entre deux adresses extrêmes . The bytes potentially useful to mP2 are included in the decoded block, between two extreme addresses.

La première adresse peut être 1 adresse d arrivée dans ce bloc, et la dernière, l'adresse de sortie. The first address can be 1 arrival address in this block, and the last, the exit address.

Mais, s'il existe des sauts internes, la première adresse peut être plus petite, et la dernière, plus grande. But, if there are internal jumps, the first address can be smaller, and the last, larger.

3.3.a Elimination des sauts impossibles . 3.3.a Elimination of impossible jumps.

L'élimination des adresses de blocs ne pouvant pas être appelées par mP2 compte tenu de leurs positions relatives pr rapport à l'adresse d'entrée dans le bloc, aux sauts impèratifs et aux sauts internes dans le bloc, est importante pour une bonne gestion de la mémoire du module . The elimination of block addresses that cannot be called by mP2, given their relative positions relative to the entry address in the block, the imperative jumps and the internal jumps in the block, is important for good management. module memory.

On donne un exemple figure 15 où l ' on voit que si l ' entrée dans le bloc se fait en A , toutes les adresses de sorties B , C et D ne sont pas également probables ou possibles .  An example is given in FIG. 15 where it can be seen that if the entry into the block takes place at A, all the addresses of outputs B, C and D are not equally probable or possible.

S'il n , y a pas de saut interne partant apres A et arrivant avant B , B peut être éliminé . If there is no internal jump starting after A and arriving before B, B can be eliminated.

Si C est un saut impératif et s ' il n'y a pas de saut interne partant entre A et C et aboutissant entre C et D D peut être éliminé
La recherche des adresses appelées utilisables est réalisée suivant l'invention par le circuit mPl qui teste les différentes possibilités de saut hors du bloc . FIGURE 9 .
If C is an imperative jump and if there is no internal jump starting between A and C and ending between C and DD can be eliminated
The search for usable called addresses is carried out according to the invention by the circuit mPl which tests the different possibilities of jumping out of the block. FIGURE 9.

Deux cas peuvent se présenter suivant le type de codage du bloc
3.3.al Les bits de chaque octets du fichier programme sont dispersés dans la totalité du bloc .
Two cases may arise depending on the type of block coding
3.3.al The bits of each byte of the program file are dispersed throughout the block.

Il est alors nécessaire de décoder le bloc entier . It is then necessary to decode the entire block.

Dans le cas général , il y a plusieurs blocs appelés possibles il y aura plusieurs adresses appelantes App(i-1) et plusieurs adresses appelées Mci . In the general case, there are several possible called blocks there will be several App calling addresses (i-1) and several addresses called Mci.

Le circuit mP6 charge chacune des paires d adresses Mci
App(i-1) dans un INIT différent .
The mP6 circuit loads each of the pairs of Mci addresses
App (i-1) in a different INIT.

Il y aura également des sauts internes . There will also be internal jumps.

Les informations d'anticipation sont plus nombreuses et augmentent la taille nécessaire des INIT .  The anticipation information is more numerous and increases the necessary size of the INITs.

On dispose en RAMTAR , suivant l ' invention pour conserver une petite taille aux INIT , d ' une mémoire tempon de plus grande taille dans laquelle seront chargées initialement par mP6 les données d'anticipation. In RAMTAR, according to the invention, in order to keep a small size at the INITs, a larger size memory in which will be loaded initially by mP6 the anticipation data.

Ces données seront analysées par mPl qui en sortira les couples d'adresses appelantes appelées App(i-1) Mci et les adresses initiales I et finales F de la partie du bloc à conserver
et les chargera en INIT . FIGURE 16 .
These data will be analyzed by mPl which will output the pairs of calling addresses called App (i-1) Mci and the initial I and final addresses F of the part of the block to be kept.
and will load them in INIT. FIGURE 16.

3 .3 . a2 Le codage est effectué octet par octet , chaque octet restant à sa place dans le bloc .  3 .3. a2 Coding is performed byte by byte, each byte remaining in its place in the block.

On peut alors ne décoder que la partie utile du bloc .  We can then decode only the useful part of the block.

On peut également ne transferrer que la partie utile du bloc. You can also transfer only the useful part of the block.

Ceci suppose que mP6 transfert d abord les informations d'anticipation en RAMTEMP , et que mP3 en décode éventuellement la partie codée .  This supposes that mP6 first transfers the anticipation information to RAMTEMP, and that mP3 eventually decodes the coded part.

Ou encore que mP3 transferre et éventuellement décode d abord les informations d anticipation seules , , à partir de la mémoire centrale .  Or that mP3 transfers and eventually decodes the anticipation information alone,, from the main memory.

Il les charge dans le tempon de la TAR et mPl en fait 'analyse ; les adresses extrêmes et les couples d adresses appelantes appelées sont placés en INIT et mP3 effectue le seul transfert décodage de la partie utile .  It loads them into the TAR tempon and mPl analyzes them; the extreme addresses and the pairs of called calling addresses are placed in INIT and mP3 performs the only decoding transfer of the useful part.

Les parties utiles sont le plus souvent plus petites que le bloc entier . The useful parts are most often smaller than the entire block.

On peut donc disposer , , suivant 1 'invention de mémoires
RAMCHAR de tailles plus faibles que la taille d'un bloc codé , par exemple la moitié ou le quart de cette taille .
It is therefore possible, according to the invention to have memories
RAMCHAR sizes smaller than the size of a coded block, for example half or a quarter of this size.

On peut aussi disposer une ou préférentiellement deux RAM appelées RAM d'optimisation RAMOPT , mP10, de taille plus grande qu'un bloc , mP10 et où les parties utiles seront disposées séquentiellement ou en désordre au gré des places vacantes .  One can also have one or preferably two RAMs called RAMOPT optimization RAM, mP10, larger than a block, mP10 and where the useful parts will be arranged sequentially or in disorder according to the vacant places.

3.4 Transfert des parties utiles . 3.4 Transfer of useful parts.

Lorsque le décodage du bloc entier est rendu nécessaire par le type de codage employé , le transfert des parties utiles est effectué par le circuit mPl, des RAMCHAR vers RAMOPT . When the decoding of the whole block is made necessary by the type of coding used, the transfer of the useful parts is carried out by the circuit mPl, from RAMCHAR to RAMOPT.

Cette RAMOPT sera préferentiellement double l'autre pour permettre à mPl d'écrire dans l'une , etet à mP2 de lire dans l ' astre l'autre.  This RAMOPT will preferably be double the other to allow mPl to write in one, andet mP2 to read in the star the other.

Claims (12)

RevendicationsClaims 1 Dispositif selon la revendication 1 du brevet principal caractérisé en ce que des données d'anticipation sont mises au début de chaque bloc de fichier programme codé , et en ce que un signal les sépare du fichier programme codé . 1 Device according to claim 1 of the main patent characterized in that anticipation data are put at the start of each block of coded program file, and in that a signal separates them from the coded program file. 2 Dispositif selon 1 caractérisé en ce que les données d anticipation sont , les adresses Mci en mémoire centrale des blocs appelés, , les adresses appelantes App(i-1) , les sauts internes dans le bloc appelant .  2 Device according to 1, characterized in that the anticipation data are, the Mci addresses in the central memory of the blocks called,, the calling addresses App (i-1), the internal jumps in the calling block. 3 Dispositif selon 1 caractérisé en ce que existe dans le module M un (ou des) circuit mP6 chargé de transferrer , à partir de la mémoire centrale vers des mémoires RAMTEMP du module , les blocs du fichier programme , et en ce que ce circuit transfert d ' abord le contenu des blocs à décoder en des mémoires INIT du module , et ensuite , apres détection d ' un signal , en RAMTEMP - 3 Device according to 1 characterized in that there exists in module M one (or more) of the mP6 circuit responsible for transferring, from the central memory to the module's RAMTEMP memories, the blocks of the program file, and in that this transfer circuit first the content of the blocks to be decoded into INIT memories of the module, and then, after detection of a signal, in RAMTEMP - 4 Dispositif selon 1 et 3 caractérisé en ce que existe dans chaque INIT , ou en liaison avec chaque INIT , des bits a , b et s qui peuvent être actifs ou inactif4, et en ce que le bit a est activé lorsque un certain circuit doit y lire des données que le bit b est activé lorsque un autre circuit doit y lire des données et que le bit s est activé pour interdire la désactivation des bits a et b .  4 Device according to 1 and 3 characterized in that there exist in each INIT, or in connection with each INIT, bits a, b and s which can be active or inactive4, and in that the bit a is activated when a certain circuit must read data there that bit b is activated when another circuit must read data there and that bit s is activated to prohibit the deactivation of bits a and b. 5 Dispositif selon 1 caractérisé en ce que les données d'anticipation contenues dans un INIT sont : l ' adresse Mci d ' un bloc à appeler , I ' adresse l'adresse App(i-1) contenant cette adresse Mci 'adresse Rti de la RAMTEMP où doit être transferré le bloc codé l ' adresse Rci de la RAMCHAR où va être transferré le bloc décodé 'adresse de chaînage d ' un bloc frère , 'adresse de chaînage d ' un bloc fils , l'adresse de chainage du bloc père , les adresses extrèmes de la partie utile du bloc 1 'adresse du premier octet de décodage utilisé pour le décodage de la partie codée .  5 Device according to 1 characterized in that the anticipation data contained in an INIT are: the Mci address of a block to be called, I 'the App address (i-1) containing this Mci address' Rti address of RAMTEMP where the coded block must be transferred the Rci address of the RAMCHAR where the decoded block will be transferred 'chaining address of a brother block,' chaining address of a son block, the chaining address of the block father, the extreme addresses of the useful part of the block the address of the first decoding byte used for decoding the coded part. 6 Dispositif selon 1 caractérisé en ce que il existe dans le module M des mémoires PilRt et PilRc, dans lesquelles sont chargées les adresses des RAMTEMP et RAMCHAR libres .  6 Device according to 1 characterized in that there are in the module M memories PilRt and PilRc, in which the addresses of the free RAMTEMP and RAMCHAR are loaded. 7 Dispositif selon 1 caractérisé en ce que les circuits mP6 et mP3 au début de leur cycle de travail testent respectivement les bits a et b des INIT jusqu'à ce qu'ils en trouvent un à 1 et en ce qu ' ils exécutent ensuite leur cycle de travail à partir des données d'anticipation qu ' ils trouvent dans ces INIT.#  7 Device according to 1 characterized in that the circuits mP6 and mP3 at the start of their work cycle test the bits a and b of the INITs respectively until they find one to 1 and in that they then execute their work cycle from the anticipation data they find in these INITs. # 8 Dispositif selon 1 caractérisé en ce que le circuit mP6 8 Device according to 1 characterized in that the mP6 circuit lorsqu ' il trouve plusieurs adresses Mci de blocs appelés @ en tête d ' un bloc appelant , charge chacune de ces adresses Mci dans un INIT différent et chaîne les différents blocs à partir des adresses des différents INIT .  when it finds several Mci addresses of blocks called @ at the head of a calling block, loads each of these Mci addresses in a different INIT and chains the different blocks from the addresses of the different INITs. 9 Dispositif selon 1 et 3 caractérisé en ce que existe dans le module M une table de correspondance Rci-INIT actifs ordonnée suivant les Rci .  9 Device according to 1 and 3 characterized in that there exists in module M an Rci-INIT active correspondence table ordered according to the Rci. Dispositif selon 1 caractérisé en ce que un circuit mP8 surveille les adressages des RAMCHAR par mP2 , détecte l ' adressage d'une nouvelle RAMCHAR d'adresse Rci par mP2, recherche l'INIT dans la quelle se trouve cette Rci r et en ce que grace au chaînage qu'il trouve dans cet INIT , désactive les INIT contenant les adresses des blocs frères ou neveux du bloc d adresse Rci adressé par mP2 .  Device according to 1, characterized in that an mP8 circuit monitors the addressing of RAMCHARs by mP2, detects the addressing of a new RAMCHAR with address Rci by mP2, searches for the INIT in which this Rci r is located and that thanks to the chaining it finds in this INIT, deactivates the INITs containing the addresses of the sibling or nephew blocks of the Rci address block addressed by mP2. Il Dispositif selon 1 caractérisé en ce que un circuit spécialisé mP10 analyse les positions relatives , d ' arrivée dans le bloc, de sorties de bloc, de sauts internes, et détermine la, Device according to 1, characterized in that a specialized circuit mP10 analyzes the relative positions, arrival in the block, block outputs, internal jumps, and determines the, ou les parties utiles du bloc, et en ce que ce circuit charge les adresses extrêmes de ces parties utiles en INIT . or the useful parts of the block, and in that this circuit loads the extreme addresses of these useful parts in INIT. 12 Dispositif selon 1 caractérisé en ce que un circuit spécialisé mPS détecte apres leur décodage par mP3 les instructions de saut et charge en INIT les adresses qui les suivent  12 Device according to 1 characterized in that a specialized circuit mPS detects after their decoding by mP3 the jump instructions and loads in INIT the addresses which follow them 13 Dispositif selon 1 caractérisé en ce que un circuit mP7 isole le bus BUSMODULE d ' un bus BUSRAM reliant les multiplexeurs 13 Device according to 1 characterized in that an mP7 circuit isolates the BUSMODULE bus from a BUSRAM bus connecting the multiplexers MUX3i et en ce que , lorsque mP2 dépose à l'entrée de ce circuit d'adresse Mci d'un bloc BLOC i se trouvant dans la RAMCHAR d'adresse Rci, et appartenant à un couple d'adresses Mci Rci, il apparait à la sortie de ce circuit mP7 sur les lignes du busMUX3i and in that, when mP2 deposits at the input of this address circuit Mci a block BLOCK i located in the RAMCHAR of address Rci, and belonging to a couple of addresses Mci Rci, it appears at the output of this mP7 circuit on the bus lines BUSRAM, l'adresse Rci.BUSRAM, address Rci. 14 Dispositif selon 1 caractérisé en ce que existe dans le fichier programme des instructions lisibles par mP2 situées avant les instructions de saut hors des blocs, et provoquant l'écriture par mP2 des adresses de ces sauts, dans des mémoires prédéterminées du module , ainsi que l ' activation de bits drapeaux lisibles par certains des circuits mPi du module .  14 Device according to 1 characterized in that there exist in the program file instructions readable by mP2 located before the jump instructions outside the blocks, and causing the writing by mP2 of the addresses of these jumps, in predetermined memories of the module, as well as activation of flag bits readable by some of the module's mPi circuits.
FR9010536A 1990-08-21 1990-08-21 DEVICE FOR ANTICIPATING THE NEEDS OF A DECODING MODULE AND ORGANIZING FILES AND PROGRAMS WITH A VIEW TO THIS ANTICIPATION. Expired - Lifetime FR2666160B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9010536A FR2666160B2 (en) 1990-08-21 1990-08-21 DEVICE FOR ANTICIPATING THE NEEDS OF A DECODING MODULE AND ORGANIZING FILES AND PROGRAMS WITH A VIEW TO THIS ANTICIPATION.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9010536A FR2666160B2 (en) 1990-08-21 1990-08-21 DEVICE FOR ANTICIPATING THE NEEDS OF A DECODING MODULE AND ORGANIZING FILES AND PROGRAMS WITH A VIEW TO THIS ANTICIPATION.

Publications (2)

Publication Number Publication Date
FR2666160A2 true FR2666160A2 (en) 1992-02-28
FR2666160B2 FR2666160B2 (en) 1994-08-12

Family

ID=9399775

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9010536A Expired - Lifetime FR2666160B2 (en) 1990-08-21 1990-08-21 DEVICE FOR ANTICIPATING THE NEEDS OF A DECODING MODULE AND ORGANIZING FILES AND PROGRAMS WITH A VIEW TO THIS ANTICIPATION.

Country Status (1)

Country Link
FR (1) FR2666160B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319079A (en) * 1979-09-13 1982-03-09 Best Robert M Crypto microprocessor using block cipher
FR2529000A1 (en) * 1982-06-16 1983-12-23 Open Computer Services Ltd METHOD AND DEVICE FOR PROTECTING COMPUTER SOFTWARE

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319079A (en) * 1979-09-13 1982-03-09 Best Robert M Crypto microprocessor using block cipher
FR2529000A1 (en) * 1982-06-16 1983-12-23 Open Computer Services Ltd METHOD AND DEVICE FOR PROTECTING COMPUTER SOFTWARE

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 28, no. 8, janvier 1986, pages 3510-3511, New York, US; N.N.: "Prefetching using a pageable branch history table" *

Also Published As

Publication number Publication date
FR2666160B2 (en) 1994-08-12

Similar Documents

Publication Publication Date Title
FR2612313A1 (en) PROGRAMMABLE OPTION SELECTOR
FR2608807A1 (en) MULTIPROCESSOR SYSTEM AND LOAD BALANCING METHOD FOR SAID SYSTEM
EP0059018A1 (en) Multiprocessor with dynamic task assignment in multiprogramming mode and its use
FR2677146A1 (en) SYSTEM AND METHOD FOR MANAGING DATA MEMORY WITH ALLOCATION OF MEMORY SPACE ACCORDING TO REQUIRED CLASS OF SERVICES.
US8266343B2 (en) Systems and methods for automated sensor polling
CN103970788A (en) Webpage-crawling-based crawler technology
FR2472233A1 (en) MEMORY CONTROL DEVICE FOR DATA PROCESSING SYSTEM
FR2528195A1 (en) COMMUNICATION SYSTEM BETWEEN COMPUTERS
WO2001097026A1 (en) Modular computer system and related method
CN104077266B (en) Many kernel operating system implementation methods and realize apparatus and system
CH621201A5 (en)
FR2666160A2 (en) Device for anticipating the requirements of a decoding module and organisation of the files and programs with a view to this anticipation
US5659733A (en) Sort processing method and apparatus for sorting data blocks using work buffer merge data records while sequentially transferring data records from work buffers
EP1175122A1 (en) Memory management apparatus allowing the writing of data blocks by subsititution
FR2792745A1 (en) MODULAR INTERCONNECTION ARCHITECTURE FOR EXPANDABLE MULTIPROCESSOR MACHINE, IMPLEMENTING A MULTI-LEVEL VIRTUAL BUS HIERARCHY AND THE SAME BASE BRICK FOR ALL LEVELS
CN115114600A (en) Unified management and control method and system for internal equipment and external equipment
JP4343377B2 (en) Associative memory
Helman Sorting on clusters of SMPs
EP0112427B1 (en) Programmable logic controller
FR2587519A1 (en) Mode-changing arrangement making it possible to selectively change operating modes of a virtual machine system
CN110209489B (en) Memory management method and device suitable for memory page structure
FR2695227A1 (en) Interleaved transfer of data between computer memory and multiple peripherals - uses processor with interfaces to disc units and to computer to divide data into specified units for interleaved transfer
JP2001101029A (en) Method and device for recording system call information
FR2707778A1 (en) Processor node.
FR2610745A1 (en) Process priority control system