FR2644261A1 - Device for transfer, decoding and coding of computer files - Google Patents

Device for transfer, decoding and coding of computer files Download PDF

Info

Publication number
FR2644261A1
FR2644261A1 FR8903081A FR8903081A FR2644261A1 FR 2644261 A1 FR2644261 A1 FR 2644261A1 FR 8903081 A FR8903081 A FR 8903081A FR 8903081 A FR8903081 A FR 8903081A FR 2644261 A1 FR2644261 A1 FR 2644261A1
Authority
FR
France
Prior art keywords
bytes
decoding
block
module
coding
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
FR8903081A
Other languages
French (fr)
Other versions
FR2644261B1 (en
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 FR8903081A priority Critical patent/FR2644261B1/en
Priority to PCT/FR1990/000166 priority patent/WO1990010908A1/en
Publication of FR2644261A1 publication Critical patent/FR2644261A1/en
Application granted granted Critical
Publication of FR2644261B1 publication Critical patent/FR2644261B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • 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

The device, called transfer-decoding-coding module, or simply module, Figure 1, consists of a downwards or upwards compatible microprocessor mP2, in the sense usually given to these terms by the manufacturers, with, or identical to the microprocessor mP1 of the computer, possibly of a specialised microprocessor mP3 allowing transfer by blocks and rapid decoding of the parts of the program necessary at every instant for mP2, of read-only memories, ROM or EPROM, for storing the master programs for mP2 and mP3 and the various codes, and RAM for temporarily storing the decoded program blocks usable for mP2 each time mP2 takes over from mP1, and the various working data generated by mP2 and mP3.

Description

Différents moyens sont employés pour tenter d'interdir l'usage abusif des logiciels ou des fichiers de données et les protéger contre les virus informatiques . Various means are used to try to prohibit the misuse of software or data files and protect them against computer viruses.

La demande de brevet français 87 01423 décrit un dispositif se plaçant sur un port de sortie d'un micro ordinateur , et , en relation avec la disquette, autorisant son fonctionnement. French patent application 87 01423 describes a device placed on an output port of a microcomputer, and, in relation to the floppy disk, authorizing its operation.

Le programme étant écrit en clair sur la disquette la clé incorporée n'est qu'une protection tres relative. The program being written in clear on the diskette the incorporated key is only a very relative protection.

La demande de brevet francais 88 15673 décrit une disquette perfectionnée munie d'un ou plusieurs modules électroniques pouvant améliorer la sécurité de la disquette. French patent application 88 15673 describes an improved floppy disk fitted with one or more electronic modules which can improve the security of the floppy disk.

La présente invention a pour but de résoudre d'une façon rigoureuse et définitive les problèmes d'abus d'usage des logiciels et fichiers et d'en interdire la détérioration par des programmes virus dans la mesure où ceux-ci n'ont pas été implantés avant codage. The purpose of the present invention is to solve in a rigorous and definitive manner the problems of abuse of use of software and files and to prohibit their deterioration by virus programs insofar as these have not been implanted before coding.

Le but de l'invention est atteint en associant le codage de tout ou partie du logiciel par son fabriquant à son décodage et son traitement par un module électronique scellé lié à l'ordinateur et pouvant se substituer à lui pour traiter les parties du logiciel décodées et stockées dans la mémoire vive du dit module. The object of the invention is achieved by associating the coding of all or part of the software by its manufacturer with its decoding and its processing by a sealed electronic module linked to the computer and which can replace it to process the parts of the decoded software. and stored in the RAM of said module.

Le dispositif appelé module de transfert-décodage-codage, ou simplement module ,figure 1 est contitué d'un microprocesseur mP2 compatible ascendant ou descendant . au sens donné usuelement à ces termes par les constructeurs , avec . ou identique au microprocesseur mP1 de l'ordinateur, éventuellement d'un microprocesseur spécialisé mP3 permettant le transfert par blocs et le décodage rapide des parties du programme nécessaires à chaque instant à mP2 de mémoires mortes, ROM ou EPROM pour stocker les programmes maltes de mP2 et de mP3 et les différents codes et des RAM pour stocker temporairement les blocs de programme décodés utiles à mP2 chaque fois que mP2 prend le relais de mP1 ,et les diverses données de travail générées par mP2 et mP3 .  The device called transfer-decoding-coding module, or simply module, FIG. 1 is made up of an upward or downward compatible microprocessor mP2. in the sense usually given to these terms by manufacturers, with. or identical to the computer's microprocessor mP1, possibly a specialized microprocessor mP3 allowing block transfer and rapid decoding of the parts of the program necessary at all times to mP2 from ROMs, ROMs or EPROMs for storing Maltese programs from mP2 and from mP3 and the various codes and RAMs for temporarily storing the decoded program blocks useful to mP2 each time that mP2 takes over from mP1, and the various work data generated by mP2 and mP3.

Il est constitué également par des circuits logiques, multiplexeurs MUX controleurs de RAM ,controleurs d'entrées sorties et autres circuits logiques permettant , suivant les règles de l'art ,le fonctionnement correct de l'ensemble et interdisant la lecture de la mémoire du module à partir de l'ordinateur. It also consists of logic circuits, MUX multiplexers, RAM controllers, input-output controllers and other logic circuits allowing, according to the rules of the art, the correct functioning of the assembly and prohibiting the reading of the module memory from the computer.

Ce module figure 1 se présente comme un circuit intégré classique et est scellé dans une enveloppe 1 résistante et inviolable en métal et/ou en céramique et munie éventuellement d'une ou plusieurs fenêtres 4 transparentes aux UV . Il communique avec l'extérieur par un ensemble de broches 2 ou de pattes de liaison à souder 3 constituant l'extrémité de son bus. This module in FIG. 1 is presented as a conventional integrated circuit and is sealed in a resistant and tamper-resistant envelope 1 made of metal and / or ceramic and possibly provided with one or more windows 4 transparent to UV. It communicates with the outside via a set of pins 2 or soldering connection lugs 3 constituting the end of its bus.

Ce module est soudé soit sur une carte interne standard 5 , soit dans un boitier 6 relié à un port extérieur 7 , ou s'insérant dans un logement 8 aménagé sur sur une des faces du micro-ordinateur sans que ces positions soient limitatives de
l'invention.
This module is welded either on a standard internal card 5, or in a box 6 connected to an external port 7, or fitting into a housing 8 arranged on one of the faces of the microcomputer without these positions being limiting of
the invention.

Nous considérons dans la suite que le programme entier est codé. We consider below that the entire program is coded.

Ceci garanti la sécurité absolue du programme et la lutte contre les virus implantés hors codage . En effet, dans ce cas, tout ce qui n'est pas codé peut être Ignoré .This guarantees the absolute security of the program and the fight against viruses implanted without coding. Indeed, in this case, everything that is not coded can be Ignored.

La rapidité de transfert et de décodage d'un microprocesseur spécialisé où plusieurs circuits fonctionnent en parallele et indépendament du microprocesseur principal mP2 du module rend les opérations de transfert et de décodage pratiquement invisibles. The speed of transfer and decoding of a specialized microprocessor where several circuits operate in parallel and independently of the main microprocessor mP2 of the module makes transfer and decoding operations practically invisible.

Le fonctionnement du système suppose la coopération des fabriquants de logiciel qui acceptent les règles de codage du module de façon à rendre le module universel et par suite à abaisser son prix Le module peut éventuellement recevoir en EPROM un algorythme de décodage particulier à chaque fabriquant de logiciel , mais au prix d'une manipulation supplémentaire d'écriture en
EPROM augmentant le prix et pouvant nuire à la confidentialité et à la fiabilité de l'ensemble.
The functioning of the system presupposes the cooperation of software manufacturers who accept the coding rules of the module so as to make the module universal and consequently to lower its price. The module can possibly receive in EPROM a decoding algorithm specific to each software manufacturer. , but at the cost of an additional manipulation of writing in
EPROM increasing the price and can harm the confidentiality and reliability of the whole.

La présence de plusieurs ROM et de plusieurs fenêtres d'effacement permet de diminuer les risques de manipulation des EPROM . The presence of several ROMs and several erasure windows makes it possible to reduce the risks of manipulation of the EPROMs.

L'algorythme de codage universel adopté suivant l'invention, et sans sortir de l'unité de cette invention ,suppose l'écriture du programme en blocs élémentaires de 2**n octets,256 par exemple ce nombre correspondant simplement aux possibilités d'adressage d'un octet .Toute autre taille de bloc est possible mais présente moins d'intéret.  The universal coding algorithm adopted according to the invention, and without departing from the unity of this invention, supposes the writing of the program in elementary blocks of 2 ** n bytes, 256 for example this number corresponding simply to the possibilities of addressing of a byte. Any other block size is possible but is of less interest.

On suppose donc l'écriture par blocs de 256 octets dans tout ce qui suit, sans que cela soit limitatif de l'invention. We therefore assume writing in blocks of 256 bytes in all that follows, without this being limiting of the invention.

Le codeur est un programme ou fonction G() calculant à partir d'un code chiffré externe et chargeant en mémoire, deux suites de 256 octets, B1 et B2 ,contenant , dans un ordre determiné par le code chiffré externe , les 256 valeurs , de 1 à 256 , pouvant être prises par un octet. Les deux suites peuvent être identiques ou différentes. The coder is a program or function G () calculating from an external encrypted code and loading into memory, two sequences of 256 bytes, B1 and B2, containing, in an order determined by the external encrypted code, the 256 values, from 1 to 256, which can be taken by a byte. The two suites can be the same or different.

Les valeurs de la première suite sont considérées, figure 6 , comme des valeurs numériques et combinées une à une aux 256 octets du bloc de programme . Le resultat est replacé dans l'octet du bloc qui deviendra donc ainsi un bloc à octets codés, les octets codés ayant conservé l'ordre original. The values of the first sequence are considered, FIG. 6, as numerical values and combined one by one with the 256 bytes of the program block. The result is replaced in the byte of the block which will therefore become a block with coded bytes, the coded bytes having retained the original order.

La seconde suite de 256 octets contient également la même suite ou une suite différente des 256 valeurs d'un octet (fig~7).  The second sequence of 256 bytes also contains the same sequence or a different sequence of the 256 values of a byte (fig ~ 7).

Ces valeurs sont Ici les adresses d'un bloc de 256 octets . Le codeur affecte alors successivement à chaque octet du bloc en voie de codage l'adresse trouvée dans l'octet correspondant du second groupe codeur de 256 adresses. These values are here the addresses of a block of 256 bytes. The coder then successively assigns to each byte of the block being coded the address found in the corresponding byte of the second coder group of 256 addresses.

Le codage peut être , suivant l'invention, simplement le codage des octets ou le cqdage des adresses . Nous décrirons les opérations dans l'hypothese où les deux codages sont employés successivement. According to the invention, the coding can be simply the coding of the bytes or the coding of the addresses. We will describe the operations in the hypothesis where the two codings are used successively.

A la fin de la double opération, les 256 octets du blocs de programme sont mis dans l'ordre Imposé par le codeur et chaque octet de ce bloc est individuellement codé, Figure 7 . At the end of the double operation, the 256 bytes of the program block are put in the order Imposed by the encoder and each byte of this block is individually coded, Figure 7.

Le nombre de combinaisons possibles de codage par soustraction d'un oclet est de 256; si l'on ne prend qu'une fois chaque valeur il en reste 255 pour le second octet, et ainsi de suite . Le nombre total de combinaisons est donc 256! . The number of possible combinations of coding by subtracting an oclet is 256; if we only take each value once, 255 remain for the second byte, and so on. The total number of combinations is therefore 256! .

De même on a 2561 distribulions possibles des adresses . Ce nombre est tres grand .Likewise we have 2561 possible addresses distribution. This number is very large.

Ce grand nombre autorise un usage universel où l'on peut concevoir, en toute Irréalité bien sur . des millions de fournisseurs et des centaines de millions d'utilisateurs qui ne se gêneraient pas. This large number allows a universal use where one can conceive, in any unreality of course. millions of suppliers and hundreds of millions of users who wouldn't mind.

Pour parer à la fourniture frauduleuse d'une paire de blocs codédécodé qui permettrait de décoder l'ensemble du fichier, on peut suivant l'invention placer dans un ou deux octets du bloc, un numero d'ordre de 1 à 256 ou de 1 à 64k ,qui sera lu par le codeur et lui fera modifier le codage bloc par bloc. Les mêmes suites ne se retrouvent alors que tous les 256 ou 64k blocs. Dans ce dernier cas cela correspond à un fichier de 16 MO .  To counter the fraudulent supply of a pair of coded decoded blocks which would make it possible to decode the entire file, it is possible, according to the invention, to place in one or two bytes of the block, a sequence number from 1 to 256 or from 1 at 64k, which will be read by the coder and will cause it to modify the coding block by block. The same sequences are only found then every 256 or 64k blocks. In the latter case, this corresponds to a 16 MB file.

Chaque module 1 possède un code particulier secret de n bits,32 par exemple ,qul est Incorporé à une suIte de chiffres .32 également par exemple, qui est connue du propriétaire du module et même portée sur le module lui même. Each module 1 has a particular secret code of n bits, 32 for example, which is incorporated in a series of digits .32 also for example, which is known to the owner of the module and even carried on the module itself.

Elle peut également être portée sur une carte à lecture optique ou magnétique qui sera lue par le codeur.It can also be carried on a card with optical or magnetic reading which will be read by the encoder.

Le fournisseur de logiciels, ou émetteur, possède un dispositif de codage 10 qui fait Intervenir une suite de 2n bits ,soit 64 Icl, propre à chaque type de logiciel ou au codage particulier qu'il désire faire . Ce dispositif de codage utilise l'algorylhme ou fonction de codage G().  The software supplier, or transmitter, has a coding device 10 which causes a 2n bit sequence, ie 64 Icl, to intervene, specific to each type of software or to the particular coding which it wishes to do. This coding device uses the algorithm (G () coding function.

Le module et le codeur possèdent les mêmes algorythmes de codage-décodage . Un de ces algorythmes, f(), engendre, à partir d'une suite de n bits , une suite numérique de n chiffres; Inversement, à partir d'une suite de n chiffres , l'algorythme Inverse f-10 peut reconstituer la suite de n bits. The module and the coder have the same coding-decoding algorithms. One of these algorithms, f (), generates, starting from a sequence of n bits, a numerical sequence of n digits; Conversely, starting from a sequence of n digits, the reverse algorithm f-10 can reconstruct the sequence of n bits.

L'utilisateur donne au fournisseur la suite de 32 chiffres de son module ; cette suite est décodée par le décodeur qui en retire les 32 bits essentiels. The user gives the supplier the 32-digit sequence of his module; this sequence is decoded by the decoder which removes the essential 32 bits therefrom.

Ces 32 bits sont combinés avec les 64 bits de codage du logiciel , par la fonction F() et cette combinaison donne une suite de 32 bits . Cette suite de 32 bits, recombinée ensuite dans le module avec les 32 bits propres au module, par la fonction F-I () redonnera la suite de 64 bits nécessaires au décodage du logiciel. These 32 bits are combined with the 64-bit coding of the software, by the function F () and this combination gives a sequence of 32 bits. This 32-bit sequence, then recombined in the module with the 32 bits specific to the module, by the F-I () function will restore the 64-bit sequence necessary for decoding the software.

Ces 32 bits engendrés par le codeur sont transformés par ce même codeur en une suite de 32 chiffres, propre exclusivement au logiciel fourni et au module design, que le fournisseur donne à l'utilisateur et qu'il peut même écrire sur une portion du disque réservée à cet usage, ou encore porter sur la carte vue plus haut, de l'utilisateur.  These 32 bits generated by the encoder are transformed by this same encoder into a series of 32 digits, specific exclusively to the software supplied and to the design module, which the supplier gives to the user and which he can even write on a portion of the disc. reserved for this use, or on the card seen above, of the user.

L'utilisateur, ou le disque lui même, fourni à son module la suite fournie par le fournisseur et le module s'en sert pour reconstituer le code de 2n bits du logiciel. The user, or the disk itself, supplied to its module the suite supplied by the supplier and the module uses it to reconstruct the 2n bits code of the software.

La combinaison dans le codeur de la suite de bits du module et de la suite de bits du logiciel peut être la division de la suite de 64 bits considérée comme un nombre par la suite de 32 bits considérée également comme un nombre . Le module n'a alors qu'à multiplier la suite de 32 bits fournie par le codeur avec sa suite propre pour retrouver le code de 64 bits du logiciel. The combination in the encoder of the module bit sequence and the software bit sequence can be the division of the 64-bit sequence considered as a number and subsequently the 32-bit sequence also considered as a number. The module then only has to multiply the 32-bit suite provided by the coder with its own suite to find the 64-bit code of the software.

De tres nombreux couples de fonctions combinatoires peuvent aussi établir une relation biunivoque entre les trois suites de bits. Many pairs of combinatorial functions can also establish a one-to-one relationship between the three sequences of bits.

Le codage suivant l'invention se décompose en deux phases distinctes, utilisant des dispositifs électroniques qui peuvent être distincts également, pour en augmenter l'efficacité. The coding according to the invention is broken down into two distinct phases, using electronic devices which can also be distinct, to increase their efficiency.

Il y a une phase secrète dans laquelle est élaborée la suite transmise par le module au codeur, et décodée par le module la suite transmise en retour par le codeur au module pour permettre à celui ci de retrouver le code appliquée à la disquette , et fabriquer les blocs de 256 octets contenant les nombres à additionner et les adresses à affecter. Cette phase complexe peut être, suivant l'invention, réalisée par le microprocesseur principal mP2 du module ou par le microprocesseur secondaire mP3.  There is a secret phase in which is developed the sequence transmitted by the module to the coder, and decoded by the module the sequence transmitted back by the coder to the module to allow the latter to find the code applied to the floppy disk, and manufacture blocks of 256 bytes containing the numbers to be added and the addresses to be assigned. According to the invention, this complex phase can be carried out by the main microprocessor mP2 of the module or by the secondary microprocessor mP3.

Il y a ensuite une phase publique ou une logique électronique plus simple travaillant sur les deux blocs codeurs de 256 octets opère la partie matérielle du décodage . Cette phase est réalisée suivant l'invention par un circuit spécialisé mP3 qui assure également le transfert des octets du micro au module. There is then a public phase where a simpler electronic logic working on the two coder blocks of 256 bytes operates the hardware part of the decoding. This phase is carried out according to the invention by a specialized circuit mP3 which also ensures the transfer of bytes from the microphone to the module.

Le décodage en deux parties suivant l'invention offre l'avantage considérable de séparer une opération complexe de calcul ou d'analyse combinatoire qui peut être relativement longue et son application au décodage réel dont les deux particularités contradictoires sont l'abondance permanente de la matière à décoder et la rapidité exigée . En effet ce transfert décodage ne doit pas ralentir de façon appréciable le travail du microprocesseur principal mP2 du module .Ce transfert étant effectué préférentiellement, suivant l'invention, par des circuits mP3 fonctionnant en parallèle et distincts de mP2 , il est impératif pour des raisons de prix et de sécurité, que ces circuits soient simples et donc qu'ils aient le minimum d'instructions . The two-part decoding according to the invention offers the considerable advantage of separating a complex operation of computation or combinatorial analysis which can be relatively long and its application to real decoding, the two contradictory features of which are the constant abundance of matter. to decode and the speed required. Indeed, this decoding transfer must not appreciably slow down the work of the main microprocessor mP2 of the module. This transfer being preferably carried out, according to the invention, by mP3 circuits operating in parallel and distinct from mP2, it is imperative for reasons price and safety, that these circuits are simple and therefore that they have the minimum of instructions.

L'élaboration des octets de décodage et leur vérification demande un microprocesseur complexe , alors que le transfert des octets codés et l'utilisation des blocs codeurs peut se faire en toute sécurité par des microprocesseur élémentaires. The development of the decoding bytes and their verification requires a complex microprocessor, while the transfer of the coded bytes and the use of the coding blocks can be done in complete safety by elementary microprocessor.

Dans la disposition préférentielle adoptée par l'invention, la partie complexe du décodage est faite une seule fois à chaque séance de travail. In the preferred arrangement adopted by the invention, the complex part of the decoding is done only once at each work session.

Les blocs B1 et B2 peuvent être également, suivant l'invention, chargés en EPROM ou inscrit dès l'origine en ROM ou en EPROM , ou être chargés à partir du clavier de l'ordinateur.  According to the invention, blocks B1 and B2 can also be loaded in EPROM or written from the start in ROM or EPROM, or be loaded from the computer keyboard.

Dans tout ce qui suit , les codes- instructions du microprocesseur Z80 de la firme ZILOG, , universellement connus , serviront à illustrer l'invention mais ne la limitent pas. L'homme de l'art peut aisement à à partir des algorythmes et de ces codes- instructions, réaliser les dispositions décrites par l'invention à partir d'autres microprocesseurs.  In all that follows, the universally known Z80 microprocessor instruction codes ZILOG will serve to illustrate the invention but do not limit it. Those skilled in the art can easily, using algorithms and these instruction codes, make the arrangements described by the invention from other microprocessors.

Le module de codage-décodage suivant l'invention peut être utilisé pour coder rapidement de gros fichiers . Le processus de codage suivant l'invention est le même dans le codeur appartenant au fournisseur et dans le module de codagedécodage. La description de l'algorythme de codage du module suivant l'invention éclairera la description des algorythmes de décodage. The coding-decoding module according to the invention can be used to quickly code large files. The coding process according to the invention is the same in the coder belonging to the supplier and in the coded-decoding module. The description of the coding algorithm of the module according to the invention will clarify the description of the decoding algorithms.

L'algorythme élémentaire de codage utilisé normalement dans le codeur du fournisseur ou par l'utilisateur pour le codage de ses propres fichiers est représenté fig 8 . The basic coding algorithm normally used in the supplier's coder or by the user for coding his own files is shown in fig 8.

LD C,(HL) . On charge dans un régistre C de mP3 par l'instruction LD
C,(HL) le contenu du premier octet d'un bloc de 256 octets du programme clair . HL est initiale par mP2 à l'adresse du début de lecture.
LD C, (HL). One loads in a register C of mP3 by the instruction LD
C, (HL) the content of the first byte of a block of 256 bytes of the clear program. HL is initial by mP2 at the address of the start of reading.

LD A,(lX+dl) . On charge, par l'instruction LD A,(lX+dl) ,dans un second régistre A de mP3 , le contenu du premier octet du bloc de codage des octets dont l'adresse dans la mémoire du module est di.  LD A, (lX + dl). One loads, by the instruction LD A, (lX + dl), in a second register A of mP3, the contents of the first byte of the block of coding of the bytes whose address in the memory of the module is di.

SUB A,C . CPL. SUB A, C. CPL.

INC A . On a soustrait A du contenu de C
LD E,(lX+d2) . On charge dans un régistre E de mP3 l'adresse contenue dans le premier octet du bloc B2 dont l'adresse de ce premier octet dans la RAM module est d2 . On peut, suivant l'invention, , avoir di-d2.
INC A. We have subtracted A from the content of C
LD E, (lX + d2). The address contained in the first byte of the block B2 whose address of this first byte in the module RAM is d2 is loaded into a register E of mP3. According to the invention, it is possible to have di-d2.

LD (DE),A . On transfert le contenu de A (premier octet codé) à l'adresse contenue dans le régistre double DE la partie haute de cette adresse étant initialisée par mP2 de façon à imposer l'origine du bloc codé. LD (DE), A. The content of A (first coded byte) is transferred to the address contained in the double DE register, the upper part of this address being initialized by mP2 so as to impose the origin of the coded block.

On a donc ainsi codé et transferé le premier octet du bloc de 256 octets clairs. We therefore coded and transferred the first byte of the block of 256 clear bytes.

INC HL . On incrément HL
INC IX On incrémente IX .
INC HL. We increment HL
INC IX We increment IX.

DJNZ e . On teste la valeur du régistre compteur B . DJNZ e. The value of the counter register B is tested.

LD HL,(nn) .Si B est égal à zero, le codage du premier bloc clair de 256 octets est terminé . On réinitialise éventuellement HL par la valeur contenue à l'adresse nn . Cette nouvelle adresse contenue dans nn sera l'adresse du premier octet d'un nouveau bloc à coder. LD HL, (nn). If B is zero, the coding of the first clear block of 256 bytes is complete. HL is possibly reset by the value contained at the address nn. This new address contained in nn will be the address of the first byte of a new block to be coded.

LD DE,(pp) . On réinitialise alors la nouvelle adresse d'ecriture du premier octet du nouveau bloc codé.  LD DE, (pp). The new write address of the first byte of the new coded block is then reset.

LD In,0 . LD B,256 . On réinitialise à zero la lecture des blocs codeurs et on recharge à 256 le compteur B . LD In, 0. LD B, 256. The reading of the encoder blocks is reset to zero and the counter B is recharged at 256.

JP pq . On retourne au début du programme. JP pq. We return to the beginning of the program.

Si B n'est pas nul on saute à l'instruction de retour en début de programme, On peut inverser les instructions LD A,(lX+di) et LD E,(lX+d2)'sans modifier le résultat ni le temps de traitement. If B is not zero, we jump to the return instruction at the start of the program. We can reverse the instructions LD A, (lX + di) and LD E, (lX + d2) 'without modifying the result or the time. treatment.

Dans l'algorythme de décodage suivant l'invention ,les blocs Bi et B2 engendrés par le module sont dérivés de ceux engendrés par le codeur de façon à ce que l'ordre des adresses du bloc de décodage des adresses et l'ordre des octets à additionner du bloc de décodage octets soient dans un ordre tel que le décodage puisse se faire en lisant les blocs codés dans l'ordre croissant des adresses. Les adresses en RAM module des octets décodés sont alors déterminées par le bloc de décodage des adresses . On suit de cette façon un algorythme parallele à celui du codage.FlG7A.  In the decoding algorithm according to the invention, the blocks Bi and B2 generated by the module are derived from those generated by the coder so that the order of the addresses of the block for decoding the addresses and the order of the bytes to be added to the decoding block bytes are in an order such that decoding can be done by reading the blocks coded in ascending order of addresses. The addresses in RAM module of the decoded bytes are then determined by the address decoding block. We follow in this way an algorithm parallel to that of the coding.FlG7A.

Nous exposerons en détail l'algorythme de décodage suivant l'invention et ses diverses variantes imposées pour obtenir une rapidité de transfert-décodage maximale . We will describe in detail the decoding algorithm according to the invention and its various variants imposed to obtain a maximum transfer-decoding speed.

Llalgorythme élémentaire de décodage suivant l'invention est représenté fig 9 .On se place, pour la démonstration, dans l'hypothèse élémentaire conforme à l'utilisation du Z8O, où le programme à décoder n'exède pas 64K . The elementary decoding algorithm according to the invention is represented in FIG. 9. We place ourselves, for the demonstration, in the elementary hypothesis conforming to the use of the Z8O, where the program to be decoded does not exceed 64K.

La figure 7A montre, suivant l'invention , la correspondance entre le bloc de codage et le bloc de décodage . Pour les besoins de la démonstration on prendra des blocs de huit octets au lieu de blocs de 256 octets. FIG. 7A shows, according to the invention, the correspondence between the coding block and the decoding block. For demonstration purposes, blocks of eight bytes will be used instead of blocks of 256 bytes.

On lit le bloc codeur dans l'ordre croissant . Chaque adresse contenue du bloc codeur, devient l'adresse contenante du bloc décodeur . A cette adresse contenante du bloc décodeur sera chargée l'ex adresse contenante du bloc codeur qui deviendra ainsi l'adresse contenue du bloc décodeur (fig 7) . The encoder block is read in ascending order. Each address contained in the encoder block becomes the containing address of the decoder block. At this containing address of the decoder block will be loaded the former containing address of the encoder block which will thus become the contained address of the decoder block (fig 7).

Durant le codage , les blocs clair et codeurs sont lus dans l'ordre cr#,ssant des adresses . On voit sur rexemple que le premier octet du bloc clair est transféré à l'adresse contenue dans le premier octet du bloc codeur 5 ici. During coding, the clear and encoder blocks are read in the order cr #, with addresses. We see again that the first byte of the clear block is transferred to the address contained in the first byte of the encoder block 5 here.

Suivant la règle de correspondance entre les blocs codeur et decodeur, l'octet 5 du bloc décodeur contient l'adresse 1 du bloc codeur. According to the rule of correspondence between the coder and decoder blocks, byte 5 of the decoder block contains the address 1 of the coder block.

Lors du décodage lorsque l'on arrivera à l'octet 5 du bloc décodeur on y trouvera l'adresse 1 du bloc codeur, qui est aussi l'adresse 1 du bloc clair, ou décodé, où l'on doit charger l'octet d'adresse 5 du bloc codé. During decoding when you reach byte 5 of the decoder block, you will find address 1 of the coder block, which is also address 1 of the clear or decoded block, where you must load the byte. address 5 of the coded block.

L'octet aura retrouvé sa place initiale. The byte will have returned to its original place.

Le bloc de décodage des octets se déduit du bloc de décodage des adresses, chaque octet du bloc de codage se mettant dans le bloc de décodage à l'adresse donnée par le bloc de codage des adresses . L'ordre de lecture des octets de décodage qu'il faut additionner aux octets d'origine sera donc l'ordre croissant des adresses. The byte decoding block is deduced from the address decoding block, each byte of the coding block being placed in the decoding block at the address given by the address coding block. The reading order of the decoding bytes which must be added to the original bytes will therefore be the ascending order of the addresses.

Le premier octet du bloc de décodage correspond donc au premier octet du bloc codé.  The first byte of the decoding block therefore corresponds to the first byte of the coded block.

Le bloc de décodage des octets B2 va être lu dans le même ordre et le premier octet va être ajouté à l'octet trouvé précédement. L'octet original est retrouvé et est placé à l'adresse du bloc décodé contenue dans le premier octet du bloc décodeur des adresses. The B2 byte decoding block will be read in the same order and the first byte will be added to the byte previously found. The original byte is found and is placed at the address of the decoded block contained in the first byte of the address decoder block.

LD C,(HL) . on charge le premier octet du bloc codé dans le régistre C . LD C, (HL). the first byte of the block coded in register C is loaded.

L'adresse contenue dans HL a été initialisée par le microprocesseur principal mP2 du module.The address contained in HL was initialized by the module's main microprocessor mP2.

LD A,(lX+dl) .On charge dans le régistre A de mP3 le premier octet du bloc de décodage des octets. LD A, (lX + dl). The first byte of the byte decoding block is loaded into register A of mP3.

ADD A,C . On additionne le contenu de C au contenu de A . L'octet est décodé et se trouve en A . ADD A, C. We add the content of C to the content of A. The byte is decoded and is located at A.

LD E,(lX+d2) . On charge dans le régistre E le premier octet du bloc B2 de décodage des adresses . Cet octet représente la partie basse de l'adresse où l'on doit charger l'octet décodé en RAM module . La partie haute initialisée par mP2 a été chargée en D . LD E, (lX + d2). The first byte of the address decoding block B2 is loaded into the register E. This byte represents the lower part of the address where the decoded byte must be loaded in module RAM. The upper part initialized by mP2 was loaded in D.

LD (DE),A. On charge à la première adresse du bloc récepteur de 256 octets de la RAM module ce premier octet décodé . L'adresse dans la RAM module de ce bloc récepteur de 256 octets est fourni initialement par mP2 .  LD (DE), A. The first decoded byte is loaded at the first address of the receiver block with 256 bytes from the RAM module. The address in the RAM module of this 256-byte receiver block is initially supplied by mP2.

Cet Cet octet décodé occupe maintenant la place qu'il avait dans le bloc original clair. This decoded byte now occupies the place it had in the original clear block.

INC HL. On incrémente HL .  INC HL. We increment HL.

INC IX On incrémente IX .  INC IX We increment IX.

DJNZ e . On teste le régistre compteur B . DJNZ e. We test the counter register B.

Si su B est différent de O, test à dire si la lecture des 256 octets n'est pas terminée on saute à l'instruction de saut JP pq. If su B is different from O, test to say if the reading of the 256 bytes is not finished, we jump to the jump instruction JP pq.

JP pq . On saute à l'adresse pq qui est celle de la première instruction du programme et on recommence le cycle. JP pq. We jump to the address pq which is that of the first instruction of the program and we start the cycle again.

Si B-O, c'est à dire si l'on a lu les 256 adresses du premier bloc à décoder on opère une serie de tests pour connaître les ordres du microprocesseur principal mP2 du module . Le microprocesseur mP2 peut inscrire , suivant l'invention, des instructions dans différents octets de la RAM module . Dans un premier octet à l'adresse qq par exemple il peut mettre à O ou 1 un bit déterminé b . Dans un octet d'adresse pp U peut mettre la partie haute de l'adresse en RAM micro du nouveau bloc de 256 octets à décoder . Dans un octet d'adresse nn il peut mettre la partie haute de l'adresse en RAM module où ce nouveau bloc sera chargé apres décodage.  If B-O, that is to say if we have read the 256 addresses of the first block to be decoded, we run a series of tests to find out the orders of the main microprocessor mP2 of the module. According to the invention, the microprocessor mP2 can write instructions in different bytes of the module RAM. In a first byte at address qq for example, it can set a determined bit b to 0 or 1. In a byte of address pp U can put the upper part of the address in micro RAM of the new block of 256 bytes to be decoded. In an address byte nn it can put the upper part of the address in module RAM where this new block will be loaded after decoding.

LD HL,mm On charge dans le régistre HL l'adresse mm de la RAM module. LD HL, mm The address mm of the module RAM is loaded into the HL register.

BIT b,(HL) . On charge l'octet d'adresse mm dans le régistre HL et on sélectionne le bit b du régistre HL. BIT b, (HL). The address byte mm is loaded into the HL register and the bit b of the HL register is selected.

JRNZ e . Si le bit b est à 1 ,mP2 a déposé les adresses de départ et d'arrivée d'un nouveau bloc à décoder. On saute à l'instruction LD HL,(nn) . JRNZ e. If bit b is 1, mP2 has deposited the start and end addresses of a new block to be decoded. We jump to the instruction LD HL, (nn).

LD HL,(nn) . On charge en HL l'adresse du nouveau bloc à décoder . LD DE.(pp) . On charge en D la partie haute de l'adresse en RAM module où placer le nouveau bloc décodé .LD IX,O . On réinitialise IX à 0.  LD HL, (nn). The address of the new block to be decoded is loaded in HL. LD DE. (Pp). We load in D the upper part of the address in RAM module where to place the new decoded block .LD IX, O. We reset IX to 0.

LD B,256 . On réinitialise B à 256 . LD B, 256. We reset B to 256.

ou LD lX,(qq) ; on réinitialise IX avec la valeur trouvée en qq .  or LD lX, (qq); we reset IX with the value found in qq.

et LD BC,(rr) ; on réinitialise B avec la valeur trouvée en rr. and LD BC, (rr); we reset B with the value found in rr.

JP pq . On recommence un cycle de transfert-décodage de 256 octets.  JP pq. We start again a transfer-decoding cycle of 256 bytes.

Si le bit b est à O on exécute l'instruction JP e suivant l'instruction JRNZ e. If bit b is O, the instruction JP e is executed according to the instruction JRNZ e.

JP e . On revient à L'instruction LD HL,(qq) et on recommence le test du bit b. JP e. We return to the instruction LD HL, (qq) and we repeat the test of bit b.

Cette boucle de test est parcourue suivant l'invention jusqu'à ce que mP2 ait chargé les nouvelles adresses de départ et d'arrivée d'un nouveau bloc à décoder et mis le bit b à 1.  This test loop is traversed according to the invention until mP2 has loaded the new start and end addresses of a new block to be decoded and set the bit b to 1.

Dans une autre disposition suivant l'invention, lorsque le bit b est mis à o mP3 demande à mP2 une interruption de son signal d'horloge . Cette demande d'interruption est transmise par le bus de commande et MP2 répond en interrompant le signal d'horloge de mP3 . Ce signal d'horloge est rendu à mP3 par mP2 lorsque ce dernier a chargé aux adresses nn et pp les adresses de départ et d'arrivée d'un nouveau bloc de 256 octets à décoder. In another arrangement according to the invention, when the bit b is set to o mP3 requests from mP2 an interruption of its clock signal. This interrupt request is transmitted by the control bus and MP2 responds by interrupting the clock signal of mP3. This clock signal is returned to mP3 by mP2 when the latter has loaded to the addresses nn and pp the start and end addresses of a new block of 256 bytes to be decoded.

Pour rendre la durée de transfert de blocs minimale . le microprocesseur mP3 est suivant l'invention, constitué de plusieurs circuits fonctionnant en parallele.  To make the block transfer time minimum. the microprocessor mP3 is according to the invention, consisting of several circuits operating in parallel.

Dans une première configuration suivant l'invention, figures 10 et il on dispose en RAM module autant de RAM indépendantes contenant un bloc de décodage des octets B1 un bloc de décodage des adresses B2 et d'octets d'initialisation INIT qu'il y a de circuits mP3 . On appelle ces RAM indépendantes RAMOODE.  In a first configuration according to the invention, FIGS. 10 and there are in RAM module as many independent RAMs containing a block for decoding bytes B1 a block for decoding addresses B2 and initialization bytes INIT as there are of mP3 circuits. These independent RAMs are called RAMOODE.

Chaque RAMCODE a son bus branché sur un multiplexeur MUX2.i qui peut le faire communiquer alternativement, sous le controle de mP3 ou mP2 , au bus général du module ,ou au bus particulier du circuit mP3.i . Each RAMCODE has its bus connected to a MUX2.i multiplexer which can make it communicate alternately, under the control of mP3 or mP2, to the general bus of the module, or to the particular bus of the circuit mP3.i.

Le signal d'horloge l'alimentation et les signaux de raffraichissement des RAMCODE peuvent être indépendants dé MUX2.1.  The clock signal power supply and refresh signals of RAMCODE can be independent of MUX2.1.

Chaque circuit de mP3 est donc relié par ses bus , au multiplexeur MUX1 le faisant communiquer avec l'ordinateur , au multiplexeur MUX4 le faisant communiquer avec les RAM de chargement des blocs décodés par l'intermédiaire de son bus propre BUSMUX4 ,à un MUX2.i le faisant communiquer avec une RAMCODE et au
MUX8 le faisant communiquer par son bus de commande avec mP2.
Each circuit of mP3 is therefore connected by its buses, to the multiplexer MUX1 making it communicate with the computer, to the multiplexer MUX4 making it communicate with the RAMs for loading the decoded blocks via its own bus BUSMUX4, to a MUX2. i making it communicate with a RAMCODE and
MUX8 making it communicate by its control bus with mP2.

Les RAM indépendantes de chargement des octets décodés RAMCHAR, sont reliées à BUSMUX4 et au bus général du module BUSMODULE par des multiplexeurs MUX4.i qui sont rtendus actifs par mP2 eVou mP3 , en relation avec les adresses d'initialisation INIT. The independent RAMs for loading the RAMCHAR decoded bytes are connected to BUSMUX4 and to the general bus of the BUSMODULE module by MUX4.i multiplexers which are made active by mP2 eVou mP3, in relation to the INIT initialization addresses.

Dans les algorythmes de commande de chaque circuit mP3 des pseudo-instructions MUXI MUX2.i et MUX4 sont placées devant les instructions LD
C.(HL), LD A,(IX+d1), LD E,(IX+d2) et LD (DE),A . Ces pseudo- instructions rendent actives les voies des multiplexeurs correspondants à chaque circuit.
In the control algorithms of each circuit mP3 pseudo-instructions MUXI MUX2.i and MUX4 are placed in front of the instructions LD
C. (HL), LD A, (IX + d1), LD E, (IX + d2) and LD (DE), A. These pseudo-instructions activate the channels of the multiplexers corresponding to each circuit.

Chaque algorythme peut être décomposé en un cycle principal et un cycle de tests . Le cycle principal a dans notre exemple une durée de 32 cycles machine et chaque MUX1 est utilisé durant 5 cycles machine . Il faut donc, suivant l'inventlon,7 circuits mP3 pour maximaliser la vitesse de transfert décodage. Each algorithm can be broken down into a main cycle and a test cycle. The main cycle in our example has a duration of 32 machine cycles and each MUX1 is used for 5 machine cycles. It is therefore necessary, according to the inventlon, 7 mP3 circuits to maximize the decoding transfer speed.

On peut, suivant l'invention n'utiliser que 6 circuits mP3 , mais avec une perte de vitesse. According to the invention, it is possible to use only 6 mP3 circuits, but with a loss of speed.

On peut également utiliser 8 circuits pour simplifier le calcul des adresses 256 étant divisible par 8 . We can also use 8 circuits to simplify the calculation of addresses 256 being divisible by 8.

Dans une seconde configuration suivant l'invention, figure 12 les blocs de décodage B1 et B2 sont uniques . On dispose de deux multiplexeurs MUX2 et MUX3 qui permettent de brancher alternativement chaque circuit sur le bloc Bi puis sur le bloc B2 et les octets d'initialisation. Les circuits élémentaires mP3 ont alors successivement accès à la RAM de l'ordinateur à travers le multiplexeur MUX1, aux
RAM de chargement RAMCHAR à travers le multiplexeur MUX4 et aux blocs de décodage B1 et B2 à travers les multiplexeurs MUX2 et MUX3 .
In a second configuration according to the invention, FIG. 12 the decoding blocks B1 and B2 are unique. There are two multiplexers MUX2 and MUX3 which make it possible to connect each circuit alternately to the block Bi then to the block B2 and the initialization bytes. The elementary circuits mP3 then have successive access to the RAM of the computer through the multiplexer MUX1, to the
RAMCHAR loading RAM through multiplexer MUX4 and to decoding blocks B1 and B2 through multiplexers MUX2 and MUX3.

Dans l'algorythme de décodage de chaque circuit , des pseudoinstructions MUX1, MUX2, MUX3 et MUX4 sont placées respectivement devant LD C,(HL),LD A,(IX+d1), LD E(IX+d2) et LD (DE),A . Ces instructions rendent actives les voies des multiplexeurs correspondant à chaque circuit. In the decoding algorithm of each circuit, pseudo-instructions MUX1, MUX2, MUX3 and MUX4 are placed respectively in front of LD C, (HL), LD A, (IX + d1), LD E (IX + d2) and LD (DE ),AT . These instructions activate the channels of the multiplexers corresponding to each circuit.

Il y a, suivant l'invention, plusieurs séquences de lecture possibles de la
RAM micro par les circuits mP3 .
According to the invention, there are several possible reading sequences of the
Micro RAM via mP3 circuits.

Dans un premier séquencement possible suivant l'invention, chaque circuit mP3 parcourt son bloc propre de 256 octets en RAM micro. In a first possible sequencing according to the invention, each mP3 circuit traverses its own block of 256 bytes in micro RAM.

Dans un second séquencement , suivant l'invention, chaque circuit de mP3 parcourt une partie d'un bloc unique de 256 octets. In a second sequencing, according to the invention, each circuit of mP3 traverses part of a single block of 256 bytes.

Dans un troisiemme séquencement , suivant l'invention, chaque mP3 parcourt une partie de. plusieurs blocs de 256 octets.  In a third sequencing, according to the invention, each mP3 traverses a part of. several blocks of 256 bytes.

Le controle et la différentiation des séquences est purement logicielle . The control and the differentiation of the sequences is purely software.

En effet le microprocesseur mP2 controle l'activité des mP3 en chargeant aux adresses mimi, nini, pipi, qiqi, riri de la RAM module les adresses du drapeau bit b, d'initialisation de lecture en RAM micro d'écriture en RAM module ,de lecture en
Blocs de décodage B1 et B2 pour chaque circuit mP3.i.
The mP2 microprocessor controls the activity of the mP3s by loading the addresses of the bit b flag at the addresses mimi, nini, pee, qiqi, riri of the RAM module, initialization of read in RAM micro write in RAM module, reading in
Decoding blocks B1 and B2 for each mP3.i circuit.

Dans la première séquence de décodage suivant l'invention, chaque circuit de mP3 parcourt son bloc de 256 octets en RAM micro . L'adresse hihi du début de bloc à lire qui sera chargée en HL est mise par mP2 en RAM module à l'adresse ni ni pour le premier circuit mP3 que nous appelerons mP3.1
L'adresse h2h2 de la RAM micro en n2n2 de la RAM module pour le circuit mP3.2 et ainsi de suite,
L'adresse de début d'écriture du bloc décodé en RAM module qui sera chargée en DE , est mise par mP2 en RAM module à l'adresse pipi pour-le circuit mP3.i à l'adresse p2p2 pour mP3.2 et ainsi de suite.
In the first decoding sequence according to the invention, each circuit of mP3 traverses its block of 256 bytes in micro RAM. The hihi address of the start of block to be read which will be loaded in HL is set by mP2 in RAM module at the address neither nor for the first circuit mP3 which we will call mP3.1
The address h2h2 of the micro RAM in n2n2 of the module RAM for the circuit mP3.2 and so on,
The write start address of the block decoded in module RAM which will be loaded in DE, is put by mP2 in module RAM at the address pee for the circuit mP3.i at the address p2p2 for mP3.2 and so right now.

Les blocs décodeurs seront lus dans l'ordre croissant par chaque circuit successivement. IX sera initialisé à 0, d1 et d2 étant les parties hautes des adresses fixes des blocs de décodage dans la RAM module. The decoder blocks will be read in ascending order by each circuit successively. IX will be initialized at 0, d1 and d2 being the upper parts of the fixed addresses of the decoding blocks in the module RAM.

B est initialisé à 256 . B is initialized to 256.

Dans ce premier séquencement suivant l'invention, mP3 transfère et décode simultanément autant de blocs de 256 octets qu'il y a de circuits mP3.i.  In this first sequencing according to the invention, mP3 transfers and decodes simultaneously as many blocks of 256 bytes as there are mP3.i circuits.

Dans le second séquencement suivant l'invention chaque circuit de mP3 transfère et décode une partie d'un bloc unique de 256 octets. In the second sequencing according to the invention each circuit of mP3 transfers and decodes a part of a single block of 256 bytes.

Dans le troisiemme séquencement, suivant l'invention, les circuits transferent et décodent simultanément chacun une partie d'un des blocs de 256 octets choisis par mP2 .  In the third sequencing, according to the invention, the circuits simultaneously transfer and decode a part of one of the blocks of 256 bytes chosen by mP2.

L'adresse chargée en HL sera pour le premier circuit mP3.i ,l'adresse hlhl du bloc à décoder en RAM micro. The address loaded in HL will be for the first circuit mP3.i, the address hlhl of the block to be decoded in micro RAM.

L'adresse chargée en HL pour le second circuit dépendra du nombre de circuits mP3 .S'il y a 8 circuits, par exemple chaque circuit lira 256/8-32 octets successifs . L'adresse chargée en HL sera pour le second circuit, h1h1+32, et ainsi de suite. The address loaded in HL for the second circuit will depend on the number of circuits mP3. If there are 8 circuits, for example each circuit will read 256 / 8-32 successive bytes. The address loaded in HL will be for the second circuit, h1h1 + 32, and so on.

L'adresse d'écriture en RAM module chargée en DE sera, pour le premier circuit, l'adresse elel du bloc à écrire en RAM module .L'adresse pour le second circuit sera eiel+32 , et ainsi de suite. The write address in module RAM loaded in DE will be, for the first circuit, the elel address of the block to be written in module RAM. The address for the second circuit will be eiel + 32, and so on.

Pour que le décodage se fasse correctement suivant l'invention, il faut que seules les parties adéquates des blocs de décodage B1 et B2 soient lues par chacun des circuits mP3 .  For the decoding to be carried out correctly according to the invention, it is necessary that only the appropriate parts of the decoding blocks B1 and B2 are read by each of the circuits mP3.

L'initialisation des IX par l'instruction LD IX,(qq) permettra à chaque circuit de lire chacun le groupe d'octets des blocs de décodage correspondant au groupe d'octets lus dans le bloc codé. The initialization of the IX by the instruction LD IX, (qq) will allow each circuit to each read the group of bytes of the decoding blocks corresponding to the group of bytes read in the coded block.

Le premier circuit mP3 est initalisé suivant l'invention à o, le second à 32 ,le troisiemme à 64 et ainsi de suite tant pour le bloc de décodage des octets que pour le bloc de décodage des adresses. The first circuit mP3 is initialized according to the invention at o, the second at 32, the third at 64 and so on, both for the byte decoding block and for the address decoding block.

Le régistre B compteur de DJNZ est chargé à 32 car au bout d'une lecture de 32 octets du bloc de 256 octets à décoder, par chaque circuit , les 256 octets auront été lus par les 8 circuits de l'exemple.  The register B counter of DJNZ is loaded at 32 because after a reading of 32 bytes from the block of 256 bytes to be decoded, by each circuit, the 256 bytes will have been read by the 8 circuits of the example.

Le premier circuit aura transféré et décodé les 32 premiers octets, le second circuit les 32 suivants . et ainsi de suite . L'algorythme multiple de transfert décodage suivant l'invention, , par les n circuits de mP3 est représenté figure 13 et fig 14. The first circuit will have transferred and decoded the first 32 bytes, the second circuit the following 32. And so on . The multiple algorithm for decoding transfer according to the invention,, by the n circuits of mP3 is represented in FIG. 13 and FIG. 14.

Sur la fig 13 apparaissent schématisés les mémoires RAM et les multiplexeurs I 2, 3 et 4 . In FIG. 13, the RAM memories and the multiplexers I 2, 3 and 4 appear diagrammatically.

Sur les fig 14A et 14B les durées des instructions en cycles machines ont été reproduites à l'échelle de façon à mettre en évidence les conflits d'accès aux multiplexeurs et les solutions apportées suivant l'invention . Le premier circuit de mP3 est activé par mP2 soit directement par activation du circuit horloge, soit par le biais du bit b vu plus haut, positionné par mP2 et lu par mP3.1
Les différents circuits de mP3 étant pilotés par la même horloge , la succession des instructions pour chaque circuit est décalée d'un circuit à l'autre du nombre de périodes d'horloge nécessaires pour l'activation du multiplexeur 1 et l'exécution de l'instruction de transfert LD C,HL. Les cycles nécessaires au fonctionnement des multiplexeurs sont fixés à 3 et les périodes d'horloge correspondantes à 10 , et regroupés arbitrairement avant l'instruction devant transiter par ces multiplexeurs.
In FIGS. 14A and 14B, the durations of the instructions in machine cycles have been reproduced to scale so as to highlight the conflicts of access to the multiplexers and the solutions provided according to the invention. The first circuit of mP3 is activated by mP2 either directly by activation of the clock circuit, or by means of the bit b seen above, positioned by mP2 and read by mP3.1
The different circuits of mP3 being controlled by the same clock, the succession of instructions for each circuit is shifted from one circuit to another by the number of clock periods necessary for the activation of the multiplexer 1 and the execution of the transfer instruction LD C, HL. The cycles necessary for the operation of the multiplexers are fixed at 3 and the clock periods corresponding to 10, and grouped arbitrarily before the instruction that must pass through these multiplexers.

MUX1.1 . Branchement du premier circuit mP3.1 sur la RAM micro. MUX1.1. Connection of the first mP3.1 circuit on the micro RAM.

L'instruction de chargement du premier octet du bloc à décoder est exécutée.The instruction for loading the first byte of the block to be decoded is executed.

MUX2.1 .Le circuit se branche ensuite sur le bloc de décodage des octets B1 . Transfert de l'octet décodeur . Addition de cet octet à l'octet codé. MUX2.1. The circuit then connects to the block for decoding bytes B1. Transfer of the decoder byte. Addition of this byte to the coded byte.

MUX3.1 . Le circuit se branche sur le bloc de décodage des adresses B2 La charge de l'adresse où transferer l'octet décodé est effectuée. MUX3.1. The circuit is connected to the B2 address decoding block. The address is loaded where the decoded byte is transferred.

MUX4.1 . Le circuit se branche sur la RAM module. L'instruction LD (DE),A charge l'octet décodé en RAM module. MUX4.1. The circuit plugs into the RAM module. The instruction LD (DE), Loads the decoded byte into RAM module.

Le transfert-décodage du premier octet par le premier circuit est achevé
Les instructions qui suivent Incrémentent HL et IX et testent les différents paramètres de fonctionnement propres au premier circuit mP3.1
Les circuits successifs sont activés de la même mannière que le premier avec un décalage correspondant au nombre de cycles pendant lesquels MUX1.1 va être utilisé par le premier circuit.
Transfer-decoding of the first byte by the first circuit is complete
The following instructions Increment HL and IX and test the different operating parameters specific to the first mP3.1 circuit
Successive circuits are activated in the same way as the first with an offset corresponding to the number of cycles during which MUX1.1 will be used by the first circuit.

Chaque instruction MUX est suivie d'une instruction de chargement d'un régistre .Ce n'est que lorsque cette instruction est exécutée que le multiplexeur devient libre pour le circuit suivant. Each MUX instruction is followed by a register loading instruction. It is only when this instruction is executed that the multiplexer becomes free for the next circuit.

Il doit donc y avoir nécessairement entre deux MUX identiques de deux circuits successifs un décalage correspondant à la durée de l'instruction suivant ces
MUX . Ce décalage est indispensable pour éviter un conflit d'accès aux multiplexeurs
Or les instructions LD C,(HL) et LD (DE),A durent 7 périodes , (deux cycles) alors que les instructions LD A,(lX+dl) et LD E, < lX+d2) durent 19 périodes (5 cycles)
La succession des instructions MUX.1 de branchement à l'ordinateur conditionnent la vitesse de transfert de l'ordinateur vers le module.
There must therefore necessarily be between two identical MUXs of two successive circuits an offset corresponding to the duration of the instruction following these
MUX. This offset is essential to avoid a conflict of access to the multiplexers
Now the instructions LD C, (HL) and LD (DE), A last 7 periods, (two cycles) while the instructions LD A, (lX + dl) and LD E, <lX + d2) last 19 periods (5 cycles)
The succession of MUX.1 instructions for connection to the computer conditions the speed of transfer from the computer to the module.

