Brevet FR2580836A1 — publié le 19861024

La présente invention concerne les dispositifs de stockage d'informations contenues dans un ordinateur et elle se rapporte plus particulièrement à un dispositif de stockage d'informations sur mémoires à circuits intégrés à partir d'une source en language évolué interprété. Le développement des machines informatiques a conduit, depuis leur apparition. à mettre au point un grand nombre de dispositifs capables de sauvegarder les informations transmises, produites ou gérées par ces machines. Ces dispositifs, regroupés sous le terme de mémoires, peuvent être décrits suivant différents cri stères caractéristiques de leur aptitude plus ou moins limitée dans le temps ou plus ou moins dépendante de conditions extérieures, à retenir les informations. Les progrès technologiques ont permis le développement de supports magnétiques (bande,cassette, disquette) ainsi que de circuits capables de retenir une information magnétique (tores) puis de supports électroniques mémoire vive (RAM). ou mémoire morte (ROM, PROM. REPROM, EEPROM). Cependant, certains de ces dispositifs de stockage présentent des inconvénients. En effet, les supports magnétiques sont non volatiles mais sont sensibles aux perturbations électromagnétiques. Les supports mémoires vives sont volatiles ce qui nécessite une alimentation permanente et ces supports sont particulièrement sensibles aux perturbations électriques. Il est à noter que les supports mémoires mortes sont non volatiles et présentent une bonne insensibilité aux perturbations extérieures. Jusqu'à présent, le stockage sur circuit mémoire non volatile (PROM. REPROM, etc ..) était uniquement utilisé pour des programmes écrits directement en language machine ou compilé. Or, l'u- tilisation d'un language compilé Basic compilé, Fortran, Cobol, Pascal) n'est possible que sur certaines machines performantes et n'est en général pas possible sur les ordinateurs dits familiaux ou de grande diffusion. L'écriture d'un programme en language machine (assembleur) peut se faire directement mais nécessite une installation dite système de développement. Ces systèmes sont coûteux ( plusieurs centaines de milliers de francs) et nécessitent un temps d'apprentissage relativement important, Cet investissement apparait donc en général disproportionné pour des applications légères ou épisodiques. Le but de l'invention est donc de résoudre les problèmes évoqués ci-dessus en offrant à l'utili- sateur de systèmes informatiques, un moyen de stocker des informations (programmes ou données) écrites en language évolué interprété (Basic, Logo, Forth, etc..) sur des circuits mémoires non volatiles (ROM, PROM. EPROM, EEPROM) ou volatiles (RAM). A cet effet, l'invention a pour objet un dispositif de stockage d'informations contenues dans un ordinateur, à partir d'u#e source en language évolué interprété, - ca-ractêrisê eh;;#-ce que les moyens de stockage sont constitués par des mémoires à circuits intégrés commandés par des moyens d'adressage pilotés par ledit ordinateur. Elle permet donc de s'affrancPr de tous les inconvénients lies à l'utilisation de systèmes de stockage magnétique, disquette ou cassette, car ainsi qu'on le sait. ce type de support magnétique est également sensible aux conditions atmosphériques (humidité, température, poussière) et nécessite des précautions d'emballage et de manipulation. De plus, ce type de support peut être détruit par perturbations radioélectromagnétiques et les temps d'accès aux informations stockées sur supports magnéti#ques sont relativement importants. L invention sera mieux comprise à l'aide de la description qui va s#uivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, sur lesquels - la Fla.1 représente un schéma synoptique d'un premier mode de réalisation d'un dispositif selon l'invention; - la Fig.2 représente un schéma synoptique d'un second mode de réalisation d'un dispositif selon l'invention; et - la Fig.3 représente un schéma synoptique d'un troisième mode de réalisation d'un dispositif selon l'invention. Ainsi qu'on peut le voir sur la Fig.1, une ligne de sortie de données série 1, par exemple du type RS 232 d'un ordinateur 2 est connectée à l'entrée d'un programmateur de mémoire morte 3. Ce programmateur 3 élabore une mémoire morte 4 par exemple du type PROM. La sortie de cette mémoire 4 est ensuite connectée à une ligne omnibus 5 de données de ltordi- nateur 2. Une horloge 6 engendrée par l'ordinateur 2 est connectée à l'entrée d'un compteur 7 dont la sortie est reliée aux bornes d'adressage de la mémoire 4. Le fonctionnement d'un tel dispositif est le suivant. Le but de l'invention est de sauvegarder et de permettre la lecture d'une information dans une mémoire à circuits intégrés à l'aide par exemple d'un ordinateur du type T07-70 fabriqué par la Société THOMSON. Pour des raisons de compréhension de l'invention. il y a lieu tout d'abord de décrire les principes de lecture et de sauvegarde d'une information se présentant par exemple sous la forme d'un fichier, sur un dispositif de stockage à cassette. Sur une cassette, les fichiers sont stockés séquentiellement, c'est à dire qu'ils se suivent les uns à la suite des autres. Pour ces raisons. il n'y a donc pas d'accès direct au fichier, Le chargement de l'information constituée par exemple par un programme, impose à l'ordinateur de faire défiler la cassette jusqu'à ce qu'il rencontre le fichier en question. Chaque fichier (données ou programmes) est mémorise par blocs de 255 octets. Les informations enregistrées sur la cassette se présentent donc sous la forme d'une suite de blocs. Chaque bloc est séparé par des codes de contrôle qui sont - code de début de fichier (pour le premier bloc) - code de début de bloc - code de fin de bloc - code de fin de fichier (pour le dernier bloc) Ainsi lorsqu'on sauvegarde un programme sur cassette, l'ordinateur commence par écrire le code de début de fichier suivi du nom de fichier. Il vient ensuite écrire bloc par bloc,le fichier (données ou programmes) que l'on désire sauvegarder, chaque bloc étant précédé de son code de début de bloc et suivi du code de fin de bloc. Cette opération se reproduit jusqu à la fin du fichier.Lorsque le dernier bloc a été sauvegardé, l'ordinateur écrit le code de fin de fichier. Lors du chargement d'un fichier, l ordina- teur vient lire les octets émis par le lecteur de cassette, Dés qu'il rencontre un code de début de fichier. il prévirent l'utilisateur qu'il a trouvé un fichier. Ensuit:. il vient lire bloc par bloc le fichier, en contrôlant la présence des codes de contrôle associés å chaque bloc. Dés que l'ordinateur a lu le code de fin de fichier, 15 programme est chargé. Il est à noter que si un code de contrôle est erroné, un message d'erreur est émis. Dans ce cas le fichier n'est pas charge. Il est également à noter que la gestion de ce protocole d'échange est effectuée par exemple par l interpréteur basic -de l'ordinateur et que d'un ordinateur à un autre. le principe est le même bien que les codes de contrôle puissent varier. Si l'on se reporte maintenant au fonctionnement du dispositif selon l'invention, on peut constater que le principe de sauvegarde et de lecture d'un fichier sur mémoire morte est à rapprocher de celui qui vient d'être décrit. En effet, on garde le même protocole que le protocole de gestion de cassette. On va donc stocker en mémoire morte, la même chose que ce que l'on aurait stocké sur cassette. Pour ce faire, on va passer par une zone de mémoire vive RAM provisoire. En effet, le fichier constituant une source en language évolué interprété, que l'on écrit, est déjà en mémoire vive RAM dans l'ordinateur, mais les codes écrits ne sont pas compatibles avec le protocole d échange cassette; c'est ainsi par exemple qu il ne comporte pas des codes de contrôle. On va donc transformer les codes existants en mémoire vive RAM en codes représentant le protocole de gestion cassette. C'est à dire que l'on va effectuer selon un processus en soi connu inhérent à la structure de l'ordinateur. un découpage par blocs et adjoindre à ces blocs, les codes de contrôle. Le résultat de cette opération est ensuite placé dans une zone de mémoire vive RAM tampon. Le contenu de cette mémoire .vive est alors transféré au programmateur de mémoire morte 3 comme il est indiqué sur la Fiv.1, par l'intermédiaire de la ligne de sortie de donnée série 1. Le format de transfert utilise est par exemple le format PPX. Cette opération permet donc de transférer le fichier que l'on veut mémoriser, d'une zone de mémoire de travail de l'ordinateur dans une zone mémoire où l'ordinateur ne travaille pas, tout en lui adjoignant des codes de contrôle et en le découpant en différents blocs de façon à le transférer au dispositif de stockage par la ligne de sortie de données série. La mise en forme des blocs pour le stockage dans la mémoire est assurée par le programmateur. Ainsi le contenu de la mémoire 4 sera le même que ce qui aurait été placé sur la cassette. A la relecture, l'interpréteur Basic retrouvera donc un code directement exploitable. Cette relecture s'effectue par l'intermédiaire de la ligne omnibus de données 5. La mémoire morte est alors adressée par l'intermédiaire du compteur 7 recevant un signal d'horloge engendré par l'ordinateur, par la ligne 6.Cette lecture s'effectue donc de manière séquentielle. de façon que l'ordinateur vienne lire octet par octet, le contenu de la mémoire 94. Le compteur 7 assure donc tant pour 1'écTi- ture que pour la lecture, par ses sorties d'adresse. la- simulation pour l'ordinateur du défilement d'un support magnétique. Il est à noter que le programmateur de mémoire 3 est un programmateur approprié au type de mémoire utilisé. Ainsi par exemple, pour une mémoire morte du type REPRQM, ce programmateur est un PP39 fabriqué par la société STAG, Ainsi qu'on peut le voir sur la Fig.2 quireprésente un second mode d.e réalisation de l inven- tion, une sortie horloge 8 d'un ordinateur 9 est connectée à l'entrée d'un compteur-10 dont la sortie est reliée à une mémoire vive il du type RAM. Une ligne omnibus de données 12 est connectée à la ligne omnibus de données de l'ordinateur 9 et aux bornes de données de la mémoire 11. Le fonctionnement d'un tel dispositif est le suivant. L'ordinateur 9 incrémente le compteur 10 qui délivre à sa sortie, des adresses à la mémoire 11. Il est à noter que la sauvegarde de données dans la mémoire est effectuée à partir de l'émission classique de données sur la ligne omnibus de l'ordinateur-. Lors de la relecture, l'ordinateur vient lire l'octet sto cke à l'emplacement pointé par l'adresse délivrée par le compteur 10. Le schéma synoptique de la Fig.3 représente une combinaison des deux dispositifs décrits précédem- ment. En effet, une sortie série par exemple RS 232. 13 d'un ordinateur 14 est reliée à l'entrée d'un programmateur de mémoire morte 15 qui élabore une mémoire morte 16 par exemple du type PROM. Une ligne omnibus de données 17 est ensuite reliée à la sortie de cette mémoire 16 et à la ligne omnibus de données de l'ordinateur 14. Une mémoire vive 18, par exemple du type RAM est également connectée par ses bornes de sortie de données à la ligne omnibus 17 de même que par ses bornes, d'entrée de données. Une borne de sortie 19 d'horloge de l'ordi- nateur 14 est connectée à l'entrée d'un compteur 20 dont les sorties d'adresse sont reliées à la mémoire morte 16 et à la mémoire vive 18 par l'intermédiaire d'une ligne omnibus d'adresse 21. On constate qu une sortie 22 de l'ordinateur 14 est connectée à une borne de la mémoire morte 16 et à une borne de la mémoire vive 18. Cette sortie 22 permet de sélectionner la mémoire qui sera connectée à l'ordinateur, Le fonctionnement de ce dispositif est un fonctionnement correspondant à ce qui a été décrit pour les dispositifs précédents lorsqu'on a sélectionné la mémoire correspondante. Ainsi il est possible de stocker directement par l'intermédiaire de la ligne omnibus de données d un ordinateur, des données dans une mémoire vive du type RAM et de relire cette mémoire, ou de stocker par l'intermédiaire de la ligne de sortie de données série, les données dans une mémoire morte du type PROM. On voit donc que le dispositif selon l'invention permet de stocker sur circuit intégré. par exemple. un programme écrit préalablement en language évolué interprété. ce qui autorise une évaluation rapide des choix et une mise au point très souple du programme en temps réel, De plus, lorsque le compteur d'adressage des mémoires arrive en butée, l'adressage repart de l'adresse zéro; ainsi le stockage et la lecture sont séquentiels et circulaires contrairement au fonctionnement d'un lecteur de cassette où il faut rembobiner la bande pour repartir du début. L'utilisation de circuits intégrés comme moyens de stockage est particulièrement adaptée pour des systèmes travaillant en environnement sévère, sujet à des perturbations électriques. des chocs, etc..., par exemple. pour un poste de consultation en usage dans un lieu public. REVENDICATIONS 1. Dispositif de stockage d'informations contenues dans un ordinateur, à partir d'une source en language évolué interprété. caractérisé en ce que les moyens de stockage sont constitués par des mémoires à circuits intégrés (4:11;16,18) commandés par des moyens d'adressage (7;10;20) pilotés par ledit ordinateur (2:9:14) 2.Dispositif de stockage selon la revendication 1, caractérisé en. ce que lesdites mémoires à circuits intégrés sont constitués par des mémoires mortes (4:16) dont les entrées de données sont connectées à la sortie d'un programmateur (3:15) de mémoires mortes. l'entrée de ce programmateur étant reliée à la ligne de sortie de données série (1;13) dudit ordinateur (2;14). et les sorties de données des mémoires mortes étant ensuite reliées à la ligne omnibus (5;17) de données dudit ordinateur. 3. Dispositif de stockage selon la revendication 2. caractérisé en ce que les moyens d'adressa- ge sont constitués par un compteur (7:20) dont l'entrée est connectée à une sortie d'horloge (6;19) engendrée par ledit ordinateur (2:14) et dont les sorties sont reliées aux bornes d'adressage desdites mémoires mortes (4;16). 4. Dispositif de stockage selon la revendication 1, caractérisé en ce que les mémoires à circuits intégrés sont constituées par des mémoires vives (11;18) dont les bornes de données sont connectées à la ligne omnibus (12;17) de données dudit ordinateur (9; 14). 5. Dispositif de stockage selon la revendication 4, caractérisé en ce que les moyens d'adressage sont constitués par un compteur (10;20) dont l'en tree est reliée à une sortie horloge (8;19) engendrée par ledit ordinateur (9:14) et dont les sorties sont reliées aux bornes d'adressage desdites mémoires vives (11,18). 6. Dispositif de stockage selon l'une quelconque des revendications précédentes. caractérisé en ce que lesdites mémoires à circuits intégrés sont constituées par des mémoires vives (18) et des mémoires mortes (16) dont les sorties sont sélectivement connectées à la ligne omnibus (17) de données dudit ordinateur (14).