L'instruction MUX1.2 du circuit mP3.2 doit donc suivre immédiatement, suivant l'invention, ,l'instruction de transfert LD C,(HL) du circuit mP3.1 suivant l'instruction MUX1.1 du dit circuit mP3.1
Les algorythmes décalés des deux premiers circuits montrent alors, figure 13A que l'instruction MUX2.2 du second circuit est lancée avant que l'instruction LD A,(lX+d1) du premier circuit soit terminée.
The instruction MUX1.2 of the circuit mP3.2 must therefore immediately follow, according to the invention, the transfer instruction LD C, (HL) of the circuit mP3.1 according to the instruction MUX1.1 of the said circuit mP3. 1
The offset algorithms of the first two circuits then show, in FIG. 13A, that the instruction MUX2.2 of the second circuit is launched before the instruction LD A, (lX + d1) of the first circuit is completed.

En éffet,l'instruction LD A,(lX+d1) dure 12 périodes d'horloge de plus que l'instruction LD C,(HL) .Le même décalage existe entre MUX3.2 et MUX3.1, alors que MUX4.2 et MUX4.1 sont synchronisées. In fact, the instruction LD A, (lX + d1) lasts 12 clock periods longer than the instruction LD C, (HL). The same offset exists between MUX3.2 and MUX3.1, while MUX4. 2 and MUX4.1 are synchronized.

Une première solution, suivant l'invention, (fig 15) ,consiste à placer avant MUX2.2 3 instructions NOP de 4 périodes qui compensent le décalage de 12 T de façon à conserver la durée minimum d'utilisation du multiplexeur MUX.1 de 10+7=17 périodes pour chaque circuit. A first solution, according to the invention, (fig 15), consists in placing before MUX2.2 3 NOP instructions of 4 periods which compensate for the offset of 12 T so as to keep the minimum duration of use of the MUX.1 multiplexer of 10 + 7 = 17 periods for each circuit.

Les mêmes circonstances se produisant entre le troisièmme et le second circuit, il faudra ajouter 3 nouveaux NOP suivant l'invention, au programme du troisiemme circuit et ainsi de suite . Le circuit n doit donc recevoir avant l'instruction MUX2.n, (n-1)3 NOP. The same circumstances occurring between the third and the second circuit, it will be necessary to add 3 new NOPs according to the invention, to the program of the third circuit and so on. Circuit n must therefore receive before the instruction MUX2.n, (n-1) 3 NOP.

Pour maintenir égales les durées des programmes des circuits, on ajoute , suivant l'invention, des NOP avant l'instruction de début de cycle MUX.i
Le nombre de NOP ajoutés au premier circuit sera (ne1)3, au second circuit (n-2)3 et ainsi de suite.
To keep the durations of the circuit programs equal, NOPs are added according to the invention before the instruction to start the cycle MUX.i
The number of NOPs added to the first circuit will be (ne1) 3, to the second circuit (n-2) 3 and so on.

Une seconde solution suivant l'invention, (fig 14B) , consiste à ajouter 3
NOP à l'instruction MUX1 de façon à ce que toutes les instructions suivant les MUX aient la même durée.
A second solution according to the invention, (fig 14B), consists in adding 3
NOP to instruction MUX1 so that all instructions following MUX have the same duration.

La durée d'utilisation de MUX1 devient alors 17+12=29 périodes pour chaque circuit, et la vitesse de transfert-décodage est diminuée dans le rapport 17129.  The duration of use of MUX1 then becomes 17 + 12 = 29 periods for each circuit, and the transfer-decoding speed is reduced in the report 17129.

Une troisiemme solution suivant l'invention, ,(fig 14A et fig 16), consiste à doubler les multiplexeurs MUX2 et MUX3 ainsi que les blocs de décodage B1 et B2 qui leurs sont liés . On sttribue alors suivant l'invention, le multiplexeur MUX2A aux circuits impairs et MUX2B aux circuits pairs , par exemple , et de même pour les multiplexeurs MUX3A et MUX3B.  A third solution according to the invention, (FIG. 14A and FIG. 16), consists in doubling the multiplexers MUX2 and MUX3 as well as the decoding blocks B1 and B2 which are linked to them. We then distribute according to the invention, the multiplexer MUX2A to the odd circuits and MUX2B to the even circuits, for example, and the same for the multiplexers MUX3A and MUX3B.

Entre deux utilisations du même multiplexeur MUX2A ou MUX2B il y a deux utilisations du multiplexeur principal MUXI soit une durée de 1 7x2-34 périodes Cette durée est supérieure à la durée d'utilisations des MUX2 et MUX3 de 19+10=29 périodes.  Between two uses of the same MUX2A or MUX2B multiplexer there are two uses of the main MUXI multiplexer, ie a duration of 1 7x2-34 periods This duration is greater than the duration of use of MUX2 and MUX3 by 19 + 10 = 29 periods.

La durée de la pseudo-instruction MUX a été fixée arbitrairement à 10 périodes. The duration of the MUX pseudo-instruction has been arbitrarily fixed at 10 periods.

On peut montrer que le simple doublement des MUX2 et MUX3 suivant l'invention suffit en général à assurer la synchronisations des MUX même pour des valeurs différentes de la durée des MUX . En effet , soit t cette durée de MUX; on doit avoir (t+7)2 > t+19, soit > t 5 périodes . Cette durée étant faible , il n'est pas intéressant dans la plus part des cas de tripler les MUX2 et MUX3 , le gain de vitesse en résultant étant tres faible. It can be shown that the simple doubling of the MUX2 and MUX3 according to the invention is generally sufficient to ensure synchronization of the MUX even for values different from the duration of the MUX. Indeed, let t be this duration of MUX; we must have (t + 7) 2> t + 19, i.e.> t 5 periods. This duration being short, it is not interesting in most cases to triple the MUX2 and MUX3, the resulting gain in speed being very small.

Mais le triplement des multiplexeurs MUX2 et MUX3 est une solution. But tripling the MUX2 and MUX3 multiplexers is one solution.

suivant l'invention, dans le cas où la durée de l'instruction MUX est telle que le doublement n'assure pas l'utilisation maximum du multiplexeur MUX1 et donc la vitesse de tansfert maximum. according to the invention, in the case where the duration of the MUX instruction is such that the doubling does not ensure the maximum use of the multiplexer MUX1 and therefore the maximum transfer speed.

La troisiemme solution suivant l'invention, doublement ou triplement de
MUX2 et MUX3 permet la vitesse maximum avec un nombre faible de circuits mP3 .
The third solution according to the invention, doubling or tripling of
MUX2 and MUX3 allow maximum speed with a small number of mP3 circuits.

En effet ce nombre de circuits permettant la vitesse maximum dépend de la durée de chaque cycle principal de mP3 et doit être égal à la durée du cycle principal de transfert décodage hors cycle de tests divisée par la durée d'utilisation du multiplexeur MUX1 . La durée du cycle principal est dans l'exemple de 135 périodes Dans la première solution ,suivant l'invention, où l'on ajoute des NOP aux cycles des circuits , il y aura une durée de base de 135 périodes + la durée des
NOP égale à (n-1)x3x4-(n-1)12 périodes . la durée totale D est donc D-123+12n .La durée d'utilisation de MUX1 étant de 17 périodes, il faut n circuits tels que n=(123+12n)/17, et n-12315-24,6 soit 25 circuits , alors que le nombre minimum de circuits dans la solution 3 suivant l'invention, est de 135/17-7,94 soit 8 circuits .Les nombres fractionnaires obtenus montrent qu'il faut ajouter dans les circuits des NOP de façon à obtenir des nombres entiers . On doit avoir 1 7x8-136 périodes . Il manque une période par cycle pour obtenir 8 circuits. Un NOP ayant une durée de 4 périodes ,un NOP tous les 4 circuits apportera la correction suffisante.
Indeed, this number of circuits allowing the maximum speed depends on the duration of each main cycle of mP3 and must be equal to the duration of the main decoding transfer cycle outside the test cycle divided by the duration of use of the multiplexer MUX1. The duration of the main cycle is in the example of 135 periods In the first solution, according to the invention, where NOPs are added to the cycles of the circuits, there will be a basic duration of 135 periods + the duration of the
NOP equal to (n-1) x3x4- (n-1) 12 periods. the total duration D is therefore D-123 + 12n. The duration of use of MUX1 being 17 periods, n circuits such as n = (123 + 12n) / 17, and n-12315-24.6 or 25 are required circuits, while the minimum number of circuits in solution 3 according to the invention is 135 / 17-7.94 or 8 circuits. The fractional numbers obtained show that NOPs must be added to the circuits in order to obtain whole numbers. There must be 1 7x8-136 periods. One period per cycle is missing to obtain 8 circuits. A NOP having a duration of 4 periods, a NOP every 4 circuits will bring sufficient correction.

Dans la solution 2 où l'on ajoute 3 NOP à la durée d'utilisation de MUX1 ,cette durée devient 17+12-29 la durée du cycle principal 135+12=147 , et le
nombre de circuits 147/29=5.06 soit 6 , mais avec une vitesse de transfert diminuée dans le rapport 17129.
In solution 2 where 3 NOP are added to the duration of use of MUX1, this duration becomes 17 + 12-29 the duration of the main cycle 135 + 12 = 147, and the
number of circuits 147/29 = 5.06 or 6, but with a reduced transfer speed in the report 17129.

Une quatriemme solution , suivant l'invention, consiste à remplacer les instructions LD A,(IX+d1) et LD E,(IX+d2) de 19 périodes par les instructions LD A,(nn) de 13 périodes . Suivant l'invention, un circuit mP4 charge à des adresses fixes n0n0 et p0p0 les octets successifs du bloc d'adresses et du bloc de décodage des octets . L'instruction LD A,(nOnO) est suivie de l'instruction LD D,A . A fourth solution, according to the invention, consists in replacing the instructions LD A, (IX + d1) and LD E, (IX + d2) of 19 periods by the instructions LD A, (nn) of 13 periods. According to the invention, a circuit mP4 loads at fixed addresses n0n0 and p0p0 the successive bytes of the address block and the byte decoding block. The instruction LD A, (nOnO) is followed by the instruction LD D, A.

Les multiplexeurs MUX2 et MUX3 sont utilisés ainsi pendant 10+13=23 périodes au lieu de 10+19=29 périodes . Il y a un gain de 2x6-12 périodes et donc moins de NOP et moins de circuits. Multiplexers MUX2 and MUX3 are used for 10 + 13 = 23 periods instead of 10 + 19 = 29 periods. There is a gain of 2x6-12 periods and therefore less NOP and fewer circuits.

On peut également, suivant l'invention , combiner les solutions précédentes suivant les impératifs de vitesse et de prix. It is also possible, according to the invention, to combine the previous solutions according to the requirements of speed and price.

Lorsque le cycle principal de chaque circuit a été effectué le nombre de fois voulu . c'est à dire lorsque le régistre B est à 0, le circuit effectue, suivant l'invention r un cycle de tests des instructions de mP2 microprocesseur principal du module.  When the main cycle of each circuit has been performed the number of times desired. that is to say when the register B is at 0, the circuit performs, according to the invention r a test cycle of the instructions of the main microprocessor of the module.

Au cours de ce cycle de tests , chaque circuit doit effectuer des lectures en RAM module et donc utiliser des multiplexeurs pour lesquels les conflits d'accès peuvent être résolus de la même mannière que pour le cycle principal Il faut attendre d'abord que le dernier circuit ait liberé le multiplexeur MUX2, ou MUX2A. During this test cycle, each circuit must carry out readings in module RAM and therefore use multiplexers for which access conflicts can be resolved in the same way as for the main cycle. We must first wait until the last circuit has released the multiplexer MUX2, or MUX2A.

Le cycle de tests commence donc lorsque le dernier circuit mP3 a terminé l'utilisation du multiplexeur MUX2 ou MUX2A dans son cycle principal. The test cycle therefore begins when the last circuit mP3 has finished using the MUX2 or MUX2A multiplexer in its main cycle.

Suivant le nombre de circuits on fait précéder, suivant l'invention, les instructions
MUX2 ou MUX2A et MUX3 ou MUX3A d'un certain nombre de NOP d'attente . Le déroulement de l'utilisation des multiplexeurs se fera ensuite comme pour le cycle principal.
According to the number of circuits, the instructions are preceded, according to the invention
MUX2 or MUX2A and MUX3 or MUX3A of a number of waiting NOPs. The course of the use of the multiplexers will then be done as for the main cycle.

La seconde solution, suivant l'invention, . consiste à utiliser dans le cycle de tests,des multiplexeurs supplémentaires ,MUX9 MUX10, MUX11 ayant les mêmes fonctions que MUX2 et MUX3. Il n'y a pas de NOP supplémentaire entre le cycle principal et le cycle de tests mais seulement des NOP comme précédament pendant ce cycle de tests. The second solution, according to the invention,. consists in using in the test cycle, additional multiplexers, MUX9 MUX10, MUX11 having the same functions as MUX2 and MUX3. There is no additional NOP between the main cycle and the test cycle but only NOPs as before during this test cycle.

Dans toutes les solutions précédentes aux conflits d'accès on a supposé la synchronisation des circuits et réglé les conflits de façon rigide à t'aide de
NOP.
In all the previous solutions to access conflicts, we have assumed the synchronization of the circuits and settled the conflicts rigidly using
NOP.

Un autre type de solution aux conflits d'accès, suivant l'invention, consiste à introduire des drapeaux, et des Instructions de test de ces drapeaux, dans des cycles de tests placés aux emplacements précédents des NOP . De cette façon, les circuits testeront eux même la disponibilité des multiplexeurs sources de conflits. Another type of solution to access conflicts, according to the invention, consists in introducing flags, and Test Instructions for these flags, in test cycles placed at the previous locations of the NOPs. In this way, the circuits will test themselves the availability of the multiplexers sources of conflicts.

Pour pouvoir utiliser la RAM module avec le maximum de souplesse, une partie de cette RAM est constituée, suivant l'invention, ,de RAM élémentaires de 2'^n octets , soit 256 octets dans notre exemple dans le cas où le transfert se fait par blocs de 256 octets. To be able to use the RAM module with the maximum flexibility, a part of this RAM is made up, according to the invention, of elementary RAM of 2 '^ n bytes, that is to say 256 bytes in our example in the case where the transfer is made in blocks of 256 bytes.

Ces RAM indépendantes recoivent le programme décodé par mP3 et sont lues ensuite par mP2 . De cette façon chaque RAM élémentaire RAMCHAR sera alternativement écrite par mP3 et lue par mP2 suivant les besoins de mP2 . La partie de la RAM module consacrée au stockage des blocs de programme apparaitra donc comme simultanément lue et écrite grace à sa décomposition partielle en blocs indépendants. These independent RAMs receive the program decoded by mP3 and are then read by mP2. In this way each RAMCHAR elementary RAM will be alternately written by mP3 and read by mP2 according to the needs of mP2. The part of the module RAM dedicated to the storage of program blocks will therefore appear to be simultaneously read and written thanks to its partial decomposition into independent blocks.

Des circuits spécialisés, suivant les règles de l'art, controleur de
RAM ,logiques de sélection multiplexeurs, cette liste n'étant pas limitative assurent le fonctionnement de l'ensemble sous le controle de mP2 et mP3 .
Specialized circuits, following the rules of the art, controller of
RAM, multiplexer selection logic, this list is not exhaustive ensuring the operation of the assembly under the control of mP2 and mP3.

Les bus d'adresses et de données de l'ordinateur sont séparés avant leurs arrivées sur MUX1 afin de disposer sur le bus d'adresses des circuits interdisant de façon statique le fonctionnement du bus d'adresses de l'ordinateur vers le module
et permettant son fonctionnement du module vers l'ordinateur.
The address and data buses of the computer are separated before their arrival on MUX1 in order to have circuits on the address bus which statically prohibit the operation of the address bus from the computer to the module.
and allowing its operation from the module to the computer.

La fig 16 montre la disposition schématique du module suivant l'invention , dans le cas de l'existence de 7 multiplexeurs de transfert décodage et d'un multiplexeur supplémentaire MUX8 permettant à mP2 de controler le signal d'horloge des circuits mP3 .  FIG. 16 shows the schematic arrangement of the module according to the invention, in the case of the existence of 7 decoding transfer multiplexers and an additional multiplexer MUX8 allowing mP2 to control the clock signal of the circuits mP3.

Chaque circuit mP3 suivant l'invention, est relié par ses 3 bus à chacun des multiplexeurs MUXI MUX4, et par son bus de commande seulement à
MUX7.
Each mP3 circuit according to the invention is connected by its 3 buses to each of the MUXI MUX4 multiplexers, and by its control bus only to
MUX7.

Si les multiplexeurs MUX2 et MUX3 sont doubles et s'il existe un multiplexeur MUX5 , les circuits pairs sont reliés à MUX2A et MUX3A , par exemple et les impairs å MUX2B , MUX3B et MUX5.  If the multiplexers MUX2 and MUX3 are double and if there is a multiplexer MUX5, the even circuits are connected to MUX2A and MUX3A, for example and the odd ones å MUX2B, MUX3B and MUX5.

Une partie de la R AM module est au moins constituée de quatre RAM indépendantes d'une capacité égale à 2e*n et en particulier 256 chacune de ces
RAM pouvant être lue ou écrite alternativement par mP2 et mP3 , ou simultanémént l'une écrite par mP3 et l'autre lue par mP2 , deux de ces RAM recevant les octets décodés du programme et les deux autres , appelées bloc de décodage des octets et bloc de décodage des adresses recevant, la première des octets de décodage qui combinés aux octets codés redonneront les octets clairs, et l'autre recevant les adresses de la RAM module aux quelles doivent être logés les dits octets décodés.
Part of the R AM module consists of at least four independent RAMs with a capacity equal to 2e * n and in particular 256 each of these
RAM can be read or written alternately by mP2 and mP3, or simultaneously one written by mP3 and the other read by mP2, two of these RAM receiving the decoded bytes of the program and the other two, called byte decoding block and decoding block of the receiving addresses, the first of the decoding bytes which combined with the coded bytes will restore the clear bytes, and the other receiving the addresses of the module RAM to which the said decoded bytes must be housed.

Claims (24)

RevendicationsClaims 1 Dispositif appelé module de transfert décodage ou simplement module, caractérisé en ce que sont inclus dans une enveloppe rigide scellée et inviolable, et communiquant avec l'extérieur par des pattes à souder ou des broches les circuits internes essentiels d'un ordinateur, microprocesseur mP2 , ROM, 1 Device called decoding transfer module or simply module, characterized in that are included in a rigid sealed and inviolable envelope, and communicating with the outside by soldering tabs or pins the essential internal circuits of a computer, microprocessor mP2 , ROM, EPROM éventuellement RAM dynamique ou statique ,(.et les circuits annexes indispensables suivant les règles de l'art au bon fonctionnement des autres) , le microprocesseur mP2 étant identique à celui mPt équipant ltordinateur auquel est relié le dit module ,ou compatible avec le dit microprocesseur mPî , des clés secrètes et des programmes de décodage secrets , inscrits en ROM ou chargés enEPROM possibly dynamic or static RAM, (. And the auxiliary circuits essential according to the rules of the art for the proper functioning of others), the microprocessor mP2 being identical to that mPt equipping the computer to which the said module is connected, or compatible with the said microprocessor mPî, secret keys and secret decoding programs, written in ROM or loaded in EPROM, et caractérisé également en ce qu'il se substitue aux circuits équivalents deEPROM, and also characterized in that it replaces the equivalent circuits of I' ordinateur au quel il est relié ou dans lequel il est inclus, pour traiter, à la place du dit ordinateur et à l'aide de programmes chargés en ROM ou en EPROM, apres les avoir transferts , décodés et chargés dans sa RAM propre des programmes ou des fichiers codés, ou des éléments de programmes ou de fichiers codés situés en RAM de I' ordinateur ou en mémoire de masse de ce dit ordinateur, qui ne peut les utiliser car il n'en possède pas les clés et programmes de décodage.I computer to which it is connected or in which it is included, to process, in place of said computer and using programs loaded in ROM or EPROM, after having transferred, decoded and loaded in its own RAM coded programs or files, or program or coded file elements located in the computer's RAM or in the mass memory of said computer, which cannot use them because it does not have the keys and programs for them. decoding. 2 Dispositif selon 1 caractérisé en ce qu'il existe une ou plusieurs fenêtres transparentes aux UV disposées dans la paroi de l'enceinte du module. 2 Device according to 1 characterized in that there are one or more windows transparent to UV disposed in the wall of the enclosure of the module. 3 Dispositif selon 1 caractérisé en ce que un circuit spécialisé mP3, controlé par mP2 mais pouvant fonctionner simultanément, procède au transfert, au décodage et au chargement en RAM module des octets codés se trouvant en mémoire de l'ordinateur et en ce que un multiplexeur MUX1 permet les liaisons alternativement de mP2 et mP3 avec l'ordinateur et sa mémoire. 3 Device according to 1 characterized in that a specialized circuit mP3, controlled by mP2 but able to operate simultaneously, proceeds to the transfer, decoding and loading into RAM module of the coded bytes located in the computer memory and in that a multiplexer MUX1 allows the links between mP2 and mP3 alternately with the computer and its memory. 4 Dispositif selon i et 3 caractérisé en ce que une partie de la RAM module est au moins constituée de quatre RAM indépendantes d'une capacité égale à une puissance de 2 et en particulier 256, chacune de ces RAM pouvant être lue ou écrite alternativement par mP2 et mP3 ou simultanément l'une écrite par mP3 et l'autre lue par mP2 ,deux de ces RAM recevant les octets décodés du programme et les deux autres appelées bloc de décodage des octets et bloc de décodage des adresses recevant, la premiere des octets de décodage qui combinés aux octets codés redonneront les octets clairs ,et l'autre recevant les adresses de la RAM module aux quelles doivent doivent être logés les dits octets décodés. 4 Device according to i and 3 characterized in that a part of the RAM module is at least made up of four independent RAMs with a capacity equal to a power of 2 and in particular 256, each of these RAMs being able to be read or written alternately by mP2 and mP3 or simultaneously one written by mP3 and the other read by mP2, two of these RAM receiving the decoded bytes of the program and the other two called byte decoding block and address decoding block receiving, the first of decoding bytes which combined with the coded bytes will give back clear bytes, and the other receiving the addresses of the RAM module to which must be accommodated the said decoded bytes. 5 Dispositif selon 1 et 3 caractérisé en ce que le microprocesseur mP3 est constitué de n circuits identiques mP3.i fonctionnant en parallèle, et recevant le même signal d'horloge, et caractérisé également en ce que des multiplexeurs MUXI MUX2 , MUX3 et MUX4, MUX2 et MUX3 pouvant être doubles, permettent les branchements successifs des mP3i respectivement au bus de l'ordinateur, au bloc de décodage des octets B1 pouvant être double, au bloc de décodage des adresses B2, pouvant être double et aux RAM ou sont chargées les octets décodés dans le module. 5 Device according to 1 and 3 characterized in that the microprocessor mP3 consists of n identical circuits mP3.i operating in parallel, and receiving the same clock signal, and also characterized in that multiplexers MUXI MUX2, MUX3 and MUX4, MUX2 and MUX3 can be double, allow the successive connections of the mP3i respectively to the computer bus, to the block for decoding bytes B1 which can be double, to the block for decoding addresses B2, which can be double and to the RAMs or are loaded the bytes decoded in the module. 6 Dispositif selon 1 et 4 caractérisé en ce que les blocs de décodage B1 et B2 de 2**n octets sont chargés par mP2 des différentes valeurs possibles de 1 à 2"n et en particulier 255 ces valeurs étant distribuées dans les blocs par un programme de codage réagissant à une suite de bits venant de l'extérieur du module et cette distribution pouvant être la même ou différente pour les deux blocs , les octets du premier blocs étant considérés comme des nombres qui combinés aux octets à décoder considérés également comme des nombres, fournissent les octets clairs et les octets du second bloc étant les adresses aux quelles doivent être chargés en RAM module les octets clairs précédement décodés et précédement lus en mémoire du micro dans l'ordre croissant des adresses , ordre dans lequel sont également lus les blocs de décodage B1 et B2 pour assurer la coibcldence des octets codés et des octets de décodage et d'adressage .  6 Device according to 1 and 4 characterized in that the decoding blocks B1 and B2 of 2 ** n bytes are loaded by mP2 with the different possible values from 1 to 2 "n and in particular 255 these values being distributed in the blocks by a coding program reacting to a series of bits coming from outside the module and this distribution being able to be the same or different for the two blocks, the bytes of the first block being considered as numbers which combined with the bytes to be decoded also considered as numbers, provide the clear bytes and the bytes of the second block being the addresses to which they must be loaded in RAM modulates the clear bytes previously decoded and previously read in memory of the microphone in ascending order of the addresses, order in which are also read decoding blocks B1 and B2 to ensure the coherence of the coded bytes and the decoding and addressing bytes. 7 Dispositif selon 4 et 6 caractérisé en ce que la combinaison transformant les octets codés en octets clairs est l'addition des octets du bloc de décodage B1 aux octets codés dans le cas ou le codage aurait été fait par la soustraction des dits octets et par une soustraction dans le cas contraire .  7 Device according to 4 and 6 characterized in that the combination transforming the coded bytes into clear bytes is the addition of the bytes of the decoding block B1 to the coded bytes in the case where the coding was done by subtracting said bytes and by otherwise a subtraction. 8 Dispositif suivant 1 et 4 caractérisé en ce que un ou deux octets des biocs codés de 2**n octets dans l'ordinateur, contiennent un numero d'ordre de 1 à 256 ou de 1 à 64K qui, interprété par mP2 détermine une redistribution des octets des blocs B1 et B2 pour les rendre conformes à la distribution utilisée pour le codage et caractérisée par le numéro d'ordre , ces distributions se substituant ou se superposant aux distributions de codage initiales . 8 Device according to 1 and 4 characterized in that one or two bytes of biocs coded from 2 ** n bytes in the computer, contain a sequence number from 1 to 256 or from 1 to 64K which, interpreted by mP2 determines a redistribution of the bytes of blocks B1 and B2 to make them conform to the distribution used for coding and characterized by the serial number, these distributions replacing or superimposing on the initial coding distributions. 9 Dispositif selon 1 caractérisé en ce que (fig 10) le programme de décodage s'écrit , en utilisant , à titre de language symbolique, les instructions du microprocesseur Z80 universellement connues , et représentant parfaitement pour l'homme de l'art l'algorythme suivi LD C,(HL)~LD A,(IX+d1)~~ADD A,C~LD E,(IX+d2)~LC (DE),A~INC HL~INC IX~DJNZ e~LD HL,mm~BIT b,(HL)~~JRNZ e~JP pq--LD HL,(nn)~~LD DE,(pp)~LD IX,(qq)~LD BC,(rr)~~JP pq, le microprocesseur mP2 chargeant aux adresses mm, nn , pp qq, rr , respectivement un bit b drapeau une adresse initiale de bloc codé en mémoire micro, une adresse initiale de bloc décodé en RAM module ,l'adresse Initiale en blocs de codage et la valeur d'initialisation de B . 9 Device according to 1 characterized in that (fig 10) the decoding program is written, using, as symbolic language, the instructions of the microprocessor Z80 universally known, and representing perfectly for those skilled in the art the algorithm followed by LD C, (HL) ~ LD A, (IX + d1) ~~ ADD A, C ~ LD E, (IX + d2) ~ LC (DE), A ~ INC HL ~ INC IX ~ DJNZ e ~ LD HL, mm ~ BIT b, (HL) ~~ JRNZ e ~ JP pq - LD HL, (nn) ~~ LD DE, (pp) ~ LD IX, (qq) ~ LD BC, (rr) ~~ JP pq, the microprocessor mP2 loading at the addresses mm, nn, pp qq, rr, respectively a bit b flag an initial address of block coded in micro memory, an initial address of block decoded in RAM module, the Initial address in coding blocks and the initialization value of B. 10 Dispositif selon 5 caractérisé en ce que chaque circuit mP3.l obéit au même programme de transfert décodage décalé dans le temps d'un circuit à l'autre et comportant des pseudo instructions d'activation des multiplexeurs MUXI MUX2, ,MUX3 , MUX4 et des instructions NOP , de 1 cycle machine ou 4 périodes d'horloge, placées et avant l'instruction MUX1 au nombre de (n-1)u au premier circuit < n-2)u au second et ainsi de suite , et , avant la pseudo Instruction MUX2, au nombre de (n-1)u pour le circuit n (n-2)u, pour le circuit n-1, et ainsi de suite, u étant le nombre d'instructions NOP nécessaires pour compenser la différence de durée entre le durée de l'instruction la plus courte suivant une instruction MUX . ici l'instruction LDC C,(HL) de 2 cycles ou 7 périodes d'horloge et l'instruction la plus longue suivant une autre instruction MUX , Ici L'instruction LD A,(lX+dî) de 5 cycles ou 19 périodes d'horloge . 10 Device according to 5 characterized in that each circuit mP3.l obeys the same decoding transfer program shifted in time from one circuit to another and comprising pseudo activation instructions of the multiplexers MUXI MUX2,, MUX3, MUX4 and NOP instructions, of 1 machine cycle or 4 clock periods, placed and before the instruction MUX1 the number of (n-1) u at the first circuit <n-2) u at the second and so on, and, before the pseudo Instruction MUX2, the number of (n-1) u for the circuit n (n-2) u, for the circuit n-1, and so on, u being the number of NOP instructions necessary to compensate for the difference duration between the duration of the shortest instruction following an MUX instruction. here the instruction LDC C, (HL) of 2 cycles or 7 clock periods and the longest instruction following another MUX instruction, Here The instruction LD A, (lX + dî) of 5 cycles or 19 periods clock. il Dispositif selon 9 caracterisé en ce que les instruction LD A,(lX+dî) et LD E,(lX+d2) de 19 périodes d'horloge sont remplacées par les instructions LDA A.(nn) et LD A,(pp) de 13 périodes d'horloge . (4 cycles) suivies des instructions, hors utilisation du multiplexeur LD D,A. un circuit spécialisé mP4 chargeant aux adresses fixes nOnO et p0p0, les octets successifs des blocs de décodage B1 et B2.  il Device according to 9 characterized in that the instructions LD A, (lX + dî) and LD E, (lX + d2) of 19 clock periods are replaced by the instructions LDA A. (nn) and LD A, (pp ) of 13 clock periods. (4 cycles) followed by instructions, excluding the use of the LD D, A multiplexer. a specialized circuit mP4 loading at the fixed addresses nOnO and p0p0, the successive bytes of the decoding blocks B1 and B2. t2 Dispositif selon 1 caractérisé en ce que un fichier codé est écrit en blocs élémentaires de 2**n octets et en particulier en blocs de 256 octets et stoké sur disquette ou autre mémoire de masse . t2 Device according to 1 characterized in that an encoded file is written in elementary blocks of 2 ** n bytes and in particular in blocks of 256 bytes and stored on floppy disk or other mass memory. 13 Dispositif selon 1 et 12 caractérisé en ce que le codage est effectué dans un bloc de 2**n octets , octet par octet , dans l'ordre de lecture croissant, chaque octet clair étant combiné avec un des octets codeurs tous différents d'un bloc de codage de 2**n octets lus également dans l'ordre croissant, ces octets codeurs chargés dans le bloc de codage ayant été déterminés par un algorythme de codage en fonction d'une suite de bits fournis au dispositif codeur. 13 Device according to 1 and 12 characterized in that the coding is carried out in a block of 2 ** n bytes, byte by byte, in increasing reading order, each clear byte being combined with one of the coding bytes all different from a coding block of 2 ** n bytes also read in ascending order, these coding bytes loaded in the coding block having been determined by a coding algorithm according to a series of bits supplied to the coding device. 14 Dispositif selon I et 12 caractérisé en ce que le codage est effectué dans chaque bloc de 2**n octets clairs en redistribuant les adresses des octets suivant les adresses de 1 à 2**n contenues en desordre dans un bloc codeur de 2**n octets. 14 Device according to I and 12 characterized in that the coding is carried out in each block of 2 ** n clear bytes by redistributing the addresses of the bytes according to the addresses from 1 to 2 ** n contained in disorder in a 2 * coder block * n bytes. 15 Dispositif selon 13 et 14 caractérisé en ce que le codage est effectué dans chaque bloc de 2**n octets en codant individuellement les octets à partir d'un bloc codeur B1 et en les redistribuant ensuite à des adresses différentes suivant les adresses contenues dans un bloc codeur B2 les blocs codeurs B1 et B2 pouvant être identiques ou différents. 15 Device according to 13 and 14 characterized in that the coding is carried out in each block of 2 ** n bytes by individually coding the bytes from an encoder block B1 and then redistributing them to different addresses according to the addresses contained in an encoder block B2 the encoder blocks B1 and B2 can be identical or different. 16 Dispositif selon 1 , 13 et 14 caractérisé en ce que les octets des blocs codeurs B1 et B2 sont créés par un algorythme ou fonction G() en fonction d'une suite K de 2n bits choisis arbitrairement. 16 Device according to 1, 13 and 14 characterized in that the bytes of the coder blocks B1 and B2 are created by an algorithm or function G () as a function of a sequence K of 2n bits chosen arbitrarily. 17 DisposItif selon 1 et 14 caractérisé en ce que l'émetteur et le récepteur disposent d'un algorythme de codage f() qui à partir d'une suite de n bits fournit une suite de n chiffres et d'un algorythme inverse de décodage f-10 qui , à partir de cette suite de n chiffres redonne la suite initiale de n bits. 17 Device according to 1 and 14 characterized in that the transmitter and the receiver have a coding algorithm f () which, starting from a sequence of n bits, provides a sequence of n digits and a reverse algorithm of decoding f-10 which, from this sequence of n digits gives the initial sequence of n bits. 18 Dispositif selon 1 et 14 caractérisé en ce que le fournisseur possède un algorythme de codage F() qui å partir d'une suite de Sn bits propre au dit fournisseur , et d'une suite de n bits propre au module récepteur , engendre une seconde suite de n bits , et en ce que le module récepteur possède l'algorythme inverse de décodage F-i () , qui à partir des deux suites de n bits retrouve la suite initiale de 2n bits. 18 Device according to 1 and 14 characterized in that the supplier has a coding algorithm F () which starting from a series of Sn bits specific to said supplier, and from a series of n bits specific to the receiver module, generates a second sequence of n bits, and in that the receiver module has the reverse decoding algorithm Fi (), which from the two sequences of n bits finds the initial sequence of 2n bits. 19 Dispositif selon 1 caractérisé en ce que le fournisseur et le récepteur possèdent le même algorythme de codage G() utilisant des blocs de codage B1 et B2 b dit aigorythme étant parfaitement défini et applicable par l'homme de l'art à l'ensemble des microprocesseurs, par les instructions suivantes du microprocesseur Z80 , w C,(HL)--LD A,(lX+d1)--SUB A,C--CPL--INC A--LD E,(lX+d2)--LD (DE),A--lNC HL--INC IX--DJNZ e--LD HL,(nn)--LD DE,(pp)--LD 19 Device according to 1 characterized in that the supplier and the receiver have the same coding algorithm G () using coding blocks B1 and B2 b said aigorythm being perfectly defined and applicable by the skilled person to the whole of microprocessors, by the following instructions of microprocessor Z80, w C, (HL) - LD A, (lX + d1) - SUB A, C - CPL - INC A - LD E, (lX + d2) --LD (DE), A - lNC HL - INC IX - DJNZ e - LD HL, (nn) - LD DE, (pp) - LD IX,(qq)--LD BC,(rr)--JP pq, les instructions LD A,(IX+dl) et LD E,(lX+d2) pouvant être inversées et les instructions SUB A,C--CPL--INC A pouvant être ADD A,C ou une instruction ou suite d'instructions codant l'octet clair à partir de l'octet du bloc de codage. IX, (qq) - LD BC, (rr) - JP pq, the instructions LD A, (IX + dl) and LD E, (lX + d2) can be inverted and the instructions SUB A, C - CPL --INC A can be ADD A, C or an instruction or sequence of instructions coding the clear byte from the byte of the coding block. 20 Dispositif selon 1 et 2 caractérisé en ce que le décodage est opéré en deux phases distinctes effectuées préférentiellement par chacun des microprocesseurs mP2 et mP3 du module, dans la première phase les blocs de décodage étant élaborés à partir d'un algorythme G() par le microprocesseur principal mP2 du module et dans la seconde phase ,les octets étant transférés décodés et chargés en RAM module par le microprocesseur spécialisé mP3 du dit module. 20 Device according to 1 and 2 characterized in that the decoding is carried out in two distinct phases preferably carried out by each of the microprocessors mP2 and mP3 of the module, in the first phase the decoding blocks being developed from an algorithm G () by the main microprocessor mP2 of the module and in the second phase, the bytes being transferred decoded and loaded into module RAM by the specialized microprocessor mP3 of said module. 21 Dispositif selon 1 et 2 caractérisé en ce que le fonctionnement de mP3 est controlé par mP2 par l'intermédiaire d'adresses en mémoire micro de début de bloc à décoder, d'adresses de début d'écriture en RAM module du bloc décodé, d'adresses de début de lecture dans les blocs de décodage, adresses que mP2 charge en RAM module à des adresses connues de mP3 et par l'intermédiaire d'un bit b d'adresse connue également de mP3 qui le lit périodiquement dans son cycle d'attenie, et que mP2 met à 1 ou à 0 suivant la nécessité d'un nouveau transfert décodage d'un bloc de mémoire codé de l'ordinateur. 21 Device according to 1 and 2 characterized in that the operation of mP3 is controlled by mP2 by means of addresses in micro memory at the start of the block to be decoded, addresses for the start of writing in RAM module of the decoded block, addresses of start of reading in the decoding blocks, addresses that mP2 loads in RAM module at addresses known to mP3 and via a bit b of address also known to mP3 which reads it periodically in its cycle and that mP2 sets to 1 or 0 depending on the need for a new decoding transfer of a coded memory block from the computer. 22 Dispositif selon 1 2 et 19 caractérisé en ce que lorsque que le bit b est mis à 0 par mP2 ,mP3 demande à mP2 l'interruption de son signal d'horloge, cette demande d'interruption étant transmise par le bus de commande de mP3 et mP2 y répondant en Interrompant le dit signal d'horloge et en ce que mP2 rend à mP3 son signal d'horloge lorsqu'il a chargé de nouvelles adresses et mis le bit b à 1 ies valeurs active ou inactive, pouvant être indifférament 0 ou 1 . 22 Device according to 1 2 and 19 characterized in that when the bit b is set to 0 by mP2, mP3 requests from mP2 the interruption of its clock signal, this request for interruption being transmitted by the control bus of mP3 and mP2 responding to it by interrupting said clock signal and in that mP2 returns to mP3 its clock signal when it has loaded new addresses and set bit b to 1 ies values active or inactive, which can be indifferently 0 or 1. 23 Dispositif selon 1... caractérisé en ce que il y a des instructions d'attente NOP dans l'algorythme de décodage suivant la première solution aux conflits d'accès aux multiplexeurs ,entre la fin du cycle principal du premier circuit et l'instruction de branchement MUX2 du multiplexeur MUX2 du cycle de tests de ce premier circuit, le nombre de NOP correspondant au décalage existant entre la fin de l'utilisation de MUX2 dans le cycle principal du dernier circuit et le début de l'utilisation du même MUX2 dans le cycle de tests du premier circuit, et qu'il y a les mêmes NOP aux mêmes endroits dans les cycles de chaque circuit. 23 Device according to 1 ... characterized in that there are NOP standby instructions in the decoding algorithm according to the first solution to conflicts of access to the multiplexers, between the end of the main cycle of the first circuit and the instruction to connect MUX2 to the multiplexer MUX2 of the test cycle for this first circuit, the number of NOPs corresponding to the difference existing between the end of the use of MUX2 in the main cycle of the last circuit and the start of use of the same MUX2 in the test cycle of the first circuit, and that there are the same NOPs in the same places in the cycles of each circuit. 24 Dispositif selon 1 caractérisé en ce que on dispose des multiplexeurs supplémentaires MUX9 , MUX10 et MUX11 ayant les mêmes fontions que 24 Device according to 1 characterized in that there are additional multiplexers MUX9, MUX10 and MUX11 having the same functions as MUX2 et MUX3 et controlés par les pseudo instructions MUX9 , MUX10 et MUX11 des cycles de tests des circuits mP3 . MUX2 and MUX3 and controlled by the pseudo instructions MUX9, MUX10 and MUX11 of the test cycles of the mP3 circuits. 25 Dispositif selon 1 caractérisé en ce que les blocs de décodage B1 et B2 sont écrits initialement en ROM ou en EPROM , chargés en EPROM ou entrés au clavier de l'ordinateur. 25 Device according to 1 characterized in that the decoding blocks B1 and B2 are written initially in ROM or in EPROM, loaded in EPROM or entered on the computer keyboard. 26 Dispositif selon 1 caractérisé en ce que la création des blocs de codage est faite une seule fois au début de chaque séance de travail. 26 Device according to 1 characterized in that the creation of the coding blocks is done only once at the start of each working session. 27 Dispositif selon 1 caractérisé en ce que les blocs de décodage se déduisent des blocs de codage en ce que chaque adresse contenue du bloc codeur des adresses devient l'adresse contenante du bloc décodeur des adresses à la quelle adresse contenante du bloc décodeur est chargé l'ex adresse contenante du bloc codeur qui devient ainsi l'adresse contenue du bloc décodeur, et en ce que chaque octet du bloc de décodage des octets se met dans le bloc de décodage des octets à l'adresse équivalente donnée par le bloc de codage des adresses. 27 Device according to 1, characterized in that the decoding blocks are deduced from the coding blocks in that each address contained in the address coder block becomes the containing address of the address decoder block at which address containing the decoder block is loaded. 'ex containing address of the coder block which thus becomes the contained address of the decoder block, and in that each byte of the byte decoding block is put in the byte decoding block at the equivalent address given by the coding block addresses. 28 dispositif selon 1 caractérisé en ce que chaque module possède au moins un code interne en ROM ou EPROM de n bits. 28 device according to 1 characterized in that each module has at least one internal code in ROM or EPROM of n bits. 29 Dispositif selon 1 caractérisé en ce que le bus d'adresses et le bus de données de l'ordinateur , s'il sont multiplexés sont démultiplexés, et que sont placés dans le module entre les bornes de sortie et MUXI des circuits de type diode  29 Device according to 1 characterized in that the address bus and the data bus of the computer, if they are multiplexed are demultiplexed, and that are placed in the module between the output terminals and MUXI of diode type circuits interdisant de façon statique et définitive l'adressage de la mémoire du module à partir de l'ordinateur, mais autorisant l'adressage de la mémoire de l'ordinateur à partir du module. statically and definitively prohibiting the addressing of the module memory from the computer, but authorizing the addressing of the computer memory from the module. 30 Dispositif selon 1 à 4 caractérisé en ce que chaque circuit mP3 est relié par ses trois bus à chacun des multiplexeurs MUXI MUX4, et par son bus de commande à MUX7, et que les circuits mP3 pairs sont reliés à MUX2A et#MUX3A, et les impairs à MUX2B , MUX3B et MUX5 , ou inversement, dans le cas où les circuits 30 Device according to 1 to 4 characterized in that each mP3 circuit is connected by its three buses to each of the MUXI MUX4 multiplexers, and by its control bus to MUX7, and that the even mP3 circuits are connected to MUX2A and # MUX3A, and odd at MUX2B, MUX3B and MUX5, or vice versa, in the case where the circuits MUX2 et MUX3 sont doublés.MUX2 and MUX3 are doubled. 31 Dispositif selon i 4 et 15 caractérisé en ce que il y a autant de  31 Device according to i 4 and 15 characterized in that there are as many RAM indépendantes appellées RAMCODE comprenant le bloc de décodage des octets Bi le bloc de décodage des adresses B2 et les octets d'initialisation INIT qu'il y a de circuits mP3. Independent RAMs called RAMCODE comprising the block for decoding bytes Bi, the block for decoding addresses B2 and the initialization bytes INIT that there are circuits mP3. 32 Dispositif selon 1, 4 et 15 caractérisé en ce que chaque RAMCODE est reliée par son bus à un multiplexeur particulier MUX2.i et en ce que chaque multiplexeur MUX2.1 est relié par le dit bus précédent à une RAMCODE ,par un second bus à un circuit mP3 et par un troisièmme bus | au bus général du module 32 Device according to 1, 4 and 15 characterized in that each RAMCODE is connected by its bus to a particular multiplexer MUX2.i and in that each multiplexer MUX2.1 is connected by said previous bus to a RAMCODE, by a second bus to an mP3 circuit and a third bus | to the general module bus BUSMODULE.BUSMODULE. 33 Dispositif selon 1 , 4 , 31 et 32 caractérisé en ce que chaque circuit mP3 est relié par ses trois bus, au multiplexeur MUX1 assurant sa liaison avec l'ordinateur, au multiplexeur MUX4 assurant sa liaison avec les RAM module de chargement des octets#décodés, et à un multiplexeur MUX2.i assurant sa liaison avec une RAM RAMCODE indépendante contenant les blocs de décodage B1 et B2 et les octets d'initialisation, et par son seul bus de commande au multiplexeur MUX8 assurant la liaison de son bus de commande avec mP2 .  33 Device according to 1, 4, 31 and 32 characterized in that each mP3 circuit is connected by its three buses, to the MUX1 multiplexer ensuring its connection with the computer, to the MUX4 multiplexer ensuring its connection with the RAM byte loading module # decoded, and to a MUX2.i multiplexer ensuring its connection with an independent RAMCODE RAM containing the decoding blocks B1 and B2 and the initialization bytes, and by its only control bus to the MUX8 multiplexer ensuring the connection of its control bus with mP2. 34 Dispositif selon 1 , 4 et 5 caractérisé en ce que le multiplexeur 34 Dispositif selon 1 4 et 6 caractérisé en ce que le multiplexeur  34 Device according to 1, 4 and 5 characterized in that the multiplexer 34 Device according to 1 4 and 6 characterized in that the multiplexer MUX4 possède un bus propre de sortie BUSMUX4 sur lequel sont branchés les multiplexeurs MUX4.1 contrôlant les accès åux RAM de chargement indépendantesMUX4 has its own BUSMUX4 output bus to which are connected the MUX4.1 multiplexers controlling access to independent load RAM RAMCHAR .RAMCHAR. 35 Dispositif selon 1 et 34 caractérisé en ce que des multiplexeurs  35 Device according to 1 and 34 characterized in that multiplexers MUX4.1 sont branchés en entrée sur le bus général BUSMODULE et sur le bus BUSMUX4 du multiplexeur MUX4 ,et en sortie sur une RAM de chargement indépendante RAMCHAR.MUX4.1 are connected at the input to the general BUSMODULE bus and at the BUSMUX4 bus of the MUX4 multiplexer, and at the output to an independent RAMCHAR loading RAM. 36 Dispositif selon 1 caractérisé en ce que existent des drapeaux et quedes instructions de test de ces drapeaux sont placés dans les programmes de contrôle des mP3 aux emplacements des NOP.  36 Device according to 1, characterized in that flags exist and that test instructions for these flags are placed in the mP3 control programs at the locations of the NOPs.
FR8903081A 1989-03-09 1989-03-09 DEVICE FOR TRANSFERRING DECODING CODING OF COMPUTER FILES Expired - Fee Related FR2644261B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR8903081A FR2644261B1 (en) 1989-03-09 1989-03-09 DEVICE FOR TRANSFERRING DECODING CODING OF COMPUTER FILES
PCT/FR1990/000166 WO1990010908A1 (en) 1989-03-09 1990-03-09 Data processing device for the security of copyrights

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8903081A FR2644261B1 (en) 1989-03-09 1989-03-09 DEVICE FOR TRANSFERRING DECODING CODING OF COMPUTER FILES

Publications (2)

Publication Number Publication Date
FR2644261A1 true FR2644261A1 (en) 1990-09-14
FR2644261B1 FR2644261B1 (en) 1994-06-10

Family

ID=9379520

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8903081A Expired - Fee Related FR2644261B1 (en) 1989-03-09 1989-03-09 DEVICE FOR TRANSFERRING DECODING CODING OF COMPUTER FILES

Country Status (1)

Country Link
FR (1) FR2644261B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2529000A1 (en) * 1982-06-16 1983-12-23 Open Computer Services Ltd METHOD AND DEVICE FOR PROTECTING COMPUTER SOFTWARE
EP0175487A2 (en) * 1984-08-23 1986-03-26 Btg International Limited Software protection device
FR2608317A1 (en) * 1986-12-15 1988-06-17 Dassault Electronique Integrated circuit protected by a resin

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2529000A1 (en) * 1982-06-16 1983-12-23 Open Computer Services Ltd METHOD AND DEVICE FOR PROTECTING COMPUTER SOFTWARE
EP0175487A2 (en) * 1984-08-23 1986-03-26 Btg International Limited Software protection device
FR2608317A1 (en) * 1986-12-15 1988-06-17 Dassault Electronique Integrated circuit protected by a resin

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COMMUNICATIONS OF THE ACM, vol. 17, no. 8, août 1974, pages 437-442, Association for Computing Machinery Inc.; A. EVANS, Jr. et al.: "A user authentication scheme not requiring secrecy in the computer" *

Also Published As

Publication number Publication date
FR2644261B1 (en) 1994-06-10

Similar Documents

Publication Publication Date Title
US6779114B1 (en) Tamper resistant software-control flow encoding
EP0443679B1 (en) Method of calculating an operation of the type A.X modulo N in a coding method according to the RSA method
CA2034002C (en) Method and system for checking the integrity of a software or of data
FR2598835A1 (en) DATA STACK BLOCK STACKED ON A MICROPROCESSOR CHIP
FR2779850A1 (en) METHOD AND SYSTEM FOR USING A MICROCIRCUIT CARD IN A PLURALITY OF APPLICATIONS
EP0253722A1 (en) Method for diversifying a basic key and for authenticating a key worked out from a predetermined basic key and system for operation
FR2686171A1 (en) MEMORY MEMORY CARD FOR MICROCOMPUTER WITH FACILITIES FOR EXECUTING INTERNAL PROGRAMS.
EP3503103A1 (en) System comprising a memory suitable for performing computing operations
Iyer et al. Building Games with Ethereum Smart Contracts
CA2014594A1 (en) Portable microcomputer
EP1761835A1 (en) Security module and method of customising one such module
US8923030B2 (en) On-die programmable fuses
FR2728980A1 (en) DEVICE FOR SECURING INFORMATION SYSTEMS ORGANIZED AROUND MICROPROCESSORS
JP2000501541A (en) Unpredictable microprocessor or microcomputer
FR2765363A1 (en) METHOD AND SYSTEM FOR CONTROLLING THE USE OF A SOFTWARE
FR2644261A1 (en) Device for transfer, decoding and coding of computer files
FR2595474A1 (en) DEVICE FOR CHECKING AND VERIFYING THE OPERATION OF INTERNAL BLOCKS IN AN INTEGRATED CIRCUIT
EP0793165A1 (en) Modular arithmetic coprocessor for fast execution of non-modular operations
EP0469507B1 (en) Integrated circuit comprising a standard cell, an application cell and a test cell
FR2674647A1 (en) Apparatus forming an electronic cheque-book for financial transactions and process for using such an apparatus
WO1990010908A1 (en) Data processing device for the security of copyrights
WO1997025668A1 (en) Modular arithmetic coprocessor comprising an integer division circuit
EP1591866B1 (en) Control of execution of an algorithm by an integrated circuit
WO2001097055A1 (en) Synergic computation system
KR101852986B1 (en) Redundant fuse coding

Legal Events

Date Code Title Description
ST Notification of lapse