Brevet FR2334148A1 — publié le 19770701

La présente invention se rapporte aux moyens de stockage et de recouvrement d'information. Si l'on cherche à distinguer l'invention de la technique antérieure, interviennent certains aspects qui s'appliquent 5 généralement aux dispositifs de stockage et de recouvrement d'information actuels. Ces aspects sont les suivants : - à mesure que la dimension d'une base de données stockée, le temps moyen nécessaire pour retrouver des données à partir de cette hase augmente ; 10 - les données concentrées dans un système de stockage et de recouvrement doivent être déconcentrées avant qion puisse les traiter ; - si un nouvel élément est ajouté à une hase de données (si par exemple un enregistrement est ajouté à un fichier), l'espace 15 nécessaire pour stocker la hase mise à jour augmente toujours ; - certaines demandes de consultation seront rejetées par le dispositif de recouvrement en raison du fait qu'elles ne-sont pas formulées ou composées correctement ; - à mesure que la dimension d'une hase de données à accès direct 20 augmente, l'efficacité du stockage diminue (en raison des emplacements nécessaires pour des tables d'indexage, des pointeurs, etc). L'objet de l'invention ne comporte aucun des aspects ci-dessus. 25 Un mode de réalisation de l'invention comprend un pro cédé et un appareil de restructuration d'information numérique en vue de produire des "iso-entropicogrammesn et des "raccourcis". Comme décrit plus loin de façon plus détaillée, un "raccourci* est un moyen optimal de représenter un fragment d'in-30 formation particulier avec un minimum de stockage. L'information stockée est retrouvée, non par une recherche effectuée dans la base de données, mais par un processus de génération. Au cours du processus de génération, une demande de consultation ainsi que des iso-entropicogrammes et des raccourcis stockés sont trans-35 mis en tant que paramètres à un générateur de sortie. Quelques-uns des avantages qu'on obtient en utilisant les techniques suivant l'invention peuvent être brièvement -2- 2334148 définis comme suit : (1) on a besoin de moins de capacité de stockage matériel,(2) temps de recouvrement court, (3) facilité de restructuration et de mise à jour d'une base-de données, (4) facilité de spécification d'un nouveau critère de recouvre-5 ment et (5) facilité de spécification et d'exécution d'un processus. Le système de stockage et de recouvrement d'information décrit dans le présent brevet fait partie d'une nouvelle catégorie de machines basée sur une technologie entièrement 10 originale. En raison de ce fait, un nouveau terme a été créé pour décrire cette technologie, ce terme étant "holotropique". Le système de stockage et de recouvrement d'information holotropique n'est pas basé sur l'utilisation d'un nouveau composant ni sur un simple réarrangement de composants existants, 15 mais bien plutôt sur de nouveaux procédés et de nouveaux appareils permettant de construire une catégorie entièrement nouvelle de machines de traitement de l'information. On constatera certaines similitudes superficielles entre les techniques actuellement existantes et la catégorie 20 de machines nouvelles décrite ici. Toutefois, les différences sont beaucoup plus importantes que les similitudes, ce qui ne permet pas de décrire aisément la nouvelle technologie avec des termes existants. Par exemple, l'un des aspects de l'invention ressemble à l'holographie en ce sens que l'information relative 25 à un article déterminé n'est pas stockée à un seul emplacement. Toutefois, l'utilisation du terme "holographique" pour décrire cette nouvelle technologie donnerait l'impression totalement inexacte qu'elle est de nature optique et, en outre, le terme en question ne tient pas compte des autres caractéristiques de 30 cette technologie. Four donner un autre exemple, cet aspect de l'invention peut ressembler à certains égards à celui d'une mémoire associative. Toutefois ici encore, les différences sont plus importantes que les similitudes et l'utilisation d'un qualificatif ou "descripteur" tel que l'adjectif "associa-35 tive" apporte plus de confusion que de clarification. C'est pourquoi le terme "holotropique" sera utilisé ici pour identifier la technologie concernée. -3- 2334148 L'une des applications du procédé et de l'appareil holotropiques suivant l'invention est le stockage et le recouvrement d'information. Toutefois, en décrivant le fonctionnement d'un système de mémoire holotropique, il y a lieu de prendre des précautions lorsqu'on utilise des termes couramment employés dans les techniques antérieures.Les mécanismes grâce auxquels les systèmes de mémoire holotropique stockent et retrouvent l'information sont totalement différents des mécanismes associés à des termes tels que "recherche", "exploration", "correspondance", "virgule", "liaison" ou "mise en place". Ainsi, par exemple, suivant l'invention, au lieu de rechercher la présence de données stockées sur la hase de l'établissement d'une correspondance avec une demande de consultation, le système de mémoire holotropique utilise celle-ci pour faire apparaître des paramètres qui définissent à la fois les fragments d'informa tion utilisables et toutes les relations éventuelles entre ces fragments et le reste de l'information. Ces paramètres produisent alors l'information faisant l'objet de la demande de consultation, non pas en l'extrayant de son emplacement de stockage mais en la recomposant. Dans un système de mémoire holotropique, l'information proprement dite n'est pas "retrouvée, elle est "réengendrée". Du point de vue de l'utilisateur, il existe deux caractéristiques des techniques holotropiques qui modifient profondément. les modes classiques d'utilisation d'un système de stockage et de recouvrement d'information. L'une de ces caractéristiques concerne l'absence de nécessité de descripteurs et l'autre la concentration des fichiers. On va tout d'abord examiner le cas des descripteurs et l'exactitude avec laquelle ils s'appliquent à un mode de réalisation de l'invention. Les données qu'on désire introduire dans le système holotropique en vue de leur recouvrement ultérieur n'ont pas besoin d'être catégorisées, indexées, décrites ni même composées pour pouvoir être retrouvées. Néanmoins, si l'utilisateur désire établir une structure de catégories contenant des descripteurs ou des index, parce que cela lui facilite les choses, il peut bien entendu le faire. Toutefois, une importante distinction qui doit être soulignée ici réside en ce 2334148 qu'un système de mémoire holotropique n'impose jamais de telles structures au processus. En d'autres termes, bien que le système de mémoire holotropique puisse s'accommoder de telles structures, il ne les impose pas. 5 La même souplesse caractérise l'établissement de de mandes de consultation d'un système de mémoire holotropique. Le demandeur peut po s er des questions sous une forme quelconque et en utilisant les mots qui lui viennent à l'esprit, quels qu'ils soient. En général, la personne qui tente d'utiliser un 10 système de stockage et de recouvrement d'information quelconque n'a aucun mal à formuler sa demande de consultation de telle manière qu'elle la comprenne bien elle-même et de telle manière que d'autres personnes puissent la comprendre. La difficulté commence lorsqu'elle essaie de traduire sa demande de consulta-15 tion en une question équivalente satisfaisant aux exigences d'acceptation imposées par les systèmes de stockage et de recouvrement d'information classiques. Avec les systèmes de stockage et de recouvrement d'information antérieurs, des limitations étaient imposées au pro-20 cessus de demande de consultation. Etant donné qu'un système de mémoire holotropique n'impose aucune exigence à ce processus, le contrôle nécessaire s'exerce où il doit, à savoir au niveau de l'utilisateur. Le plus important contrôle exercé par l'utilisateur concerne le degré d'exactitude de la correspondance entre d*? sa demande de consultation et le contenu de la base de données, l'ajustement optimal du contrôle de l'utilisateur sur le"degré d'exactitude" correspondrait à une correspondance rigoureusement exacte. Dans l'impossibilité de trouver une correspondance parfaite, le système de mémoire holotropique permet d'informer 30 l'utilisateur de cette situation et de lui indiquer qu'une modification doit être apportée à l'ajustement d'exactitude de façon que la demande de consultation retrouve au moins un article pertinent . L'ajustement du contrôle d'exactitude n'a pas le 35 moindre effet sur le temps de recherche du système de mémoire holotropique. Toutefois, étant donné qu'il détermine indirectement la quantité de données retrouvées, il affecte en réalité le temps de réponse total en ce sens qu'un plus grand nombre -5- 2334148 de données retrouvées exige un temps plus long de présentation sous forme imprimée. En raison des différences entre les techniques du processus de demande de consultation respectivement adoptées dans les systèmes de stockage et de recouvrement d'information classiques et holotropiques, la structure de ces derniers peut être largement différente. Dans les systèmes de stockage et de recouvrement d'information classique, une demande de consultation peut êt£é rejetée en raison du fait qu'elle contient un descripteur inacceptable, ou parce qu'une partie du texte est mal orthographiée, ou encore parce que les différentes parties de la demande ne sont pas correctement ordonnées ou enfin, en raison du fait que la demande n'est pas composée conformément aux spécifications. En conséquence, une demande de consultation peut être rejetée mêmë si l'infomation demandée figure effectivement dans la base de données. Dans un système de stockage et de recouvrement d'information de données holotropique, aucune demande de consultation n'a jamais besoin d'être rejetée pour de telles raisons. Le seul cas dans lequel unè demande de consultation doit être "rejetée" dans un système de stockage et de recouvrement d'information holotropique est celui dans lequel ce dernier s'avère incapable de retrouver l'information demandée. En d'autres termes, le rejet de la demande n'a lieu que si la base de données ne contient rien qui corresponde à la demande en question au niveau spécifié d'exactitude. Si cela se produit, le système indique à l'utilisateur si une modification du niveau d'exactitude permettrait ou non de retrouver un article et, dans 1'affirmative, l'ajustement à effectuer. Une autre considération relative au procédé et l'appareil de stockage et de recouvrement d'information holotropique est la concentration des fichiers. La nature du système holotropique est telle que les données stockées sont concentrées dans un espace plus petit que celui qu'il serait nécessaire d'utiliser pour stocker les données avec les techniques actuellement disponibles. Ceci reste vrai, même si les données ont été introduites sous forme de chaîne linéaire, c'est-à-dire sous la forme d'un unique enregistrement. La mesure dans laquelle un échantillon de données particulier quelconque est -6- 2334148 concentré dans un système holotropique est fonction de deux processus indépendants. Le premier processus est assez facile à décrire et ses effets sont relativement prévisibles. Le système de stockage et 5 de recouvrement holotropique concentre les données d'entrée en tirant automatiquement avantage de toute redondance. Au cours d'un test particulier, un échantillon de 10000 mots de prose anglaise ordinaire a pu être concentré dans un espace approximativement réduit de moitié par rapport à l'espace qui aurait 10 été nécessaire si l'échantillon (sans aucune table d'index, sans pointeur, ni autre artefact) avait été stocké sous la forme d'un unique enregistrement dans un système de stockage et de recouvrement d'information classique. L'exploitation de ces redondances s'effectue à tous les niveaux. Une fois qu'un 15 caractère, un mot, une phrase, un paragraphe ou tout autre élément d'entrée arbitrairement spécifié a été rencontré, aucune apparition ultérieure de ce même élément n'a besoin d'être stockée sous sa forme originale. Le système holotropique note simplement qu'un élément précédemment rencontré est de nouveau 20 apparu, d'une manière qui permet une reconstitution de chacun des éléments d'entrée multiples dans son contexte original. Le second processus contribuant à la concentration des données dans un système de mémoire holotropique est plus difficile à prévoir. Cette difficulté est due au fait qu'il est fonc-^5 tion de la relation entre les éléments qui font partie d'une base de données. A chaque addition d'un nouvel élément d'entrée à la base de données, cet élément est automatiquement correlé avec chaque autre élément approprié déjà stocké. Etant donné que ce 30 processus agit sur la base de données sous sa forme concentrée, il n'affecte pas de façon nuisible le temps de stockage. L'un des résultats possibles de cette corrélation réside en ce que le contenu et la structure d'un nouvel élément d'entrée peuvent révéler une relation entre cet élément et un certain nombre 35 d'éléments déjà stockés, relation qui permet de traiter tous les éléments apparentés comme une unique entité et de les stocker ensemble. En conséquence, un certain nombre d'éléments qui, à un moment donné, avaient été stockés séparément, peuvent -7- 2334148 être regroupés .en raison de leur relation avec un élément d'entrée ultérieur, ce qui a pour effet que le fichier mis à jour peut exiger moins d'espace de stockage total qu'avant l'addition du nouvel élément d'entrée. 5 Une autre caractéristique d'un système holotropique qui est également très différente de celles des systèmes de stockage et de recouvrement d'information classiques réside en ce que, dans un système holotropique, le degré de concentration et la vitesse relative de recouvrement peuvent tous deux 10 croître à mesure que la dimension de la base de données augmente. Une caractéristique qui dérive de la concentration dans un système holotropique réside en ce qu'une certaine partie du traitement ou de la manipulation des données stockées s'effectue sous leur forme concentrée, ce qui permet des vi-15 tesses de traitement plus élevées que dans les systèmes qui doivent tout d'abord déconcentrer les données. Bien que la discussion ci-dessus ait visé principalement les systèmes de stockage et de recouvrement d'information holotropiques des techniquès relatives à des procédés et appa-20 reils holotropiques spécifiques peuvent être appliquées dans d'autre s domaine s. L'un de ces domaines est celui des communications numériques où les limitations de largeur de bande imposent me borne supérieure à la vitesse de transmission. Dans ce domaine, 25 on peut utiliser un système holotropique pour coder les données numérisées et la vitesse de transmission d'un message quelconque est augmentée en fonction du degré de concentration comme décrit à propos des applications au stockage et au recouvrement d'information. Il est important de se souvenir de ce que l'in-30 formation ainsi concentrée et transmise peut représenter n'importe quoi, par exemple aussi bien un fichier de feuille de paie qu'une image picturale numérisée. En principe, d'autres systèmes peuvent être utilisés pour concentrer et transmettre efficacement les données. Toutefois, l'un des points qui rendent la 35 solution holotropique unique en son genre réside en co^ue, du fait que la concentration holotropique est fonction de la redondance du message, la concentration et la correction des erreurs constituent un seul et même mécanisme. -8- 2334148 En principe, les techniques holotropiques peuvent être réalisées sous forme de logiciel, mais au moins certaines d'èntre elles, sinon toutes, sont "beaucoup plus efficaces lorsqu'elles sont réalisées en microcode et présentent une efficacité 5 maximale lorsqu'elles sont directement réalisées dans le "matériel". Toutefois, même lorsque les techniques holotropiques sont réalisées en logiciel ou en microcode, les systèmes de mémoire holotropiques sont plus performants en ce qui concerne le stockage, la vitesse, etc. que les techniques actuellement 10 connues. Au niveau du matériel, la technologie holotropique peut tirer pleinement avantage des propriétés remarquables des composants les plus modernes, tels que les dispositifs à transfert de charge, la logique et la mémoire à bulles magnétiques, etc. 15 La technique décrite ici est applicable indifféremment aux grands calculateurs (par exemple aux systèmes de stockage et de recouvrement d'information), ou à des sous-systèmes (par exemple, à des dispositifs de stockage à disques "intelligents"), ou encore à de très petites machines autonomes (par exemple à 20 des calculatrices à piles). L'un des aspects de l'invention vise un procédé nouveau et des moyens nouveaux faisant intervenir un processeur de données numériques permettant de créer ou de structurer une base de données codées numériques unique dans une mémoire du 25 processeur de données. On décrira dans ses grandes lignes un procédé permettant de former, dans un ordre d'apparition désiré, et à titre d'information d'entrée, une pluralité de signaux d'événement codés. Au moins certains des signaux d'événement représentent le même événement et au moins un autre de ces si- v 30 gnaux représente un événement différent. Les signaux d'événement représentent ensemble des entrées multiples. Pour chaque signal d'événement.est formée une indication de l'instant auquel il se produit dit ci-après "instant d'événement", qui représente son ordre d'apparition. Dans la mémoire, une base de 35 données stockée est formée; elle comprend un signal de vecteur d'événement recouvrable séparément pour chacun des différents événements et il est prévu une opération consistant à former, dans chaque signal de vecteur d'événement recouvrable, une re 2334148 présentation des indications d'instant d'événement qui représentent l'ordre d'apparition des événements correspondants. De préférence, les indications d'instant d'événement sont formées en comptant les signaux d'événement à mesure qu'ils sont formés. 5 Les signaux de vecteur sont qualifiés ici de "recou vrables" (ou bien de "retrouvables", utilisé comme synonyme) en raison du fait qu'ils n'ont pas besoin d'être stockés à des emplacements de mémoire séparés sous la forme de signaux séparés, mais peuvent se présenter sous une forme spéciale dite 10 ici "raccourci", ou peuvent être combinés, conjointement à d'autres raccourcis recouvrables avec des signaux de vecteur séparés à mesure des besoins. On décrira également un procédé et les moyens utilisant un processeur de données qui comporte une mémoire permet-*15 tant de créer ou de structurer une base de données multicouche dans la mémoire. Le procédé comprend les opérations consistant à former, dans un ordre d'apparition désiré, à titre d'information d'entrée, une pluralité de signaux d'événement codés, au moins certains de ces signaux d'événement représentant le même 20 événement et au moins un autre de ces signaux d'événement représentant un événement différent. Les signaux d'événement représentent ensemble une séquence d'entrées. Certaines des entrées sont identiques, mais au moins l'une d'elles diffère des autres. Une première indication d'instant d'événement est ^5 formée pour chacun des signaux d'événement. Une seconde indication d'instant d'événement est formée pour chacune des entrées. Les instants d'événement représentent l'ordre d'apparition des événements respectifs et des entrées constituant l'information d'entrée. La première couche de la base de données est intro-30 duite dans la mémoire et ce processus comprend les opérations consistant à stocker dans la mémoire un signal de vecteur de première couche recouvrable correspondant à chacun des signaux d'événement de valeurs différentes et à former, dans chacun des signaux de vecteur de première couche, une représentation 35 des premières indications d'instant d'événement qui représentent l'ordre d'apparition des signaux d'événement valorisés correspondants. La seconde couche de la base de données est introduite dans la mémoire et ce processus comprend une opération -10- 2334148 consistant à stocker dans la mémoire une pluralité de signaux de vecteur de seconde couche recouvrables. Les entrées qui sont identiques ont des signaux de vecteur de seconde couche correspondants, tandis que les entrées qui sont différentes 5 ont chacune un signal de vecteu:ç&e seconde couche différent. La formation de la seconde couche comprend également une opération consistant à former, dans chaque signal de vecteur de seconde couche, une représentation des secondes indications d'instant d'événement qui représentent l'ordre d'apparition 10 des entrées correspondantes. De préférence, la redondance est éliminée dans la première couche de la base de données. Suivant un procédé préféré, on effectue un test pour déterminer si une entrée de l'information d'entrée nouvellement formée est déjà représentée dans 15 la première couche de la base de données. Si ladite entrée n'est pas représentée, l'entrée nouvellement formée est ajoutée à la première couche de la base de données en utilisant l'opération de stockage. Si l'entrée est déjà représentée, alors elle n'est pas ajoutée une seconde fois à la première couche. Toute-20 fois, elle est ajoutée à l^éeconde couche. Suivant un autre mode de réalisation préféré de l'invention, il est prévu un procédé et des moyens pour stocker des événements "séparateurs" ou délimiteurs dans l'une au moins des deux couches. On décrira dans ses grandes lignes un procédé ^5 dans lequel, parmi les signaux d'événement de l'information d'entrée, l'un au moins représente un séparateur. L'un au moins de ces signaux d'événement séparateur est formé dans chacune des entrées et dans l'ordre d'apparition de celles-ci de manière à définir leurs limites. Les premières indications d'ins-30 tant d'événement identifient également l'ordre d'apparition de chaque séparateur. Un signal de vecteur recouvrable séparément est prévu pour les premières indications d'instant d'événement qui représentent l'ordre d'apparition des signaux d'événement séparateur. Un procédé analogue est prévu pour former un signal 35 d'événement séparateur dans la seconde couche, signal qui identifie les limites des entrées dans l'information d'entrée. On décrira également un procédé et des moyens comprenant un processeur de données et permettant de retrouver (ou -11- 2334148 recouvrer, utilisé comme synonyme) des données dans la "base de données stockée. Essentiellement, le procédé décrit retrouve, à partir d'une mémoire, des données qui sont contenues dans une base de données stockée. La base de données représente une sé-5 quence d'événements dans laquelle certains événements sont identiques, tandis qu'au moins l'un des événements diffère des autres. La base de données stockée est représentée par une pluralité de signaux de vecteur recouvrables séparément, à raison d'un pour chaque événement différent. Chaque signal de vecteur 10 recouvrable représente au moins une valeur d'instant d'événement qui représente à son tour l'ordre d'apparition de l'événement correspondant. Le procédé comprend les opérations consistant à examiner un signal de vecteur choisi pour former sélectivement au moins un signal d'identification d'instant d'événe-15 ment et à engendrer un signal d'événement unique (ou univoque) correspondant à un signal de vecteur qui représente une valeur d'instant d'événement correspondant au signal d'identification d'instant d'événement. En choisissant exclusivement, pour cet examen, les signaux de vecteur qui sont intéressants, on évite la nécessité d'examiner tous les signaux de vecteur de. la base de données. On décrira également un procédé et des moyens comprenant le processeur de données précité et permettant de recouvrer ou retrouver dans une mémoire des données qui sont contenues dans 25 la base de données multicouche. Chaque couche représente une séquence ordonnée d'entrées et d'événements. Un ou plusieurs événements représentent chaque entrée. Dans chaque couche, certains événements sont identiques mais au moins l'un d'entre eux diffère des autres. Certaines entrées sont identiques mais 30 l'une d'entre elles au moins diffère des autres. Chaque couche comporte une pluralité de signaux de vecteur recouvrables ou retrouvables séparément, un pour chacun des différents événements de cette couche. Chaque signal de vecteur retrouvable représente une valeur d'instant d'événement pour chaque apparition de l'é-35 vénement correspondant et les valeurs d'instant d'événement identifient l'ordre d'apparition des événements correspondants. La base de données comprend au moins des première et seconde couches. Au moins certains des événements de la seconde couche -12- 2334148 ont une entrée correspondante dans la première couche. Le procédé décrit comprend les opérations consistant à engendrer un signal d'identification d'entrée de première couche désignant une entrée de première couche qui correspond à un signal de vecteur de seconde couche. Le signal de vecteur de.seconde couche représente au moins une valeur d'instant d'événement dans une entrée de seconde couche choisie. Le procédé comprend également une opération consistant à engendrer un signal d'événement de première couche correspondant au signal de vecteur de première couche qui représente une valeur d'instant d'événement dans l'entrée de première couche désignée. Au système multrcouche sont de préférence associés un procédé et des moyens permettant d'examiner chaque couche et d'engendrer des signaux à partir de chaque couche. Dans ses grandes lignes, ce procédé comprend une opération consistant à examiner un signal de vecteur de première couche choisi pour former au moins un signal d'identification d'entrée de première couche qui désigne à son tour au moins un signal de vecteur de seconde couche. Le signal de vecteur de seconde couche désigné est examiné pour former au moins un signal d'identification d'entrée de seconde couche. L'opération de génération comprend la génération d'un signal d'identification d'entrée de première couche désignant l'entrée de première couche qui correspond à un signal de vecteur de seconde couche représentant au moins une valeur d'instant d'événement dans l'entrée de seconde couche désignée. Ensuite est engendré un signal d'événement de première couche correspondant au signal de vecteur de première couche qui représente une valeur d'instant d'événement dans l'entrée de première couche désignée. De préférence, le recouvrement comprend une opération initiale consistant à former une demande de consultation qui comprend une série de signaux d'événement codés représentant les événements d'une entrée. L'examen de la première couche comprend une opération consistant à examiner des signaux de vecteur choisis qui correspondent aux événements de la demande de consultation pour localiser une entrée contenant des valeurs d'instant d'événement qui représentent des événements offrant un degré de correspondance prédéterminé avec les événements -13- 2334148 représentés par les signaux d'événement de la demande de consultation. De préférence, on forme un signal qui identifie différents degrés de correspondance admissibles entre les événements de la demande de consultation et les événements d'une entrée 5 de la base de données. La localisation comprend une opération consistant à localiser une entrée de la base de données qui présente le degré de correspondance admissible. De cette manière, il est possible de localiser, dans la première couche, une entrée de la base de données qui peut ne pas correspondre parfai-10 tement aux événements de la demande de consultation. On décrira également une opération désignée ici sous le nom de "cadrage" (opération qui comprend également une canalisation de données). On décrira dans ses grandes lignes un procédé préférée cadrage qui comprend une opération consistant 15 à localiser une entrée de la base de données qui comporte au moins un nombre prédéterminé de valeurs d'instant d'événement représentant des événements situés "dans le cadre" d'un nombre choisi à l'avance de positions d'événement par rapport à des événements de la demande de consultation. De préférence, un 20 signal de délimitation de cadre modifiable représente ce nombre prédéterminé d'événements. Le signal de délimitation de cadre représente de préférence le nombre prédéterminé d'événements sous la forme d'une fraction du nombre d'événements d'une entrée de la demande de consultation et des calculs sont effec-25 tués pour déterminer le nombre effectif d'événements à utiliser au cours de l'opération d'examen basée sur la longueur des différentes parties de la demande de consultation. Suivant un mode de réalisation encore plus préféré, le nombre choisi à l'avance de valeurs d'instant d'événement 30 est spécifié par une valeur de largeur de cadre qui peut être modifiée à volonté. On décrira également ci-après une autre opération dite ici "concordance". On décrira aussi un procédé préféré dans lequel le cadrage forme un signal d'identification d'en-55 trée intermédiaire. L'examen se poursuit ensuite en fonction de la concordance de manière à localiser une entrée de la base de données qui présente au moins un degré de correspondance choisi à l'avance, en ce qui concerne l'ordre et la présence d'événements, avec une entrée de la demande de consultation. -14- 2334148 En résumé, on voit maintenant que la caractéristique de cadrage localise des entrées qui satisfont à certains critères de cadrage et que ces entrées sont ensuite utilisées par la caractéristique de concordance pour localiser des entrées * 5 de la base de données qui présentent le degré de correspondance désiré (c'est-à-dire la "concordance") choisi à l'avance, quant à l'ordre et à la présence d'événements, avec l'entrée de la demande de consultation. De préférence, le degré de correspondance choisi à l'avance est spécifié par un signal de délimita-10 tion de valeur de concordance modifiable par l'utilisateur. Dans un procédé préféré suivant l'invention, il est prévu une caractéristique de discrimination de longueur permettant de localiser exclusivement les entrées de la base de données qui offrent un degré de correspondance choisi à l'avance, 15 tant en ce qui concerne le nombre d'événements que l'ordre et la présence de ceux-ci. On décrira également des procédés préférés qui utilisent des séparateurs ou délimiteurs pour localiser des entrées au cours des opérations d'examen et de génération. Bien que la 20 description ci-dessus des caractéristiques de cadrage et de concordance concerne essentiellement l'examen et la génération sur une unique couche, on comprendra aisément que les mêmes caractéristiques peuvent être appliquées à une ou plusieurs couches dans un système multicouche. On décrira ci-après un 25 procédé et des moyens permettant d'examiner une première couche pour localiser des entrées sur celle-ci, entrées qui identifient à leur tour des événements de la seconde couche. Il est rappelé que chaque événement de seconde couche comporte un signal de vecteur correspondant. En examinant ces signaux de vecteur sur 30 la seconde couche, on localise les entrées de celle-ci en utilisant le cadrage et/ou la concordance et il est possible de localiser des portions de la base de données qui ne correspondent pas parfaitement à la demande de consultation. Par exemple, la demande de consultation peut être composée d'événements "lettres" 35 qui représentent à leur tour des entrées de mots, lesquelles représentent à leur tour une entrée de phrase. En examinant la première couche par le cadrage et/ou la concordance, il est possible de localiser, pour chaque mot de la demande de consulta -15- 2334148 tion, un mot de la base de données qui correspond le plus étroitement possible à ce mot de la demande de consultation. Ces mots "optimaux" représentés par des signaux d'entrée de première couche (signaux d'événement de seconde couche) sont 5 alors utilisés pour examiner la seconde couche de la base de données par le cadrage et/ou la concordance. Il est alors possible de trouver, dans la base de données, un mot qui, s'il ne correspond pas parfaitement au mot de la demande de consultation, est celui des mots représentés dans la base de données 10 qui 'boncorde" le mieux avec le mot demandé. Il en est de même en ce qui concerne une phrase ou les mots qui constituent une phrase. Bien que la partie ci-dessus de la description vise principalement des procédés, il va de soi qu'on décrira égale-15 ment des moyens de traitement de données permettant la mise en oeuvre des procédés décrits. On trouvera également ci-après un exposé relatif à divers modes de concentration des données qui.seront décrits de façon plus détaillée. L'un de ces modes est dit ci-après ^0 "permutation". On décrira aussi, dans ses grandes lignes, un processeur de données électronique assurant la conversion de signaux codés comme suit : On forme la combinaison d'un signal de valeur de ligne donné et d'un signal de numéro de ligne-donné qui représentent ensemble une valeur déterminée. En outre 25 est formé un signal de valeur de nombre de lignes. A noter que des moyens sont prévus pour convertir une telle combinaison d'un signal de valeur de ligne donné et d'un signal de numéro de ligne donné représentant chacun une valeur donnée différente, en une combinaison quelconque de signal de valeur de ligne et 30 de signal de numéro de ligne équivalents d'un jeu univoque de tels signaux qui comprend les signaux donnés. Chaque signal de valeur de ligne représente au moins une valeur d'apparition effective codée numériquement parmi un ensemble de valeurs d'apparition possibles ordonnées de façon monotone. Chaque 35 signal de valeur de ligne est en relation avec un autre du même ensemble par l'intermédiaire d'une porte OU exclusif qui reçoit ses valeurs d'apparition effectives, d'une part directement et, d'autre part, après décalage. Il est également prévu des moyens -16- 2334148 pour répondre à chaque valeur différente représentée par le signal de nombre de lignes en assurant la formation, par les moyens convertisseurs, d'une combinaison équivalente prédéterminée différente de signal de ligne et de signal de numéro 5 de ligne du jeu qui correspond à la combinaison d'un signal de ligne donné et d'un signal de numéro de ligne donné. Un tel arrangement est applicable en particulier à des systèmes, tels que le système suivant l'invention, comportant des signaux de vecteur qui peuvent correspondre à un nombre extrêmement grand 10 de valeurs d'instant d'événement, car il permet de concentrer ces valeurs jusqu'à une petite fraction de la forme entièrement développée. Ceci s'applique particulièrement aux signaux de vecteur qui peuvent être très longs. A noter qu'à mesure que davantage de valeurs sont ajoutées à une valeur de ligne donnée, 15 la ligne équivalente la plus courte peut en fait devenir encore plus petite. Dans un mode de réalisation préféré du processeur mentionné ci-dessus, des moyens sont prévus pour assurer l'élimination dâns le signal de valeur de ligne équivalent, de celles 20 des valeurs d'apparition décalées entre elles qui n'appartiennent pas au groupe de valeurs d'apparition possibles, ce qui contribue à assurer la caractéristique de concentration. Salivant un autre mode de réalisation préféré, le signal de valeur de nombre de lignes est représenté par un ou plusieurs signaux 25 représentant des puissances de 2 composantes et^ par conséquent, les incréments suivant lesquels le signal donné est déplacé à travers les signaux équivalents. Suivant un autre mode de réalisation préféré, l'opération de formation d'un certain nombre de signaux de valeur de 30 ligne incrémentiels peut s'effectuer très rapidement et très commodément. Dans ce mode de réalisation, des moyens sont prévus pour déterminer laquelle des deux différences suivantes est la plus grande : (1) la différence entre les valeurs des deux plus grands signaux de valeur d'apparition effective de la 35 ligne donnée ou (2) la différence entre les grandeurs de la valeur d'apparition la plus grande possible et de la valeur d'apparition effective la plus grande, dans la valeur de ligne donnée. De préférence, des moyens sont également prévus pour -17- 2334148 former un ou. plusieurs signaux de valeur de nombre de lignes incrémentiels représentatifs de la plus grande des deux différences en question. Suivant encore un autre mode de réalisation préféré, il est prévu un concentrateur de traitement de données pour signaux codés. Ce processus sera désigné ici sous le nom de "recherche de raccourci". Suivant ce mode de réalisation de l'invention, les moyens convertisseurs de traitement de données précités sont munis de moyens permettant de former une pluralité de signaux de valeur de nombre de lignes incrémentiels provoquant le déplacement de la ligne donnée à travers des signaux équivalents successifs. Des moyens sont prévus pour examiner les signaux de valeur de ligne équivalents formés en vue d'en trouver un d'une longueur choisie, de préférence le plus court. Un signal indicateur de ce signal de longueur choisie est stocké. De préférence, le signal de valeur de ligne équivalent et le signal de numéro de ligne équivalent sont tous deux stockés comme signal indicateur. D'une manière générale, il est important de réduire au minimum l'espace de mémoire nécessaire et, en conséquence, la longueur des données doit être réduite au minimum. A cet effet, des redondances telles que des "o" sont de préférence éliminées des données à stocker par des moyens tels qu'un codeur. L'opération de concentration est de préférence conçue de manière à réduire au minimum la longueur des données telle qu'elle existe après le codage et avant la mise en mémoire. Selon un mode de réalisation préféré de l'invention, des moyens de traitement de données sont prévus pour sortir des signaux représentés par le signal de valeur de ligne et par le signal de numéro de ligne. Cette caractéristique a été généralement désignée ici sous le nom de "sortie".ou parfois de "restitution". A cet égard, les moyens convertisseurs de traitement de données décrits ci-dessus sont munis de moyens permettant de former un signal ayant une valeur qui représente le nombre de valeurs d'apparition possibles parmi le jeu de ces valeurs et de moyens pour déterminer une valeur en relation avec la différence entre le nombre de signatix de valeurs d'apparition possibles et le signal de numéro de ligne donné. Cette -18- 2334148 valeur est alors utilisée par les moyens convertisseurs pour former le signal de ligne équivalent correspondant qui correspond à la ligne entrée/sortie. On a également décrit ci-après des moyens électroniques 5 modificateurs de signaux codés pour le traitement de données, moyens qui sont capables de modifier des signaux représentés par un signal de valeur de ligne et par un signal de numéro de ligne. A noter que les modifications n'ont pas besoin d'être effectuées au niveau des signaux donnés mais peuvent être appor-10 tses au signal de valeur de ligne de l'un ou l'autre des signaux équivalents du jeu correspondant de signaux équivalents. A cet effet, on a décrit, dans leurs grandes lignes, des moyens de stockage au moins de la combinaison d'un signal de valeur de ligne donné et d'un signal de numéro de ligne donné qui repré-15 sentent une valeur donnée. Ces moyens sont prévus pour former un signal de modification représentant au moins une valeur d'apparition de changement. Des additions et des suppressions sont indiquées dans le signal de modification. Des moyens supplémentaires forment un signal de valeur de nombre de lignes. 20 Des moyens analogues à ceux qui ont été décrits ci-dessus convertissent la combinaison d'un signal de valeur de ligne donné et d'un signal de numéro de ligne donné en l'un des signaux équivalents du jeu correspondant. Le signal équivalent est identifié par le signal de nombre de lignes. Des moyens sont 25 prévus pour combiner dans une porte OU exclusif les valeurs représentées par le signal de valeur de ligne équivalent et par le signal de modification de manière à former un signal de valeur de ligne de changement. De préférence, le signal de valeur de nombre de lignes représente la différence entre les 30 valeurs respectivement représentées par le signal de numéro de ligne donné et par le signal de numéro de ligne de changement. De cette manière, le signal de ligne donné est repermuté sur ce qu'on appellera ici une "ligne d'entrée" dans les jeux équivalents, puis cette ligne d'entrée est combinée par une 35 porte OU exclusif avec le signal de modification. On décrira également un procédé électronique de traitement de données permettant de vérifier la présence d'une valeur d'apparition effective représentée par une valeur de -19- 2334148 ligne donnée dans les jeux équivalents. Ce processus sera généralement désigné ici sous le nom de "fonction DEL". A noter que la présence d'une valeur d'apparition effective doit être vérifiée, non pas sur la ligne donnée, mais sur l'une des 5 autres lignes équivalentes. A cet effet, on décrira un procédé qui utilise la valeur représentée par le signal de numéro de ligne donné pour former un signal représentant le nombre de lignes de déplacement entre la ligne donnée et une valeur de ligne désirée du jeu équivalent de valeurs de ligne. On forme 10 un signal de test représentant la valeur d'apparition possible désirée dont on désire contrôler la présence dans la valeur de ligne désirée. Les valeurs représentées par le signal de test et par le signal de nombre de lignes sont combinées pour former un autre signal de test identifiant, en vue de son test, une 15 autre valeur d'apparition possible. Les valeurs représentées pa± le signal de test et par le signal de ligne donné sont comparées pour examiner si elles sont dans une relation prédéterminée. Les valeurs représentées par ledit autre signal de test et par le signal de ligne donné sont ensuite à leur tour 20 comparées pour déterminer si elles sont dans une relation prédéterminée. D'après les résultats de ces deux opérations de comparaison, un signal prédéterminé, indiquant la présence, dans la valeur de ligne désirée, d'une valeur d'apparition effective de grandeur égale à celle qui est représentée par le 25 signal de test, est formé. En complément de ce procédé, des moyens de vérification de présence sont prévus. Dans le cadre du procédé et des moyens de concentration, les signaux de vecteur sont de préférence transcodés d'un code compact en un code développé avant leur conversion 30 en un signal équivalent. De préférence également, la valeur de ligne équivalente est reconvertie d'un code développé en un code compact, avant que la longueur soit vérifiée, en utilisant des techniques de codage. On décrira un codeur préféré permettant de convertir sous une forme hybride une série reçue de 35 mots codés absolus en ordre décroissant qui représente les signaux de vecteur. Dans un tel codeur, sont prévus des moyens capables, en réponse à la réception de mots absolus précédent et actuel, de former un signal de sortie indicateur de la diffé -20- 2334148 rence entre ces mots. Il est indiqué si la sortie hybride est de forme absolue ou en forme de chaîne de bits. A cet effet, des moyens sont prévus pour indiquer une différence minimale choisie à l'avance entre des mots absolus successivement reçus 5 dans le cas d'une sortie de forme absolue et d'autres moyens sont prévus pour comparer l'indication de différence minimale et le signal de différence entre les mots absolus précédent et actuel, dit ci-après - signal de différence "précédent-actuel" - et pour indiquer si la valeur de ladite indication 10 est supérieure, ou bien égale ou inférieure, à celle dudit signal. Des sorties de forme absolue sont fournies. A cet effet, il est prévu des moyens capables, en réponse à l'indication "inférieur ou égal à", de sortir le mot absolu actuel stocké et un drapeau "absolu". Des sorties en forme de chaîne de bits 15 sont également fournies. A cet effet, il est prévu des moyens capables, en réponse à l'indication "supérieur à", de former un jeu de signaux ordonnés comprenant chacun un bit de l'une des deux valeurs binaires (par exemple "1"), séparés par un nombre de bits de l'autre valeur binaire (par exemple "0") correspon-20 dant à la valeur du signal de différence "précédent-actuel". En outre, des moyens sont prévus pour sortir sélectivement le jeu de signaux en association avec un drapeau "chaîne de bits" et dans une relation prédéterminée avec un mot absolu sorti. De cette manière, les mots absolus sont convertis sous une 25 forme hybride de codage. Une forme préférée du décodeur convertit les signaux codés hybrides en signaux codés absolus. Dans le système, cette, opération de décodage s'effectue sur des signaux de vecteur codés hybrides, provenant de la mémoire. Les signaux hybrides 30 représentent une série de valeurs d'apparition disposées dans un ordre décroissant. Les signaux hybrides comprennent une série de signaux de mots codés binaires reçus incluant au moins un mot codé absolu et un mot en chaîne de bits. Le mot en chaîne de bits représente une apparition par le nombre de 35 bits dont un bit de valeur prédéterminé est décalé par rapport à un mot absolu dans la série de mots hybrides. Le mot hybride comporte également un drapeau indiquant son type. Le décodeur comporte un dispositif de sortie de mots absolus comprenant 2334148 des moyens capables, en réponse à.un signal de drapeau "mot absolu" d'un mot hybride reçu, de sortir le signal de mot reçu. Il est également prévu un dispositif de sortie de mots absolus comprenant des moyens capables, en réponse à un signal de mot absolu et à chaque bit de valeur prédéterminée d'un signal de mot en chaîne de bits suivant, de former un signal de mot absolu de sortie indicateur de la valeur effective de chacun des bits de valeur prédéterminée précités. De cette manière, des signaux de vecteur retrouvés sont convertis de la forme hybride à la forme de mot absolu, chaque mot absolu représentant une valeur d'apparition effective. L'invention sera mieux comprise à la lecture de la description détaillée qui suit et à l'examen des dessins joints qui en représentent, à titre d'exemple non limitatif, un mode de réalisation. Sur ces dessins : la Fig. 1 est un schéma symbolique général de la machine de traitement de données (DFM); les Fig. 2, 3 et 4 forment ensemble un schéma de câblage en partie symbolique du module "codage"; la Fig. 5 est un schéma montrant la relation entre les Fig. 2, 3 et 4; la Fig. 6 est un schéma de câblage en partie symbolique de l'unité arithmétique et logique (ALU) utilisée dans les divers modules du système DP5Î; les Fig. 7 et 8 forment ensemble un organigramme mettant en évidence la séquence de fonctionnement du module "codage " ; les Fig. 9 et *10 forment ensemble un schéma de câblage en partie symbolique du module "décodage" I ; la Fig. 11 est un organigramme mettant en évidence la séquence de fonctionnement du module "décodage" I ; les Fig. 12, 13 et 14 forment ensemble un schéma de câblage en partie symbolique du module "décodage" II ; la Fig. 15 est un schéma de câblage en partie symbolique du module "delta"; la Fig. 16 est un organigramme mettant en évidence la séquence de fonctionnement du module "delta"; -22- 2334148 la Fig. 17 est un schéma de câblage en partie symbolique du module "permutation"; les Fig. 18A et 18B forment ensemble un organigramme mettant en évidence la séquence dysfonctionnement du module 5 "permutation"; la Fig. 19 est un schéma de câblage d'un permutateur d'iso-entropicogramme utilisant le module "permutation"; les Fig. 20, 21 forment ensemble un schéma de câblage en partie symbolique du module "raccourcissement"; 10 la Fig. 22 est un organigramme mettant en évidence la séquence de fonctionnement du module "raccourcissement"; la Fig. 23 est un schéma symbolique d'un chercheur de raccourci utilisant le module "raccourcissement"; la Fig. 24- est un schéma de câblage en partie symbo-15 lique du module "modification"; la Fig. 25 est un organigramme mettant en évidence la séquence de fonctionnement du module "modification"; la Fig. 27 est un schéma de câblage en partie symbolique d'une unité de commande d'horloge généralisée destinée 20 à être utilisée dans des modules désignés; les Fig. 28, 29, 30 et 31 forment ensemble un schéma de câblage en partie symbolique du module "sortie"; les Fig. 32 et 33 forment ensemble un organigramme mettant en évidence la séquence de fonctionnement du module 25 "sortie"; la Fig. 34 est un schéma de câblage de la machine de concentration et de recouvrement utilisant le module "sortie"; les Fig. 35, 36, 37 et 38 forment ensemble un schéma de câblage en partie symbolique du module "cadrage"; 30 les Fig. 39, 4-0 et 41 forment ensemble un organigramme mettant en évidence la séquence de fonctionnement du module "cadrage"; les Fig. 42A à D sont des graphiques utilisés pour mettre en évidence des fonctions du module "concordantiel"; 35 les Fig. 43, 44, 45 et 46 sont des schémas de câblage en partie symbolique du module "concordantiel"; les Fig. 47, 48, 49 et 50 forment ensemble un organigramme mettant en évidence la séquence de fonctionnement du module "concordantiel"; -23- 2334148 les Fig. 51» 52 et 53 forment ensemble un schéma de câblage en partie symbolique du module "jonction du système DHî" qui comprend le dispositif IPRF; la Fig. 54 représente la structure du bus d'entrée-5 sortie (I/O) 1220; les Fig. 55 et 56 forment des diagrammes temporels représentant la séquence de fonctionnement relative aux opérations de sortie et d'entrée du bus I/O; la Fig. 564 est un schéma de câblage en partie symbo-10 lique montrant la commande de la bascule BDONE dans le module "jonction du système DPM"; la Fig. 57 est un schéma de câblage en partie symbolique du module "mémoire"; la Fig. 58 est un diagramme d'impulsions d'autorisa-15 tion d'écriture relatif au module "mémoire"; la Fig. 59 est un schéma de câblage en partie symbolique de la matrice de commutateurs; la Fig. 50 est un schéma de câblage en partie symbo-~lique de la mémoire P/B; ^0 la Fig. 61 est un schéma symbolique d'une machine de traitement de données de variante (DPÎ.Î 2) ; les Fig. 61A, 61B et 61C forment ensemble un schéma de câblage en partie symbolique du module "codage" du système DPM 2; 25 les Fig. 61D et 61E forment ensemble un schéma de câ blage en partie symbolique du module "décodage" I du système DPM 2; les Fig. 61F, 61G- et 61H forment ensemble un schéma de câblage en partie symbolique du module "décodage" II du 30 système DPM 2; _ la Fig. 62 est un schéma de câblage en partie symbolique du module "delta" 2 destiné à être utilisé dans la machine de variante de la Fig. 61 ; la Fig. 63 est un organigramme du module "delta" 2; 35 la Fig. 64 est un schéma de câblage du circuit "im plicite" de la Fig. 62; les Fig. 65 et 66 forment ensemble un schéma de câblage en partie symbolique du module "permutation" 2 ; -?A- 2334148 la Fig. 67 est un organigramme du module "permutation" 2; les Fig. 68 et 69 forment un schéma de câblage en partie symbolique du module "permutation 3; 5 la Fig. 70 est un organigramme du module "permutation" 3; les Fig. 7^ et 72 forment ensemble un schéma de câblage en partie symbolique du module "raccourcissement" 2 ; la Fig. 73 est un organigramme du module "raccourcisse- 10 . ment" 2 ; les Fig. 74- et 75 forment ensemble un schéma de câblage en partie symbolique du module "sortie" 2; les Fig. 76 et 77 forment ensemble un organigramme du module "sortie" 2; 15 la Fig. 77-A est un schéma de câblage en partie symbo lique du module "modification" 2; la Fig. 77B est un organigramme du module "modification" 2; la Fig. 77C représente un exemple de la manière dont 20 l'information est déplacée entre les zones du module "mémoire" 2 au cours du fonctionnement du module "modification" 2; la Fig. 77D est un schéma de câblage en partie symbolique du module "mémoire" 2; la Fig. 77E est un schéma de câblage en partie symbo-25 lique de la matrice de commutateurs 2; la Fig. 77F est un schéma de câblage en partie symbolique de la mémoire auxiliaire 2; la Fig. 77G- est un croquis représentant le schéma généralisé du logiciel; 30 la Fig. 78 est un croquis généralisé représentant la structure des données de chaque couche; la Fig. 79A est un croquis représentant un exemple de la structure de données de la couche 0; la Fig. 79B est un croquis représentant un exemple de 35 la structure de données de la couche 1 ; la Fig. 79C est un croquis représentant la structure généralisée du logiciel; les Fig. 80 et 81 forment ensemble un organigramme -25- 2334148 du programme "analyse grammaticale" (PABSER); les Fig. 82 à 84 forment ensemble un organigramme du programme "cadrage" (PIPE); la Fig. 85 est un croquis représentant l'enchaînement 5 des adresse§âu cours des pas PI22 et la suite, du programme "cadrage"; la Fig. 86 est un croquis montrant l'enchaînement des adresses pendant le pas PI7 du programme "cadrage"; la Fig. 87 est un croquis représentant l'enchaînement 10 des adresses au cours de PI11 du programme "cadrage"; les Fig. 88 à 93 sont des croquis mettant en évidence la séquence de fonctionnement et les zones de stockage primaires au cours du déroulement des programmes "analyse grammaticale", "cadrage" et "concordance" (BRIGHT) ; 15 les Fig. 94 à 96 sont des organigrammes du programme "concordance"; la Fig. 97 est un organigramme du sous-programme "sortie" (OUTPUG}); la Fig. 98 est un organigramme du sous-programme 20 MEMDPM ; la Fig. 99 est un organigramme du sous-programme DPMMM ; la Fig. 100 est un organigramme du sous-programme "décodage" I (DECODE I); ^5 la Fig. 101 est un organigramme du sous-programme "insertion" (IITSERT); la Fig. 102A est un organigramme pictural du déroulement du programme "composition" au cours d'une demande de consultation de la couche 0; 30 la Fig. 102B est un organigramme pictural du déroule ment du programme "composition" au cours d'une demande de consultation de la couche 1 ; la Fig. 102C est un organigramme du programme "composition"; 35 la Fig. 103 est un organigramme du sous-programme "ordres" (CGKMAHD); la Fig. 104 est un organigramme du sous-programme "sélection d'un entier" (G3T IKTEGSR); -26- 2334148 la Fig. 105 est un organigramme du sous-programme "sélection virgule flottante" (GET FLOATING POINT); la Fig. 106 est un organigramme du sous-programme "demande de consultation" (REQUEST); 5 la Fig. 107 est un organigramme du sous-programme "traitement d'une sortie" (PROCOUT); la Fig. 108 est un croquis donnant un exemple et montrant la redondance entre la table G2TBL et la liste OLIST ; la Fig. 109 est un organigramme du programme "organisa-10 tion" (SETTJP); la Fig. 110 et 111 forment ensemble un organigramme du sous-programme "génération" (GENERATE); la Fig. 112 est un organigramme du sous-programme "tri" (SORT),c'est à dire "classement"; 15 la Fig. 113 est un organigramme du sous-programme "imprimante" (PRINTR); la Fig. 114 est une vue de principe du système de base de données de la technique antérieure; la Fig. 115 est une vue de principe d'un système de 20 base de données stratifiée suivant l'invention; la Fig. 116 est un croquis représentant la structure de stratification de la base de données; la Fig. 117 est un croquis représentant les tables de conversion CVRTBL et CVRTBL2 ; £5 la Fig. 118 est un croquis représentant ESTAK; les Fig. 119A à E sont des croquis représentant l'exploitation de l'espace utilisé disponible pour les lignes de raccourci; la Fig. 120 est un croquis représentant un exemple 30 des structures de données stratifiées après initialisation; la Fig. 121 est un organigramme du programme "base de données" (DATABASE); la Fig. 122 est un organigramme du programme "initialisation de couche" (LAYER INITIALIZATION); 35 la Fig. 123 est un organigramme du programme "formation de couche" (LAYER BUILDING); la Fig. 124 est un organigramme du programme "traitement d'une entrée" (PROCESS ENTRY); -27- 2334148 la Fig. 125 est un organigramme du sous-programme "traitement d'une entrée de couche 0" (PROCESS A LAYER 0 ENTRY); la Fig. 126 est un organigramme du sous-programme "addition de N événements" (ADD ÎT EVENTS); 5 la Fig. 127 est un organigramme du programme "mise en mémoire d'un nouveau raccourci" (PUT NEW SEED IN STORAGE) ; la Fig. 128 est un organigramme du programme "recherche d'espace libre" (SEARCH FREE SPACE); la Fig. 129 est un organigramme du sous-programme 10 "libération d'espace" (RELEASE SPACE); la Fig. 130 est un organigramme du programme "récupération des positions inutilisées" (GARBAGE COLLECTION), et la Fig. 131 est un organigramme du sous-programme "ajustement début de raccourci" (ADJUST SEED HEADER). 15 I. Description générale des systèmes de gestion de base de données, dits DPM» A. Structure de la base de données La Fig. 1 représente un schéma général d'un système de stockage et de recouvrement d'information suivant l'inven-20 tion. Le système de la Fig. 1 sera désigné ici sous le nom de "système de gestion de base de données" (DPM). Le système DPM est destiné à exécuter certaines fonctions générales de gestion d'une base de données, comme suit. On trouve tout d'abord la fonction "mise en mémoire" qui permet d'introduire de 25 l'information dans la base de données. On trouve en second lieu la fonction "mise à jour" qui permet de modifier ou de supprimer de l'information dans la base de données. Puis on trouve en troisième lieu la fonction "recouvrement" qui permet de retrouver de l'information dans la base de données, la quatrième 30 fonction étant la fonction "discrimination" qui permet à l'utilisateur d'exercer une discrimination sur l'information de la base de données. La fonction de discrimination est désignée ici sous le nom de fonction "de cadrage et de concordance". Pour bien comprendre les quatre fonctions ci-dessus, 33 il est indispensable de comprendre tout d'abord la structure de la base de données et la technique de stockage adoptée pour celle-ci. -28- 2334148 Toute l'information arrivant dans le système DFK est restructurée par le "minicalculateur" en une base de données stratifiée dans la mémoire principale de ce dernier. Chaque coucha est une entité logique ou un groupe d'entités logiques 5 dénommées "événements". Chacun de ces événements est délimité par l'un des séparateurs d'un jeu de séparateurs associé à la couche. Le groupe d'événements compris entre deux séparateurs successifs est dénommé "entrée". La stratification est hiérarchique en ce sens que les couches de niveau supérieur englobent 10 les couches de niveau inférieur. Par exemple, si l'on désirait structurer une base de données contenant un texte, les niveaux suivants pourraient exister : couche 3 constituée par des phrases; couche 2 constituée par des "locutions" ou membres de phrase; couche 1 constituée par des mots et couche 0 consti-15 tuée par des lettres. Chaque couche comporte des séparateurs appropriés et distincts. Toutefois, pour faciliter l'exposé, un système à deux couches seulement sera spécifiquement décrit. Une première de ces couches est formée de mots et la seconde, d'une phrase. 20 La table 1 est un exemple de la couche de mots 0. Chaque apparition d'un événement est représentée par un 1 tandis qu'un 0 représente une absence d'événement. Comme représenté, la couche peut être considérée comme ayant deux dimensions, respectivement désignées plus loin sous le nom de lignes (ou 25 rangées) et de colonnes. Le nombre de lignes est égal au nombre d'événements de la couche. Le nombre de colonnes est égal au nombre de valeurs d'apparition possibles pour chaque événement. Les entrées sont considérées comme une série d'événements se succédant dans le temps. A chaque colonne est affecté 30 un instant d'événement ou valeur d'apparition possible avec classement de gauche à droite suivant un ordre de valeurs monotone croissant. Le tableau 1 représente la couche 0 pour la phrase "THIS IS A TEST" (ceci est un test). La ligne 0 de la couche 0 contient le séparateur "tf" (représentant un blanc dans 35 le texte) qui sépare effectivement les mots de la phrase. La ligne 1 désigne les événements T. La ligne 2 désigne les événements H. La ligne 3 désigne les événements I. La ligne 4- désigne les événements S. La ligne 5 désigne les événements A. La ligne 6 désigne les événements E. -29" 2334148 Etant donné que les événements peuvent être considérés comme des séries d'instants d'événement apparaissant chronologiquement, chaque événement est représenté dans la couche par un 1 binaire sur la ligne et dans la colonne appropriées. En 5 conséquence, si les instants d'événement peuvent être considérés comme étant représentés par une horloge d'apparition, chaque fois qu'un 1 est introduit dans la couche, ce qui correspond à un événement, l'horloge d'apparition est incrémentée de 1. Ceci est représenté sur la table 2A. Par exemple, un séparateur 10 apparaît à l'instant d'événement 0, les lettres T-H-I-S apparaissent aux instants d'événement 1, 2, 3 et 4. Un second séparateur # apparaît à l'instant d'événement 5« Les lettres I-S apparaissent aux instants d'événement 6 et 7* Un autre séparateur Jzf apparaît à l'instant d'événement 8. La lettre A 15 apparaît à l'instant d'événement 9, un autre séparateur # apparaît à l'instant 10 et les lettres T-E-S-T apparaissent aux instants d'événement 11, 12, 13 et 14. Le séparateur # de fin apparaît à l'instant d'événement 15» Tous les événements d'une ligne quelconque sont repré-20 sentés par un vecteur d'apparition. Le vecteur d'apparition est représenté par les valeurs d'apparition d'un événement figurant sur une ligne particulière quelconque. Les vecteurs d'apparition sont représentés sur la table 2B pour chaque ligne de la table 1 sous la forme d'une série de valeurs d'apparition décimales. 25 Ainsi, par exemple, un "vecteur d'apparition de séparation" relatif à l'événement séparateur # est représenté sur la première ligne de la table 2B. D'une manière analogue, le vecteur d'apparition d'événement de la lettre T est représenté sur la seconde rangée de la table 2B, etc. 30 La table 3 représente une couche de phrase 1 pour la phrase "THIS IS A TEST". Le symbole est utilisé comme séparateur pour délimiter les phrases. La première apparition du symbole est implicite et constitue le séparateur initial de gauche de la couche "mots". Un certain nombre de types 35 différents de séparateurs peuvent être affectés à chaque couche (par exemple ; etc.) et peuvent être choisis sui vant les besoins par l'utilisateur. La valeur d'apparition possible à laquelle chaque séparateur apparaît dans la couche 0 -30- 2334148 est utilisée comme pointeur de ligne implicite vers la couche 1. Le pointeur de ligne est formé en affectant une valeur correspondant à la position relative des événements de la ligne 0 de la table 1 et en lui ajoutant une "majoration". Les pointeurs 5 implicites de 1, 2, 35 ^ et 5 sont représentés en bas de la table 3. On va maintenant considérer un exemple de la séquence de fonctionnement nécessaire pour répartir dans les couches la phrase # THIS # IS # A # TEST En examinant les exemples des 10 tableaux 1 et 3, on voit que dans un exemple réel du système, le premier séparateur # est implicite et non matériellement présent dans le flux d'information d'entrée. Un compteur de ligne ou d'événement, est utilisé pour garder trace de chaque nouvel événement pour chaque couche différente. En outre, une 15 horloge d'instant d'événement est prévue pour chaque couche pour identifiejçles instants d'événement ou les valeurs d'apparition possibles, Initialement, les horloges de ligne et d'instant d'événement de chaque couche sont initialisées par mise à 0. 20 La couche inférieure ou couche 0 est "étiquetée" avec des noms d'événement, en l'occurence la représentation binaire du caractère affecté à la ligne. Il n'en est pas ainsi en ce qui concerne les couches supérieures. Le séparateur # implicite est la première valeur d'ap-25 parition possible pouvant être rencontrée dans la phrase d'entrée. Etant donné que cette valeur n'est pas présente dans la couche 0, le # est affecté à la ligne disponible suivante, ligne 0, par le compteur de ligne. La première apparition de séparateur est marquée en plaçant un 1 binaire dans la colonne 30 0 et dans la ligne 0 correspondant à l'état de l'horloge d'instant d'événement et du compteur de ligne. Le compteur de ligne et l'horloge d'instant d'événement sont alors incrémentés de 1. L'horloge d'instant d'événement identifie maintenant l'instant d'événement 1 et le compteur de ligne, la ligne 1. 35 Pour chaque ligne d'événement, des zéros sont utilisés pour remplir les positions dans lesquelles un 1 n'est pas introduit. -51- 2334148 L'événement suivant pouvant être rencontré est le T du mot "THIS". En conséquence, un 1 est introduit ligne 1, colonne 1, ce qui correspond aux états "1", tant de l'horloge d'instant d'événement que du compteur de ligne. L'horloge d'instant d'é-5 vénement et le compteur de ligne sont alors incrémentés de 1. Ce processus se poursuit jusqu'à ce que THIS" ait été introduit dans la couche 0. L'événement suivant à rencontrer est le séparateur # de fin de mot. Le compteur de ligne est alors remis à zéro et à ce moment l'horloge d'instant d'événement est 10 à 5* En conséquence, un 1 est introduit ligne 0, colonne 5« L'événement complet # THIS # a maintenant été introduit sur la couche 0 et doit être traité sur la couche "mots" 1. La première apparition du séparateur de phrase est implicite et, par conséquent, est introduite ligne 0, colonne 0, ce qui cor-15 respond à l'horloge d'instant d'événement et au compteur de ligne de la couche 1. L'horloge d'instant d'événement et le compteur de ligne de la couche 1 sont incrémentés de 1 et un 1 est introduit colonne 1, ligne 1, ce qui correspond au mot THIS. Ensuite, la série d'événements d'entrée "IS est ren-20 contrée. Tout d'abord la couche "lettres" 0 est vérifiée pour déterminer s'il existe une ligne d'événement pour chacun des caractères I, S, #. Etant donné que les événements I, S, # sont apparus précédemment, mais pas dans cet ordre, seule l'horloge d'instant d'événement est incrémentée pour chacun de ces événe-25 ments et le compteur de ligne est réglé de façon appropriée pour identifier les lignes correspondant à chacun de ces événements. Une nouvelle ligne d'événement n'est pas ajoutée à la couche 1 si l'événement s'est déjà produit. Seule une marque 30 d'apparition est ajoutée dans la colonne appropriée de la ligne correspondant à l'événement. Une séquence d'événements entre deux séparateurs n'est pas ajoutée à la même couche d'événements une seconde fois si un pointeur implicite existe vers une couche supérieure. Au lieu de cela, la série d'événements comprise 55 entre les deux séparateurs est représentée et introduite dans le système stratifié sous la forme d'une marque d'apparition sur la couche d'événements immédiatement supérieure tandis qu'aucune opération n'a besoin d'être effectuée sur la couche inférieure. -32- 2334148 Gemme décrit plus de façon plus détaillée, le système DPM de la Fig. "1 matérialise le concept de stratification en représentant des données, non pas en lignes et en colonnes, mais sous la forme de vecteurs d'apparition qui représentent un 5 instant d'événement par des valeurs d'apparition effectives. B. Techniques iso-entropicographiques L'information n'est pas stockée dans le système DFK directement sous la fome d'instants d'événement représentée sur les tables 1 et 3, mais elle est convertie sous une forme 10 concentrée spéciale. Ce mode de concentration est dénommé ici "concentration iso-entropique". Plus précisément, un vecteur d'apparition ou un mot d'information est représenté par une valeur de ligne donnée et par un numéro de ligne donné. A chaque valeur de ligne donnée et à chaque numéro de ligne donné sont 15 associés respectivement, un jeu de valeurs de ligne équivalentes et un jeu de valeurs de numéro équivalentes qui comprennent la valeur de ligne et le numéro de ligne donnés. Chaque représentation équivalente a le même contenu informationnel. Chaque valeur de ligne représente au moins une valeur d'apparition effective 20 codée numériquement parmi un jeu de telles valeurs possibles. Chaque valeur de ligne est en relation avec une autre valeur de ligne du même jeu par l'intermédiaire d'une porte OU exclusif recevant, d'une part, les valeurs de ces lignes, et d'autre part, les mêmes valeurs affectées d'un décalage relatif. Ce jeu 25 de valeurs de ligne équivalentes forme ce qu'on a dénommé ici "iso-entropicogramme". Les diverses représentations du jeu ont des longueurs différentes si l'on néglige les 0 de gauche. La plus courte est désignée ici sous le nom de "raccourci". La plupart des opérations de recouvrement à partir du système DPM 30 ainsi que les opérations qui modifient la base de données sont effectées directement sur le raccourci et, par conséquent, sont très efficaces par rapport aux techniques de base de données classiques. La table 4-A donne un exemple d'un iso-entropicogramme 35 utilisant des 1 et des 0 binaires. Sur chaque ligne figure l'une des représentations du jeu complet. La ligne d'entrée est représentée au sommet et constitue la ligne 0. En considérant la ligne d'entrée, on peut voir qu'elle comporte les va -33- 2334148 leurs d'apparition effectives 0, 1, 2, 4 et 6. Chaque ligne, lorsqu'on suit 1'iso-entropicogramme de haut en bas, est formée en décalant les bits de la ligne précédente de l'iso-entropico-gramme d'une position binaire vers la droite et en appliquant à 5 une porte OU exclusif les bits (ou les valeurs) de la ligne non décalée avec ceux de la ligne décalée. L'opération logique effectuée dans une porte OU exclusif sera dénommée ici "opération ZOE". Une opération ZOE effectuée sur une information codée binaire est une semi-addition bit par bit avec suppression ou 10 troncature des bits résultants qui, à la suite du décalage, dépassent le nombre de bits de la ligne originale non décalée. Dans le cas considéré, les bits qui sont supprimés sont ceux qui sont situés à la droite du plus grand instant d'événement ou de la plus grande valeur d'apparition possible, 7« 15 On va maintenant se référer à la table 5 et considérer en détail la manière dont la ligne 1 est formée à partir de la ligne 0 de la table 4~A. Les deux lignes supérieures de la table 5 représentent, respectivement, la ligne 0 non décalée et la ligne 0 décalée vers la droite d'un bit. La ligne verticale 20 indique le point auquel la suppression de bits ou "troncature" se produit. Les bits restants de la ligne 0 décalée et de la ligne 0 non décalée sont soumis à une opération ZOE qui fournit la ligne 1 de 1'iso-entropicogramme. On répète ensuite ce processus en utilisant la ligne 1 pour former la ligne 2, puis en 25 utilisant la ligne 2 pour former la ligne 3, etc. On voit donc qu'après la formation d'un nombre de lignes égal au nombre de bits de la ligne d'entrée, la ligne suivante à former ou à engendrer correspond à nouveau à la ligne d'entrée qu'on peut également désigner sous le nom de "ligne de sortie". On remarque-30 ra par exemple que les lignes 0 à 7 du tableau 4-A sont toutes différentes tandis que la ligne 8 est identique à la ligne 0 ou ligne d'entrée. L'iso-entropicogramme se referme sur lui-même, les lignes 0 et 8 étant identiques. Le processus utilisé pour passer d'une ligne donnée à 35 une autre dans un même iso-entropicogramme est désigné ici sous le nom de "permutation". Une des limitations imposées à 1'iso-entropicogramme réside en ce que le nombre de positions binaires, c'est-à-dire -34- 2334148 la largeur, doit être une puissance entière de 2, (par exemple 1, 2, 4, 8, 16, etc). On constatera également que, dans un iso-entropicogramme, on peut, en parcourant les colonnes, choisir un nombre de colonnes quelconque égal à une puissance entière 5 de 2. On peut alors voir que les bits des colonnes Choisies se répètent à toute^les lignes ayant pour numéro une puissance entière de 2. Par exemple, les colonnes 0 et 1 se répètent à la ligne 2; les colonnes 0, 1, 2 et 3 à la ligne 4; les colonnes 0, 1, 2, 3» 4-, 5» 6 et 7 à la ligne 8; etc. 10 On voit également qu'à mesure que les lignes d'un iso- entropicogramme sont formées, l'information d'apparition passée semble balayer progressivement 1'iso-entropicogramme, ce qui influe sur la représentation de l'information ultérieure. Dans 1'iso-entropico-gramme de la table 4-A, ce balayage semble s'ef-15 fectuer vers la droite. Par exemple, à la ligne 7i l'information de la ligne 0, colonne 0 a interféré avec chaque colonne située à sa droite et, en fait, toutes les colonnes ont interféré avec des colonnes situées à leur droite. La table 6 met ce point en évidence en utilisant, comme 20 ligne d'entrée, la configuration d*iso-entropicogramme de base créée par un unique bit codé binaire d'information d'apparition. La configuration de base représentée sur la table 6 a été dénommée ici configuration "delta", d'une part en raison de sa similitude approximative avec la modulation delta et d'autre part, en 25 raison du fait que la forme matérielle délimitée par les "1" ressemble au symbole "delta". L'iso-entropicogramme reproduit sur la table 6 est en fait la résultante des configurations interférentes produites par la position des deltas sur la ligne d'entrée. 30 Un autre exemple de l'interaction des deltas est repré senté sur la table 7 qui représente un iso-entropicogramme dont les "0" ont été supprimés pour plus de clarté. Ici, on voit qu'on a encadré les deltas, dont l'interférence se produit sur la ligne 4. La configutation d'interférence produite par l'interaction de 35 ces deltas offre des propriétés analogues à celles d'un hologramme optique. Ainsi, par exemple, dans un hologramme optique * chaque point est le résultat combiné d'un faisceau direct et d'un faisceau réfléchi dont l'intensité et la distance de par -35- 2334148 cours sont fonction de la scène qui le réfléchit. L'intensité enregistrée en chaque point est la résultante des intensités combinées des deux faisceaux et du déphasage entre eux dû à la longueur de parcours du faisceau réfléchi. 5 D'une manière analogue, en chaque point de 1'iso- entropicogramme des tables 6 et 7» l'information est la résultante de deux intensités d'information (0 binaire et 1 binaire) et de leur relation de phase. En chaque point, l'information passée est analogue au faisceau réfléchi d'un hologramme optique 10 et l'information actuelle est analogue à son faisceau direct. L'information stockée dans 1'iso-entropicogramme est extrêmëment redondante. Par exemple, chaque ligne de 1'iso-entropicogramme forme une unique représentation parmi un jeu complet de représentations équivalentes. L'ensemble des lignes 15 forme ce jeu complet. Chaque ligne représente un nouveau codage ou nouvelle transformation de la ligne d'entrée. En outre, on a constaté qu'on peut éliminer d'importantes portions de 1'iso-entropicogramme et que 1'iso-entropicogramme peut être reconstitué dans son intégrité à partir des bits et des fragments res-kO tants en utilisant les interrelations entre les lignes et les colonnes. Comme exposé ci-dessus, les lignes 0 et 8 de 1*iso-entropicogramme de la table 4 sont de forme identique. On peut généraliser en disant que si la ligne 0 est la ligne d'entrée, 25 la ligne 0+2N est la ligne de sortie dont la forme est identique à celle de la ligne d'entrée, tandis que la grandeur 0+2ÏÏ est égale au nombre de bits de la ligne d'entrée. Le but de l'utilisation des techniques iso-entropico-graphiques est de remplacer la ligne d'entrée par une autre re-30 présentation (ligne) égale à ladite ligne d'entrée mais de préférence plus courte que celle-ci. La ligne de "raccourci" est celle qui peut être représentée avec un nombre minimal de bits en éliminant les "0" en-tête. Sur la table 4-A, on peut voir que le "raccourci" est la ligne 2 où quatre valeurs d'apparition 35 seulement, à savoir 0 à 3, sont nécessaires pour représenter l'information, étant donné que tous les autres bits situés plus à droite sont des "0". Le raccourci représente alors un codage minimal de 1'iso-entropicogramme. Dans 1'iso-entropicogramme, le -36- 2334148 raccourci est alors la ligne qui comporte le plus petit nombre de positions de valeur d'apparition possible nécessaires pour représenter toutes les valeurs d'apparition. Si l'on dénomme "valeurs d'apparition possibles" toutes 5 les positions binaires d'une ligne et par "valeur d'apparition effective" chaque "1", on peut écrire que 1'iso-entropicogramme présente les caractéristiques suivantes : (1) les chaînes de valeurs d'apparition effectives sont groupées en lignes et les lignes sont groupées en un jeu. Toutes les 10 lignes du jeu sont équivalentes et en relation entre elles. Suivant le mode de réalisation préféré de l'invention, chaque ligne du jeu est mise en relation avec une autre en décalant les valeurs d'apparition de cette ligne d'un rang et en soumettant à une opération XOR les lignes décalée et non décalée, 15 puis en supprimant les valeurs décalées qui dépassent la valeur de 1'iso-entropicogramme; (2) toutes les lignes du jeu sont univoques, c'est-à-dire qu'aucune d'entre elles ne se répète; (3) le jeu de lignes se referme sur lui-même en ce sens qu'en 20 manipulant une ligne quelconque on peut répéter le jeu entier de lignes et la dimension du jeu (nombre de lignes du jeu) est prédéterminée. La dimension du jeu (ou nombre de lignes du jeu) pour une longueur donnée des lignes peut être spécifiée comme suit : 25 N (nombre-) = nombre de valeurs d'apparition possibles par ligne et nombre de lignes par jeu. loggN est un entier. On décrira ci-après des techniques générales à l'aide desquelles une ligne quelconque d'un jeu formant un iso-entropicogramme peut être engendrée à partir d'une autre ligne quel-30 conque si l'on connaît, d'une part, la ligne à utiliser comme référence, et, d'autre part, le nombre de lignes compris entre la ligne à utiliser et la ligne d'entrée. Etant donné que la transmission de chacune des lignes du jeu formant un iso-entropicogramme avant l'élimination des 35 "0" en-tête transfère la même information et exige le même nombre de bits, le jeu est "iso-entropique". En effet, au sens qu'on entend par là en informatique théorique, chaque ligne a la même "entropie". En utilisant les techniques de recherche de rac -37- 2334148 courci décrites ici, il est possible de choisir une ligne représentant la ligne d'entrée avec un plus petit nombre de valeurs d'apparition et, par conséquent, l'entropie est réduite. En conséquence, la représentation de l'information peut être 5 stockée ou transmise plus efficacement. Les lignes d'un iso-entropicogramme peuvent être tirées chactme d'une autre ligne quelconque sans recourir à une permutation ligne par ligne. Toutefois, pour fixer les idées et à titre d'exemple seulement, si l'on utilise une permutation ligne par 10 ligne, la ligne de "raccourci" est permutée jusqu'à la ligne d'entrée en permutant le raccourci du nombre de lignes de l'iso-entropicogramme qui sont nécessaires pour engendrer ladite ligne d'entrée. Par exemple, sur la table 4-B, une permutation de neuf lignes à partir de la ligne de "raccourci" 7 engendrerait la 15 ligne d'entrée 16. Dans tin mode de réalisation préféré de l'invention, des moyens sont prévus pour engendrer la ligne d'entrée sans avoir à engendrer chacune des lignes entre la ligne de "raccourci" et la ligne d'entrée. Dans ce mode de réalisation préféré, on ob-20 tient ce résultat en déterminant le nombre de lignes nécessaires pour engendrer la ligne d'entrée et en décomposant ce nombre en ses puissances de 2 composantes, en commençant par la plus grande possible de ces puissances' et en terminant parla plus petite possible. Une- opération XOE est alors effectuée en utilisant cha-25 cune des puissances de 2 composantes pour passer de la ligne de "raccourci" à la ligne d'entrée. A chaque opération XOE, une ligne donnée est décalée vers la droite du nombre de positions binaires (positions d'apparition possible) identifié par la puissance de 2 composantes correspondantes. La ligne donnée 30 décalée est alors soumise à une opération XOE avec la ligne donnée non décalée. L'exemple de la table 4-B exige une permutation de neuf lignes pour assurer l'obtention de la ligne d'entrée à partir de la ligne de "raccourci". Si l'on décompose 9 en ses puissances 35 de 2 composantes, de la plus grande à la plus petite, les puissances composantes sont 8 et 1. La ligne supérieure de la table 4-D représente la ligne de "raccourci" non décalée. La ligne suivante de la table 4-D représente la ligne de "raccourci" -38- 2334148 décalée de 8 bits par rapport à la première ligne. La troisième ligne montre le résultat d'une opération XOR sur les deux premières. A ce stade la ligne de "raccourci" a donc été permutée de la ligne 7 à la ligne 15» (Voir ligne 15 de la table 4-B). 5 La puissance de 2 composante restante est 1. En conséquence, la troisième ligne de la table 4-D ou ligne 15 de l'iso-entro-picogramme, est décalée vers la droite d'une position binaire et soumise à une opération XOR avec elle-même pour engendrer la ligne d'entrée 16. 10 Une autre technique de permutation permettant d'engen drer une ligne quelconque d'un iso-entropicogramme directement à partir d'une autre ligne quelconque du même iso-entropicogramme sans génération de lignes intermédiaires est décrite ci-après. Ce résultat peut être obtenu par un processus de per-15 mutation impliquant un décalage et une opération XOR sur la ligne donnée de départ d'un iso-entropicogramme. Le nombre de positions de décalage est déterminé par l'une des lignes du delta de la table 6. Le procédé oomprend essentiellement les opérations suivantes : 20 1. Détermination du nombre de lignes de 1*iso-entropicogramme correspondant dont la ligne donnée doit être permutée; 2. Génération de la ligne du delta dont le numéro est égal à la valeur du nombre de lignes à permuter; 3. Pour chaque valeur d'apparition du delta choisi, formation au 25 moins partielle d'une représentation individuelle de la ligne donnée et alignement des représentations de la ligne donnée de telle manière que l'une des extrémités de chacune d'elles soit alignée avec la valeur d'apparition correspondante de la ligne choisie du delta; 30 4. Opération XOR sur les valeurs d'apparition ainsi alignées de la ligne donnée, opération qui élimine les valeurs d'apparition décalées sortant du cadre de 1'iso-entropicogramme. Les tables 46 et 47 représentent un tel exemple. On supposera ici que, sur la table 47, la ligne donnée est la 35 ligne 0. On voit alors que la sixième ligne de l'iso-entropico-gramme après la ligne donnée est la ligne 6. Sur la table 6, la ligne de delta 6 comprend les valeurs d'apparition 0, 2, 4 et 6. En partant de la ligne donnée représentée par la ligne 0 sur la -39- 2334148 table 47, en formant une représentation de cette ligne pour chacune des valeurs d'apparition de la ligne de delta 6 et en alignant l'extrémité de gauche avec les valeurs d'apparition correspondantes de ladite ligne de delta 6, on obtient la confi-5 guration représentée en 0, 2, 4 et 6 sur la table 46. Une opération 20S sur les bits alignés donne la ligne 6 de la table 47. En d'autres termes, il existe des valeurs d'apparition en 0, 2, •4 et 6 de la ligne de delta 6. La ligne donnée est reproduite quatre fois et les diverses lignes reprodtiites sont respective-10 ment décalées de 0, 2, 4 et 6 valeurs d'apparition possibles. Les lignes résultantes sont soumises à une opération XOR pour engendrer la ligne 6 de 1'iso-entropicogramme en éliminant toutes les valeurs d'apparition décalées situées à droite du bord de 1'iso-entropicogramme. 15 N'importe quelle ligne peut être utilisée comme ligne donnée de 1'iso-entropicogramme. La distance relative, c'est-à-dire le nombre de lignes que doit comprendre la permutation est égal à la différence entre le numéro de la ligne désirée et le numéro de la ligne donnée. Cette différence détermine la ligne 20 du delta à utiliser pour le processus de décalage et d'opération XOR. Si le numéro de la ligne désirée est inférieur à celui de la ligne donnée, par exemple dans le cas d'une ligne donnée 5 et d'une ligne désirée 3, la distance relative est négative. Dans ce cas, la largeur de 1'iso-entropicogramme est ajoutée à la 25 différence négative et le résultat indique la ligne du delta à utiliser. Par exemple, en utilisant une ligne donnée 5 et une ligne désirée 3, on calculerait la ligne du delta comme suit : 3-5 = -2; -2+ 8 = 6. Ce concept général est matérialisé dans le système DPM 30 de variance de la Fig. 61. Toutefois, pour faciliter la matérialisation, le processus comprend un décalage et une opération XOR sur la. ligne du delta plutôt que sur la ligne donnée qui doit être permutée. Le processus non matérialisé dans le module "delta" 2 et dans le système DPM de la Fig. 61 est le suivant : 35 1. Détermination du nombre de lignes de 1'iso-entropicogramme correspondant dont la ligne donnée doit être permutée; 2. Génération de la ligne du delta dont le numéro est égal à la valeur du nombre de lignes à permuter, une ligne de delta de -40- 2334148 ce genre étant au moins partiellement engendrée pour chaque valeur d'apparition de la ligne donnée et alignement de chaque ligne de delta engendrée de telle manière que l'une des extrémités de cette ligne soit alignée avec la valeur 5 d'apparition correspondante de la ligne donnée; 3. Opération XOR sur les valeurs d'apparition ainsi alignées de la ligne de delta engendrée avec élimination des valeurs d'apparition décalées dépassant les limites de 1'iso-entropicogramme. 10 Une description plus détaillée de la réalisation du module "delta" 2 est donnée dans les chapitres relatifs à ce module et au module "permutation" 2. Comme décrit plus loin de façon plus détaillée, une ligne quelconque d'un iso-entropicogramme est complètement 15 identifiée par un numéro de ligne, une valeur de ligne et une valeur de largeur (ou longueur). Le numéro de ligne est celui de 1'isoentropicogramme. La valeur de ligne représente les valeurs d'apparition effectives à l'exclusion des "0" situés à la droite du dernier "1". La "largeur" est la largeur de l'iso-20 entropieogramme correspondant elle-même égale à la longueur d'une ligne quelconque de 1'iso-entropicogramme y compris les "0" de droite. Par exemple, en utilisant cette forme d'expression, la ligne de "raccourci" de la table 4—A peut être représentée 25 par un numéro de ligne 2, une valeur de ligne 1101 et une largeur 8. Comme décrit plus loin de façon plus détaillée, le mode de réalisation réel de la présente invention agit sur une valeur d'apparition effective exprimée en décimal codé binaire plutôt que sous la forme de lignes et colonnes de "1" et de "0". 30 En utilisant cette forme d'expression, la valeur de ligne ci-dessus devient 0, 1, 3. 0. Modifications Les modifications d'une base de données consistent en insertions, en effacements et en addition d'information 35 nouvelle. Les effacements éliminent des valeurs d'apparition effectives de vecteurs d'apparition d'événement. Une insertion ajoute une valeur d'apparition effective à un ou plusieurs vecteurs d'apparition d'événement et, s'il y a lieu, certaines -41- 2334148 valeurs d'apparition effectives sont décalées pour permettre cette insertion. De nouvelles additions à une base de données ajoutent de nouvelles valeurs d'apparition effectives à des vecteurs d'apparition d'événement existant ou ajoutent des vecteurs 5 d'apparition d'événement entièrement nouveaux. Dans un mode de réalisation préféré de l'invention décrit ci-après à propos du module "modification", les modifications aux vecteurs d'apparition d'événement s'effectuent directement sur la ligne de "raccourci" de ces vecteurs. En d'autres 10 termes, il n'est pas nécessaire de repermuter un vecteur d'apparition d'événement de sa ligne de "raccourci" à la ligne d'entrée de son iso-entropicogramme. Les tables 9-À et 9-E représentent la séquence de fonctionnement nécessaire pour modifier un événement hypothétique X. La ligne a de la table 9-A représente les 15 apparitions de X sous la forme codée décimale absolue. Les lignes b et c représentent respectivement des effacements et des insertions. Par exemple,les valeurs d'apparition 6 et 12 doivent être effacées et les valeurs d'apparition 1, 3, 8, 9 et 11 doivent être ajoutées à l'événement X représenté sur la ligne a. Le vec-£0 teur de modification auquel sont incorporés tous les effacements et toutes les insertions est représenté sur la ligne d de la table 9-A. Le vecteur de modification comprend toutes les valeurs d'apparition relatives aux effacements et aux insertions classées dans un ordre incrémentiel croissant de gauche à droite. 25 Une opération de modification s'effectue en soumettant à une opération XOR le vecteur de modification et le vecteur d'apparition d'événement à modifier. Si les lignes a et d de la table 9-A sont soumises à une opération XOR, on obtient le résultat représenté sur la ligne e. On peut voir que la ligne e comprend 30 toutes les valeurs d'apparition effectives représentées sur les lignes a et d sauf les valeurs d'apparition communes 6 et 12 communes à ces deux lignes. On remarquera que dans l'opération XOR qui vient d'être décrite, l'événement X et le vecteur de modification sont tous deux à la ligne 0 ou ligne d'entrée de 35 leurs iso-entropicogrammes respectifs. On supposera maintenant que le vecteur X est à sa ligne de "raccourci" comme représenté en g sur la table 9-A. Le raccourci de X se trouve à la ligne 6 de son iso-entropicogramme. Dans -4-2- 2334148 le mode de réalisation préféré de l'invention, le vecteur de modification est permuté à travers son iso-entropicogramme jusqu'à ce qu'il se trouve également à la ligne 6 de celui-ci. La ligne h. de la table 9-A représente le vecteur de modification • 5 à la ligne 6 de son iso-entropicogramme. Suivant l'invention, les valeurs de ligne de 2 et du vecteur de modification représentées en g, h sont ensuite soumises à une opération XOR, ce qui donne le résultat indiqué sur la ligne i. En examinant i sur la table 9-A, on voit que l'opération XOR fournit le même 10 numéro de ligne à savoir ligne 6 avec une valeur de ligne de 0,1. La table 9-® représente 1'iso-entropicogramme pour la ligne d'entrée représentée en e dans la table 9-A. On voit que, lorsque la ligne d'entrée (ligne 0) de la table 9-B a été permutée à sa ligne 6, ses valeurs d'apparition effectives sont en fait 15 0 et 1, c'est-à-dire les mêmes que celles qui sont représentées sur la ligne i de la table 9-A. En utilisant les techniques de permutation décrites ci-dessus, on permute alors la valeur résultante représentée en i, suivant l'invention, jusqu'à ce qu'on trouve sa ligne de "raccourci". 20 En se référant à la table 9-B, on voit que le raccourci est à la ligne 5» En conséquence, la ligne 6 représentée en i dans la table 9-A et en 6 dans la table 9-B est permutée vers l'avant 15 fois jusqu'à ce qu'elle se trouve à la ligne 5 du même iso-entropicogramme, comme indiqué en bas de la table 9-B. 25 La ligne 6, plus 15 lignes supplémentaires, donne la ligne 21. En retranchant 16 (nombre total de lignes de 1'iso-entropicogramme), on obtient la ligne 5 qui est la ligne de "raccourci". En conséquence, le nouveau numéro de ligne de "raccourci" 5 a une valeur de ligne 0. 50 Un point de l'invention important à noter réside en ce que, dans l'exemple ci-dessus, les modifications impliquent cinq insertions et deux effacements seulement. Bien que les insertions, et par conséquent le contenu informationnel soient augmentés, le processus s'est traduit par une réduction résultante 35 du raccourci. En d'autres termes, l'événement "raccourci" X contient trois valeurs d'apparition dans sa valeur de ligne tandis que la valeur de ligne du raccourci final ne contient qu'une seule valeur d'apparition. Ce résultat est obtenu grâce au fait -4-3- 2334148 que le raccourci est une représentation formée par des configurations d'interférence d'information qui ne sont pas déterminées par la quantité ou nombre des valeurs d'apparition. Ces configurations ne sont influencées que par la relation entre les 5 valeurs d'apparition» En conséquence, il est possible que la dimension d'une base de données se rétrécisse à mesure qu'on y ajoute de l'information. D, Vérification de la présence d'une valeur d'apparition sur la ligne d'entrée 10 Comme décrit précédemment, la table 6 représente un delta. Le delta de la table 6 a la même largeur que l'iso-entropicogramme de la table 4—A. On forme un delta en plaçant un 1 à la valeur d'apparition possible 0 comme ligne d'entrée et en permutant jusqu'à ce que la ligne d'entrée originale soit 15 formée sur la largeur désirée d'iso-entropicogramme. Le delta peut être utilisé pour vérifier la présence d'une valeur d'apparition (c'est-à-dire d'un "1") sur la ligne d'entrée d'un iso-entropicogramme sans engendrer effectivement cette ligne d'entrée. 20 Le procédé de vérification peut consister, en utilisant simplement un crayon et du papier, à inverser matériellement le delta de haut en bas et d'un côté à l'autre. Par exemple, le delta de la table 6 ainsi inversé devient celui qui est représenté sur la table 9-0. Ensuite, on place le coin inférieur 25 droit du delta sur la colonne de valeurs d'apparition possibles intéressante à la ligne de sortie. Puis la ligne du delta inversé qui coïncide avec la ligne de 1*iso-entropicogramme qu'on s'apprête à utiliser pour le test sont soumises à une combinaison logique ET. Ensuite la ligne résultante est soumise à une opéra-30 tion XOE. Si le résultat de cette dernière opération est un "1", c'est qu'une valeur d'apparition effective est présente sur la ligne d'entrée dans la colonne de valeurs d'apparition possibles intéressante. Si le résultat est "0", c'est qu'aucune valeur d'apparition n'est présente. 35 Bien que la méthode qui vient d'être décrite soit pré cise et efficace, même en utilisant simplement un papier et du crayon, la présente invention peimet d'appliquer des concepts analogues à ceux qui viennent d'être décrits dans un mode de -44- 2334148 réalisation plus pratique. Dans le mode de réalisation réel de l'invention, il est possible d'exprimer un raccourci sous la forme d'un numéro de ligne, d'une valeur de ligne et d'une largeur d*iso-entropicogramme, pour déterminer si la ligne d'entrée 5 de 1'iso-entropicogramme correspondant comporte une valeur d'apparition désirée particulière quelconque et ce résultat peut être obtenu sans repermuter le raccourci à la ligne d'entrée. Généralement la ligne à utiliser pour le procédé de vérification est la ligne de "raccourci". En conséquence, la description du 10 mode de réalisation de l'invention ci-après sera faite en supposant que la ligne à utiliser comme base pour le test est effectivement la ligne de "raccourci". Pour revenir au delta inversé, on peut voir que le nombre 'd'intervalles" (le terme "intervalle" désignant ici la distance 15 entre deux' positions binaires successives) compris entre deux "1" adjacents est une puissance entière de 2 pour les lignes 0, 2, 4 et 6. Par exemple, la ligne 2 comprend des "1" séparés de deux intervalles tandis que la ligne 4 comprend des "1" séparés de quatre intervalles. Grâce à cette caractéristique du delta, 20 il est très facile d'engendrer des valeurs d'apparition représentant les valeurs d'apparition qui sont présentes sur les lignes du delta dont les numéros sont des puissances de 2 composantes. A cet effet, la ligne de "raccourci" qui doit être utilisée comme base pour un test est tout d'abord permutée dans 25 son iso-entropicogramme jusqu'à ce qu'elle se trouve à la ligne qui est éloignée d'un nombre de lignes égal à une puissance entière de 2 de la ligne d'entrée. A titre d'exemple, en considérant la table 4-A, on voit que la ligne de "raccourci" 2 après permutation de deux lignes jusqu'à la ligne 4 est éloignée d'un 30 nombre de lignes égal à une puissance entière de 2 (en l'occurrence 4) de la ligne d'entrée. En considérant le delta inversé de la table 9-C, on peut voir que la ligne 4 contient des valeurs d'apparition en 3 et 7. Il est donc évident que le nombre d'intervalles entre 35 valeurs d'apparition possibles séparant les valeurs d'apparition effectives du delta (pour ce qui concerne les lignes dont les numéros sont de§£uissances entières de 2) est égal au numéro de -45- 2334148 ligne correspondant. Pour décrire un exemple, en appliquant le delta inversé de la table 9-C à 1'iso-entropicogramme de la table 4-A, on supposera qu'on désire déterminer si la valeur d'apparition 6 est présente sur la ligne d'entrée. En appliquant 5 la ligne 4 du delta inversé de la table 9-C sur la ligne 4 de 1*iso-entropicogramme de la table 4-A, on voit que la valeur d'apparition 6 est présente sur la ligne en question du delta inversé de la table 9-C, tandis qu'elle est absente sur la ligne en question de 1'iso-entropicogramme de la table 4-A alors qu'à 10 quatre rangs vers la gauche de la valeur d'apparition 6 (intéressante) le delta inversé contient une valeur d'apparition et il en est de même en ce qui concerne 1*iso-entropicogramme de la table 4-A. Les tables 3-D et 9-E représentent ces opérations. Le procédé ci-dessus de détermination de la présence 15 d'une valeur d'apparition sur la ligne d'entrée en utilisant une des autres lignes de 1'iso-entropicogramme sera désigné ici par convention sous le nom de "fonction DEL". Le procédé effectif grâce auquel le mode de réalisation décrit de l'invention assure la fonction DEL sera décrit de façon plus détaillée dans le cha-20 pitre relatif au module "sortie". E. Codage hybride Le mode de réalisation décrit de l'invention comprend encore une autre technique de concentration suivant laquelle les vecteurs d'apparition sont représentés sous une forme codée hy-25 bride. L'information est stockée dans le module "mémoire" sous forme codée hybride. En conséquence, en considérant la technique iso-entropicographique utilisée pour représenter un vecteur d'apparition particulier, l'invention comprend une technique dans laquelle on choisit&a ligne de l1iso-entropicogramme qui, sous 30 la forme codée hybride, est la plus courte et non nécessairement celle qui est la plus courte sous la forme non codée. La raison du choix de la représentation iso-entropicographique codée hybride la plus courte pour le "raccourci" est de permettre l'utilisation d'un espace de mémoire aussi réduit 35 que possible pour le stockage. On va maintenant se référer à la table 8 dans laquelle les diverses valeurs d'apparition possibles sont représentées avec, immédiatement au-dessous d'elles, (deuxième ligne) les bits correspondants représentant un vecteur d'apparition. -46- 2334148 Jusqu'ici, les vecteurs d'apparition ont été essentiellement décrits sous la forme ce qui sera désigné ici sous le nom de forme "chaîne de bits". En d'autres termes, on utilise un 1 binaire ou un 0 binaire pour représenter la présence ou l'absence 5 de valeurs d'apparition effectives. Cette forme de représentation est indiquée sur la seconde ligne de la table 8. On voit sur la troisième ligne de la table 8 la même information sous la forme décimale codée binaire, dite ici "forme de code absolue". Par exemple, la forme "chaîne de bits" de l'information 10 de la table 8 exige huit chiffres d'un bit chacun pour son stockage tandis que la forme de code absolue n'exige que cinq chiffres de trois bits chacun pour son stockage. Chaque chiffre de la forme "chaîne de bits" n'exige qu'un seul bit pour son stockage, tandis que chacun des chiffres de la 15 forme absolue exige trois bits codés binaires. Toutefois, si le nombre de blancs, ou de "0" entre deux "uns" binaires (apparitions) devient grand, on voit qu'on atteint un point auquel il est plus court et plus économique au point de vue espace de mémoire de représenter l'information sous la forme absolue. Pour exprimer 20 les choses d'une manière différente, la distance entre les "1" binaires de la forme "chaîne de bits" détermine si c'est un codage sous forme de chaîne de bits ou un codage absolu qui assure la meilleure concentration et, par conséquent, la plus courte longueur d'information à stocker. 25 A titre d'exemple, dans un iso-entropicogramme très large, la distance entre deux instants d'événements ou apparitions peut être grande. Par exemple, une valeur d'apparition donnée peut être 5 et la suivante 2.673. Dans ce cas, un codage absolu doit être utilisé étant donné qu'il existe beaucoup moins 30 de bits codés binaires d'information pour le stockage. Si la distance entre des instants d'événement est courte, et si le nombre d'apparitions correspond en conséquence à une grande fréquence des apparitions, alors c'est le codage sous forme de chaîne de bits qui est préférable. 35 Compte tenu de ce qui précède, l'invention comprend une technique consistant à utiliser un codage hybride. On va maintenant donner une brève description de ce codage hybride étant donné qu'il est partie intégrante d'un mode de mise en oeuvre préféré du procédé de détermination de raccourci. -4-7- 2334148 La table 9 représente en code hybride un exemple des six mots de mémoire de plus fort poids pour un vecteur d'apparition contenant des apparitions aux instants d'événement 87, 88, 90, 93, 100, 114, 116, 119» 123 et 123. Chaque mot contient à 5 son extrémité de gauche un bit ou "drapeau" qui indique qu'il s'agit d'un mot en chaîne de bits ou d'un mot absolu. Un 1 binaire indique un mot absolu tandis qu'un 0 binaire indique un mot en chaîne de bits. Indépendamment du bit "forne en chaîne de bits/forme absolue" prévu à gauche de chaque mot, chaque mot 10 en chaîne de bits contient la valeur d'apparition la plus grande à son extrémité droite et la valeur d'apparition la plus faible à son extrémité gauche. Le mot "1" est sous la forme absolue et représente 125 avec le bit de plus fort poids à gauche et le bit de plus faible 15 poids à droite (en négligeant le bit de forme "chaîne/absolue" de l'extrémité gauche du mot). Le mot deux est sous la forme "chaîne de bits" et comporte sept positions binaires représentant les valeurs d'apparition possibles 118 à 124 mais il contient exclusivement des valeurs d'apparition effectives repré-20 sentées par des "1" binaires pour les valeurs d'apparition 119 et 123. Au cours du processus de codage en code hybride, un vecteur d'apparition en forme de chaîne de bits est exploré à rebours à partir de l'extrémité droite, en considérant la table 25 4-A jusqu'à l'extrémité gauche, c'est-à-dire à partir du dernier instant d'événement ou plus grande valeur d'apparition jusqu'au premier instant d'événement ou plus faible valeur d'apparition en affectant une forme absolue ou de chaîne de bits aux mots en vue de leur stockage en mémoire. Les mémoires sont normale-30 ment organisées de telle manière que l'information est stockée en mots. A mesure que les valeurs d'apparition sont explorées de la plus grande à la- plus petite, des mots de forme absolue et de forme "chaîne binaire" sont établis de façon qu'on obtienne une concentration maximale. Par exemple, le mot 1 est 35 sous la forme codée absolue et représente la valeur d'apparition 125. Le mot 2 est sous la forme "chaîne de bits" et présente des 1 binaires à ses seconde et sixième positions, ce qui indique des valeurs d'apparition de 123 et 119• Le mot 3 est sous -48- 2334148 la forme "chaîne de bits" avec des bits 1 à ses seconde et quatrième positions, ce qui représente des valeurs d'apparition de 116 et 114. Le codage est "commuté" de la forme absolue à la forme codée binaire lorsque plus de sept bits peuvent être 5 économisés par une commutation de la forme "chaîne de bits" à la forme absolue. La valeur d'apparition 100 est éloignée de 14 valeurs d'apparition possibles de la valeur d'apparition 114. Au cours de la procédure de codage, il est nécessaire de vérifier l'efficacité du changement des formes de représentation en 10 calculant le nombre de bits qui sont économisés. Etant donné qu'il existe trois valeurs d'apparition possibles à gauche de la valeur d'apparition 114 dans le mot 3, trois bits sont susceptibles d'être perdus par une commutation à la forme absolue et, de plus, un mot complet de sept bits codés binaires est né-15 cessaire pour représenter l'information sous la forme absolue. En conséquence, un total de 10 (7 + 3) bits sont nécessaires pour passer à la forme codée absolue, ce qui procure une économie de quatre bits. Il est donc désirable dans ce cas, de passer de la forme binaire à la forme absolue. Par exemple, sur la 20 tableu 8 le mot 4 est sous la forme absolue et représente la valeur d'apparition 100. La valeur d'apparition 93 est éloignée de sept valeurs d'apparition possibles de la valeur d'apparition 100. Etant donné que sept bits sont susceptibles d'être économisés (mais 25 pas plus de sept) oh ne modifie pas la forme du codage et le codage du mot suivant 5 reste sous la forme absolue. La valeur d'apparition 90 n'est éloignée que de trois bits de la valeur d'apparition 93. En conséquence, c'est le codage sous forme de chaîne de bits qui est le plus efficace et 30 le mot 6 est codé sous la forme de chaîne binaire. Le codage hybride est utilisé pour stocker tous les vecteurs d'apparition dans le système DPM. En conséquence, bien qu'une ligne particulière d'un iso-entropicogramme puisse produire la longueur d'apparitions la plus courte sous la forme 35 "chaîne de bits", on peut trouver qu'une autre ligne du même iso-entropicogramme produira effectivement la longueur la plus courte après conversion sous la forme hybride. -49- 2334148 Le codage hybride est utilisé pour coder tous les vecteurs d'apparition renvoyés à la mémoire auxiliaire pour stockage et tous les vecteurs d'apparition lus dans la mémoire auxiliaire pour traitement par le reste du système DPM. 5 Le décodage des vecteurs d'apparition lus dans la mémoi re auxiliaire et traités dans le module "jonction du système DPM" s'effectue en introduisant la première la plus grande valeur d'apparition de la chaîne de mots codée hybride. L'information est traitée dans le système DPM sous la forme coeée absolue. En 10 conséquence, les modules "décodage" I et "décodage" II représentés sur la figure 1 convertissent toute l'information codée hybride transférée de la mémoire auxiliaire au module "mémoire" sous la forme codée absolue en vue de son traitement par le système DPM. D'une manière analogue, le module "codage" reconvertit 15 toute l'information traitée dans le système DPM de la forme absolue à la forme codée hybride en vue de son stockage dans le module "mémoire" et de son retransfert ultérieur à la mémoire auxiliaire. Les détails de l'exécution du codage et du décodage dans les modules "codage" et "décodage" seront décrits plus loin 20 conjointement à chacun de ces modules. P. Conventions et composants utilisés sur les figures Chacun des modules comporte des lignes d'entrée/sortie de commande (traits fins) et des lignes d'entrée/sortie d'information (traits renforcés). A titre d'exemple, le module "codage" 25 présente ces lignes le long du côté droit de la Fig. 3. Les traits fins utilisés pour représenter chaque ligne d'entrée/sortie de commande représentent chacun un unique conducteur. Chaque trait renforcé représente huit conducteurs destinés à transférer huit bits codés binaires d'information en parallèle 30 ou "simultané". Les flèches tournées vers la gauche indiquent des signaux d'arrivée dans le module correspondant, tandis que les flèches tournées vers la droite indiquent des signatix de départ. Des symboles sont indiqués au bout de chaque flèche re-35 présentant une ligne d'entrée/sortie de commande d'arrivée. Chacun de ces symboles, non seulement identifie de façon uni-voque la ligne correspondante, mais encore identifie la source ou module d'où émane le signal correspondant à cette ligne. -50- 2334148 La convention employée consiste à utiliser une ou deux lettres suivies d'un ou plusieurs chiffres. Les lettres identifient le module d'origine et le ou les chiffres assurent une identification univoque de la ligne. Par exemple, la Fig. 3 du 5 module "codage" indique le symbole SM2 pour la ligne supérieure. Le signal de cette ligne émane du module "raccourcissement" en anglais SEED MODULE. La table 10 donne une liste des symboles-lettres et des modules correspondants. Certaines lignes d'entrée/ sortie de commande ont des symboles d'identification qui ne 10 suivent pas cette convention mais le module d'origine est alors identifié. Les lignes d*entrée/sortie de commande de départ (flèches orientées vers la droite) sont également étiquetées. Les symboles de gauche (extrémité de la flèche) représentent sous 15 forme logique les équations logiques de portes utilisées pour engendrer le signal sur la ligne de départ. Un symbole est utilisé sur la tête de la flèche pour identifier la ligne à son départ et lors de son arrivée dans d'autres modules. Par exemple, dans le module "codage", le symbole logique P9 représente une 20 porte utilisée pour engendrer un signal logique sur la ligne EW1. La transmission conditionnée logiquement est représentée sous forme de schéma symbolique dans certains cas, tandis que dans d'autres cas des équations logiques sont utilisées pour la représenter par simplification. Des symboles standards sont 25 utilisés dans les équations logiques. Par exemple, un "+" repré-sente une condition "OU"; un représente une condition "ET" et des symboles représentant les sorties de bascules, de portes, de registres, de compteurs, etc. sont utilisés comme termes des équations. A titre d'exemple, une transmission conditionnée est 30 représentée dans le module "codage", Fig. 4, pour la remise à 0 de la bascule ERFST. La logique est : P5.G.ERFST.CLK. La porte représentée par cette logique est à l'état '^vrai" lorsque des signaux "vrais" sont formés à chacune des sorties indiquées dans l'équation. Bien entendu, ceci représente une porte ET 35 et chacune des sorties indiquées représente une entrée d'une telle porte ET. La logique P10.G+P7.GE+P11.Co de la bascule P2 représente trois conditions de transmission ET combinées par deux conditions de transmission OU. -51- 2334148 Des bascules sont utilisées sur une grande échelle dans toute la description de la présente demande de brevet, l'un des types de bascule les plus utilisés est une bascule du type D à déclenchement par flanc positif SN74-74- décrite page 121 5 de l'ouvrage intitulé "The TTL Data Book for Design Engineers" publié en 1975 par The Texas Instruments Co. Chacune de ces bascules est identifiée par un cadre rectangulaire avec une ligne dans le coin supérieur gauche, comme on peut le voir, par exemple, pour la bascule P12 de la Fig. 4-. Chacune de ces 1C bascules est caractérisée en ce qu'elle comporte une entrée sur son coté supérieur et une entrée sur son côté inférieur, ainsi que deux entrées sur son côté gauche.En outre, chacune d'elles comporte une paire de sorties complémentaires sur son côté droit, la sortie supérieure ayant le même symbole que la bascule 15 (en l'occurrence P12) tandis que la sortie inférieure est surlignée d'un trait dit "barre" (en l'occurrence F12). Ces bascules fonctionnent comme suit : un signal "vrai" appliqué au côté supérieur (sans horloge) met la bascule à l'état ."1", ce qui provoque l'apparition de signaux "vrai" "faux" aux sorties non 20 surlignée et surlignée, respectivement (c'est-à-dire aux sorties P12 et P12). Un signal "vrai" appliqué au côté inférieur met la bascule (en l'absence d'horloge) à l'état "0" ce qui provoque l'apparition de signaux "faux" et "vrai" aux sorties non surlignée et surlignée respectivement (c'est-à-dire aux sorties P12 et 25 ï"12). L'entrée inférieure gauche de ces bascules est réservée à l'horloge et leur entrée supérieure gauche à la détermination de l'état dans lequel la bascule est mise en réponse à l'horloge reliée à l'entrée inférieure gauche. Un signal "vrai" appliqué à l'entrée supérieure gauche met la bascule correspondante à 50 l'état "vrai" en réponse à l'application simultanée d'une impulsion d'horloge "vraie" à l'entrée inférieure gauche et un signal "faux" appliqué à l'entrée supérieure gauche provoque la mise à l'état "faux" de la bascule correspondante en réponse à une impulsion d'horloge "vraie" appliquée simultanément à l'entrée 55 inférieure gauche. Pour simplifier les dessins, le§éorties prévues du côté droit des bascules ne sont pas toujours représentées comme elles le sont en ce qui concerne la bascule PI2. Par exemple, voir -52- 2334148 bascule P1 du module "codage". Toutefois, les sorties non surlignée et surlignée sont toujours implicitement existantes et sont utilisées en divers emplacements du système. Par exemple la sortie PI de la bascule P1 n'est pas représentée sur la droite 5 de cette bascule mais est représentée dans l'équation logique P1.GE relative à la commande de l'entrée supérieure gauche de la bascule PI. D'une manière analogue aux lignes entrée/sortie de commande et d'information, des lignes de connexion en trait renforcé 10 sont utilisées sur tous les dessins pour désigner des conducteurs de signal multiples tandis qu'une ligne en trait fin représente un unique conducteur. Des circuits, de sélection sont utilisés dans tout le système. A titre d'exemple, le module "codage" comporte des cir-15 cuits de sélection EDS1-EDS7. Chacun de ces circuits de sélection comporte deux ou plus de deux circuits d'entrée d'information multibits étiquetés, chacun de ces circuits d'entrée étant destiné à recevoir des bits d'information codés binaires multiples, et une unique sortie multibit pour recevoir le même 20 nombre de bits qu'une entrée d'information. Les circuits d'entrée d'information sont étiquetés directement à l'extérieur du cadre, -comme on peut le voir en EDS1-EDS7 pour le module "codage". Dans certains cas, les étiquettes sont implicites,par exemple en ce qui concerne le circuit de sélection DS1 du module "jonction du 25 système DPM" où l'étiquette est implicitement considérée comme étant la même que celle du circuit d'origine des signatix d'information. En outre, chaque circuit de sélection comporte une entrée de commande correspondant de façon biunivoque avec chacune des entrées d'information étiquetées d'une manière analogue 50 à l'intérieur du cadre. Un signal "vrai" à l'entrée de commande étiquetée de façon correspondante provoque le transfert, par le circuit de sélection exclusivement des signatix appliqués à l'entrée d'information qui sont étiquetés de façon correspondante, au circuit de sortie. A titre d'exemple, dans le module "codage", 55 un signal vrai appliqué à l'entrée de commande du côté 1 du circuit de sélection EDS1 provoque le couplage de la sortie du registre 104, par l'intermédiaire de EDS1, avec l'entrée de gauche de l'unité arithmétique et logique (ALU). -53- 2334148 Divers modules comportent également une unité arithmétique et logique ALU du type SN74181 décrit page 381 de l'ouvrage "TTL" cité ci-dessus. Une unité ALU est représentée à titre d'exemple dans le module "codage" de la Fig. 2. L'unité 5 arithmétique ALU est caractérisée en ce que huit signaux de hit codés suivant le système de numération codée binaire 1, 2, 4, 8, appliqués aux entrées n° 1 et n° 2 permettent à l'unité ALU de former huit signaux de bit, codés dans le même système de numération, à une sortie OP. Un signal vrai appliqué à l'entrée 10 ADD engendre à la sortie OP un signal représentant la somme des deux signaux codés appliqués aux entrées n° 1 et n° 2. Par contre, un signal de commande appliqué à l'entrée SUB engendre en OP un signal représentant la différence entre les signaux des entrées n° 1 et n° 2 sous forme de complément à 2. 15 L'unité arithmétique ALU comporte des sorties supplé mentaires G, L et E. Un signal vrai est formé aux sorties G, L ou E, respectivement, lorsque le nombre représenté par le signal codé appliqué à l'entrée n° 1 est "supérieur" ( >), "inférieur" ( Le modèle d'unité ALU représenté ici est prévu pour des groupes de quatre bits. Toutefois, elle pourrait être généralisée pour des groupements plus importants. Selon toute probabilité, des unités ALU de plus grande capacité (par exemple 24 ou 32 £5 bits) utiliseraient les générateurs de report vers l'avant du type SN74182 de l'ouvrage "TTL" ci-dessus cité. Toutefois, ces générateurs ne sont pas nécessaires pour une unité ALU de huit bits de largeur. Il est évident pour les informaticiens que des circuits 30 mineurs périphériques du SN74-181 sont nécessaires pour recevoir les signaux "vrais" et pour fournir les signaux de sortie représentés et décrits à propos de l'unité ALU et ces circuits sont représentés sur le schéma symboliquode la Fig. 6. Certains modules comportent des entrées non surlignées 55 (par exemple E0F1 sur la Fig. 17), tandis qu'une forme surlignée (par exemple E0F1) est utilisée dans le module. La forme surlignée (par exemple E0F1) indique simplement l'inverse logique de la forme non surlignée qui est engendrée par des circuits inver -54- 2334148 seurs de signal classiques. Les circuits inverseurs de signal ne sont pas toujours représentés, mais ils sont implicites dans certains cas (comme par exemple en ce qui concerne Ë0F1 sur la Fig. 17). 5 Bien qu'un "matériel" spécifique soit décrit pour les divers modules du système DPM, il est à noter que ces modules pourraient également être réalisés en utilisant des miniordinateurs microprogrammés avec des programmes constitués par des chaînes de micro-instructions appropriées. 10 I^A. ORGANISATION GENERALE DU SYSTEME DPM DES FIG. 1 à 34 On se référera à la Fig. 1 au cours de l'exposé qui va suivre. Le système DPM comporte un "minicalculateur" et un module "jonction du système DPM". Le "minicalculateur" peut 15 être l'un quelconque d'un certain nombre de mini-ordinateurs bien connus dans la technique, un calculateur microprogrammé ou un calculateur spécialement conçu. Pour fixer les idées, on a décrit ci-après le PDP 11/45 qui comporte des unités arithmétiques à virgule flottante. Cet appareil comprend une "mémoire 20 principale", une "console d'opérateur" avec entrée et sortie par machine à écrire et imprimante, respectivement. Le "minicalculateur" contient un programme "utilisateur" qui supervise et ordonne en séquences les opérations de l'ensemble du système DPM. Le module "jonction du système DPM" fournit la jonction 25 (interface) entre le "minicalculateur", une mémoire auxiliaire prévue pour celui-ci et le reste du système DPM. Le système DPM contient un dispositif IPRF qui est un jeu de registres dans lesquels le "minicalculateur" stocke des paramètres destinés à être utilisés comme information d'entrée par les autres modxiles v 30 du système comme décrit plus complètement ci-après conjointement à chaque module. Le "minicalculateur", par l'intermédiaire du module "jonction du système DPM", stocke également de l'information dans le module "mémoire" en vue de son traitement par le reste des modules. L'information stockée dans le module "mémoire" 35 se présente sous la forme de vecteurs d'apparition codés hybrides. Les modules "décodage" I et II décodent tous les signaux codés hybrides provenant du module "mémoire" en signaux de valeur codés absolus et le module "codage" convertit tous les signaux qui sont -55- 2334148 stockés dans le module "mémoire" de la forme codée absolue en code hybride. La seule exception à cet égard est relative aux signaux d'information qui sont transférés entre le "minicalculateur" ou le module "jonction du système DPM" et le module 5 "mémoire ". Le "minicalculateur" provoque la transmission d'un vecteur d'apparition sous la forme d'une valeur de ligne donnée d'un iso-entropicogramme, de la "mémoire principale" au module "mémoire" par l'intermédiaire du module "jonction du système 10 DPM". Un module "permutation" qui lit dans le module "mémoire" par l'intermédiaire des modules "décodage" I et II, écrit dans le module "mémoire" par l'intermédiaire du module "codage" et provoque une permutation de la valeur de ligne donnée et du numéro de ligne donné d'un nombre de lignes variable dans l'iso-entropico-15 gramme correspondant. Le "raccourci" est formé en utilisant le module "raccourcissement". Plus précisément, le module "permutation" permute une ligne donnée sous la commande du module "raccourcissement" à travers son iso-entropicogramme. Le module "codage" détermine la longueur matérielle de chaque ligne codée 20 de l1iso-entropicogramme lors de son stockage dans le module "mémoire"." Le module "raccourcissement" garde trace de la longueur de la ligne la plus courte et identifie la zone du module "mémoire" dans laquelle est stockée cette dernière ligne. Le module "raccourcissement", au cours du processus de 25 recherche de raccourci forme des signaux représentant le nombre de permutations de ligne qui doivent être effectuées pour localiser la ligne de "raccourci". Chacun de ces signatix, dit "signal de nombre total de lignes" est transmis au module "delta" qui forme un ou plusieurs signaux représentant les puissances de 30 2 composantes du signal de nombre total de lignes. Les signaux de puissance de 2 composantes sont appliqués un par un au module "permutation" qui, en réponse, permute la ligne donnée de ce nombre de lignes. La ligne d'entrée d'un iso-entropicogramme est recouvrée à partir de la ligne de "raccourci" ou d'une autre 35 ligne quelconque par une séquence d'opérations inverse. Plus précisément, le module "permutation", sous la commande du module "sortie" permute la ligne de "raccourci" jusqu'à ce que la ligne d'entrée soit formée. Dans ce cas, le module "sortie" forme un -56- 2334148 signal représentant le nombre total de lignes nécessaires pour permuter le raccourci jusqu'à la ligne d'entrée. Le module "delta" reçoit le signal de nombre total de lignes et forme un ou plusieurs signaux représentant ses puissances de 2 composantes, 5 Le module "permutation" permet à nouveau la ligne de "raccourci" dans la mesure spécifiée par chaque signal de puissance de 2 composantes jusqu'à ce que la ligne d'entrée soit atteinte. Des données peuvent être introduites dans la base de données existante par addition, modification ou effacement. Ces 10 opérations sont désignées dans leur ensemble sous le nom de "fonction de mise à jour". La fonction de mise à jour est assurée par le module "modification". Lorsqu'un raccourci doit être mis à jour, le "minicalculateur" introduit les modifications, etc. dans un mot dit "vec-15 teur de modification". Le module "modification" prend tout d'abord le vecteur d'apparition sous forme de raccourci dans la base de données. En utilisant les modules "décodage" I et II et "codage" pour la communication avec le module "mémoire", le module "permutation" repermute le raccourci du vecteur de modifi-20 cation à la même ligne de son iso-entropicogramme que le raccourci. Le vecteur de modification est alors fusionné avec le raccourci en utilisant l'opération XOR précédemment décrite. Le module "sortie" est essentiellement prévu pour le processus de recouvrement réalisé en permutant un raccourci ou 25 autre ligne jusqu'à la ligne d'entrée de son iso-entropicogramme. Toutefois, le module "sortie" provoque également le déroulement de la fonction DEL. Le but de la fonction DEL, comme décrit précédemment, est de déterminer si une valeur d'apparition particulière existe sur la ligne d'entrée d'un iso-entropicogramme, la 30 ligne de "raccourci" étant donnée. A noter que la fonction DEL permet de procéder à cette vérification très rapidement sans avoir à repermuter la ligne de "raccourci" jusqu'à la ligne d'entrée. Le module "sortie" comporte une fonction d'écrêtage 35 spéciale qui permet au système DEM de rappeler un vecteur d'apparition à partir de la base de données et de recouvrer une portion spécifiée seulement de ce vecteur d'apparition. Par exemple, on pourrait désirer savoir combien de fois le mot "help" (aide) -57- 2334148 se reproduit entre les instants d'événement d'apparition 2000 et 2832. Comme décrit plus loin de façon plus détaillée, les nombres 2000 et 2832 seraient à cet effet introduits dans le module "sortie" en tant que bornes d'écrêtage inférieure et supé-5 rieure, ce qui permet de recouvrer l'événement "help" exclusivement pour les apparitions comprises entre 2000 et 2832. Le module "cadrage" et le module "concordantiel" assurent une fonction de discrimination dans le système DPM. Ceci n'a rien à voir avec les fonctions de gestion de la base de données. En 10 fait, les modules "cadrage" et "concordantiel" permettent des recouvrements approximatifs. En d'autres termes, ils permettent de recouvrer une information non parfaitement exacte dans la base de données. Les fonctions de cadrage et de mise en concordance des 15 modules "cadrage" et "concordantiel" s'exercent sur une séquence d'événements comprise entre des séparateurs. Ces séparateurs pourraient être de n'importe quel niveau. Le module "cadrage" reçoit une séquence d'événements qui constituent la demande de consultation présentée par l'utilisateur. Chaque événement est recouvré 20 dans la base de données et comparé avec les autres événements de la demande de consultation. Le but est de déterminer si la même séquence d'événements s'est produite entre deux séparateurs quelconques dans la couche en question. La sortie du module "cadrage" fournit deux valeurs pour chaque entité logique de la 25 couche comme suit : 1. Une valeur initiale, et 2. une valeur numérique qui indique le nombre d'apparitions d'événements dans la base de données à partir de la demande de consultation. 30 Si le bit de signe de la valeur numérique est "1" (vrai), ceci indique que la demande de consultation a été présentée exactement à un instant donné entre les séparateurs spécifiés. Ce qui précède constitue essentiellement la fonction de cadrage. 55 La fonction concordantielle affine la fonction de ca drage. Par exemple, la fonction de cadrage choisit les meilleurs éléments pouvant donner lieu à une concordance. La fonction concordantielle choisit alors le meilleur élément possible. -58- 2334148 Essentiellement, la fonction concordantielle prend la valeur initiale dans une entité logique reçue du module "cadrage", puis prend chaque événement de la demande de consultation d'entrée et choisit l'apparition d'événement lg£lus voisine de cette 5 valeur initiale, s'il en existe une. La fonction concordantielle trouve alors cette apparition pour chaque événement dans la demande de consultation et le processus se répète pour chaque entité logique à vérifier. Une fois que tous les événements de la demande de consultation ont été traités, un calcul est effec-10 tué pour trouver la valeur de concordance correspondant à la demande de consultation. La valeur de concordance peut être décrite en considérant l'exemple suivant. On se figurera une entité logique provenant de la base de données et, immédiatement à sa gauche, la 15 demande de consultation. La demande de consultation est alors décalée vers la droite à raison d'un événement à la fois parmi les entrées de la base de données et une valeur est calculée pour chaque décalage. La valeur indique la mesure dans laquelle la demande de consultation "s'aligne" avec la base de données. 20 La meilleure valeur est alors transmise en tant qu'information de sortie à l'utilisateur sur la "console d'opérateur". Cette valeur est calculée pour chaque entité logique qui a été demandée. La manière exacte dont les fonctions de cadrage et de mise concordance se déroulent sera mieux comprise lors de la 25 description de chaque module. En conséquence, on se référera au chapitre XV. Module "cadrage", au chapitre XVI. Module "concordantiel" et auéhapitre XXXII relatif au ligiciel pour une description plus complète et une meilleure compréhension de ces caractéristiques. 50 II. MODULE "CODAGE" A. Description générale Le chapitre I, DESCRIPTION GENERALE DU SYSTEL'E DPM, a décrit la forme hybride de codage de l'information en se référant à l'exemple de la table 9* Le module "codage" est prévu 55 dans le système DPM de la Eig. 1 pour convertir des vecteurs d'apparition de la forme codée absolue à la forme codée hybride et pour commander l'écriture des vecteurs d'apparition codés hybrides dans le module "mémoire". -59- 2334148 Dès l'abord, il y a lieu de garder présent à l'esprit le fait que les vecteurs d'apparition représentent une série de valeurs d'apparition parmi un jeu relativement grand de valeurs d'apparition ou instants d'événement possibles ordonnés 5 de façon incrémentielle. Les vecteurs d'apparition sont stockés, recouvrés et traités de telle manière que la valeur d'apparition portant le numéro le plus élevé se trouve la première. Cette valeur d'apparition définie par le numéro le plus élevé identifie l'apparition la plus récente dans le domaine des instants d'évé-10 nement. L'entrée portant le numéro le plus bas et, par conséquent, l'entrée la plus ancienne en ce qui concerne son instant d'événement est stockée, recouvrée et traitée la dernière. Des exemples de vecteurs d'apparition d'événement et de séparation (sous la forme codée absolue) sont représentés en et "2?" dans la 15 table 2. Cette forme de représentation de l'information est très importante pour la compréhension du mode de réalisation du module "codage" qui va maintenant être décrit ainsi que de chacun des autres modes de réalisation de module qui seront également décrits ci-après. 20 Le module "mémoire" lit et écrit l'information mot par mot. Un mot comprend huit bits d'information. Le module "codage", au cours du processus de codage, traite chaque vecteur d'apparition comme suit : Le module "codage" est appelé chaque fois qu'une appa-25 rition absolue doit être codée, soit par le module "permutation", soit par le module "sortie". Le module qui appelle le module "codage" sera dénommé ci-après "module appelant". Le module "codage" reçoit les valeurs d'apparition absolues d'un vecteur d'apparition codé absolu dans leur ordre 50 décroissant. Un mot absolu reçu actuellement et un mot reçu antérieurement de la série sont mémorisés et comparés. La différence entre les valeurs absolues actuelle et antérieure représente le nombre de bits de décalage entre ces valeurs. Si cette différence est supérieure à un certain 'hombre spécifié de bits" 55 (eu l'occurrence sept bits) alors la valeur absolue antérieure est sortie dans la série de mots hybrides en tant que mot "absolu" (voir mot 0 de la table 9). Si la différence en question est inférieure à ce "nombre spécifié de bits", la valeur absolue -60- 2334148 actuelle est introduite en tant qu'apparition dans un mot en chaîne de bits (voir mot 2 de la table 9) de la série hybride. Cette dernière opération s'effectue en décalant le mot en chaîne de bits conjointement à la formation du nombre de positions bi-5 naires indiquée par la différence et par l'introduction d'un bit de valeur prédéterminée, par exemple "1", dans le mot en chaîne de bits, après quoi le module "codage" est "abandonné" par interruption de son fonctionnement. Lorsqu'un mot en chaîne de bits en formation est complet, il est également sorti. On remar-10 quera que le bit situé à l'extrémité de plus fort poids de chaque mot sorti est réservé en tant que bit de type ou de drapeau pour indiquer la forme du mot hybride. Un drapeau représenté par un bit "1" indique un mot absolu tandis qu'un drapeau représenté par un bit "0" indique un mot en chaîne de bits. 15 l'a forme hybride sous laquelle les valeurs d'apparition "absolues" sont codées est une série de mots absolus et de mots en chaîne de bits commençant par un mot absolu. Un mot absolu, en soi, représente la valeur d'une apparition déterminée par une combinaison de signaux codés binaires. Un mot en chaîne de bits 20 représente une valeur d'apparition par le nombre de valeurs d'apparition possibles dont est décalée une apparition de valeur prédéterminée, par exemple "1", par rapport au mot absolu précédent ou à l'apparition précédente de valeur prédéterminée dans la série de mots hybride. Le premier mot de chaque série hybride 25 est toujours un mot absolu et, par conséquence, en soi, il identifie la valeur de la première et plus grande apparition. Toutefois, il va de soi que dans le cadre des concepts les plus larges de l'invention, celle-ci peut être appliquée à un système qui n'est pas limité par des mots, auquel cas la partie "chaînes 30 de bits" de la forme hybride ne serait pas confinée à des mots. Un autre but du module "codage" est d'éffectuer un "écrêtage" et un "écrêtage par intervalle". L'écrêtage est l'opération qui consiste à déterminer si chaque valeur d'apparition représentée par un mot absolu est comprise entre une limite 35 supérieure (TL) et une limite inférieure (BL). Cette opération s'effectue par comparaison de chaque mot absolu avec TL et BL. iii l'entrée de l'information d'entrée est \ TL et ^ BL, le mot absolu est compris entre les limites désirées et le codage -61- 2334148 se poursuit, tandis que, dans le cas contraire, une indication correspondante est donnée» Si un "écrêtage par intervalle" doit être effectué, une valeur "d'intervalle" (El) est appliquée au module "codage". 5 Si le mot absolu n'est pas TL et >BL, alors El est retranché de TL et de BL et le même mot absolu est à nouveau comparé avec les valeurs de TL et 3L modifiées ainsi obtenues. Ce processus se poursuit jusqu'à ce que BL devienne 20 Le module "codage" comprend des registres ET, EIK, El, ER, EO, EHï.r, ETL, EBL et EOP. Chacun de ces registres contient huit bits de mémoire. À l'exception des registres EOP et ER, chacun de ces registres est du type SN74100 décrit page 259 de l'ouvrage "TTL" ci-dessus cité et est caractérisé en ce qu'un 25 signal vrai appliqué à l'entrée L sur son côté provoque la transmission des signaux codés binaires appliqués à son entrée latérale supérieure, à sa sortie inférieure. Lorsque le signal de l'entrée L devient "faux", l'information est retenue dans le registre même si les signaux d'entrée d'information changent 30 ensuite. Le registre EIH est représenté avec deux sorties spéciales Eo et Ëô. Des signaux vrais sont formés à ces sorties, respectivement lorsque le contenu du registre EIE est 0 et n'est pas 0. Il va de soi qu'un circuit approprié (non représenté) est 55 connecté au registre SN74100 pour former ces signaux. De préférence, dans ce circuit, la sortie "1" de chaque position binaire est connectée à l'entrée d'une porte OU commune. La sortie de la porte OU est la sortie Eô et la sortie de la porte OU est -62- 2334148 connectée par l'intermédiaire d'un circuit inverseur à la sortie Eo. Le registre ER est un verrou de données du type SN74116 décrit dans l'ouvrage "TTL" ci-dessus cité et est ana-5 logue au dispositif SN74100 à cela près qu'il comporte une ligne "EFFACEMENT" qui assure une opération d'effacement en une seule phase. Le registre EOP est constitué par une bascule MSB et par un registre à décalage à six bits à entrées en parallèle et 10 sorties en parallèle 114 du type SN74199, comme décrit page 456 de l'ouvrage "TTL" ci-dessus cité. Le registre 114 est un registre à sept bits et est caractérisé en ce qu'un chargement en parallèle est effectué par application des sept bits de données sur son côté supérieur et en rendant l'entrée de commande 15 "décalage/chargement" (S/L) fausse (niveau bas) lorsque l'entrée HORLOGE n'est pas inhibée, c'est-à-dire reçoit un signal vrai. Un signal vrai en S/L provoque un décalage vers la droite par le registre 114 en réponse au flanc avant d'une impulsion "vraie" à l'entrée HORLOGE. Un signal faux en S/L provoque l'apparition 20 des sept bits appliqués à son entrée supérieure à la sortie du registre 114 et leur stockage dans celui-ci en réponse au flanc avant d'une impulsion vraie appliquée à l'entrée HORLOGE. Pour décrire le registre EOP de façon plus détaillée, on peut mentionner qu'un signal faux appliqué en 5$ provoque le 25 chargement dans le registre 114 des signaux d'entrée appliqués à son côté supérieur. Généralement, un signal vrai est simultanément formé en P9.BSW à l'entrée de la bascule MSB. Lorsque CLK devient vrai, P9.BSW.CLK devient également vrai et, en étant appliqué à l'entrée HORLOGE de la bascule MSB et du registre 114, 30 il met la bascule MSB à l'état "vrai" et charge 7 bits d'information à partir du registre EO. En outre, le module "codage" comporte des compteurs MAR3, MLN3, CTR et NOC. Le compteur CTR comporte huit états, les compteurs N0C,MAR3 et MLN3 comportent chacun 256 états et 35 sont du type SN74161 décrit page 325 de l'ouvrage "TTL" ci-dessus cité. Le compteur CTR est un compteur/décompteur à 3 bits du type SN74191 décrit page 417 de l'ouvrage "TTL" ci-dessus cité -63- 2334148 et est caractérisé en ce qu'un signal faux appliqué en U/D provoque le fonctionnement du compteur dans le sens du comptage lorsqu'un signal vrai est appliqué à l'entrée CT tandis qu'un signal vrai appliqué en U/D provoque un fonctionnement du comp-5 teur dans le sens du décomptage lorsqu'un signal vrai est appliqué à l'entrée CT. Le compteur peut être préréglé à une valeur correspondant aux signaux appliqués à son entrée située sur son côté supérieur simultanément à l'application d'un signal vrai à l'entrée L. Le cadre symbolisant CTR contient un circuit non 10 représenté analogue à celui qui a été décrit à propos du registre ER pour former des signaux vrais aux sorties ïïô et Co respectivement lorsque l'état de CTE est 0 et n'est pas 0. Le module "codage" comporte des compteurs MAR3, MLN3, CTR et NOC. Le compteur CTR comporte huit états et les compteurs 15 FOC, MAR3 et MLN3 comportent chacun 256 états et sont du type SN74161 décrit page 325 de l'ouvrage "TTL" ci-dessus cité. Le compteur CTR compte pas à pas suivant sa séquence préalablement fixée de huit états puis est automatiquement remis à son état initial ou état 0. Chacun des compteurs MAR3» MLN3 et NOC est 20 du type SN74161 de l'ouvrage "TTL" ci-dessus cité et est commandé de manière à toujours fonctionner dans le sens du comptage. Un inverseur de signal logique non représenté mais inclus dans chaque cadre symbolique est prévu pour inverser le signal en CLR avant qu'il atteigne le compteur SN74161. Un signal vrai ap-25 pliqué aux entrées CLE (EFFACEMENT) des compteurs MAR3, MLN3 et NOC provoque "effacement" ou leur remise à 0. Un signal vrai appliqué à l'entrée CT fait fonctionner les compteurs MAR3, MLN3 et NOC dans le sens du comptage. Le module "codage" comporte également des bascules 30 EFRST, ELAST, BSW, ECE, U/D et MSB. En outre, un compteur de commande 113 est muni de bascules PI à P12. Le module "codage" comporte en outre une source d'impulsions d'horloge récurrentes 102. La source d'impulsions d'horloge 102 forme une série d'impulsions d'horloge vraies récurrentes 35 équidistantes (mais cette condition n'est pas essentielle) à sa sortie. La sortie de la source 102 est connectée à l'une des entrées d'une porte ET 112 qui forme des signaux d'horloge en CLK chaque fois que l'autre entrée de la porte 112 est "vraie" en -64- 2334148 coïncidence avec une impulsion d'horloge. Un inverseur de signal 117 inverse le signal présent, en CLK.pour former des impulsions en OT. Le module "codage" comporte encore une unité arithmé-5 tique et logique ALU avec des entrées n° 1 et n° 2, cette dernière sous forme de complément à 2. Des portes OU classiques 108 et 110 sont connectées en G, L et E de sorte que des signaux vrais sont formés à une sortie GE de la porte 108 et à une sortie LE de la porte 110, respectivement, lorsque les valeurs des si-10 gnaux appliqués à l'entrée N° 1 sont "égales ou supérieures" ( ^, ) à celles des signaux appliqués à l'entrée n° 2 et "égales ou inférieures" ( ^ ) à celles des signaux appliqués à l'entrée n° 2. Le module "codage" comporte enfin des circuits de sé-15 lection EDS1-EDS7 du type décrit ci-dessus. Le module "codage" contient en outre des portes OU logiques classiques 104-110, 118 et 119 et une porte ET 112. C. Description détaillée On comprendra plus aisément l'agencement et le fonc-20 tionnement du module "codage" en se référant à la description qui va suivre et au schéma symbolique des Fig. 2-4 ainsi qu'à l'organigramme correspondant, Fig. 7 et 8. Pour faciliter les choses, la table 11 contient des symboles utilisés pour identifier les compteurs, registres, bascules et multivibrateurs monostables, 25 conjointement à la signification mnémonique des symboles utilisés. En outre, toujours pour faciliter les choses, l'organigramme contient des nombres P adjacents aux divers blocs, par exemple (P1), (P2), etc. Ces nombres P correspondent aux sorties du compteur de commande 113 et indiquent par conséquent l'état du comp-30 teur de commande pour lequel 1*opération indiquée sur l'organigramme a lieu, Toutefois, le même nombre P apparaît pour plusieurs cases de l'organigramme. En conséquence, pour permettre de se référer plus aisément à l'organigramme, des symboles EB1 à EB26 sont utilisés pour identifier chaque case de celui-ci. 35 La table 11 représente les entrées et sorties d'informa tion principales et la commande d'entrée du module "codage". La limite d'écrêtage supérieure, la limite d'écrêtage inférieure, l'intervalle et la largeur de 1'iso-entropicogramme ont tous -65- 2334148 une longueur de huit bits et sont chargés dans des registres du module "codage" par les modules indiqués sur la table 11. On supposera initialement qu'aucun écrêtage ne doit être effectué, auquel cas OPSW, ETL, EBL et EIE sont tous ini-5 tialement à zéro. On supposera également que le module "codage" est sur le point d'être appelé pour la première fois pour sa fonction de codage. Préalablement à l'appel du module, le mot absolu actuel est reçu par le circuit de sélection EDS6, soit à partir de la sortie DS4 du module "permutation", soit à partir 10 du registre 0ET1 du module "sortie". le premier mot absolu actuel à recevoir est le premier ou plus grand mot codé absolu (huit bits de longueur) d'un vecteur d'apparition. Après la fourniture par le module "permutation" du mot absolu actuel, des signaux vrais sont formés en RM11 et RM6 par le module "permutation". 15 Lorsque le mot absolu actuel est en train d'être fourni par le module "sortie", des signaux vrais sont formés en 0M13 et 0M14-par celui-ci. Un signal vrai en EM11 provoque la transmission par le circuit de sélection EDS6 du mot absolu actuel présent en DS4, à l'entrée d'information du registre El. Le signal vrai 20 en BM6 permet à la porte OU 109 d'exciter l'entrée de chargement (L) du registre El et de charger le mot absolu actuel dans ce registre. D'une manière analogue, un signal vrai en 0M13 provoque l'acheminement par le circuit EDS6 de l'information d'entrée, de la sortie 0ET1 jusqu'à l'entrée d'information du registre El 25 et le signal vrai appliqué en 0M14 permet à la porte OU 109 d'exciter l'entrée de chargement (L) du registre El et de charger dans celui-ci le mot absolu actuel. Il est à noter que tous les mots absolus actuels d'un vecteur d'apparition donné sont fournis séquentiellement du plus grand au plus petit par le même mo-30 dule appelant. La largeur de 1'iso-entropicogramme (W) est stockée dans le ficher du registre de paramètres d'entrée IPEE. Le chargement de la largeur de 1'iso-entropicogramme dans EHW est autorisé par des signaux vrais apparaissant à l'une quelconque des 35 sorties suivantes : sortie 0H1 du module "sortie"; sortie SM3 du module "raccourcissement"; sortie CM3 du module "modification". -66- 2334148 OPSW est un circuit de sortie de la bascule OPSW du module "sortie". OPSV,' est l'inversion logique de OPSW. Seul le module "sortie" détermine si un écrêtage doit avoir lieu et, dans l'affirmative, la bascule OPSW est à l'état "1", sinon elle 5 est à l'état "0". Etant donné qu'on suppose pour l'exposé qui va suivre qu'aucun écrêtage ne doit avoir lieu, un signal vrai apparaît en OPSW. La bascule EFRST est mise à l'état "1" chaque fois que l'appel actuel appliqué au module "codage" concerne une conver-"10 si on du premier mot absolu en un vecteur d'apparition particulier. La bascule EFEST est actionnée par le module appelant. Dans le cas du module "permutation", un signal vrai est formé à la sortie RM2 tandis que, dans le cas du module "sortie" un signal vrai est formé à la sortie 0IJ1 et permet à la porte OU 105 de 15 mettre à l'état "1" la bascule EFRST. La bascule ELAST indique si le mot absolu actuel est le dernier d'un vecteur d'apparition. Un état "1" de la bascule ELAST indique que c'est le dernier, tandis que l'état "0" indique que ce n'est pas le dernier. La bascule ELAST est actionnée par 20 le module appelant. Dans le cas du module "permutation" un signal vrai est formé en RM9 et dans le cas du module "sortie" un signal vrai est formé en 0M18; chacun de ces signaux provoque la mise à l'état "1" de la bascule ELAST par la porte OU 106. On supposera tout d'abord que la bascule ELAST est à 25 l'état 0. Initialement le "minicalculateur" forme un signal vrai en MIITIT, ce qui provoque la remise à zéro par les portes 118 et 117 de tous les compteurs de commande 15 et de la bascule ECE. Comme décrit plus loin, des signaux vrais appliqués en EMEKD mettent ultérieurement ces éléments à zéro. Le module 50 "codage" est appelé par le module "permutation" par formation d'un signal vrai en RM7 et par le module "sortie" par formation d'un signal vrai en 0M15. L'un quelconque de ces signaux vrais permet à la porte OU 107 de déclencher le multivibrateur monostable EHGO qui provoque alors l'apparition d'un signal vrai à 55 la sortie ENGO. Le signal vrai apparaissant à la sortie EKGO provoque une mise à l'état 1 de la bascule ECE. L'état 1 de la bascule ECE provoque l'apparition d'un signal vrai à la sortie ECE, signal qui, à son tour, provoque le couplage par la porte -67- 2334148 ET 112 de la sortie CLE de l'horloge 102 avec l'entrée d'horloge de chacune des bascules PI à P12 du compteur de commande 113. Les signatix d'horloge maintenant formés à la sortie de la porte ET 112 déclenchent la séquence de fonctionnement du module 5 "codage" grâce à l'action exercée par le compteur de commande 113. Toutes les bascules P1-P11 étant à l'état 0-et un signal vrai étant formé en OPStî/, la bascule P5 est mise à l'état 1, ce qui forme un signal vrai à la sortie P5« Une première forme d'écrêtage est provoquée par le fait 10 que la bascule OPSW est à l'état 1. Une autre forme d'écrêtage est automatiquement assurée par le module "codage". Plus précisément dans cet écrêtage de variante, les mots absolus d'un vecteur d'apparition sont reçus par le module "codage" par ordre de grandeur décroissant. Le module "codage" écrête ou élimine 15 automatiquement tous les mots absolus qui sont plus grands que la largeur de 1'iso-entropicogramme et qui, par conséquent, dépassent les limites de celui-ci. Cette forme d'écrêtage de variante est très utile dans le cas du module "permutation" où le résultat du traitement dans une porte OU exclusif est 20 écrêté afin de ne conserver que les valeurs de rang inférieur contenues dans la largeur de 1'iso-entropicogramme. Le module "codage" effectue automatiquement cet écrêtage en utilisant les cases d'organigramme EB6 et EB8. On va maintenant examiner la fonction d'écrêtage de va-25 riante de façon plus détaillée : la bascule EFRST est mise à 1 lorsque le module "codage" est appelé pour la première fois afin de coder un vecteur d'apparition. Cette opération a pour but de s'assurer de l'exécution d'une fonction d'écrêtage de variante. En conséquence, en EB6, la bascule EFRST qui est à l'état 1 30 provoque le passage à la case EB8 dans laquelle la largeur de 1'iso-entropicogramme contenue dans le registre EHW est comparée avec le mot absolu actuel d'entrée contenu dans le registre El. Si le contenu de EHW est ^ à celui de El, le fonctionnement du module "codage" "st interrompu par formation d'un signal vrai 35 en. EMEND, ce qui indique au module appelant (en l'occurrence le module "permutation") qu'il a traité un mot absolu. En fait, le mot absolu est tout simplement rejeté par le module "codage". Lorsque le module appelant appelle à nouveau le module "codage" -68- 2334148 pour provoquer le traitement d'un autre mot absolu du même vecteur d'apparition, la bascule EFRST est encore à l'état 1, ce " qui fait à nouveau passer le traitement en EB8. Si le mot absolu actuel a une valeur plus grande que la largeur de 1'iso-entropi-5 cogramme, un abandon est à nouveau effectué. Le processus se répète jusqu'à ce qu'en EB8 le mot absolu actuel soit plus petit que la largeur de l'iso-entropicogramme (EHW _>EI), moment où le pas EB9 est déclenché pour remettre à 0 la bascule EFRST. Ensuite, lorsqu'il est appelé, le module "codage" n'effectue pas d'écrê-10 tage car il passe de EB6 à EB7. On va maintenant examiner de façon plus détaillée le fonctionnement au cours des pas EB8 et EB9. On supposera que les pas EB1 et EB6 de l'organigramme du module "codage" ont été effectués et qu'on attaque maintenant 15 le pas EB8 au cours duquel la largeur de 1'iso-entropicogramme contenue dans EHW est comparée avec le mot absolu actuel contenu dans El. Si le mot absolu actuel est plus grand que la largeur de 1'iso-entropicogramme, il dépasse les limites de celui-ci, et par conséquent, il existe une condition "à ignorer". Pour 20 assurer la comparaison, le signal vrai en P5 provoque le transfert par ES1 et ES2 des contenus de EHW et El dans l'unité arithmétique ALU. L'unité ALU, conjointement aux portes OU 108 et 110 forme à son tour des signaux vrais aux sorties IE, ou G chaque fois que le contenu de EHW est, respectivement ^ ou au 25 contenu de El. Si la condition ^ est détectée, des signaux vrais sont maintenant formés aux sorties PS, LE et EFRST et le signal vrai en CLK provoque la remise à zéro par la LOGIQUE DE SUSPENSION D'HORLOGE 122 (P5.LS.CLK) de la bascule ECE ce qui élimine le signal vrai en ECE en contraignant ainsi la porte ET 50 112 à cesser de former des signaux d'horloge à l'entrée du compteur de commande 113. Le même signal provoque l'amorçage de 1'univibrateur EMEND et la formation d'un signal vrai en EMEND. Ce signal notifie au module appelant que la fonction "codage" a été exécutée. Ce signal assure en outre la remise à zéro du 55 compteur de commande 113 par l'intermédiaire de la porte OU 112. Ceci provoque un "abandon" du module "codage" où aucune opération ne s'effectue plus jusqu'à ce que la nouvelle demande de consultation soit présentée à partir du module "permutation" ou du module "sortie". -69- 2334148 Par contre, si le contenu de EEïW est au contenu de El, (signal vrai en G), le pas EB9 est déclenché. On supposera qu'au cours du pas EB8, le contenu de EHW est > à celui de El et qu'un signal vrai est formé en G, ce qui provoque le déclen-5 chement du pas EB9. Les états 0 ou 1 de la bascule BSW indiquent respectivement que le mot absolu précédent a été incorporé à la sortie codée hybride sous forme de chaîne de bits ou sous forme de mot absolu. Etant donné que le premier mot hybride est toujours sous forme de mot absolu, BSW doit être mis à 0 pour indi-10 quer que la sortie correspondante est sous forme de mot absolu et les registres MAR3 et KLÎ73 sont remis à leur état initial ou état 0 dans lequel ils sont prêts pour le premier mot hybride à stocker dans le module "mémoire". Au cours du pas EB9, des signaux vrais sont formés aux 15 sorties suivantes : G, EFRST et P5. En conséquence, à l'impulsion sui'vante apparaissant en CLK, les compteurs et registres NOC, MAR3 et MLÏT3 et les bascules EFRST et ELAST sont tous remis à zéro. Le pas EB19 est alors attaqué et les mêmes signaux pro-20 voquent la remise à zéro de ER tandis que la logique de rétablissement remet à zéro BSW et MSB dans le registre EOP. Après le pas EB19 est attaqué le pas EB20, au cours duquel les mêmes signaux vrais sont également présents, ce qui provoque le chargement par la logique de chargement du mot abso-^5 lu actuel dans EO. Le mot absolu actuel chargé dans EO forme alors le mot absolu précédent pour l'appel suivant du module "codage". La même logique fait également compter un état par le compteur KOC pour indiquer qu'un mot absolu a maintenant été fourni au module "codage". 30 A ce stade, un signal vrai est formé aux sorties P5 et EFRST. En conséquence, lors de l'impulsion suivante en CLK la bascule ECE est remise à zéro, ce qui met la porte 112 hors d'état d'appliquer des signaux d'horloge au compteur de signaux 113 comme décrit précédemment. 35 Ensuite le module appelant rappelle le module "codage" et fournit le mot absolu actuel suivant; un signal vrai est alors appliqué à l'une des sorties RM7 ou 0M15 (des modules "permutation" ou "sortie") et provoque le déclenchement par la -70- 2334148 porte OU 107 du circuit multivibrateur monostable ENGO en ramenant ainsi la bascule ECE à l'état 1 et en permettant à la porte ET 112 d'appliquer des signaux d'horloge au compteur de commande 113. 5 A ce stade, on supposera que le mot absolu actuel sui vant n'est pas le dernier du vecteur d'apparition, et que, par conséquent, la bascule ELAST est à l'état 0 et forme un signal vrai en ELAST. Ceci provoque la remise à zéro ou "rétablissement" de la bascule P5 par l'impulsion d'horloge suivante de la porte 10 112 et la mise à l'état 1 ou 'actionnement" de la bascule P6 en permettant ainsi l'attaque du pas EB10. Pendant le pas EB10, un signal vrai est formé à la sortie P6, ce qui provoque le transfert par EDS1 et EDS2 du mot absolu précédent contenu dans EO et du mot absolu actuel contenu 15 dans El dans l'unité ALU qui forme en OP une information de sortie correspondant à la différence. Cette différence a été désignée ici sous le nom de signal de différence "précédent-actuel". En outre, le signal en EDS7 provoque la transmission conditionnée par le circuit de sélection EDS7 du signal de dif-20 férence "précédent-actuel" à l'entrée d'information de ET dans lequel le signal est chargé par le signal d'horloge suivant appliqué en CLE. En conséquence, le registre ET contient maintenant le signal de différence "précédent-actuel" qui correspond au nombre de bits de décalage (soit en instants d'événement soit 25 en valeurs d'apparition possibles) entre le mot absolu actuel contenu dans El et le mot absolu précédent contenu dans EO. En outre, le signal vrai en P5 provoque une remise à l'état 1 de la bascule U/D qui engendre un signal vrai à la sortie U/D en réglant ainsi le compteur CTR de façon qu'il décompte. La sortie 30 P6 de la bascule P6 est directement connectée à l'entrée de la bascule P7 et, par conséquent, l'impulsion d'horloge suivante émanant de la porte 112 provoque la mise à l'état 1 de la bascule P7 et l'entrée du traitement dans le pas 33311. Pendant le pas EB11, le signal de différence "précédent-35 actuel" contenu dans le registre ET est retranché du signal de bits restants contenu dans le registre ER. Les signaux de bits restants représentent les positions binaires qui restent à remplir dans le mot en chaîne de bits en cours de formation dans le -71- 2334148 EOP. La soustraction fournit au cours du pas EB11 un signal de différence qui indique l'une de deux valeurs qu'on va maintenant définir. Si le contenu de ER est supérieur ou égal à celui de EO}, la différence est ^ à 0, ce qui signifie qu'elle représente 5 les bits disponibles restants du mot en chaîne de bits (actuellement en cours de formation dans EOP) après l'introduction du mot absolu actuel. Si le contenu de ER est Si lors d'un appel précédent du module "codage" il a été constaté (au cours du pas EB18) que le mot absolu actuel devait être sorti sous forme de mot absolu, ER a été remis à zéro pen-30 dant EB18 et, par conséquent, est à 0 lors de l'attaque suivante de EB11. Dans ces conditions, une différence inférieure à 0 est formée au cours de EB11. Toutefois, cette différence négative a la même valeur absolue que ET (0-ET=-ET). On va maintenant examiner les détails du fonctionnement. 35 On supposera que le module "codage" est en train d'effectuer le pas d'organigramme EB11 et qu'un signal de commande vrai est en train d'être formé à la sortie P7. Ceci provoque le transfert par EDS1 et EDS2 du contenu des registres ER et ET dans l'unité -72- 2334148 ALU qui à son tour forme une sortie représentant ER-ET. On supposera que le résultat est 5 EB12 est attaqué. Pendant EB12, le signal de commande en P? et L provoque le stockage par EDS7 et la logique de chargement de ET du nombre de bits nécessaires dans l^éignal de mot en chaîne de bits suivant en cours de formation en EOP, dans ET à l'impulsion suivante 10 appliquée en CLK. En outre, les mêmes signaux vrais provoquent le stockage par EDS3 et la logique de chargement de CTR du contenu de ER dans le compteur, en mettant ainsi celui-ci à un état qui correspond au contenu de ER. Si ER contient 0, comme cela se produit lorsqu'il s'agit seulement du second appel du module 15 "codage" et, par conséquent, de la seconde itération de l'organigramme, les signaux vrais en P? et L provoquent en outre la mise à l'état 1 de la bascule P8, ce qui provoque le déclenchement du pas EB13. Si ER contient 0, CET est mis à zéro, ce qui provoque l'apparition d'un signal vrai à la sortie Co. Les signaux en P8 20 et Co mettent la bascule P9 à l'état 1 et le pas EB15 est attaqué, de sorte qu'on saute EB14. Comme décrit plus loin de façon plus détaillée, EB14 provoque le remplissage complet du mot en chaîne de bits formé dans EOP avec des "0 en-tête". Cette opération et, par conséquent, 25 le pas EB14- sont sautés si ER est 0, étant donné qu'aucun bit restant n'est nécessaire pour remplir le mot en chaîne de bits en cours de formation. On va revenir maintenant au pas EB11 pour considérer le processus qui se déroule lorsque ER n'est pas 0 et que ER-ET 30 est £0, ce qui provoque l'apparition d'un signal vrai à la sortie L de l'unité ALU. On remarquera que ER n'est pas 0 lorsqu'un mot en chaîne de bits est en cours de formation dans EOP et que des bits disponibles existent dans celui-ci, dans le mot en chaîne de bits en cours de formation. EB12 et 13 sont atta-35 qués comme décrit précédemment et CTR est mis à un état correspondant à la valeur du nombre de bits restant à introduire, contenue dans ER. Au cours de EB14-, un signal vrai existe en P8 et en Co (CTR n'est pas 0) et chaque impulsion en CLK décré -73- 2334148 mente CTR d'une unité et provoque le décalage par la logique de décalage de EOP du mot en chaîne de "bits à raison d'une position "binaire vers son bit de plus faible poids jusqu'à ce que CTR atteigne 0, moment où le signal vrai en ÏÏô est supprimé 5 tandis qu'un signal vrai est formé en Co. Ceci provoque une interruption du comptage et du décalage, respectivement, dans CTR et EOP et EB15 est attaqué comme décrit précédemment. On supposera que pendant EB15, la bascule BSW soit à l'état 0, auquel elle a été mise précédemment en EB19, ce qui 10 indique que l'événement suivant de la sortie hybride fourni par l'événement précédent doit être sous la forme d'un mot absolu. BSW étant à l'état 0, EB16 est attaqué. Pendant EB16, le signal faux en P9 provoque par le chargement par la logique de chargement du registre 114, du mot absolu précédent contenu dans EO, 15 dans le registre 114 de EOP et des signaux vrais en P9 et BSW provoquent la mise à l'état 1 de la bascule MSB par la logique P9.BSW ce qui indique que le mot contenu dans EOP est un mot absolu. Ensuite, SB17 est attaqué. Pendant EB17, la sortie P9 (voir à d::oite du schéma du 20 module "codage") provoque la formation d'un signal "d'autorisation d'écriture" (Eiïl) dans le module "mémoire", ce qui détermine le stockage par celui-ci du mot absolu contenu dans EOP à l'emplacement de mémoire désigné par le contenu de MAR3. Les signaux vrais en P9 et l'impulsion en CLE provoquent 25 une incrémentation d'une unité du contenu des compteurs MAR3 e"b MLÏJ3. De cette manière, le compteur MLK3 indique toujours le nombre d'écritures en mémoire et les mots codés hybrides écrits dans le module "mémoire". En conséquence, un mot absolu est sorti par la formation du signal vrai à la sortie P9» signal qui pro-30 voaue à son tour la lecture par le module "mémoire" du mot absolu dans EOP. On va maintenant revenir au pas EB11 et examiner la situation dans laquelle un mot absolu précédent est contenu dans EO, dans laquelle un mot absolu actuel est contenu dans El et 35 dans laquelle ER est ^ à ET. Une unité ALU forme la différence entre ER et ET (c'est-à-dire ER-ET) et l'unité ALU et la porte 108 forment un signal vrai. Le signal de différence à la sortie OP de l'unité ALU représente les bits disponibles restants dans -74" 2334148 le mot en chaîne de bits actuellement en cotirs de formation dans EOP après l'introduction du mot absolu actuel dans El. Dans ces conditions, le mot en chaîne de bits en cours de formation dans EOP est décalé du nombre de positions binaires indiqué par ET 5 et le mot absolu actuel est introduit dans EOP. A cet effet, on passe du pas EB11 au pas EB22. Les signaux vrais formés en P7 et GE provoquent le stockage, par la logique de chargement de ER du signal de différence formé à la sortie OP de l'unité ALU, dans ER lors de l'apparition de l'im-10 pulsion suivante en CLK. Dans ces conditions, ER contient maintenant le nouveau nombre de bits qui restera à insérer dans le mot en chaîne de bits en cours de formation après l'introduction du mot absolu actuel. En outre, les mêmes signaux provoquent le stockage dans CTR, par EDS3 et la logique de chargement, du 15 signal de différence "précédent-actuel" contenu dans ET. Les signaux vrais en P7 et GE provoquent la mise à 1 de la bascule P11 au signal d'horloge suivant de la porte 112 et, par conséquent, l'attaque de EB23. Pendant EB23 et le pas suivant EB24-, CTR est autorisé 20 à compter en passant par une séquence d'états dont le nombre correspond au signal de différence "précédent-actuel" qui a été introduit dans CTR à partir de ET. A cet effet, le signal vrai en P11 et en CLK, conjointement au signal vrai en U/D, provoque un décomptage d'un état par CTR, en réponse à chaque signal 25 vrai en CLK. De plus, en l'absence d'un état 0 de CTR, un signal vrai formé à la sortie Co. Les signaux vrais en P11,Co provoquent le décalage du registre EOP d'une position binaire vers la droite vers le bit de plus faible poids. Cette opération se poursuit jusqu'à ce que le compteur atteigne 0 et qu'un signal vrai soit 30 formé à la sortie Co. Lorsqu'un signal vrai est formé à la sortie Co, le comptage et le décalage, respectivement, de CTR et EOP s'achèvent et le module "codage" est prêt à introduire la valeur du mot absolu actuel contenue dans El dans le mot en chaîne de bits décalé contenu dans EOP. On passe au pas EB25. 35 Pendant EB25, tin signal vrai est formé à la sortie Co et le signal vrai suivant en CLK provoque la mise à 1 où "actionnement" des bascules MSB de EOP et BSW. Comme exposé plus loin, le bit 1 est stocké dans MSB et est ensuite décalé -75- 2334148 jusque dans le registre 114 de EOP pendant EB26, ce qui provoque l'insertion d'un bit de valeur "binaire prédéterminée, (par exemple 1) dans le mot en chaîne de bits en cours de formation dans EOP. Le nombre de positions binaires existant entre le bit 1 5 en cours de formation et le bit 1 précédemment formé ou entre le bit 1 en cours de formation et le mot absolu précédent dans la série de sorties de mot hybride indique la valeur du mot absolu actuel. L'état 1 de BSW indique qu'un mot en chaîne de bits est actuellement en cours de formation dans EOP. 10 Le signal vrai en P11 et Co met à 1 ou "actionne" la bascule PI2 lors du signal d'horloge suivant de la porte 112 et de cette manière EB26 est attaqué. Pendant EB26, un signal vrai est formé à la sortie P12 et 1! impulsion suivante en CLK provoque le décalage d'une posi-15 tion binaire vers la droite, en direction de l'extrémité de plus faible poids, du. contenu de EOP, y compris le contenu de MSB et du registre 114-, ce qui place le bit 1 dans la partie "registre 114" de EOP. On passe à EB20. Pendant EB20, un signal de commande 20 est maintenant formé à la sortie P12 et la bascule BSW est à l'état 1. L'impulsion suivante en CLK provoque le stockage dans EO, par la logique de chargement, du mot absolu actuel contenu dans El en formant ainsi un nouveau mot absolu précédent et provoque un comptage d'un état par NOC, en indiquant ainsi qu'un 25 autre mot absolu a été codé sous la forme hybride.NOC compte, et, par conséquent, indique le nombre de bits 1 traités dans un raccourci donné quelconque. En outre, le signal vrai en P12 provoque la mise à zéro de la bascule ECE lors de l'impulsion apparaissant en ÔLK, ce qui inhibe les signaux d'horloge à la 30 sortie de la porte 112 en provoquant l'amorçage du monostable EMEND et, par conséquent, la formation d'un signal vrai à la sortie EMEND. Ceci provoque la remise à zéro du compteur 113 et le passage du fonctionnement du module "codage" sur "abandon". Une opération très importante dans le module "codage" 35 est indiquée dans la case EB18. C'est la condition dans laquelle le signal de différence "précédent-actuel" contenu dans ET est comparé avec une valeur de seuil prédéterminée. Ceci est la "clé" de la décision qui permet de passer, dans une sortie -76- 2334148 hybride, de la forme "mot en chaîne de bits" à la forme "mot absolu" et cette opération s'effectue comme suit : Pendant EB18, la bascule P10 est à l'état 1, ce qui provoque l'apparition d'un signal vrai à la sortie PIO. Ceci provoque le couplage par 5 EDS1 et EDS2, des commutateurs 104- et de la sortie de ET avec l'unité ALU. L'unité ALU compare les signaux appliqués et ajoute le contenu de ET à la valeur 7 représentée par les commutateurs "104 puis forme un résultat en OP. Il est à noter que, lors du déclenchement du pas EB18, le contenu du registre ET est tou-10 jours un nombre négatif, ce nombre étant stocké sous la forme d'un complément à 2. La raison de cette particularité réside en ce qu'à ce stade du fonctionnement, le registre ET indique toujours le nombre de bits nécessaires dans le mot en chaîne de bits suivant pour introduire le mot absolu actuel, ce qui corres-15 pond au cas dans lequel pendant EB11, ET était plus grand que ER, ce qui a donné une valeur négative. En conséquence, pendant EB18, lorsque l'unité ALU combine le contenu de ET avec la valeur 7 (provenant de 104) un signal de différence est formé. Si le signal de différence est >à 0, c'est-à-dire si la valeur 7 est 20 > à la valeur absolue contenue dans ET, un signal de commande est formé en G et le pas EB21 est attaqué. Si la valeur 7 est ^ à la valeur absolue en ET, le signal de différence est Si la valeur absolue en ET est -77- 2334148 Si, par contre, la valeur absolue en ET est ^ à la valeur de seuil 7» on obtiendrait une économie en espace de mémoire en passant de la forme "mot en chaîne de bits" à.la forme "mot absolu". Les pas EB19-20 sont attaqués. Pendant EB19-20, 5 comme décrit précédemment, la logique remet à zéro la bascule BSW, ce qui indique une forme "mot absolu" dans la sortie hybride pour le mot absolu actuel. Le fonctionnement pendant EB19-EB26 a déjà été exposé plus haut. En conséquence, on va maintenant considérer 10 EB21. Pendant EB21, des signaux d'entrée sont formés aux sorties P10 et G, et à l'impulsion suivante en CLK la bascule U/D est remise à zéro, ce qui provoque le réglage du compteur sur le mode comptage et le pas EB2 est attaqué. Les quatre bits de plus faible poids de la valeur de complément à 2 contenued.ans ET sont 15 placés dans GTE. En conséquence, lors de son fonctionnement sur le mode comptage, CTR revient à zéro après le nombre de comptes représenté par la valeur absolue de ET. Pendant EB22, le contenu de ET est transféré dans CTR et ensuite, pour EB23 et 24, CTR est incrémenté jusqu'à ce qu'il ^0 soit finement recyclé à un état 0, ce qui provoque l'apparition d'un signal de commande en Co. Pour chaque état de CTR, le contenu de EOP est décalé d'un rang vers la droite. Lorsque CTR atteint 0, le signal de commande en Co provoque la mise à 1 de la bascule MSB de EOP, ce qui assure une autre apparition dans ^5 la sortie de mot en chaîne de bits et, ensuite, pendant EB26, le bit 1 est décalé dans le registre 114 de EOP, le tout comme décrit ci-dessus. En conséquence, on comprend maintenant clairement qu'en EB18, on détermine si la valeur contenue dans ET (nombre de 50 bits nécessaires dans le mot en chaîne de bits suivant pour introduire le mot absolu actuel est )>à 7, on détermine également si le module "codage" doit être commuté de la forme de sortie "mot en chaîne de bits" à la forme de sortie "mot absolu". Il existe au moins une apparition mémorisée dans le 35 module "codage" qu'il est nécessaire d'extraire par écriture à la fin des opérations de celui-ci. En conséquence, une fois que le module appelant a fini d'utiliser le module "codage", l'apparition mémorisée doit être sortie. Le module appelant sort l'ap -78- 2334148 parition restante en actionnant la bascule 3LAST. La bascule ELAST est actionnée par le module "permutation" par formation d'un signal en RM9 et par le module "sortie" par formation d'un signal en 0M18, l'un quelconque de ces signaux provoquant la 5 mise à l'état 1 de la bascule 3LAST par la porte OU 106. L'état 1 de la bascule ELAST engendre un signal vrai à la sortie ELAST, indiquant ainsi qu'il s'agit du dernier appel du module "codage" pour le vecteur d'apparition en cotirs de conversion sous la forme hybride. Le signal de commande fourni par la sortie ELAST appa-10 raît lors de la "suspension" du fonctionnement du module "codage" alors que P5 est à l'état 1. Après la fonaationdu signal de commande à la sortie ELAST, un signal de commande est formé par le module "permutation" ou par le module "sortie en RM7 ou en 0M15» ce qui provoque le déclenchement par la porte OU 107 du multi-15 vibrateur monostable ENGO et, partant, la mise à l'état 1 de la bascule ECE, en réponse à quoi la porte ET 112 commence à fournir des impulsions d'horloge lors de l'attaque de EB27. Pendant EB27, les signaux de commande vrais en P5 et SLAST autorisent la formation de signaux à la sortie des commu-20 tateurs 116, signaux qui représentent le complément à 2 de 8, qui sont destinés à être transmis conditionnellement par l'intermédiaire du circuit de sélection EDS7, et qui permettent au signal suivant en CLK de charger le complément à 2 de 8 (c'est-à-dire un "-8") dans ET. En outre, le signal de commande vrai 25 en P5 permet la transmission conditionnelle du signal contenu dans ER, qui représente le nombre de positions binaires restant à remplir (dans le mot en chaîne de bits en cours de formation dans EOP) par l'intermédiaire de EDS5 à l'entrée de CTR, ce qui permet à la même impulsion en CLK de charger cette valeur dans CTR. Les 30 signaux vrais des sorties P5 et ELAST provoquent la mise à l'état 1 de la bascule P8, ce qui provoque l'attaque du pas EB13. Au cours des pas EB13 et 14-, le mot en chaîne de bits contenu dans EOP est complètement rempli avec des "0 en-tête" et est justifié à droite par décalage du mot en chaîne dé bits contenu 35 dans EOP et décrémentation de CTE jusqu'à ce que CTR = 0. Ensuite, sont attaqués les pas EB15 et 17 au cours desquels le mot en chaîne de bits résultant est sorti. Bien entendu, si ER était 0 et si, par conséquent, le CTR était réglé à 0, le décalage vers -79- 2334148 la droite serait supprimé et la sortie s'effectuerait immédiatement. La description ci-dessus du module "codage" a été faite en supposant qu'aucun écrêtage ne devait avoir lieu. Seul le 5 module "sortie"permet un écrêtage. Si un écrêtage doit avoir lieu, le module "sortie" forme immédiatement des signatix d'entrée qui permettent le chargement du registre de limite inférieure E3L, du registre de limite supérieure ETL et des registres d'intervalle EIR. A cet effet, le module "sortie" forme un signal 10 vrai en 01,116 et un signal vrai en GM1. Les entrées des circuits de sélection EDS4- et EDS5 et du registre EIR sont connectées aux registres BL du dispositif IPRF (Fig. 52). En conséquence, les signaux vrais en 0M16 et 0M1 provoquent la transmission "échantillonnée" des valeurs de limites inférieure et supérieure, et 15 d'une valeur d'intervalle (si cette dernière existe), du dispositif IPRF dans EBL, ETL et EIR par l'intermédiaire de la logique de chargement contenue dans chacun de ces registres. La valeur d'intervalle n'est utilisée et, par conséquent, une valeur d'intervalle n'est stockée dans le registre d'intervalle EIR, >0 que si l'utilisateur désire déterminer si la sortie est comprise dans certains intervalles. Par exemple, si l'utilisateur désirait vérifier les intervalles de 35 à 25, puis de 15 à 5 d'un vecteur d'apparition, il spécifierait une valeur d'intervalle de- 10. La fonction d'écrêtage, en général, contraint l'information 25 de sortie à être comprise entre certaines valeurs fixées par l'utilisateur. Par exemple, la fonction du module "codage" consiste à comparer le tout premier mot absolu d'un vecteur d'apparition qui, "bien entendu, est le plus grand, avec les contenus de ETL et EBL. Si la valeur d'intervalle est 0, c'est-à-dire si 30 l'on ne désire pas effectuer me vérification entre des intervalles différents et si l'entrée actuelle dépasse l'une ou l'autre des limites, le fonctionnement du module "codage" est "suspendu" du fait de ce dépassement des limites prescrites par la valeur. Par contre, si la valeur d'intervalle contenue dans EIR 35 est différente de C, ceci signifie qu'on désire procéder à une vérification entre des limites différentes et les limites contenues dans ETL et EBL sont alors réduites à de nouvelles limites par la valeur d'intervalle contenue dans EIR. Ensuite, la compa -80- 2334148 raison entre El d'une part, ETL et EBL d'autre part, est à nouveau effectuée en utilisant ces nouvelles limites réduites. Il est à noter que, dans l'exemple du module "codage" décrit ici, on désire seulement vérifier des incréments dans le sens 5 décroissant. En conséquence, si le mot absolu actuel contenu dans El est supérieur à ETL, le fonctionnement du module "codage" est automatiquement suspendu sans décrémentation. On va maintenant examiner 1'écrêtage effectif et la fonction d'intervalle dans le module "codage". Le module "sortie" 10 met à 1 la bascule OPSW qu'il contient. Lorsque les bascules P1-P11 du compteur de commande 113 sont à 0, ce qui engendre des signaux de commande vrais aux sorties PT, P5 ... P11 et que la sortie OPSW présente un signal vrai, l'impulsion d'horloge suivante provoque la mise à 1 de la bascule Pl. Pendant 3BS2, 15 le signal de commande de la sortie P1 provoque le transfert par les circuits de sélection EDS1 et EDS2 des contenus de ETL et EIR dans l'unité ALU. Si la limite supérieure dans ETL est 25 Si la limite supérieure en ETL est ^ au mot absolu actuel en El, un signal de commande est formé à la sortie GE de la porte OU 108. Un signal vrai est également formé à jla sortie P1 et la combinaison des signaux vrais en P1 et GE provoque la mise à 1 de la bascule P2, ce qui provoque l'attaque du pas EB3. 30 Pendant EB3, le contenu de EBL est comparé avec celui de El. A cet effet, le signal vrai en P2 provoque le transfert par EDS1 et EDS2 des contenus de EBL et EIR dans l'unité ALU. Si la limite inférieure en EBL est au mot absolu actuel en El, un signal de commande est formé à la sortie G de l'unité ALU et EB4-35 est attaqué. Si, par contre, la limite inférieure en EBL est ^ au mot absolu actuel en El, la porte 110 forme un signal de commande en LE, ce qui provoque l'attaque du pas EB6. Après EB6, le fonctionnement est le même que celui qui a été décrit ci-dessus et n'a pas besoin d'être à nouveau examiné ici. -81- 2334148 Toutefois, on examinera maintenant le cas dans lequel la limite inférieure en EBL est supérieure au mot absolu actuel en El et dans lequel un signal de commande est formé à la sortie G, ce qui déclenche le pas EB4-. EB4- n'est représenté sur 1 ' organisa gramme du module "codage" que pour indiquer qu'on prend à ce stade une décision qui diffère selon que la valeur d'intervalle contenue dans EIE est 0 ou >0. Si, au moment où des signaux vrais sont formés en P2 et G, le contenu de EIR n'est pas 0, un signal de commande est formé à la sortie Ëô de EIR. Le signal 10 vrai en Ëô, en coïncidence avec le signal de commande en F2 et G permet la mise à 1 de la bascule P3 au signal d'horloge suivant de la porte 112, ce qui déclenche EB5. Pendant EB5, la limite supérieure en ETL et la limite inférieure en EBL sont décrémentées de la valeur d'intervalle 15 contenue dans EIE. A cet effet, un signal vrai est maintenant formé à la sortie P35 ce qui provoque le transfert par EDS1 et EDS2 des valeurs contenues dans EBL et EIE à l'entrée de l'unité ALU, celle-ci formant alors une limite inférieure décrémentée correspondant à la différence (EBL-EIE). Le signal vrai en 20 P3 provoque également le transfert par EDS4 de la limite inférieure décrémentée apparaissant en OP à l'entrée de EBL. Le signal suivant en CLK provoque le stockage, par la logique de chargement de EBL, de la limite inférieure décrémentée dans EBL. En conséquence, EBL contient maintenant la valeur limite infé-^5 rieure précédente décrémentée de la valeur d'intervalle contenue dans EIE. Le signal vrai de la sortie P3 provoque la mise à 1 de la bascule P4 au signal d'horloge suivant de la porte 112. Le signal de commande en P4- provoque l^ransfert, par EDS1 et ED32 du contenu de la limite supérieure présent dans ETL et de 30 la valeur d'intervalle contenue dans EIR à l'unité ALU, ce qui contraint celle-ci à former en OP une limite supérieure décrémentée représentant la différence (ETL/EIR). Le signal de commande de la sortie P4- provoque le transfert par EDS5 de la limite supérieure décrémentée de OP à ETL et le signal suivant en CLK 35 provoque le stockage de la limite supérieure décrémentée dans ETL. En conséquence, ETL contient maintenant la valeur limite supérieure précédente décrémentée de la valeur d'intervalle contenue dans EIR. Les pas EB2 et EB3 sont à nouveau attaqués, -82- 2334148 pas au cours desquels la valeur d'entrée est à nouveau comparée, mais cette fois, avec les valeurs de la limite supérieure décrémentée et de la limite inférieure décrémentée comme décrit précédemment. 5 D. Exemple de fonctionnement en se référant à l'exemple suivant relatif à ce module. Dans cet exemple, on a supposé que le module "codage" est appelé six fois pour convertir de la forme absolue à la forme hybride les entrées 10 suivantes de l'information d'entrée constituée par un vecteur d'apparition déterminé : 125, 123, 119, 116, 114, 100. Pour rendre plus facile la compréhension de l'invention, on supposera qu'aucun écrêtage ne doit avoir lieu. On n'oubliera toutefois pas que la fonction d'écrêtage est une caractéristique importante 15 d'un des aspects de l'invention. Au lieu de donner une description de mot complète des opérations ci-après, celles-ci sont indiquées sous forme symbolique. Information d'entrée lors de l'appel initial OPSW = 0 .\ ETL = EBL = EIR = 0 20 EFRST = 1 ; EHW =128 El = 125 La séquence suivie est : EB1, EB6, EB8 - EB9, EB19 - EB20 EB1 : OPSW = 0 .\ commande en EB6 25 EB6 : EFRST = 1 •*» commande en EB8 EB8 : El (125) On comprendra mieux le fonctionnement du module "codage" EB9 : • EFRST = ELAST = 0 NOC = 0 MAR3 = MLN3 = 0 35 EB19 : ER = 0 à la largeur de 1'iso-entropicogramme. En conséquence, la commande passe en EB9 ; rétablir bascules; effacer nombre d'apparitions; vider registre d'adresse de zone de mémoire de sortie et registre de longueur , indique qu'il ne reste aucun bit dans le registre de sortie EOP -Utilisé ici pour imposer une forme d'index de "1" absolus (AOI) lors de l'appel suivant; -83- 2334148 10 BSW = 0 indique qu'on est sur le mode "forme d'index de "1 absolus"; -EB20 : EO(125) = El(125) l'information d'entrée actuelle devient information d'entrée précédente; N0C(1) = ITOC(O)+1 incrémenter de 1 le nonbre d'apparitions ARRET Information de sortie : EOP = 0 MLN3 = 0 NOC = 1 Blanc dans la zone de mémoire Segggd_app|l : El = 123 EFRST = 0 Les autres paramètres sont les mêmes que pour le 1er appel; Séquence de commande : EB1, EB6-EB7, EB10-EB13, EB15-EB18, 15 EB21-EB24-, EB23, EB25-EB26,EB20. EB1 0PSW= 0 ' commande en EB6 EB6 EFRST = 0 .% commande en EB7 EB7 ELAST = 0 ,'c commande en EB10 EB10 ET(2) = E0(125) - EI(123) distance en bits entre les mots ^0 absolus précédent et actuel faire U/D = 1 CTR sur mode décomptage EB11 ER(0) - ET(2) 4. 0 le mot absolu actuel ne peut pas être placé dans le nombre de bits restants disponibles dans EOP 25 commande en EB12 ; EB12 ET = -2 conservé sous forme de complément à 2, soit ET = 11111110 ; CTR (0) = ER (0) distance dont le registre de sortie doit être décalé dans le 30 cas de la forme "chaîne de bits" pour maintenir l'alignement; EB13 CTR = 0 commande en EB15 EB15 BSW = 0 commande en EB16 EB16 E0P(125) = ED(125) Faire information de sortie = 35 information d'entrée précédente MSB (EOP) = 1 faire bit de signe = 1 pour indi quer la forme "mot absolu" (AOI); -84- 2334148 - MAR3(1) = M1R3(0) + 1 MLN3(1) = MEH3(0) + 1 EB18 ET(—2) + 7 >0 EB21 Commuter compteur sur mode comptage U/D = 0 EB22 ER(5) = ET(-2) + 7 CTR(6) ET(-2) EB17 Ecriture en mémoire de EOP pointeur sur adresse zone de mémoire suivante ; longueur matérielle actuelle de l'information de sortie; commande en EB21 du fait que le nombre à introduire dans CTR sous le contrôle de l'horloge est nombre de bits restants qui peuvent être utilisés dans EOP; le compteur est chargé avec les trois bits de droite du complément à 2 de -2, soit 1111100! (^ .0) commande en EB24 décaler EOP vers la droite (=0) commande en EB25 CTR étant un registre de trois bits, l'addition d'un "1" au "7" provoque un bouclage; faire bit de signe = 1 indique la forme "chaîne de bits"; décaler EOP d'un rang vers la droite étant donné que la position du bit de signe est utilisée pour indiquer le type; le mot absolu actuel devient mot absolu précédent le nombre d'apparitions est éjecté Zone de mémoire EOP = 010XXXXX MLN3 = 1 NOC = 2 11111101 X = bits restants à utiliser EB23 EB24 EB23 CTR(7) = CTR(6) EOP = OXXXXOT CTR(O) = CTR(7) + 1 EB25 EB26 EOP = 10000000 BSW = 1 EOP = 010XXXXX EB20 E0(123) = El(123) NOC(2) = N0C(1) + 1 ARRET Information de sortie -85- 2334148 ïS2iiiêSi=i-lliè = les autres paramètres restent les mêmes ; Séquence de commande EB1, EB6-33B7, £310-EB11, EB22-EB24-, EB2J-EB24, E323-24-, EB23, EB25-EB26, EB20 EB1 OPSW = 0 » - commande en EB6 EB6 EFEST = 0 •*« commande en EB7 EB7 ELAST = 0 %% commande en EB10 33310 ET(4) = E0(123) - EI(119) ET = distance en bits à considérer; 33B11 ER(5) - ET(4) >0 commande en EB22 EB22 ER(1) = ER(5) - ET(4) ER = nombre de bits restant dans EOP après traitement du mot absolu actuel CTR(4-) = ET(4-) nombre de positions dont EOP doit être décalé vers la droite avant la mise à 1 du bit de signe ; EB23 CTR(3) EB23 CTR(2) CTR(3) - 1 (/0) commande en'EB24 EB24 EOP = 0001OXXX EB23 CTR(1 ) = CTR(2) - 1 (/ 0) commande en EB24-EB24 EOP = 00001OXX EB23 CTR(O) = CTR(1) - 1 (=0) commande en EB25 EB25 EOP = 1G0010XX mettre à 1 le bit de plus fort poids; BSY» = 1 indiquer chaîne de bits; EB26 EOP = 010001OX décaler EOP vers la droite; EB20 E0(119) = EI(119) le mot absolu actuel devient mot absolu précédent N0C(3)«- N0C(2) + 1 éjecter nombre d'apparitions; ARRET Zone de mémoire Information de sortie EOP = 0100010X MLN3 = 1 NOC = 3 11111101 -86- 2334148 Quatrième_appel El = 116 Tous les autres paramètres restent les mêmes Séquence de commande EB1, EB6-EB7, EB10-E314-, EB13, EB15, EB17-EB18, EB21-EB24-, EB23, EB25-EB26, EB20; EB1, EB6, EB7 comme précédemment; EB10 ET(3) «e-E0(119) - EI(116) déterminer distance en bits ; EB11 ER(1) - ET(3) (-^0) il n'y a pas assez de bits pour traiter cette entrée en utilisant l'information actuelle contenue dans EOP; EB12 ET(-2) CTR(1) être décalé pour maintenir l'alignement ; EB13 CTR(1) / 0 commande en EB14-EB14 CTR(O) = CTR(1) - 1 EOP = 00100010 décaler EOP vers la droite; EB13 GTR(O) = 0 commande en EB15 EB15 BSW = 1 .*« commande en EB17 EB17 écrire EOP dans mémoire MAR3(2)- MLîT3(2) -*-MEN3(1) + 1 longueur matérielle de la zone de mémoire E318 ET(-2) + 7 ( > 0) commande en EB21 EB21 faire U/D = 0 •'» CTR sur mode comptage EB22 ER(5) = ET(-2) + 7 CTR(6) ET(-2) CTR = les trois bits de droite du complément à 2 ET = 11111h10l EB23 CTR(7) = CTR(6) + 1 (/ 0) commande en EB24 EB24- EOP = OOXXXXXX décaler EOP X = bits utilisables résiduels pour EOP; EB23 CTR(O) = CTR(7) + 1 (=0) registre de trois bits - en con-commande en EB25 séquence bouclage lors de l'addi tion EB25 EOP = 10XXXXXX mettre bit de signe dans EOP BSW = 1 indiquer forme "chaîne de bits" EB26 EOP = 010XXXXX décaler EOP étant donné que le bit de signe indique le type; -87- 2334148 EB20 E0(116) = EI(116) l'information d'entrée précédente est remplacée par l'actuelle; NOC (4) - ARRET Zone de mémoire Information de sortie EOP = OlOXmX MLN2 = 2 HOC = 4 11111101 00100010 Cinquième_appel El = 114 les autres paramètres restent les mêmes ; séquence de commande EB1, EB6, EB7 EB10-EB11, EB22-EB24, EB23, EB25-EB26, EB20; EB1, EB6, EB7 comme précédemment; EB10 ET(2)«r- E0(116) - EI(114) distance en bits; mettre le compteur sur décomptage EB11 ER(5) - ET(2) >0 A commande en EB22 EB22 ER(3) = ER(5) - ET(2) mettre à a'our reste; CTR(2)«-~ ET(2) nombre de bits; EB23 CTR(1) = CTR(2) - 1 (/0) »\ commande en EB24 EB24 EOP = 0010XXXX décaler EOP vers la droite; EB23 CTR(0)-4— CTR(1) - 1 (=0) »\ commande en EB25 EB25 EOP = 1010XXZX régler bit de signe de EOP; BSW = 1 indiquer forme "chaîne de bits"; EB26 EOP » 01010XXX décaler EOP; EB20 E0(114) = El(114) N0C(5) ARRET Zone de mémoire Information de sortie EOP = 01C10XXX MLN3 = 2 NOC = 5 11111101 00100010 -88- 2334148 Sixième_appe 1 El = 100 tous les autres paramètres restent les mêmes; séquence de commande EB1, EB6-EB7, E310-EB14, EB13-EB14, EB13-EB14, EB13, EB15, EB17-EB20; EB1, EB6, EB7 comme précédemment; EB10 ET(14)«- E0(114) - El(100) faire U/D = 1 %\ CTR sur décomptage EB11 ER(3) - ET(14) ( doit être décalé pour maintenir l'alignement; EB13 CTR(8) / 0 »'• commande en EB14 EB14 CTR(2) = CTR(3) - 1 EOP = 001010ZX EB13 CTR(2) fé 0 commande en EB14 EB14 CTR(1) = CTR(2) - 1 EOP = 000101OX EB15 CTR(1) 0 commande en EB14 EB14 CTR(O) = CTR(1) - 1 EOP = 00001010 EB13 CTR(O) = 0 .*« commande en EB15 EB15 BSW = 1 «*• commande en EB17 EB17 écriture en mémoire de EOP MAR3(3) = MAR3(2) + 1 MLK3(3) =MHS5(3) + 1 EB18 ET(-11 ) + 7 EB19 ER = 0 s'assurer que l'appel suivant pourra s'écrire; BSW =0 le mot absolu actuel doit être effec^ tivement sous la forme "mot absolu"; EB20 E0(100) = El(100) rroc(6)«&- noc(5) + 1 ARRET Zone de mémoire Information de sortie EOP = 0 MLN = 3 NOC = 6 11111101 00100010 00001010 -89- 2334148 Septième_appel faire ELAST = 1 tous les autres paramètres restent les mêmes; séquence de fonctionnement SB1, S56-EB7, EB27, EB13, E315-3B20; 5 531, EB6 comne précédemment; EB7 ELAST =1 » • commande en EB27 EB27 CTE(O) = ER(O) dans le cas où lfon est sur "chaîne de bits"; ET = -8 s'assurer de l'équilibre correct 10 en EB18; EB13 CTE(O) = 0 »'* commande en EB15 EB15 BSW = 0 %\ commande en EB16 EB16 E0P(1C0) = E0(100) préparer l'information de sortie; mettre à 1 bit de signe de EOP indique type "1 absolu" 15 EB17 écrire EOP MAR3(4) MAR3(3) + 1 adresse suivante; MLK3(4) MLK3(4) + 1 longueur; EB18 ST(-8) + 7 E319 SE = 0 il y a des pas sans significa- -G ES¥ = 0 tion lors de la dernière itéra- E320 EO(IOC) = EI(100) tion - remarquer que NOC n'est pas incrémenté cette fois; AREET Zone de mémoire 25 SOP = 0 MLK3 = 4 NOC = 6 11111101 00100010 00001010 11100100 En résumé, on a décrit ci-dessus un codeur permettant de 30 convertir sous la forme hybride une série reçue de signaux de mot absolu classés dans un ordre de grandeur décroissant. La forme hybride correspond à une série comprenant au moins un signal de mot absolu et au moins un signal de mot en chaîne de bits. Un signal de motâbsolu représente la valeur d'une appa-35 rition par la combinaison de signaux de bits codés binaires. Un signal de mot en chaîne de bits représente une apparition donnée par le nombre de bits de décalage d'un bit de valeur prédéterminée à partir d'un signal de mot absolu de la série de mots -90- 2334148 hybride. Des moyens comprenant l'unité ALU, EDS2, EDS1 et le compteur 113 interviennent pendant EB18 en réponse à des signaux de mots absolus précédent et actuel, pour former un signal de sortie indicateur de la différence de valeur de ces mots. Le 5 signal de différence "précédent-actuel" est formé à la sortie OP de l'unité ALU et est stocké dans ET. En outre, il est prévu des moyens comprenant ET et le compteur de commande 113 pour "retenir" le signal de différence "précédent-actuel". Ceci se produit en. EB10_ 10 Le codeur comprend également des moyens pour indiquer la forme, mot absolu ou mot en chaîne de bits, d'une sortie hybride ainsi que des moyens comprenant les commutateurs 104 pour indiquer une différence minimale autorisée choisie à l'avance (par exemple de 7) entre des signaux de mots reçus successive-15 ment. Ces moyens comprennent l'unité ALU, EDS1, EDS2 et le compteur de commande 113, pour comparer l'indication de différence minimale et le signal de différence "précédent-actuel" retenu pour indiquer si la première est plus > ou ^ au second. Le codeur comprend également des moyens pour fournir 20 des informations de sortie sous la forme absolue, ces moyens comprenant la logique de chargement et de décalage de EOP, BSW et sa logique d'actionnement et de rétablissement et le compteur de commande 113, moyens qui interviennent en réponse à l'indication ^ pour sortir le mot absolu actuel stocké et un drapeau 25 "absolu". Cette opération a lieu pendant EB18 à 20, 10 à 17» Le codeur comprend encore des moyens de génération d'informations de sortie sous forme de chaînes de bits, ainsi que des moyens comprenant EOP, CTR et sa logique de chargement et de commande, EDS2, ER, la logique de décalage de EOP, la logique 30 d'actionnement de MSB et le compteur de commande 113, ces derniers moyens étant capables, en réponse à l'indication > , de former un jeu de signaux ordonnés comprenant un bit d'une première valeur (par exemple 1) associé au nombre de bits d'une seconde valeur (-par exemple 0) qui correspondent à la valeur du 35 signal de différence "précédent-actuel" retenu. Cn peut voir que ce procédé est défini par les pas EB21-25. Les moyens de génération d'informations de sortie sous forme de chaînes de bits comprennent également des moyens incluant l'horloge et le -91- 2334148 compteur de commande 113 pour sortir sélectivement le Jeu de signaux en association avec un drapeau "chaîné de bits". Le bit de la première valeur précitée de l'information de sortie sous forme de chaîne de bits est dans une relation prédéterminée 5 avec le mot absolu sorti. A cet égard, le nombre de bits de décalage entre un bit de la première valeur et un mot absolu indique quelle est cette première valeur. Un mode de réalisation du codeur comporte un moyen de mémorisation de mot absolu actuel, tel que le registre El, pour 10 stocker un mot absolu en cours de réception. Des moyens comprenant la logique de commande de EDS6 stockent les mots absolus reçus dans le registre de mot absolu actuel El, dit ci-après registre El "actuel". D'une manière analogue, un registre dit "précédent" EO est prévu pour stocker un mot absolu reçu précédemment. 15 Des moyens comprenant la logique de commande EO et le compteur de commande 113 transfèrent le mot absolu actuel du registre "actuel" au registre "précédent" en formant ainsi dans celui-ci le mot absolu précédent. Cette opération s'effectue en EB20. Un autre mode de réalisation préféré du codeur fournit 20 une information de sortie sous forme hybride en une série de mots. Les moyens de formation d'un jeu de signaux ordonnés comprennent les moyens compteurs CTR. CTR comporte une sortie Co pour indiquer l'achèvement du comptage. Un registre de formation de mot en chaîne de bits EOP est prévu, tandis que des moyens ,-5 comprenant la logique de chargement et de commande de CTR, d'une part et EDS2, d'autre part, interviennent au cours de EB21-24 en réponse à l'indication> pour autoriser les moyens compteurs à compter une séquence d'états dont le nombre correspond au signal de différence "précédent-actuel" contenu dans ET. 30 L'indication apparaissant à la sortie Co de CTR indique l'achèvement du comptage mentionné en dernier lieu. Il est en outre prévu des moyens comprenant EOP et sa logique de décalage, ainsi que le compteur de commande 113 * intervenant au cours de EB21-25 pour décaler le contenu du registre de formation de 35 chaîne de bits d'une position binaire en direction du bit de plus fort poids de son contenu pour chacun des états des moyens compteurs précédemment mentionnés. Il est en outre prévu des moyens comprenant la bascule MSB et sa logique d'actionnement, 2334148 ainsi que le compteur de commande 113» qui interviennent pendant EB25, en réponse à l'indication d'achèvement mentionnée en dernier lieu apparaissant en Co, pour insérer un signal de bit de valeur prédéterminée (par exemple 1) à l'extrémité de plus faible 5 poids du contenu du registre de stockage de bits EO. Grâce à cette disposition, une apparition est introduite dans l'information de sortie formée de mots de forme hybride. Les moyens de sortie comprennent en outre des moyens incluant la logique de P9 et le compteur de commande 113, qui interviennent pendant EB17 10 pour sortir sélectivement le contenu du registre de formation de mot en chaîne de bits, en formant un signal à la sortie P9 pour indiquer que le mot contenu dans EOP est maintenant prêt à être sorti. Un autre mode de réalisation préféré du codeur suivant 15 l'invention est constitué par des moyens de formation de chaîne de bits comprenant des moyens pour introduire une première apparition dans un nouveau mot en chaîne de bits en cours de formation. Dans les derniers moyens mentionnés sont inclus des moyens (ER) pour stocker un signal représentant le nombre de positions 20 binaires restant à remplir dans le registre de formation de mot en chaîne de bits EOP. Sont également prévus des moyens de combinaison comprenant l'unité ALU, EDS1, EDS2 et le compteur de commande 113, qui interviennent au cours de EB11 pour former un signal représentant la différence entre la valeur du signal de 25 nombre de positions binaires restant à remplir et la valeur du signal de différence "précédent-actuel". Sont en outre prévus des moyens comprenant l'unité ALU, EDS1, EDS2 et les portes 108 et 110, ainsi que le compteur de commande 113, intervenant au cours de EB11 pour comparer les valeurs du signal de différence "pré-30 cèdent-actuel" et du signal de positions binaires restant à remplir en indiquant si la valeur du premier de ces signaux est (GE) ou -93- i 2334148 Des moyens comprenant la logique de chargement et de commande de CTR, ainsi que EDS2 interviennent pendant EB11, 22-24, en réponse à l'indication ^ en GE pour autoriser les moyens compteurs à compter une séquence d'états dont le nombre 5 correspond au nombre de bits retenu nécessaires dans le signal de mot en chaîne de bits suivant contenu dans ET. Il est à noter que l'opération précédente a lieu si, pendant EB11, le nombre retenu de bits nécessaires dans le mot en chaîne de bits suivant nombre qui est contenu dans ER est ^ au signal de différence 10 "précédent-actuel" contenu dans ET. Sont également inclus la logique de commande de décalage de EOP et le compteur de commande 113 pour décaler le contenu du registre de formation de mot en chaîne de bits EOP d'une position binaire en direction du bit de plus fort poids de ce contenu, pour chacun des états des 15 moyens compteurs mentionnés en dernier lieu. Des moyens comprenant Ï'SB et sa logique d'actionnement ainsi que le compteur de commande 113 interviennent au cours de EB25 en réponse au signal d'achèvement en Co pour insérer un signal de bit de valeur prédéterminée (par exemple 1) à l'extrémité de plus faible poids LO du contenu du registre de chaîne de bits EOP. Un autre mode de réalisation préféré du codeur comporte un dispositif de formation de chaîne de bits qui comprend des moyens pour remplir complètement les positions binaires d'un mot en chaîne de bits en cours de formation lorsqu'aucune autre ^5 apparition ne peut plus être introduite. Dans ce dispositif sont également inclus les moyens ER pour stocker un signal représentant le nombre de positions binaires restant à remplir dans le mot en chaîne de bits en cours de formation. Des moyens de combinaison comprenant l'unité ALU, EDS1, EDS2 et le compteur de 30 commande 113 interviennent au cours de EB11 pour former un signal représentant la différence entre la valeur du signal de nombre de positions binaires restant à remplir, signal qui est contenu dans ER et le signal de différence "précédent-actuel" qui est contenu dans ET. En outre, il est prévu des moyens comprenant 35 l'unité ALU, EDS1, EDS2, les portes 108 et 110 et le compteur de commande 113, qui interviennent au cours de EB11 pour comparer la valeur du signal de différence "précédent-actuel" et du signal de positions binaires restant à remplir et pour indiquer si le premier de ces signatix est ^ ou -94- 2334148 Des moyens comprenant la logiquode chargement et de commande de CTE, EDS1 et EDS2, interviennent au cours de EB12-14 en réponse à l'indication Suivant un mode de réalisation préféré du codeur, il est prévu des moyens d'écrêtage. Ceux-ci comprennent des moyens 15 incluant ETL et EBL pour stocker une valeur limite supérieure et une valeur limite inférieure. Des moyens comprenant l'unité ALU, EDS1, EDS2 et les portes 108 et 110 interviennent au cours de EB2-4 pour comparer un mot absolu actuel avec les valeurs limites supérieure et inférieure et pour indiquer si ce mot dé-20 passe les bornes définies par ces valeurs limites. Suivant un autre mode de réalisation préféré du codeur, des moyens d'ajustement d'intervalle sont prévus conjointement aux moyens d'écrêtage. Ils comprennent des moyens EIR pour stocker une valeur d'intervalle. Des moyens comprenant l'imité ALU, EDS1, 25 EDS2, EDS5, les portes 108 et 110 et le compteur de commande 113 interviennent au cours de EB5 en réponse à l'indication du fait que le mot absolu actuel dépasse les bornes pour modifier incré-mentiellement les valeurs limites supérieure et inférieure stockées dans EBL et ETL de la valeur d'intervalle stockée dans 30 EIR. Dans l'exemple particulier représenté, la modification incrémentielle est une décrémentation. Des moyens sont en outre prévus pour autoriser les moyens comparateurs à répéter la comparaison en utilisant les valeurs limites supérieure et inférieure incrémentiellement modifiées et le mot absolu actuel. 35 III- MODULE "DECODAGE" I A. Description générale Les modules "décodage" I et II sont intérieurement identiques. La différence réside principalement dans les signaux -95- 2334148 d'entrée et de sortie. Le présent chapitre est consacré au module "décodage" I. Le chapitre suivant exposera les différences entre ce module -et le module "décodage" II. La fonction du module "décodage" I est de convertir 5 sous la forme "mot absolu" une série d'apparitions reçues dans un mot hybride. Les apparitions sont de valeur croissante et sont codées sous la forme hybride. En conséquence, le module "décodage" I effectue une conversion d'information inverse de celle que produit le module "codage". La forme codée hybride 10 comprend une série de mots codés binaire, incluant au moins un mot codé absolu suivi d'un ou plusieurs mots en chaîne de bits et/ou mots absolus. Chaque mot absolu représente une apparition directement sous forme codée. Chaque mot en chaîne de bits représente une apparition par le nombre de bits de décalage d'un bit 15 de valeur prédéterminée à partir soit d'un mot absolu, soit d'un autre bit analogue ayant ladite valeur prédéterminée de la série de mots hybrides. En outre, chaque mot hybride comporte un drapeau indiquant s'il s'agit d'un mot du type "mot absolu" ou du type "en chaîne de bits". 20 Le module "décodage" I fonctionne en réponse à un appel lancé par un module appelant. Les modules appelants possibles — en ce qui concerne le module "décodage" I sont les modules "cadrage", "raccourcissement", "permutation", "concordantiel", "sortie" et "de jonction du système DEM". Essentiellement, le -96- 2334148 B. Composants Le module "décodage" I comprend les compteurs MÂR1, MLÎT1, D01 et BCTR1. Le compteur MAR1 est un compteur à 256 états du type SN74161 décrit dans l'ouvrage "TTL" ci-dessus cité. Le 5 compteur MLÎT1 est constitué par un compteur du SH74191 décrit page 4-17 de l'ouvrage "TTL" ci-dessus cité et fonctionne dans le sens du comptage en réponse à chaque signal vrai appliqué à l'entrée Ct. Le compteur MLI?1 est également réglé à un état correspondant aux signaux d'entrée appliqués à son côté supérieur 10 en réponse à un signal vrai appliqué à son entrée L ou de chargement. Une logique de transmission conditionnée interne (non représentée) forme un signal vrai en Mo lorsque le compteur MLF1 est à l'état 0. Le compteur BCTR est un compteur à huit états. Le compteur D01 est un compteur de huit "bits à 128 états. Chacun 15 des compteurs BCTR et D01 est du type SN74-191 décrit page 427 de l'ouvrage "TTL" ci-dessus cité. Ces compteurs fonctionnent comme suit : un signal vrai appliqué à l'entrée CLR ramène les compteurs à l'état 0, un signal vrai appliqué à l'entrée L provoque le réglage des compteurs à un état représenté par les si-20 gnaux d'entrée d'information appliqués à son entrée supérieure. Chaque signal vrai appliqué à l'entrée Ct incrémente le compteur d'un état. Le compteur BCTR comporte une logique non représentée pour former un signal de sortie vrai en Bo ou Bo, selon que le compteur est à l'état 0 ou n'est pas à l'état 0, respectivement. 25 Dans le module "décodage" I est également inclus un re gistre IHR1. Celui-ci contient un registre à décalage 202. Le registre à décalage 202 est un registre de stockage de sept bits du type SN74199 décrit page 4-56 de l'ouvrage "TTL" ci-dessus cité. Le module "décodage" I comprend en outre des bascules 30 P1 à P5 qui forment un compteur de commande 213 et des bascules D1FST, 30F1, D1.SW-, D1EHD, MSB1, S1FF et DCE. Chacune de ces bascules est du type SF74-74- décrit ici dans le chapitre I.F. "Conventions utilisées sur les figures". Des multivibrateurs monostables D1G0 et D1MERD sont 35 également prévus. Chacun de ces multivibrateurs monostables est caractérisé par le fait qu'un signal vrai appliqué à son entrée provoque la réception par la sortie indiquée d'un signal vrai pendant une période de temps d'une longueur égale à celle de la -97- 2 3T 3 414 8 période de temps comprise entre le début d'une impulsion d'horloge donnée et le commencement de l'impulsion d'horloge suivante en CLE. Le module "décodage" I comprend une source d'impulsions d'horloge récurrentes uniformément espacées 240. 5 Le module "décodage" I comprend également la logique né cessaire pour commander les divers registres, bascules et compteurs, comme indiqué par les équations logiques utilisant la notation indiquée ci-dessus à propos du module "codage". En outre, sont représentées des portes ET spécifiques 216, 218, 220, 222 et 10 des portes OU 224, 226, 228, 230, 234 et 235* Les portes ET 218, 220, 222 sont en fait indiquées schématiquement car elles comprennent en réalité chacune huit portes ET individuelles (non représentées) pour la transmission conditionnelle de huit bits d'information aux sorties correspondantes à partir de la source 15 d'information indiquée le long des entrées représentées en trait renforcé. La seconde entrée de chacune des huit portes ET que comprend chacune des portes ET 218, 220 et 222 est connectée à la logique de commande indiquée correspondant aux .équations logiques. Les sorties respectives des portes ET individuelles de chacune 20 des portes ET 218, 220 et 222 sont combinées logiquement par la porte OU 226 et sont appliquées sous la forme d'une entrée d'information de huit bits au compteur MLFl. Les autres portes ET et OU sont également des portes classiques bien connues en informatique et ne nécessitent aucune d'y explication en dehors de celles qui sont données dans la description détaillée qui va suivre. La sortie de la porte ET 216 est indiquée par le symbole CLK qui correspond au mot anglais "clock" (horloge). La sortie d'un "inverseur" 232 (on désignera désormais généralement sous ce 30 nom dans la présente description chaque circuit ou porte d'inversion logique) est indiquée par le symbole CLfc qui correspond à l'inverse logique du signal d'horloge CLK de la même manière que dans le module "codage". Les lignes de commande d'entrée et de sortie nécessaires 35 du module "décodage" I sont indiquées le long du côté droit de la Fig. 9; on a également indiqué le long du côté droit de la Fig. 9 les circuits d'entrée et de sortie d'information utilisant le système de notation précédemment décrit. -98- 2334148 On se référera maintenant au côté droit de la figure représentant le module "décodage" I. On voit que les entrées d'information de ce module sont représentées en trait renforcé; ces entrées sont LIT! alimentée par IPRF, MIN3 alimentée par le 5 module "codage" et ORT2 alimentée par le module "sortie". La sortie du module "décodage" I s'effectue à partir du compteur D01 (trait renforcé), de la sortie E0F1 de la bascule E0F1, de la sortie D1M3ND du multivibrateur monostable D1MEMD et de la sortie d'une porte représentée par l'équation logique P2*D1SW. 10 L'information de sortie du compteur D01 est constituée par les mots absolus qui ont été décodés à partir de la forme hybride. Le signal en D1MEMD indique l'achèvement de chaque mot absolu résultant dans le compteur D01, ce qui indique au module appelant qu'il peut lire le mot absolu dans D01. Un signal vrai à 15 la sortie E0F1 indique que le nombre de mots hybrides et, par conséquent, la longueur de la zone de mémoire, indiqués par les mots stockés dans le compteur MLN1 ont été convertis et que, par conséquent, le vecteur d'apparition hybride a été complètement décodé. 20 0. Description détaillée La table 13 donne les symboles des compteurs, registres et bascules importants du module "décodage" I des Fig. 9 et 10 et indique leur longueur et la sortie primaire du module "décodage" I. La table 11 représente les entrées primaires. La Fig. 25 11 est un organigramme indiquant la séquence de fonctionnement du module "décodage" I en utilisant une notation analogue à celle oui a été décrite ci-dessus à propos du module "codage". Il sera bon de se référer à l'organigramme du module "décodage I" en lisant la description suivante, car cet organigramme facilite-30 ra une compréhension complète de l'invention. Comme dans le cas du module "codage", la porte OU 234-est capable, en réponse à un signal initial appliqué en MINIT par le "minicalculateur", d'appliquer un signal vrai à l'entrée de rétablissement de chacune des bascules P1-P5 de manière à les 35 remettre initialement à 0. Le module "décodage" I, comme décrit précédemment, est appelé par l'un quelconque des modules suivants : "cadrage", "raccourcissement", "permutation", "concordantiel", "sortie" et -99- 2334148 "jonction.". Le "minicalculateur", comme décrit plus loin, par 1'intermédiaire du module "jonction du système DPM" ou de l'un des autres modules, stocke dans l'une des zones du module "mémoire" un vecteur d'apparition codé hybride. Le vecteur d'appa-5 rition codé hybride doit être converti en mots d'apparition codés absolus en utilisant le module "décodage" I (et/ou le module "décodâge" II). Un module appelant initialise le module "décodage" I en plaçant le nombre de mots (longueur) du vecteur d'apparition de forme hybride à convertir dans le compteur MLN1 10 et en mettant la bascule D1FST à l'état 1 pour indiquer que le premier appel du module "décodage" I est en train de se produire. La longueur du vecteur d'apparition est fournie au module "décodage" I à partir de différentes sources, selon le module appelant, comme suit : Module "décodage" - à partir de 15 LN1 de 1ERE ; module "raccourcissement" - à partir de LÏT1 de IPRP ; module "permutation" - à partir du compteur MLN3 du module "codage"; module "concordantiel" - à partir de LN1 de 1ERE; module "sortie" - à partir de LNl de IPRF ou du registre 0RT2 du module "sortie"; module "modification" - à partir de LÎT1 de 20 IPRÉ; module "jonction" - à partir de LUI de IPRF. Le chargement de MLN1 s'effectue comme suit : un signal vrai appliqué par le module "sortie" en 0M16 ou 0M17 provoque le transfert, par les portes ET 218 et 222 et la porte OU 226, de la valeur de longueur à partir de LF1 de IERF et de 0RT2 respectivement, à l'en-25 trée d'information du compteur HLNi. Le module modification charge le compteur MLN1 et le module "raccourcissement" appelle le module "décodage" I. A cet effet, le module "modification" applique un signal vrai à la sortie CM4, ce qui provoque le transfert, par la porte ET 218 et la porte OU 226, de la valeur 30 de longueur, à partir de LF1 de 1ERE, à l'entrée d'information du compteur MLÏÏi. Le module "raccourcissement" applique un signal vrai à la sortie SM2, ce qui provoque le transfert, par la porte ET 218 et la porte OU 226, de la valeur de longueur d'apparition à partir de LFI de 1ERE à l'entrée d'information du compteur 35 MLN1. Le module "permutation" applique un signal vrai en RM14 pour provoquer le transfert, par les portes 220 et 226,de la valeur de longueur d'apparition à partir du compteur KLN3 du module "codage" à l'entrée d'information du compteur LÎLN1. -100- 2334148 L'un des modules "permutation", "raccourcissement", "sortie", "cadrage", "concordantiel" et "jonction du système DUT" met alors la bascule D1FST à l'état 1 par l'intermédiaire de la porte OU 228 en appliquant un signal vrai à la sortie 5 respective correspondante P11, 5M2, SM4, B3, 0M21 et D1I, ce qui, comme décrit précédemment, indique que le premier appel du module "décodage" I est en train d'avoir lieu. Ensuite, le module appelant déclenche le multivibrateur monostable D1G0, ce qui provoque l'application par celui-ci d'une 10 impulsion de commande à sa sortie D1G0. D1G0 est déclenché par la porte 230 qui reçoit son impulsion de commande de l'une des sorties. F13, SM6, RM4, B5 ou D1G0. Un signal vrai à la sortie D1GO met la bascule DCE à l'état 1, ce qui provoque l'apparition d'un signal vrai à la 15 sortie DCE, signal qui, à son tour, autorise la porte ET 216 à transmettre des signaux d'horloge de l'horloge 240 à la sortie CLK. Comme dans le cas du module "codage", l'inverseur 232 forme l'inverse logique du signal d'horloge formé en CLK à sa sortie CLK. 20 Etant donné que toutes les bascules du compteur de com mande 213 sont initialement remises à zéro, des signaux vrais sont maintenant formés aux sorties PT, P^, ]?3, et F? et l'impulsion d'horloge en CLK provoque la mise à l'état 1 de la bascule FI et le pas D1B1 de l'organigramme "décodage" est attaqué. 25 Pendant D1B1, l'état de la bascule D1PST est vérifié, en supposant qu'il s'agisse du premier appel du module "décodage" I. La bascule D1FST est à l'état 1 et, par conséquent, engendre un signal vrai à sa sortie D1FST. En outre, la bascule P1 est à l'état 1. En conséquence, on passe en D1B2 de l'organigramme du 30 module "décodage" I, pas au cours duquel les signaux vrais en Pi, D1F3T et CLK provoquent la remise à zéro de la bascule D1SÏÏ. L'impulsion d'horloge en CLK en combinaison avec les signaux vrais aux sorties P1 et D1FST provoque la remise à zéro de chacune des bascules D1EED, D1FST et ECF1 et la remise à zéro des 35 compteurs MAR1 et BCTR1. En outre, le signal d'horloge en CLK en coïncidence avec le signal vrai à la sortie PI provoque la mise à 1 de la bascule P2 et la remise à 0 de la bascule Pl. A ce moment, les bascules D1PST, E0F1, D1SV/ et D1END ont été réta- -101- 2334148 blies pour les raisons suivantes : la bascule B1FST est rétablie à ce moment pour indiquer que l'opération de rétablissement effectuée pendant D1B2 a été achevée. C'est la seule fonction de la bascule D1FST. EOF1 est rétabli à ce moment pour indiquer 5 que les mots hybrides du vecteur d'apparition n'ont pas été complètement convertis. La bascule D1SW est utilisée pour indiquer, dans le module "décodage" I, qu'une lecture du module "mémoire" est nécessaire. L'état 0 de la bascule D1SW indique qu'une lecture dans le module "mémoire" est nécessaire pour obtenir un 10 mot hybride. Cette lecture aura lieu ultérieurement pendant D1B5. Un état 1 de la bascule D1SYJ est utilisé pour indiquer qu'une lecture est inutile et, comme exposé plus loin, D1B5 est sauté lorsque D1SW est à l'état 1. La bascule D1END est une bascule interne et, lorsqu'elle est mise à l'état 1, elle indique au 15 module"décodage" I qu'après conversion d'un vecteur d'apparition codé hybride, le mot absolu a été sorti ou transmis au module appelant. Comme décrit plus loin de façon plus détaillée, lorsque la bascule ElEND est mise à l'état 1, tout appel ultérieur du module "décodage" I par le module appelant oblige le module -.0 "décodage" I à former une indication de fin de fichier en mettant la bascule E0F1 à 1'état 1. Après D1B2, D1B3 est attaqué. Pendant D1B3, la bascule P2 est à l'état 1 et la bascule D1END est contrôlée. Si, pendant D1B3, la bascule D1END est à l'état 1 ce qui, comme décrit pré-25 cédemment, se produit lorsque le module appelant fournit le dernier mot d'un vecteur d'apparition hybride, le pas D1B19 de l'organigramme du module décodage I est attaqué. On va maintenant prendre note de l'action de la logique de "suspension" d'horloge". Les signaux vrais en P2, B1EED et 30 CLK remettent le compteur D01 à 0 et provoquent la formation, par la logique de suspension d'horloge 222 d'un signal vrai à l'entrée de la porte OU 235, ce qui contraint celle-ci à remettre à 0 la bascule DCE et à déclencher le multivibrateur monostable ou univibrateur D1MEND. La remise à zéro de la bascule DCE sup-35 prime le signal vrai à la sortie DCE et provoque la suppression par la porte ET 216 des signaux d'horloge en CLK, ce qui contraint le fonctionnement du module "décodage" I à s'interrompre en attendant l'appel suivant de ce module. L'univibrateur D1MEND -102- 2334148 forme alors un signal vrai à la sortie DU'END, ce qui provoque la remise à zéro des "bascules P1-P5 par la porte OU 234. La suite des opérations provoquées par la "bascule D1EKD lorsqu'elle est à l'état 1 sera décrite plus loin de façon plus détaillée. 5 L'action décrite ci-dessus de la logique de suspension d'horloge 222 est importante et on la gardera présente à l'esprit car une action similaire est autorisée par la logique de suspension d'horloge lorsque l'une quelconque des autres conditions logiques indiquées pour la logique de suspension d'horloge 222 10 devient vraie. On supposera que, pendant D1B3, le dernier mot d'un vecteur d'apparition hybride n'a pas été fourni et que la bascule D1EÏÏD est à l'état 0, ce qui provoque la présence d'un signal vrai à la sortie D1EKD. D1B4 est attaqué et, pendant ce pas, l'é-15 tat de la bascule D1SÏÏ est vérifié. On se rappelle que la bascule D1SW à l'état 1 indique que 11 opération de lecture du module "mémoire" doit être sautée, tandis que, si elle est à l'état 0, elle provique une lecture de ce module. En supposant que la bascule D1SW soit à l'état 0, D1B5 est attaqué et, pendant ce pas, 20 ladite lecture de mémoire a effectivement lieu. L'une des entrées du module "décodage" I est la sortie SM10 du module "raccourcissement". Comme décrit plus loin de façon plus détaillée, le module "raccourcissement" utilise le module "décodage" I lors du calcul du nombre de lignes à sauter 25 dans un iso-entropicogramme. Toutefois, le module "raccourcissement", lorsqu'il calcule le nombre de lignes à sauter, n'exige pas que la valeur de longueur contenue dans le compteur MLN1 soit décrémentée. En conséquence, le module "raccourcissement" forme normalement un signal vrai à la sortie SM10, mais il suppri-30 me ce signal vrai lorsqu'il calcule le nombre de lignes à sauter, en empêchant ainsi le compteur MLN1 d'être décrémenté. Toutefois, pour les besoins de la présente description, on supposera qu'un signal vrai soit formé en SM10. Des signaux vrais sont également formés en P2 et en D1SW. En conséquence, le 35 compteur MLN1 reçoit un signal vrai à son entrée Ct, ce qui provoque une décrémentation d'un état de KLN1, en reflétant le fait qu'un mot donné du vecteur d'apparition hybride doit être adressé dans le module "mémoire". La logique P2*D1SW*CLK étant vraie, -103- 2334148 provogue la formation d'un signal vrai à la sortie DM11 du module "décodage" I, en appliquant ainsi un signal au module "mémoire" pour lui faire sortir par lecture le contenu de la zone de mémoire appropriée spécifiée par la "matrice de commutateurs" à 5 l'emplacement de mémoire spécifié dans le compteur Î1AS1 avant l'incrémentation de celui-ci. Le signal de commande en P2 permet le stockage du mot de 8 bits sorti par lecture du module "mémoire", dans le registre INRi. Le signal vrai en P2 provoque le stockage du bit de plus 10 fort poids (huitième bit) du mot lu dans la mémoire, dans la bascule MSB1. Le signal vrai en P2 parvient également dans le circuit d'entrée S/L du registre à décalage 202, ce qui provoque le chargement des sept autres bits du mot, à partir du module "mémoire", dans le registre 202 lors de l'application du signal 15 d'horloge fourni par la logique P2*D1SW*CLK. En conséquence, à la fin du pas D1B5 de l'organigramme du module "décodage" I , un mot hybride a été lu dans le module "mémoire", à l'emplacement approprié, et a été stocké dans le registre IHR1, et le compteur MLF1 a été décrémenté d'une unité, de sorte que la longueur du £0 vecteur d'apparition contenue dans ce compteur indique les mots restant à lire dans le module "mémoire". On supposera maintenant que le mot stocké dans le registre IÏÏR1 soit un mot hybride absolu. Il est rappelé ici que le premier mot de chaque chaîne de vecteur d'apparition hybride £5 est toujours un-mot absolu. Lorsque le mot stocké dans INR1 est un mot absolu, le bit drapeau, qui est le bit de plus fort poids du mot hybride, est stocké dans la bascule MSB1 et contraint celle-ci à se trouver à l'état 1. La bascule MSB1 étant à l'état 1, des signaux vrais sont formés aux sorties MSB1 et P2. En con-30 séquence, la bascule P5 est mise à 1 et le pas DIB8 est attaqué. Un signal vrai est formé à la sortie P5 et l'impulsion suivante en CLK provoque l'application d'un signal vrai à l'entrée L du compteur D01, ce qui détermine le chargement des sept bits contenus dans le registre à décalage 202 du registre IÏTR1, 35 dans le compteur D01. Le signal vrai en P5, en coïncidence avec l'impulsion en CLK, permet à la logique de suspension d'horloge 222 de remettre à zéro la bascule DCE. en inhibant ainsi les signaux d'horloge à l'entrée de la porte 216, ce qui provoque -104- 2334148 une remise à zéro du compteur 213. Un "abandon" est effectué pour attendre l'appel suivant. L'appel suivant est déclenché, comme décrit précédemment, par un signal de commande appliqué à l'une des entrées de la porte OU 230. 5 Si, en présence du signal vrai en P2, le mot contenu dans le registre INR1 et qui a été lu dans la mémoire est un mot en chaîne de bits, la bascule MSB1 est à l'état 0, des signaux vrais sont formés aux sorties MSB1 et D1SW et la bascule P3 est mise à l'état 1, ce qui provoque l'attaque du pas D1B11 10 de l'organigramme du module "décodage" I. Au début du traitement de chaque mot en chaîne de bits d'un vecteur d'apparition hybride, le compteur BCTR1 est à l'état 0 dans lequel il a été mis en D1B2. En conséquence, lors de la première attaque du pas D1B11 de l'organigramme du module 15 "décodage" I, le compteur BCTR1 est à 0. Par suite un signal vrai est formé à la sortie Bo du compteur BCTR1. Le signal vrai en Bo, en combinaison avec le signal vrai en P3, provoque la mise à 1 de la bascule P4 et le pas D1B13 est attaqué. Pendant D1B13, le compteur BCTR1 est chargé avec un si-20 gnal représentant le nombre maximal de bits d'un mot hybride à traiter. A cet effet, des signaux vrais sont maintenant formés aux sorties P4 et Bo et l'impulsion suivante en CLK provoque une excitation de l'entrée L du compteur BCTR1 et la valeur 7, représentée par le réglage des commutateurs 236, est chargée dans le 25 compteur BCTR1, après quoi le pas D1B14 est attaqué. Pendant le pas D1B14 de l'organigramme du module "décodage" I, un signal vrai est formé à la sortie P4. En conséquence, le registre à décalage 202 est décalé à plusieurs reprises d'un bit vers la droite jusqu'à ce qu'un bit "1" indiquant une 30 apparition soit sorti par décalage du registre 202 pour être introduit dans la bascule S1FF. Chaque bit sorti par décalage à l'extrémité de plus faible poids du registre 202 est stocké dans la bascule de signe S1ïT. Au cours du pas D1B15 de l'organigramme, un signal vrai est formé à la sortie P4 et l'impulsion 35 en CLK provoque l'excitation de l'entrée Ct du compteur BCTR1 et une décrémentation d'un état de ce compteur. Les mêmes signaux provoquent l'excitation de l'entrée Ct du compteur D01 et une décrémentation d'un état de ce compteur. Pour chaque décalage d'un -105- 2334148 bit vers la droite du registre 202, le nombre de bits restant à traiter, contenu dans le registre IKR1 et identifié par l'état du compteur BC'IHI est décrémenté d'une unité et la valeur de mot absolu indiquée par le compteur DC1 est décrémentée d'une unité, 5 Ce processus se poursuit jusqu'à ce qu'un bit 1 soit sorti par décalage hors du registre à décalage 202 dans la bascule de signe S1FF, ce qui provoque l'apparition d'un signal vrai à la sortie S1FF. L'état du compteur D01 à ce moment correspond à un mot absolu représentant la valeur effective de l'apparition repré-10 sentée par le bit 1 transféré par décalage hors du registre 202 et dans la bascule S1FF et, en conséquence, l'état du compteur D01 doit être sorti vers le module appelant. A cet effet, des signaux sont formés aux sorties P4 et S1FF et le signal suivant en CLK provoque la remise à zéro de 15 la bascule DCE et l'amorçage de 1 'univibrateur D1MELÏD, ce qui provoque la signalisation, par un signal vrai à la sortie D1MEND, au module appelant, du fait qu'un mot absolu est achevé et est • contenu dans le compteur D01. Le signal D1MEED remet à zéro le compteur 213. La formation du signal en D1EEIID indique l'achève-20 ment d'un mot absolu, ce qui sera désigné ici sous le nom de "sortie du mot absolu". Plusieurs conditions spéciales importantes sont à noter ici. Si pendant D1B15 et alors que la bascule P4- est à l'état 1, le contenu du registre à décalage 202 n'est pas 0, cela signifie 25 qu'il reste encore un bit 1 (représentant une apparition) à convertir sous la forme absolue dans un mot en chaîne de bits. En conséquence, un signal vrai est formé par le registre 202 en 10, ce çui provoque la mise à 1 de la bascule D1SÏJ lors de l'impulsion suivante en CLK. L'état 1 de la bascule D1SW est utilisé -au cours 30 de l'attaque suivante du pas D1B4- de l'organigramme pour "shunter" la lecture d'un autre mot dans le module "mémoire". La raison de cette opération réside en ce que, si la bascule D1SÏ7 est à l'état 1, un nouveau mot hybride n'est pas lu dans le module '.'mémoire" après D1B14-, du fait qu'il reste encore, 35 dans le registre à décalage 202, au moins une portion d'un mot en chaîne de bits à convertir sous la forme absolue. En ce qui concerne le pas D1B17 de l'organigramme, chaque fois que le mot en chaîne de bits contenu dans le registre "106~ 2334148 202 du registre ISN1 devient nul, en raison du fait que les bits 1 (apparition) du mot en chaîne de bits ont été sortis par lecture de ce registre, un signal de commande est formé à la sortie 10 du registre à décalage 202. Lorsque cela se produit, un autre 5 mot hybride doit être lu dans le module "mémoire" au cours du pas D1B5. Un signal vrai est formé aux sorties P4 et 10, ce qui provoque la remise à 1 de la bascule D1SW lors de l'impulsion suivante en CLK. L'état 0 de la bascule D1SW, lors de l'attaque suivante du pas D1B4-, a pour effet que le pas D1B5 de l'organi-10 gramme est ensuite attaqué, pas au cours duquel un nouveau mot hybride est lu dans le module "mémoire" et transféré dans le module "décodage" I en vue de sa conversion. Lorsque le dernier mot d'un vecteur d'apparition hybride a été lu dans le module "mémoire", la valeur de la longueur de vecteur d'apparition 15 contenue dans le compteur MLN1 a été décrémentée jusqu'à 0 et un signal de commande est formé à la sortie Mo du compteur MLN1. Un signal vrai en Mo et un signal vrai à chacune des sorties P5, P4- et 10, provoquent la mise à l'état 1 de la bascule D1END lors de l'impulsion suivante en CLK, ce qui indique que le dernier 20 mot absolu a été sorti dans le module appelant, La bascule D1EHD étant à l'état 1, l'appel suivant de l'organigramme du module "décodage" I provoque la mise à 1 de la bascule E0F1 en réponse aux signaux vrais aux sorties P2 et D1EHD lors de l'apparition de l'impulsion en ÔïiK. d*? Une autre situation spéciale en ce qui concerne le mo dule "décodage" I est à noter. Si, alors que la bascule P3 est à l'état 1, le compteur BCTR1 n'est pas à l'état 0, alors les pas D1B12 et D1B11 de l'organigramme sont utilisés pour s'assurer que l'alignement convenable est bien réalisé d'un mot en chaîne 30 de bits à l'autre. Ceci est nécessaire lorsque le dernier bit 1 d'un mot en chaîne de bits a été converti sous la forme "mot absolu" et sorti et que des bits 0 en-tête subsistent dans le mot en chaîne de bits en cours de conversion dans le registre à décalage 202. Il y a lieu de tenir compte de ces bits 0 en-tête 35 lors de la formation du mot absolu suivant en vue de sa sortie. On va maintenant se référer aux pas D1B11 et D1B12 de l'organigramme et à l'action correspondante: un signal vrai à la sortie P3* en coïncidence avec un signal vrai à la sortie Bo , -1C7- 2334148 provoque une décrémentation d'un état du compteur BCTR1 ainsi que du compteur DOI en réponse à chaque impulsion en CLK. Par suite, le mot absolu en cours de formation dans D01 est ajusté par diminution à raison du nombre de "0" en-tête encore présents 5 dans le registre à décalage 202, nombre qui est indiqué par l'état de BCTR1. Enfin, lorsque le compteur BCTR1 a atteint son état 0, un signal de commande est formé à la sortie Bo et le signal vrai de la sortie BÔ est supprimé, ce qui interrompt le fonctionnement sur le mode comptage des compteurs BC'XRI et D01, 10 et ce qui provoque l'attaque du pas D1B1J de l'organigramme comme décrit précédemment. D. Exemple de fonctionnement On va maintenant examiner un exemple du fonctionnement du module "décodage" I. On supposera que quatre mots formant un .15 vecteur d'apparition hybride sont contenus dans la zone de mémoire 1 du module "mémoire" et doivent être convertis de la forme hybride à la forme "mot absolu". EXEMPLE On supposera que la zone de mémoire 1 du module "mémoire" 20 présente le contenu suivant : 11-111101 (125) 0 0 1 0 0 0 1 0 (123, 119) 00001010 (116, 114) 11100100 (100) 25 La longueur matérielle en mots est 4. Par conséquent, c'est le programme appelant qui a la responsabilité de charger MLN1 4 et de mettre à 1 la bascule d'initialisation D1P3T. Premier_ appel MHTl = 4 30 D1FST = 1 séquence de commande »*« D1B1 - D1B9 D1B1 D1FST = 1 A commande en D1B2 D1B2 D1PST = D1EKD = E0F1 = D1SW = 0 rétablir ces bascules; MÂR1. = 0, BCTR1 = 0 initialiser ces registres 35 D1B3 D1BED = 0 .*» commande en D1B4 D1B4 D1SV/ =0 commande en D1B5 -108- 2334148 D1B5 transférer mémoire dans IRFl effectuer le transfert D1B6 D1B7 D1B9 IHR1 = 11111101 (125) MAR1 (1) = HAR1 (0) + 1 MLN1 (5) = MLN1(4) - 1 MLN1 (3) V 0 /.commande en D1B7 MSB(IBR1) = 1 /.commande en D1B8 Dol (125) = IKR1 (125) D1SW = 0 BCTR1 = 0 résultat; adresse de mémoire = position suivante; décrémenter le nombre de mots; forme AOI l'information d'entrée devient information de sortie ; assurer une lecture sur l'appel suivant et mettre BCTR1 à zéro; ÏTÏT Information de sortie Second appel DOL = 125 EOPI = 0 Conditions initiales : D1PST = 0 MLN1 ne reçoit pas de signaux d'horloge Séquence de commande D1B1, D1B3-D1B7, D1B11, D1B13-D1B16, D1B14 - D1B17 D1B1 DIFST = 0 commande en D1B3 D1B3 D1END = 0 »'* commande en D1B4 D1B4- D1SW = 0 /, commande en D1B5 D1B5 lire mémoire • effectuer le transfert dans INR1 ; IHR1 = 00100010 MAR1(2) = MAR1(1) + 1 incrémenter pointeur d'adresse; 1ÎLÎT1(2) = MUT1(3) - 1 décrémenter registre de longueur; D1B6 MLF1 ï 0 commande en D1B7 D1B7 MSB(IER1) = 0 commande en D1B11 D1B11 BCTR1 = 0 •*. commande en D1B13 D1B13 BCTR1 =7 ce compteur contrôle l'importance de la fraction du registre d'information d'entrée restant à traiter ; D1B14 IHR1 00010001 -S1EF = 0 D1B15 BCTR1(6) = BCTR(7) - 1 réduire le nombre de bits à trai-Dol(124) = Dol(125) - 1 ter et réduire l'information de -109- 2334148 D1B16 D1B14 D1SW = 1 sortie précédente - actionner D1SV. pour indiquer qu'aucune lecture n'est nécessaire lors de l'appel suivant; = 0 commande en D1B14 S1FF IKR1 S1FF D1B15 D1B16 D1B17 BCTR1(5) = BCTR1(6) Dol(123) = Dol(124) 000010000 décaler UJE1; 1 S1FF = 1 en raison de la sortie par décalage à partir de IÎTR1 1 décrémenter bits restants; 1 décrémenter l'information de sortie précédente; S1FF = 1 =*« commande en D1B17 IHR1 / 0 JLRRET Information de sortie Dol =123 E0F1 = 0 FIN Troisième_appel simple maintien de l'état actuel de D1G0 séquence de commande D1B1, 0123-0134, D1B14-D1B16, D1B14-D1B16, D1B14-D1B16, D1B14-D1B18 D1B1 ) ' ) comme précédemment D1B3 ) D134 D1SW = 1 commande en D1B14 D1B14 INR.1 = 00000100 décaler vers la droite INR1 ; S1FF = 0 S1FF = 0 en raison de "l'extraction par décalage" à partir de INR1 = 0 D1B15 BCTR1(4) = BCTR1(5) - 1 Dol(122) = Dol(123) - 1 D1SW = 1 D1B16 S1FF = 0 commande en D1B14 D1B14 INR1 = 00000010 S1FF = 0 D1B15 BCTR1(3) = BCTR1(4) - 1 Dol(121) = Dol(122) - 1 D1B16 S1FF = 0 commande en D1B14 D1B14 I1R1 = 00000001 S1FF = 0 D1B15 BCTR1(2) = B0TR1(3) - 1 Dol(120) = Dol(121) - 1 D1B16 S1FF = 0 commande en D1B14 -110- 2334148 D1B14 IKR1 = 00000000 S1FF = 1 i D1B15 BCTR1(1) = BCTR1(2) - 1 Dol(119) = Dol(120) - 1 D1316 S1FF = 1 commande en D1B17 D1B17 IKR1 = 0 ■>". commande en D1B18 D1B18 D1SW = 0 assurer une lecture sur 1•appe1 suivant; FIN Information de sortie Dol = 119 E0F1 = 0 Quatrigfle_appel Mise à 1 de D1G0 séquence de commande D1B1, D1B3-D1B7, D1B11-D1B12, D1B11, D1B13-D1B16, D1B14-D1B17 D1B1 ) ) comme précédemment D1B3 ) D1B4 D1SW = 0 commande en D1B5 D1B5 lire mémoire transférer dans IKR1 ; U3R1 = 00001010 MAR1(3)-«- MÂR1(2) + 1 éjecter adresse mémoire; MLÏf1(1) «-MLN1(2) - 1 décrémenter la longueur D1B6 MLN1 / 0 commande en D1B7 D1B7 MSB(INR1) = 0 .*» commande en D1B11 D1B11 BCTR1(1) £ 0 commande en D1B12 D1B12 BCTR1(0) = BCTR1(1) - 1 la valeur contenue dans BCTR1 Dol(118) = Dol(119) - 1 est une mesure des bits non décalés provenant de la lecture précédente et Do1 doit être décrémenté dans cette même mesure ; D1B11 BCTR1 (0) = 0 commande en D1B13 D1B13 BCTR1 = 7 bits à traiter dans ce mot; D1B14 INE1 = 00000101 S1PF = 0 D1B15 BCTR(6) = BCTR(7) - 1 Do1 (117) = Do1 (118) - 1 D1SY« = 1 aucune lecture n'est nécessaire la fois suivante ; D1B16 S1FF = 0 *4 commande en D1B14- -111- 2334148 D1B14 IKR1 = 00000010 S1FF = 1 D1B15 BCTR1(5) = BCTR1(6) - 1 Do1 (116) = Do1 (117) - 1 D1B16 S1FF = 1 commande en D1B17 D1B17 IHR1 ï 0 FIN Information de sortie Do1 = 116 EGF1 = 0 Cinquième_a-ppel Actionnenent de D1G0 séquence de commande D1B1, D1B3-D1B4, D1B14-D1B16, D1B14-D1B18 D1B1 ) ) comme précédemment D1B3 ) D1B4 D1SW = 1 «*• commande en D1B14 D1B14 IER1 = 00000001 décaler IÏÏR1 vers la droite; S1FF = 0 D1B15 BCTR1(4) = BCTR1(5) - 1 Do1 (115) = Do1 (116) - 1 D1SW = 1 D1B16 S1FF = 0 »*» commande en D1B14 D1B14 IKR1 = 00000000 S1FF = 1 D1B15 BCTR1(3) = BCTR1(4) - 1 Do1 (114) = Do1(115) - 1 D1B16 S1FF = 1 commande en D1B17 D1B17 INR1 = 0 commande en D1B18 D1B18 D1SW = 0 lecture la fois suivante; FIN Information de sortie Do1 = 114 E0F1 = 0 Sixi ème=app Acti onner D1 GO séquence de commande D1B1, D1B3-D1B6, D1B10, D1B7-D1B9 D1B1 ) ) comme précédemment D1B3 ) D1B4 D1SW = 0 A commande en D1B15 -112- 2334148 mémoire lue INR1 =11100100 MAR1(4) = MAH1(3) +1 MLN1(0) = MLN1(0) - 1 MLI71 = 0 commande en D1B10 D1END = 1 assure un E0F1 lors de l'appel suivant; MSB(INR1) = 1 »*. commande en D1B8 remettre à zéro le bit de signe ; BCTR1 = 0 D1SÏÏ = 0 Do1 = 100 (01100100) 15 Information de sortie Do1 =100 E0F1 = 0 Septième,appel Actionner D1G0 séquence de commande D1B1, D1B3, D1B19 D1B1 comme précédemment 20 D1B3 D1EED = 1 »*» commande en D1B19 D1B19 E0F1 = 1 Do1 = 0 FIN Information de sortie Do1 = 0 E0F1 = 1 A remarquer que l'information recouvrée a été 125, 123, 119, 116, 114, 100 - c'est-à-dire une information identique à celle qui avait été codée précédemment. 30 En résumé, on peut voir que ce qui a été décrit est un décodeur permettant de convertir des signaux codés hybrides en signaux de mot codés absolus. Les signaux hybrides représentent une série de valeurs d'apparition de grandeur décroissante. Les signaux hybrides comportent une série de signaux de mots 35 codés binaires reçus comprenant au moins un mot codé absolu et un mot en chaîne de bits. Le mot en chaîne de bits représente une apparition par le nombre de bits de décalage d'un bit de valeur prédéterminée (par exemple 1) à partir d'un mot absolu D1B15 5 D1B16 D1B10 D1B7 10 D19 FIN -113- 2334148 dans la série de mots hybrides. Un mot hybride comprend également un signal drapeau qui indique le type de mot. Le décodeur comprend des moyens de sortie de mot absolu comportant un multivibrateur monostable B1H3NB et sa logique, ainsi que la bascule 5 IISB1 et un compteur de commande 213, qui interviennent pendant le pas D1B9 de l'organigramme en réponse à un signal drapeau "mot absolu" d'un signal de mot hybride reçu pour sortir le signal de mot reçu. En d'autres termes, les moyens assurant la sortie sont capables, en réponse au signal drapeau "mot absolu", 10 de sortir directement le mot hybride correspondant, étant donné que celui-ci est déjà sous la forme "mot absolu". Le décodeur comprend encore des moyens de formation de signal de mot absolu et des moyens assurant la sortie. Ces moyens comprennent le registre INR1 et sa logique de commande de 15 décalage, la bascule S1FF, les compteurs D01 et BGTR1 avec leur logique de commande de chargement et de comptage et le compteur de commande 213 qui interviennent pendant D1B14-, 16, 7-9 j en réponse à un signal de mot absolu et à chaque bit de valeur prédéterminé d'un mot en chaîne de bits ultérieurement reçu, pour 20 former un signal de mot absolu indicateur de la valeur effective dudit bit de valeur prédéterminé. Sont également inclus des moyens tels que le multivibrateur monostable D1MEKB et sa logique de commande, qui interviennent au cours de D1B16 pour sortir chacun des signaux de mot absolu formés par eux. Le signal ^5 vrai en B1MEED sort le signal de mot absolu représenté par l'état du compteur D01. Dans un mode de réalisation préféré, les moyens prévus pour former et sortir le signal de mot absolu comprennent le registre à décalage 202 du registre IKR1 pour assurer le stockage 30 d'un signal de mot en chaine de bits reçu. Sont également inclus des moyens comprenant le registre INR1 et sa logique de commande de décalage et le compteur de commande 213, qui interviennent au cours de D1B14- pour permettre de façon répétée le décalage du contenu du registre à décalage 102, à raison d'une position bi-35 naire vers le bit de plus faible poids du mot en chaîne de bits. Sont en outre inclus des moyens comprenant la bascule 31FF et le compteur de commande 213, qui interviennent au cours de D1B16 pour fournir une indication lorsqu'un bit de valeur prédéterminée -114- 2334148 arrive à la sortie du registre à décalage 202. Sont également inclus le compteur D01 et les moyens comprenant" la logique de commande de chargement de ce compteur, ainsi que le compteur de commande 213, qui interviennent au cours de D1B7-9 en réponse à 5 un signal drapeau "mot absolu" d'un mot hybride pour régler le compteur DC1 à un état, par rapport à son état de référence (0), qui correspond à la valeur du signal de mot absolu. Des moyens comprenant la logique de commande de comptage de D01 et le compteur de commande 213 interviennent au cours de D1B15 pour per-1C mettre au compteur de compter un état vers son état de référence pour chaque décalage du registre à décalage 202. Des moyens comprenant le multivibrateur monostable D1MEÏÏD et sa logique de commande ainsi le compteur de commande 213 interviennent au cours de D1B16 en réponse au bit de valeur prédéterminée contenu 15 dans la bascule SIIT pour sortir l'état du compteur en formant un signal vrai en D1MEND. Dans un autre mode de réalisation préféré, il est prévu des moyens pour ajuster le compteur D01 pour tenir compte des bits qui ne sont pas de la valeur prédéterminée (c'est-à-dire 20 qui ont par exemple la valeur 0) restant dans le registre à décalage 202 après le décodage du dernier bit de la valeur prédéterminée d'un mot hybride. Des moyens compteurs supplémentaires tels que BCTR1 sont prévus. Des moyens comprenant les commutateurs 236 indiquent le nombre maximal de bits d'un mot absolu 25 à sortir. Des moyens comprenant la logique de commande de chargement de BCTR1 et le compteur de commande 213 interviennent au cours de D1B11-13 pour régler sélectivement les moyens compteurs supplémentaires BCTR1 à un état relatif par rapport à un état de référence (par exemple 0), état relatif qui correspond à l'indi-30 cation du nombre maximal de bits d'un signal de mot absolu. Des moyens comprenant la logique de commande de comptage de BCTR1 et le compteur de commande 213 interviennent au cours de D1B15 pour permettre aux moyens compteurs supplémentaires BCTR1 de compter un état, à partir de leur état de réglage actuel, vers 35 l'état de référence 0 pour chaque décalage du registre à décalage 202. La sortie Bo du compteur BCTR1 indique l'apparition de l'état de référence de BCTR1. Des moyens comprenant la logique de commande de comptage de BCTR1 et le compteur de commande 213 -115- 2334148 interviennent pendant D1312 en réponse au signal drapeau d'un signal de mot en chaîne de bits stocké dans MSB1 et à l'indication en Bo de l'absence d'un état de référence de BCTR1, pour permettre à nouveau le fonctionnement sur le mode comptage du 5 compteur D01 et de BCTR1, à raison d'un compte pour chaque décalage du registre à décalage. Avec cette disposition, les bits 0 d'ordre élevé qui ne sont pas de la valeur prédéterminée et qui subsistent dans le registre à décalage 202 après la sortie par décalage hors de celui-ci de tous les bits de la valeur prédé-10 terminée, se réflètent dans le signal de mot absolu en cours de formation dans le registre à décalage 202. IV. MODULE "DECODAGE" II Les Fig. 12 à 14 forment un schéma de câblage en partie symbolique du module "décodage" II. Le module "décodage" II est 15 essentiellement construit de la même manière que le module "décodage" I,à l'exception des différences décrites ci-après. Les deux modules de décodage, à savoir le module "décodage" I et le module "décodage" II sont nécessaires dans le système pour décoder les apparitions d'un vecteur d'apparition en convertissant 20 les mots hybrides en mots codés absolus et pour fournir les mots codés absolus résultants en deux "flots" à des dibts binaires différents. Le module "décodage" I et le module "décodage" II engendrent leurs flots respectifs de mots codés absolus à raison d'un mot (ou apparition) à la fois lorsqu'ils sont appelés. ^5 Le module "décodage" II est pratiquement identique au module "décodage" I comme mentionné précédemment. Compte tenu de cette identité pratique des deux structures, les mêmes symboles sont utilisés pour désigner les diverses parties du module "décodage" II et du module "décodage" I respectivement. 50 Toutefois, dans certains cas, un "1" d'un symbole du module "décodage" I est transformé en un "2" dans le module "décodage" II pour faciliter une simplification de la description ou une distinction entre des lignes reliant entre eux les deux modules. Les composants dont les identités et les symboles ont été modi-35 fiés dans le module "décodage" II par remplacement d'un "1" par un "2" sont identifiés ci-aurès. -116- 2334148 DECODAGE I DECODAGE II BCTR1 BCTR2 D01 D02 IÏJR1 INR2 5 MAR1 MAB2 MLN1 MLN2 D1FST D2FST E0F1 E0F2 D1GO D2G0 10 D1MEND D2MEND Un sélecteur de données DDS1 analogue à celui qui a été décrit ci-dessus remplace les portes 218-226 du module "décodage" I pour la transmission conditionnelle de la longueur du vectetœ d'apparition au compteur MLN2. Toutefois, un circuit de transmis-15 sion conditionnelle analogue au module "décodage" I pourrait être utilisé. La longueur de vecteur d'apparition est transmise, à partir de la source d'information indiquée le long du côté , supérieur de DDS1, au compteur MLÏST2 en réponse à des signaux vrais appliqués sur les lignes de commande indiquée le long des côtés 20 de DDS1. En outre, les conditions de transmission indiquées pour l'entrée de chargement ou entrée L de MLN2 diffèrent de celles du module "décodage1* I et doivent être notées. Les lignes de commande d'entrée connectées aux portes 224', 228', 230* et 234' et à la logique de suspension d'horloge 25 222' diffèrent sous des aspects mineurs de celles des portes 224, 228, 230 et 234 et de la logique de suspension 222 du module "décodage" I et les signes "prime" sont ajoutés à ces symboles pour indiquer cette différence. V. MODULE DELTA. 30 A. Description générale Le module delta décompose le nombre de lignes à permuter (dans un iso-entropicogramme) fourni par un module appelant en incréments plus petits. Le mode de réalisation qui va maintenant être décrit décompose le nombre de lignes à permuter en ses 35 composantes puissances de 2 les plus grandes possibles par ordre de valeurs décroissant, qui correspondent réciproquement au nombre de lignes à permuter. Cette caractéristique est décrite dans le présent chapitre en se référant à la table 4-C et elle est -117- 2334148 importante car elle permet de tirer les unes des autres les lignes de 1'iso-entropicogramme avec un minimum d'opérations XOR. En outre, si l'on effectue une permutation d'une ligne à une autre dans un iso-entropicogramme, dans le cas où la seconde 5 ligne est éloignée de la première d'un nombre de lignes égal à une puissance de 2 composante , la permutation jusqu'à la seconde ligne s'effectue par tua unique décalage et une unique opération XOR. Le module "delta", en fonctionnement, reçoit tin nombre 10 codé binaire suivant le code numérique 1, 2, 4-, 8 (à partir du module appelant) représentant le nombre total de lignes à permuter et décompose ce nombre en ses puissances de 2 composantes les plus grandes possibles. La plus grande puissance de 2 composante est formée la première et est suivie des autres puissances 15 de 2 les plus grandes possibles par ordre de grandeur décroissant. Bien que l'invention ne soit pas limitée à cette particularité, le module "delta" qui va maintenant être décrit opère sur des mots de huit bits. Le module "delta" convertit un nombre en le stockant 20 dans un premier registre, puis en décalant ce nombre vers la position binaire de plus fort poids, de façon répétée, à raison d'une position binaire à la fois. Un second registre, comportant le même nombre de bits que le premier, présente un bit "1" qui est décalé vers la position binaire de plus faible poids d'une 25 position binaire chaque fois que le premier registre est lui-même décalé. Etant donné que les deux registres sont décalés en sens inverses dans la même mesure, chaque fois qu'un bit "1" arrive à la sortie du premier de ces registres, le bit "1" contenu dans le second registre indique directement la puissance 50 de 2 correspondante du bit "1" décalé hors du premier registre. La table 14- est un exemple de module "delta" qui met en évidence la manière dont l'opération mentionnée ci-dessus se déroule. Le nombre codé binaire à convertir représente le nombre décimal 1$ et est stocké dans le premier registre sous la forme 35 codée binaire tandis que le second registre est initialement réglé à zéro. Huit décalages sont représentés, un pour chaque bit du nombre à convertir. Lors du premier décalage, le premier registre est décalé d'un bit vers le bit de plus fort poids, -118- 2334148 tandis que dans le second registre un bit "1" est stocké à l'extrémité de plus fort poids où il représente le nombre codé binaire 128. A chaque décalage suivant du premier registre vers le bit de plus fort poids, le second registre est décalé vers le 5 bit de plus faible poids. Après le décalage 5> un bit 1 est décalé pour la première fois hors du premier registre. Ceci indique que le contenu du second registre, qui représente maintenant 8, peut être lu car il contient maintenant la plus grande puissance de 2 composante possible contenue dans 13. En outre, des 10 bits 1 sont sortis par décalage après les décalages 6 et 8 et aux instants correspondants, le second registre représente respectivement les nombres 4 et 1. En additionnant 8, 4 et 1 on obtient 13, c'est-à-dire le nombre codé binaire initialement stocké dans le premier registre. 15 B. Composants Le module "delta", Fig. 15, contient des lignes de commande d'entrée et de sortie indiquées le long de son côté droit. Le système de notation décrit ci-dessus dans le chapitre I.F, "Conventions utilisées sur les figures" est adopté. En outre il 20 est prévu des lignes d'entrée et de sortie d'information. Ces lignes d'entrée et de sortie transmettent des bits d'information multiples et sont indiqués par des traits renforcés. Deux registres DELI et DELO sont prévus. Le registre DELI comprend un registre à décalage 302 à huit bascules et le 25 registre DELO, un registre à décalage 304- à huit bascules. Chacun des registres DELI et DELO comprend une bascule de bit de plus fort poids, le registre DELI contenant la bascule de bit de plus fort poids MSBDELI, et le registre DELO une bascule de bit de plus fort poids MSBDELO. MSBDELI a son entrée d'ac-30 tionnement (mise à l'état 1) connectée à la sortie SOUT du re-" gistre à décalage 302. La sortie SOUT du registre 302 est la sortie non surlignée de la bascule de plus fort poids du registre 302. La bascule MSBDELO du registre DELO a sa sortie MSBDELO (non surlignée) connectée à l'entrée "IN" du registre 304- qui 35 est l'entrée de mise à 1 de la bascule de plus fort poids de ce registre. La logique (non représentée) du registre 302 applique des signaux vrais en DIo et DIo, respectivement, lorsque le registre est à 0 et n'est pas à 0. Les caractéristiques des re -119- 2334148 gistres à décalage 302 et 304- sont les mêmes que celles du registre à décalage 114 du module "codage". Le registre 304 comporte en outre une entrée CLR capable, en réponse à la réception d'un signal vrai, de remettre à zéro ce registre. Les 5 registres à décalage 302 et 304 sont du type SN74198 décrit page 456 de l'ouvrage "TTL" ci-dessus cité. Un compteur de commande 313 comporte deux "bascules P1 et P2. En outre, des bascules de commande DELFST, DELEND et DELCE sont prévues. La bascule DELFST, lorsqu'elle est à 10 l'état 1, indique que le premier appel du module "delta" est en cours. La bascule DELEND dans son état 1 indique que le mot stocké dans DELI a été complètement converti en ses puissances de 2 composantes. En conséquence, l'état 1 de DELEND constitue une indication du fait que le module "delta" a achevé son fonc-15 tionnement. La bascule DELCE contrôle la formation d'impulsions d'horloge en CLE, Chacune des bascules du module "delta" est du type SN7474 décrit dans le chapitre I.F "Conventions utilisées sur les figures". Des multivibrateurs monostables DELGO et DELMEND sont 20 contenus dans le module "delta". Le multivibrateur monostable DELGO est mis à l'état 1 à la suite de chaque appel du module "delta". Le multivibrateur monostable DELMEND indique chaque interruption du fonctionnement du module "delta" par un signal vrai apparaissant à la sortie DEI&END et rétablit le module. 25 Les univibrateurs DELGO et DELMEND ont les mêmes caractéristiques que 1'univibrateur du module "codage". Une source de signaux d'horloge constituée par une horloge 312 forme une série d'impulsions "vraies" à récurrence régulière comme représenté. 30 Le module "delta" comprend en outre des portes OU 314, 315, 316, 317î 318 et 320 et une porte ET 322. Ces portes sont des circuits "conditionneurs" ou de transmission conditionnelle bien connus en infoimatique. Le signal de sortie de la porte ET 322 est désigné par CLE. L'inverseur 324 est un circuit d'inver-35 sion logique classique qui forme l'inverse logique du signal présent en CLK et ce signal inversé est désigné par CLK, Le circuit de sélection DELS est&n circuit de sélection classique du type déjà décrit dans le chapitre I.B. ci-dessus. -120- 2334148 Le circuit sélecteur DELS applique huit hits d'information, provenant de l'une quelconque des trois entrées à huit bits indiquées, à une unique sortie à huit bits qui constitue en même temps l'entrée d'information dans le registre 302. 5 C. Description détaillée Le but du module "delta" est de recevoir un nombre représentant le nombre de lignes à permuter et de convertir ce nombre en ses plus grandes puissances de 2 composantes possibles par ordre de valeurs décroissantes. 10 Le module "delta" est appelé, soit par le module "per mutation", soit par l'e module "sortie". Le module "delta" est appelé par l'un de ces modules, tout d'abord par une mise à l'état 1 de la bascule DELFST. La porte OU 316 met à 1 la bascule DELFST et comporte des entrées BM1 et 0M2, respectivement 15 alimentées par les modules "permutation" et "sortie". Un signal de commande, soit à la sortie HM1 du module "permutation", soit à la sortie GÏS2 du module "sortie", permet à la porte OU 316 de déclencher une mise à l'état 1 de la bascule DELFST. En réponse aux signaux en BM1 ou QM2, les modules "permutation" et 20 "sortie", respectivement, engendrent des signaux aux sorties RM3 et 0M3- Un signal de commande à l'une des sorties RM3, 0M3, excite la porte OU 320, ce qui provoque l'application d'un signal vrai à 1'univibrateur DELGO, qui applique alors à son tour un signal vrai à l'entrée de la bascule DELCE. Ceci provoque la 25 mise à i de cette bascule et la remise à zéro des bascules PI et P2. L'état 1 de la bascule DELCE provoque l'apparition d'un signal vrai à la sortie DELCE, signal qui à son tour, autorise la porte ET 322 à transmettre les signaux de rythme de 1'horloge 30 312 à la sortie CLK. Les signaux vrais résultants aux sorties PT et des bascules PI et P2 provoquent la mise à 1 de la bascule FI lors de l'impulsion suivante en CLK. En conséquence, le pas D1B1 de l'organigramme du module "delta" est"attaqué. La source du nombre à convertir est déterminée par les 35 signaux de commande des sorties 0K2, CM4- et SM7 des modules "sortie", "modification" et "raccourcissement", respectivement. Un signal vrai en GM2, CM4- ou SM7, respectivement, provoque la transmission conditionnelle par le circuit de sélection DELS -121- 2334148 des bits d'information provenant respectivement de DS6 du module de sortie, de CLINE du module "modification" ou de T1 du module "raccourcissement", à l'entrée d'information du registre à décalage 302. Le signal en P2 est maintenant faux, de sorte que le 5 registre 302 est sur son mode de fonctionnement "chargement" et que le signal vrai en SM8 (module "raccourcissement"), 0M4 (module "sortie") ou CM5 (module "modification") permet à la porte OU 314 de provoquer le stockage dans le registre 302 du signal d'information de huit bits provenant de DELS. 10 Pendant que la bascule PI est à l'état 1, des signaux de commande sont formés aux sorties PI et DELFST des bascules PI et DELFST, ce qui provoque la mise à 1 de la bascule MSBDELO. Comme décrit plus loin de façon détaillée, l'état 1 de la bascule MSBDELO est utilisé pour permettre le décalage d'un bit 1 15 à la position binaire de plus fort poids du registre à décalage 304 au cours des décalages suivants du registre 302. Les signaux vrais en P1 et DELFST ont en outre pour effet que la porte OU 318 remet à zéro la bascule DELFST et remet à zéro la bascule DSLEND. 20 Le registre 302 ne contient plus uniquement des zéros, un nombre à convertir y ayant été stocké et, par conséquent, un signal vrai est formé à la sortie DIo pour indiquer que le registre n'est pas à 0. Ce signal, en coïncidence avec le signal vrai en PI provoque la mise à 1 de la bascule P2 et le pas DB3 25 est attaqué. La conversion s'effectue par décalage du registre 302 contenant le nombre à convertir vers le bit de plus fort poids et par décalage du registre 304 vers le bit de plus faible poids. Le premier décalage décale un bit 1 à la position binaire 30 de plus fort poids du registre 304 à partirde la bascule MSBDELO. Au cours du pas DEB3 de l'organigramme, chaque fois que le registre 302 ne contient pas uniquement des zéros, un signal de commande est formé à la sortie DIo en coïncidence avec les signaux vrais en P2 et MSBDELI. La coïncidence de ces 35 signaux vrais provoque le décalage du registre 302 d'un bit vers la position binaire de plus fort poids, ce qui provoque le stockage du bit de plus fort poids, jusqu'alors contenu dans le registre 302, dans la bascule MSBDELI et un décalage du re -122- 2334148 gistre 304- d'une position binaire vers la position binaire de plus faible poids. Au cours du premier décalage, la bascule MSBDELO est à l'état 1, ce qui provoque le stockage d'un bit 1 dans la position binaire ou bascule de plus fort poids du re-5 gistre 304-, On remarquera que l'organigramme du module "delta" porte les mentions "décaler DELO vers la droite" et "décaler DELO vers la gauche". La mention "Décaler DELO vers la droite" indique un décalage à droite vers la position binaire de plus faible poids du registre 304, tandis que la mention "décaler 10 DELI vers la gauche" indique un décalage à gauche vers la position binaire de plus fort poids du registre 302. Après DB4 est attaqué le pas DB5 de l'organigramme, au cours duquel la bascule MSBDELI est vérifiée. Si la bascule MSBDELI n'est pas à l'état 1, c'est-à-dire si un bit 1 a été 15 décalé dans cette.bascule à partir du registre 302, le pas DB4 de l'organigramme est à nouveau exécuté, c'est-à-dire que le décalage ci-dessus est répété de la manière décrite précédemment. Le processus de décalage se poursuit jusqu'à ce qu'un bit 1 soit stocké dans la bascule MSBDELI. Lorsque cel% se pro-20 duit, le pas -DB6 de l'organigramme est attaqué. L'état 1 de la bascule MSBDELI provoque l'apparition d'un signal vrai à la sortie MSBDELI. Les signaux vrais en P2, MSBDELI et CLK déclenchent la mise à l'état 1 de 1'univibrateur DELMEND, ce qui provoque l'apparition d'un signal vrai à la sor-25 tie DELMEND du module "delta" et, en outre, la remise à zéro de la bascule DELCE, en empêchant ainsi la porte ET 322 d'appliquer des impulsions d'horloge supplémentaires en CLK et en provoquant une interruption du décalage et le passage de l'exécution de l'organigramme du module delta sur FIN. Le signal vrai à la 30 sortie DELMEND indique au module appelant qu'il a terminé son traitement et que le mot contenu dans le registre 304 de DELO peut être lu, car il contient maintenant l'une des puissances de 2 composantes du nombre d'entrée initialement stocké dans le registre 302. Le signal vrai à la sortie DELMEND autorise la por-35 "te OU 315 à remettre à zéro le compteur de commande 313 (c'est-à-dire qu'on a PI, P2 =0). Les signaux vrais en P2, MSBDELI et CLK remettent à 0 la bascule MSBDELI. -123- 2334148 Le module "delta" est à nouveau appelé, soit par le module "permutation", soit par le module "sortie", par application de signaux de commande, respectivement, aux sorties EM3 ou 0M3. L'un quelconque de ces signaux provoque un nouvel "actionne-5 ment" ou un nouveau "déclenchement" de l'univibrateur DELGO qui, à son tour, met la bascule DELCE à lfétat 1 en permettant à la porte 322 de former des impulsions à la sortie CLK. Les bascules P1 et P2 sont toutes deux à l'état 0 et, en conséquence, seule la bascule PI est mise à l'état 1 lors de l'impulsion suivante 10 en CLK. Après le premier appel (signal en EM3 ou 0M3)j la bascule DELFST est à l'état G et, en conséquence, le pas DB3 de l'organigramme est attaqué et il est suivi des pas DB4-6 comme décrit précédemment. Au cours de chaque attaque de DB4 et de DB5, les registres à décalage de DELI et DELO sont décalés jus-15 qu'à ce qu'un autre bit 1 soit stocké dans MSBDELI et provoque l'apparition d'un autre signal vrai à la sortie DELMEND, ce qui indique au module appelant qu'une nouvelle puissance de 2 composante se trouve maintenant dans le registre 304 prête à être sortie. 20 Enfin, lorsque le dernier bit 1 du nombre d'entrée contenu dans le registre 302 est décalé dans la bascule MSBDELI, le contenu du registre 302 est 0, ce qui provoque l'apparition d'un signal vrai à la sortie DIo. Si cela se produit alors que la bascule PI est à l'état 1, l'impulsion suivante en CLK met la 25 bascule DELEND à l'état 1. Si cela se produit alors que la bascule P2 est à l'état 1, la bascule DELEND est mise à l'état 1, qu'une impulsion d'horloge soit appliquée ou non. L'état 1 de la bascule DELEND et le signal de commande résultant en DELEND signale au module appelant que la dernière 30 et plus faible puissance de 2 du nombre d'entrée a été formée (c'est-à-dire que ce nombre a été entièrement converti). Un signal vrai à la sortie DELEND ou à la sortie DIo, en combinaison avec des signaux vrais en P1 et CLK, provoque,la mise à 1 de l'univibrateur DELMEND et la remise à 0 de. la bascule DELCE, 35 ce qui empêche la porte d'appliquer d'autres impulsions en CLK. Le circuit d'horloge DEIMEND devient PI * DELEND * ^LK+CLK P2*MSBDELI. Ces modifications permettent au module "delta" de convertir le nombre placé dans DELI en ses -124~ 2334148 puissances de 2 composantes. Après cette conversion, DIo est confirmé. Ensuite, un autre appel quelconque du module "delta" provoque l'actionnement de DELEKD au cours de PI et le module interrompt son fonctionnement en réponse à la confirmation du 5 signal CLK au cotirs de l'impulsion Pl. On remarquera que DELO est, dans ce cas, vidé. D. Exemple de fonctionnement En gardant présente à l'esprit l'organisation détaillée décrite ci-dessus, on va maintenant considérer un exemple réel 10 de fonctionnement du module "delta". Dans cet exemple, on supposera tout d'abord que le nombre 13 qui, sous la forme codée binaire est 00011010 doit être converti et que le module "delta" est appelé par des signatix de commande en KM1 et RM3 ou en 0M2 et 0M3» par les modules "permutation" et "sortie" respectivement, 15 comme décrit précédemment. Le nombre codé binaire 00011010 est chargé dans le registre 302 comme décrit précédemment. Ensuite, la séquence de fonctionnement est la suivante : séquence de commande DB1-DB5, DB4-DB5, DB4-DB5, DB4-DB5, DB4-DB6; 20 DB1 DELFST = 1 «*«. commande en DB2 DB2 DELFST = DELEND = 0 rétablir ces bascules; actionner MSBDELO de DELO (100000000) DB3 DELI (13) é 0 «\ commande en DB4 DB4 DELI = 00011010 décaler DELI vers la gauche; 25 DELO = 10000000 décaler DELO vers la droite; DB5 MSB (DELI) = 0 commande en DB4 DB4 DELI = 00110100 DELO = 01000000 DB5 MSB(DELI) / 0 .*«• commande en DB4 30 DB4 DELI - 01101000 DELO « 00100000 DB5 MSB (DELI) £ 0 commande en DB4 DB4 DELI » 11010000 DELO = 00010000 35 DB5 MSBDELI = 0 commande en DB4 DB4 DELI « 10100000 DELO = 00001000 -125- 2334148 DB5 MSBDELI = 1 commande en DB6 DB6 MSBDELI = 0 DELI = 10100000 ARRET SORTIE DELO = 8 (plus grande puissance de 2 contenue dans 13) DELEND = 0 * §i§£Sâ=ill§! DELI est inchangé DELFST = 0 séquence de commande DB1, DB3-DB6 DB1 DELEST « 0 »*, commande en DB3 DB3 DELI 4 0 »*. commande en DB4 DB4- DELI = 01000000 DELO = 00000100 DB5 MSBDELI = 1 commande en DB6 DELO = 4 ~ puissance de 2 composante suivante DB6 MSBDELI = 0 DELI = 01000000 ARRET INFORMATION DE SORTIE DELO = 4 DELEND = 0 Troisième_appgl tous les paramètres restent inchangés dans 1* inf ormati on séquence de commande DB1, DB3-DB5, DB4-DB6 DB1 \ ) comme expliqué ci-dessus DB3 ) DB4 DELI = 10000000 DELO = 00000010 DB5 MSB (DELI) = 0 commande en DB4 DB4 DELI = 0000000 DELO = 00000001 DB5 MSB (DELI) = 1 *'* commande en DB6 DB6 MSB(DELI) = 0 DELI = 00000000 ; ARRET INFORMATION DE SORTIE DELO = 1 DELEND = 0 séquence de commande DB1, DB3, DB7; DB1 comme précédemment -126- 2334148 DB3 DELI = 0 * • commande en DB7 DB? DELEND = 1 DELO = 0 ARRET INFORMATION DE SORTIE DELO = 0 DELEND = 1 5 71. MODULE PERMUTATION A. Description générale Comme représenté sur les dessins et comme décrit ci-dessus en référence à la table 55 une ligne d'un iso-entropicogramme représentée par des "1" et des "0" peut être formée d'une 10 manière simple en décalant la ligne précédente d'une position binaire vers la droite et en soumettant à une opération XOR, d'une part, la ligne précédente non décalée et d'autre part la ligne précédente décalée, celle-ci étant auparavant tronquée au-dessus de son dernier bit de droite. En outre, des lignes d'un iso-15 entropieogramme peuvent être sautées pour engendrer une seconde ligne d'un iso-entropicogramme à partir d'une première ligne. Cette opération s'effectue en décomposant le nombre de lignes compris entre la première ligne et la seconde ligne en ses puissances de 2 composantes, en allant de la plus grande à la plue 20 petite. Si les puissances de 2 composantes sont utilisées pour déterminer l'incrément de permutation de la première ligne à la seconde, chaque incrément correspond à un décalage d'un seul bit et à une simple opération XOR. Ceci a été décrit précédemment en référence à la table .4-C. 25 Toutefois, chaque apparition constituant une ligne d'un iso-entropicogramme est représentée sous la forme codée absolue et non par des "1" et des "0" binaires, pour faciliter la réalisation. En conséquence, le décalage et l'opération XOR s'effectuent, dans le mode de réalisation de l'invention décrit, en 30 utilisant des valeurs d'apparition codées absolues au lieu de "1" et de "0". La table 4-E représente ce processus pour l'opération de permutation exposée et décrite en référence à la table 4-D» En conséquence, les "1" seulement ont besoin d'être représentés et sont représentés par des nombres décimaux absolus. 35 La ligne 7 est décalée de huit rangs vers la droite par simple addition de 8 à la valeur décimale absolue de la ligne 7« L'opération XOR s'effectue par simple classement des valeurs non décalées et décalées par ordre de grandeur, en supprimant les va -127- 2334148 leurs d'apparition, absolues qui sont identiques et les valeurs qui dépassent l'extrémité de 1'iso-entropicogramme. De cette manière, le résultat de la première opération XOR donne la ligne 15 de 1'iso-entropicogramme de la table 4-B qui est un 5 simple classement des valeurs non décalées et décalées. On remarquera toutefois que le décalage de la ligne 15 d'une unité produit une valeur 16. Etant donné que 16 dépasse la largeur de 1*iso-entropicogramme, cette valeur est rejetée. En outre, pendant l'opération XOR suivante, les valeurs 3» 7» 8, 11 et 15 sont 10 également rejetées. Le classement des nombres restants donne la séquence de valeurs décimales représentant la ligne 16. Pour en venir au module "permutation", on peut maintenant préciser que l'opération de permutation s'effectue principalement sous la commande de ce module avec l'assistance des 15 modules "mémoire", "codage", "décodage" I et II et "delta". La Fig. 18 représente un organigramme qui met en évidence la séquence de fonctionnement du module permutation. Le symbole RB suivi d'un nombre identifie chaque "pavé" ou case de l'organigramme et le symbole P suivi d'un nombre identifie la 20 ou les bascules du compteur de commande 413 qui est ou sont à l'état 1 pour les cases correspondantes de l'organigramme. Le module permutation assure les deux fonctions suivantes : 1. Il permute une ligne d'un iso-entropicogramme vers le bas du 25 nombre de lignes que le module appelant a affiché dans le registre DELI du module "delta". 2. Il mélange deux lignes (par exécution d'une opération XOR) d'un iso-entropicogramme sans aucune permutation. Cette fonction est assurée par l'introduction d'un 0 par le module appe- 30 lant dans le registre DELI du module "delta". Le but de la première fonction est de trouver la ligne de "raccourci" ou ligne de sortie de 1'iso-entropicogramme. La seconde fonction est utilisée en liaison avec le module "modification" lorsque celui-ci utilise le module "permutation" pour 35 permuter les modifications vers le bas jusqu'à la ligne de raccourci, puis utilise à nouveau le module "permutation" pour mélanger ces modifications avec la ligne de raccourci. Ensuite, le module "permutation" exécute sa première fonction de permutation de la ligne mélangée jusqu'à la ligne de raccourci. -128- 2334148 Le module "permutation" reçoit, en tant qu'information d'entrée, les valeurs d'apparition codées absolues effectuées fournies par les modules "décodage* I et II. Les modules "décodage" I et II agissent indépendamment l'un de l'autre en ce sens 5 qu'ils choisissent dans l'ordre toutes les valeurs d'apparition d'une ligne d'entrée commune provenant du module "mémoire" à des rythmes différents. Le rythme de sélection par les modules "décodage" I et II des valeurs d'apparition à partir d'une ligne d'entrée commune est déterminé par le module "permutation" qui 10 appelle ou demande des apparitions à mesure des besoins. Le module "permutation'"reçoit également des valeurs codées absolues représentant les puissances de 2 composantes formées par le module "delta". Ces valeurs représentent chacune un nombre de lignes à permuter dans 1*iso-entropicogramme. Chaque 15 signal de puissance de 2 composante est combiné avec l'une des valeurs d'apparition fournie par le module "décodage" I pour former les valeurs d'apparition décalées. Les valeurs d'apparition reçues effectives (non décalées) fournies par le module "décodage" I et les valeurs décalées sont alors soumises à une 20 opération XOR et le résultat est la nouvelle ligne de 1'iso-entropicogramme . La fonction la plus importante du module "permutation" est la fonction XOR (OU exclusif). A cet effet, le module "permutation" compare toutes les valeurs décalées avec les va-25 leurs non décalées et classe ces deux séries de valeurs dans ton ordre de grandeur décroissant. Point important, lorsqu'une valeur d'apparition décalée et une valeur d'apparition non décalée s'avèrent égales entre elles, ces deux valeurs sont supprimées. En conséquence, la fonction "OU exclusif" (XOR) est assu-30 rée. La série résultante de valeurs est transmise à partir du circuit de sélection RDS4, en tant qu'information de sortie du module "permutation", au registre El du module "codage". Le module "codage" en utilisant l'une de ses deux fonctions d'écrêtage (décrites dans le chapitre concernant ce module) écrête 35 les valeurs d'apparition d'ordre élevé de la série résultante qui dépassent la largeur de l'iso-entropicogramme, c'est-à-dire qui sont plus grandes que la largeur de la ligne d'entrée originale . -129- 2334148 La série résultante de valeurs d'apparition transmise par le module "permutation" au module "codage" est sous la forme codée absolue et le module "codage" convertit ces valeurs d'apparition à la forme hybride en vue de leur stockage dans le mo-5 dule "mémoire" comme décrit précédemment. B. Composants Le module "permutation" de la Fig. 17 comprend des registres à huit bits ou à huit bascules, CR1, CE2 et DÎT. Chacun de ces registres est du type SN74100 décrit page 259 de l'ou-10 vrage "TTL" ci-dessus cité. Chacun d'eux comporte un montage de chargement qui, en réponse à un signal de commande à l'entrée L située le long du côté des registres, provoque le stockage des signaux d'information de huit bits appliqués au côté supérieur de ces registres dans le registre correspondant. 15 Des circuits de sélection RDS1-RDS4 sont prévus. Ces circuits de sélection sont du type déjà décrit ci-dessus qui, en réponse à un signal de commande aux entrées numérotées le long du côté de ces circuits de sélection, transmet les entrées à huit bits indiquées le long du côté supérieur de chaque circuit 20 de sélection à un circuit de sortie à huit bits. En outre, une unité arithmétique ALU du type décrit ci-dessus est prévue. De plus, des inverseurs de signaux logiques 402 et 405 sont prévus pour former l'inversion logique du signal en E et CLK respectivement, et pour fournir des sorties corres-25 pondafites en S et SLK. Une horloge 412 constitue une source d'impulsions d'horloge à récurrence régulière équidistantes. Des bascules RCE, ES et PI à P9 sont prévues, les bascules P1-P9 formant le compteur de commande 413. Des multivibrateurs monostables REVGO et REVEND 30 sont également prévus. Les multivibrateurs monostables REVGO et REVEND forment normalement un signal faux aux sorties REVGO et REVEND, mais répondent à un signal de commande appliqué à leurs entrées en passant à un état 1 dans lequel des signaux vrais sont formés aux sorties REVGO et REVEND pendant tin inter-35 valle de temps égal à celui qui s'écoule entre les débuts respectifs de deux impulsions d'horloge successives fournies par l'horloge 412. Le multivibrateur monostable REVEND, lorsqu'il forme un signal vrai à la sortie REVEND signale au module appelant que l'opération de permutation est terminée. -130- 2334148 Il est prévu des commutateurs 404 et 40§, fournissant chacun à sa sortie un signal codé binaire de huit bits continu, représentant le complément à 2 de 1, c'est-à-dire -1. La porte ET 416 et les portes OU 418 et 420 sont des 5 portes ET et OU classiques bien connues en informatique et qui ne nécessitent aucune autre explication. Des équations logiques booléennes sont utilisées pour indiquer diverses portes logiques du système comme décrit précédemment. La logique de suspension d'horloge 422 suspend le fonctionnement du module "permutation" 10 en interrompant l'impulsion en CLK et CLK pendant que l'un des autres modules termine son fonctionnement. Le long du côté droit du schéma du module "permutation" sont représentées les lignes de commande d'entrée et de sortie de ce module ainsi que les lignes d'entrée et de sortie d'infor-15 mation, le système de notation étant le même que celui qui a été décrit plus haut. C. Description détaillée Le module "permutation", lorsqu'il assure sa fonction de permutation coopère avec les modules "mémoire", "codage", 20 "décodage" I et II et "delta". Normalement, le module "delta" fournit les puissances de 2 composantes du nombre de lignes à permuter et les modules "décodage" I et II lisent et décodent chacun le même vecteur d'apparition d'événement à partir du module "mémoire". Les modules "décodage" I et II fournissent les 25 valeurs d'apparition codées absolues qui constituent le vecteur d'apparition d'événement, une par une à la demande du module "permutation". Les deux modules "décodage" I et II fournissent les mêmes valeurs d'apparition codées absolues dans le même ordre mais l'un d'eux peut avoir à fournir plusieurs valeurs 30 d'apparition pendant que l'autre en fournit une seule. Comme décrit plus loin de façon plus détaillée, ce mode de fonctionnement est nécessaire pour l'exécution de l'opération XOR. Le résultat formé par le module "permutation" est une séquence de valeurs d'apparition codées absolues qui sont retranscodées par 35 le module codage sous la forme hybride et écrites dans le module "mémoire". Comme décrit plus loin de façon plus détaillée, un simple mélange des valeurs d'apparition peut être effectué par -131- 2334148 le module "permutation" sans opération XOR en "indiquant" simplement au module "delta" une valeur 0 comme nombre de lignes à permuter. Pour avoir une meilleure vue d'ensemble du module 5 "permutation", on se référera maintenant à l'organigramme de ce module, Fig. 18, et à son schéma de câblage en partie symbolique, Fig. 17 et l'on examinera sa séquence de fonctionnement sous son aspect général. Comme indiqué dans la table 11, le module permutation ne comporte pas de jeu formel de valeurs d'entrée et de 10 sortie. Toutefois les entrées et les sorties indiquées pour les -modules "codage", "décodage" I et II et "delta" sont présentes. Le résultat de la fonction de permutation est une ligne d'un iso-entropicogramme qui est stockée dans le module "mémoire". Pendant les pas RB1 et RB2 de l'organigramme du module "permuta-15 tion", le module "delta" est appelé par celui-ci et fournit sa première puissance de 2 composante qui représente le nombre de lignes à permuter. Cette première puissance de 2 composante et les suivantes sont stockées dans le registre DÎT du module "permutation". Pendant RB2, les modules "décodage" I et II et le 20 module "codage" (ce dernier n'est pas indiqué sur 1'organigramme) sont initialisés par affichage des conditions initiales appropriées dans ces modules antérieurement à leur premier appel. Pendant RB4-, la bascule DELEND est vérifiée et si elle est à 0, c'est que la valeur du nombre de lignes à permuter con-25 tenue.dans le registre DELI du module "delta" n'a pas été complètement décomposée en toutes ses puissances de 2 composantes et, quel que soit l'état de la bascule RS, la commande passe en RB5 pour assurer la suite du traitement. Si pendant RB4- et RB5, les bascules DELEND et RS sont respectivement à l'état 1 et à 30 l'état 0, la bascule DELEND indique que la valeur du nombre de lignes à permuter contenue dans DELI n'a pas été complètement décomposée en ses puissances de 2 composantes et la bascule RS indique qu'une valeur non nulle est stockée dans DELI; RB5 est alors également attaqué pour la suite du traitement. Par contre, 35 si pendant RB4- et RB6, les bascules DELEND et RS sont toutes deux à l'état 1, la bascule RS indique me simple opération de mélange et indique également qu'une valeur 0 a été stockée dans DELI par le module appelant. DELEND indique qie les deux -132- 2334148 séries d'apparitions provenant des modules "décodage" I et II ont déjà été mélangées. En conséquence, le fonctionnement du module "permutation" est "suspendu". Pendant RB5, le module "décodage" I est appelé par le 5 module "permutation" par mise à l'état 1 du multivibrateur monostable D1G0 et, à la première exécution de RB5, la première apparition (celle qui porte le numéro le plus élevé) provenant de la ligne d'entrée à permuter est fournie par le module "décodage" I et est stockée dans le registre CR1 du module " permuta-10 tion". Généralement l'opération suivante s'effectue en RB8, RB9 et cette opération combine la plus grande puissance de 2 composante du nombre de lignes à permuter contenu dans le registre DN avec la valeur d'apparition contenue dans le registre CR1 et le résultat est rangé dans le registre CR1. Etant donné que la 15 valeur d'apparition fournie paçle module "décodage" I est sous la forme codée binaire absolue, la somme donne une valeur simulant un décalage à droite de "DN" rangs de la valeur d'apparition fournie par le module "décodage" I. Un contrôle de débordement est effectué pendant RB6. Si 20 un débordement s'est produit, ceci signifie que la valeur décalée résultante en CR1 est plus grande que la capacité du système DB£. Par conséquent, le contenu de CR1 est plus grand que la largeur d'iso-entropieogramme actuelle. Il en est ainsi en raison du fait que cette largeur est contrainte de rester entre les limites de 25 la machine. Par suite, lorsqu'un débordement se produit, la commande repasse en RB5 et le module "décodage" I est rappelé, de sorte qu'il lit la valeur d'apparition suivante dans l'ordre décroissant, valeur qui est alors combinée avec le contenu de DN et stockée dans GR1. En conséquence, le résultat précédem-30 ment formé pendant RB9 et qui a été stocké dans CR1 est ignoré. Par contre, si un débordement ne s'est pas produit ou si la bascule EOFt (fin de fichier pour le module "décodage" I) est à l'état "vrai", la commande passe en RB12. Pendant les pas RB12-15» le module "décodage" II est 35 appelé par mise à l'état 1 du multivibrateur D2G0. Initialement le module "décodage" II fournit la plus grande valeur d'apparition et cette valeur est stockée dans le registre CR2. S'il n'y a rien à lire (c'est-à-dire si la fin de fichier a été atteinte -133- 2334148 pour le module "décodage" II), la bascule E0F2 est "vraie" et le pas RB15 est attaqué, pas au cours duquel CR2 est chargé avec une valeur de -1. Pendant RB16, les sorties E0F1 et E0F2 sont vérifiées 5 pour déterminer si elles sont toutes deux à l'état vrai et, s'il en est ainsi, ceci indique la fin de fichier pour les deux modules "décodage" I et "décodage" II. Si la fin de fichier a été atteinte, la commande passe en RB17-RB19 en raison du fait que cette partie de la permutation ou du mélange est achevée. 10 En conséquence, la bascule ELAST est actionnée et le module "codage" reçoit des instructions pour sortir par écriture sa valeur finale. MLN3 du module "codage" contient la longueur matérielle de la ligne qui vient d'être engendrée. Cette valeur est transmise, sous le contrôle de l'horloge, dans MLN1 et MLN2 15 des modules "décodage" I et II. Ceci a lieu dans le cas où une autre permutation est nécessaire. Si l'une au moins des bascules E0F1, E0F2 est à l'état 1, ceci indique que la fin de l'un au moins des fichiers lus par les modules "décodage" I et II a été atteinte et RB20 est 20 attaqué à la suite de RB16. Pendant RB20, la valeur d'apparition décalée contenue dans le registre CR1 est comparée avec la valeur d'apparition non décalée contenue dans le registre CR2. Si la valeur décalée contenue dans CR1 est la plus grande, alors il est nécessaire de sortir cette valeur par écriture et, 25 en conséquence, les pas RB23-24- sont attaqués, pas au cours desquels le module "codage" est appelé par mise à 1 du multivibrateur ENGO, ce qui provoque la transmission du contenu du registre CR1 au registre El du module "codage" où il est ensuite codé et sorti par écriture dans une zone choisie à l'avance du 30 module "mémoire". Pendant RB25-RB28, le module "décodage" I est rappelé par mise à 1 de D1G0; la valeur d'apparition immédiatement inférieure est lue à partir de la même ligne d'entrée; la valeur immédiatement inférieure est combinée avec la même valeur de puissance de 2 composante que celle qui est contenue dans le 35 registre DN et le résultat (valeur d'apparition décalée) est stocké dans le registre CR1. Ensuite est de nouveau attaqué le pas RB20 de 1 'organigramme du module "permutation", pas pendant lequel les contenus des registres CR1 et CR2 sont à nouveau -134- 2334148 comparés. Cette opération se produit et se répète tant que la valeur décalée stockée dans le registre CR1 est plus grande que la valeur non décalée contenue dans le registre CS2. Si, pendant le pas RB20 de l'organigramme du module 5 "codage", on constate que la valeur d'apparition non décalée contenue dans CR2 est plus grande que la valeur d'apparition décalée contenue dans CR1, les pas RB21-RB23 sont attaqués, pas au cours desquels le module "codage" est appelé et au cours desquels la valeur d'apparition non décalée contenue dans le re-10 gistre CR2 est transmise, par l'intermédiaire du circuit de sélection RDS4, au registre El du module "codage", en vue de son codage et de sa sortie par écriture dans la même zone choisie à l'avance du module "mémoire1*. Ensuite est à nouveau attaqué le pas RB12, au cours duquelle module "décodage" II est rappelé, 15 ce qui provoque la sortie par lecture, par le module "décodage" II, de la valeur d'apparition immédiatement inférieure et son stockage dans le registre CR2. Cette opération se produit et se répète également jusqu'à ce que soit stockée dans CR2 une valeur d'apparition non décalée plus grande que la valeur d'apparition 20 décalée contenue dans le registre CR1. Si, pendant le pas RB20 de l'organigramme du module "permutation", on constate que la valeur d'apparition décalée contenue dans CR1 est égale à la valeur d'apparition non décalée contenue dans CR2, alors les pas RB5-EB19 de l'organigramme du 25 module "permutation" sont à nouveau attaqués, pas au cours desquels l'action du module "codage" consistant à stocker une valeur dans 1'iso-entropicogramme est sautée, tandis que deux nouvelles valeurs d'apparition sont lues sur la même ligne d'entrée par les modules "décodage" I et "décodage" II. 30 Lorsque les fins de fichier respectives des deux mo dules "décodage" I et II sont atteintes (c'est-à-dire lors—qu'il ne reste plus aucune autre valeur d'apparition à lire, ni par le module "décodage" I, ni par le module décodage II), les pas RB17-19 sont attaqués, pas au cours desquels le module "codage" 35 reçoit un signal qui lui indique d'avoir à sortir par écriture la dernière valeur d'apparition formée dans la zone choisie à l'avance du module "mémoire1'. -135- 2334148 On remarquera qu'au cours d'une opération de permutation, le registre MAR1 du module "décodage" I et le registre MAR2 du module "décodage" II forment des pointeurs pour ces modules respectifs, pointeurs qui indiquent quelle valeur d'appa-5 ri tion de la ligne d'entrée commune doit être lue immédiatement après par le module de décodage correspondant. De cette manière, les modules "décodage" I et "décodage" II peuvent fournir une chaîne de valeurs d'apparition à partir de la même ligne d'entrée à des rythmes différents, ces valeurs d'apparition étant 10 fournies une par une parles modules de décodage respectifs, tels qu'ils sont appelés par le module "permutation". Au cours d'une opération "modification", le registre MAR1 et le registre MAR2 forment des pointeurs pour les modules respectifs, pointeurs qui indiquent les valeurs d'apparition provenant de différentes 15 zones de mémoire qui doivent être lues par le module de décodage c orresp ondant. On va maintenant examiner de façon plus détaillée l'organisation du module "permutation" en se référant au schéma de câblage de la Fig. 17 et à l'organigramme de la Fig. 18. Initiale-20 ment, le "minicalculateur" forme un signal vrai à la sortie MINIT,,ce qui provoque la remise à 0 des circuits auxquels cette sortie est connectée, qjii comprennent le compteur de commande 4-13 et les bascules P1-P9. I 35 Le multivibrateur monostable REVGO revient ensuite à l'état 0. Etant donné que les bascules PI ... P9 sont toutes à 0, l'impulsion suivante en CLK provoque la mise à 1 de la bascule PI, ce qui détermine l'attaque du pas RB1 de l'organigramme du -136- 2334148 module "permutation". L'état 1 de la bascule PI provoque l'apparition d'un signal de commande à la sortie PI de celle-ci. Le signal de commande apparaissant à la sortie PI remet à 0 la bascule RS; provoque l'apparition d'un signal vrai à la sortie RM1 5 des lignes de commande d'entrée et de sortie du module "permutation", ce qui détermine la mise à 1 de la bascule DELFST dans le module "delta", et provoque en outre l'apparition d'un signal vrai à la sortie RM3 du module "permutation", ce qui met à 1 le multivibrateur DELGO du module "delta" en appelant ainsi 10 l'intervention du module "delta" comme décrit précédemment. Le module "delta" convertit alors un nombre représentant le nombre de lignes à permuter dans 1'iso-entropicogramme en ses puissances de 2 composantes en commençant par la plus grande, le tout comme décrit dans le chapitre relatif au module "delta". 15 A ce moment, le multivibrateur monostable DELMEND du modulateur "delta" est à l'état O et engendre un signal faux à sa sortie DELMEND, tandis qu'un signal vrai est en même temps formé à la sortie RM3 du module "permutation". En conséquence,la logique RM3*DELMEND de la logique de suspension d'horloge 422 devient 20 "fausse", ce qui provoque l'application d'un signal "faux" à l'entrée de la porte ET 416, en interrompant l'application de signaux d'horloge aux sorties CLE et CLK, ce qui "suspend" le fonctionnement du module "permutation". Le module "delta" achève, indépendamment, la formation de la puissance de 2 compo-25 santé du nombre représentant les lignes à permuter, puis met à 1 le multivibrateur monostable DÊEJIEND en appliquant un signal vrai à la sortie DELMEND. Le terme EM3-DEIMEND devient alors vrai, ce qui provoque une nouvelle application par la logique de suspension d'horloge 422 d'un signal vrai à la porte ET 416 30 et, par conséquent, une nouvelle formation d'impulsions d'horloge aux sorties CLK et CLK. Le signal vrai à la sortie PI, lors de l'impulsion suivante en CLK, met la bascule P2 à l'état 1, ce qui provoque l'apparition d'un signal vrai à sa sortie P2 et ce qui remet à 0 la bascule Pl. Le signal vrai à la sortie P2 35 provoque l'application d'un signal vrai à l'entrée L du registre DN, ce qui assure le stockage par ce registre du signal de plus grande puissance de 2 formé dans le registre DELO du module "delta" et le pas RB3 de l'organigramme du module "permutation" -137- 2334148 est attaqué. Le signal vrai à la sortie P2 de la bascule P2 provoque l'initialisation des modules "décodage" I et "décodage" II et du module codage. L'initialisation est un processus grâce auquel un signal vrai à la sortie P2 du compteur de commande 413 5 provoque l'apparition d'un signal vrai à la sortie RM2 du module "permutation" et, par conséquent, la mise à l'état 1 de la bascule D1FST du module "décodage" I, de la bascule D2FST du module "décodage" II et de la bascule EFRST du module "codage". On passe maintenant au pas RB4 de l'organigramme du module "permutation", 10 pas pendant lequel l'état du monostable DELEND du module "delta" est vérifié et, si ce monostable est à l'état 0, la commande passe en RB5. Par contre, si DELEND est à l'état 1, alors la commande passe en RB6. Là, la bascule RS du module "permutation" est vérifiée. Si elle est à l'état 1, la bascule RS signale une 15 opération de mélange. La logique P2.DELEND est vraie, ce qui rétablit ou remet à 0 la bascule RCE et le monostable REVEND en provoquant l'inhibition des signaux d'horloge à l'entrée de la porte 416 et le passage du fonctionnement sur "suspension". Le monostable REVEND applique un signal vrai à la porte OU 420, ce 20 qui provoque la remise à 0 du compteur 413 par cette porte. En même temps, le signal REVEND "vrai" est retransmis au module appelant pour indiquer à celui-ci que le module "permutation" a achevé sa fonction. On supposera maintenant que, pendant RB4, le mono-25 stable DELEND du module delta est à l'état 1 -et forme un signal vrai à la sortie DELEND; ce signal, en coïncidence avec des signaux vrais en RS et à la sortie P2 du compteur de commande 413 et avec l'impulsion en CLE, provoque l'apparition à la sortie RM8 d'un signal vrai qui est transmis à la "matrice de commuta-30 teurs" en mettant celle-ci à même d'effectuer ses opérations de lecture et d'écriture dans la zone prescrite du module "mémoire", d'une manière qui sera décrite plus loin. Les signaux vrais aux sorties P2 et CLE du module "permutation" provoquent en outre l'apparition d'un signal vrai à la sortie RM4 de ce 35 module et, par conséquent, la mise à 1 du monostable D1G0 du module "décodage" I, ce qui appelle celui-ci et le contraint à décoder l'apparition immédiatement inférieure de la ligne d'entrée à partir du module "mémoire" et à l'appliquer sous la forme -138- 2334148 d'une valeur d'apparition codée binaire absolue à sa sortie Dd. Le signal vrai à la sortie RM4 du module "permutation", en coïncidence avec un signal vrai à la sortie D1MEND du module "décodage" I provoque une nouvelle formation d'un signal faux par la 5 logique de suspension d'horloge 422 et le verrouillage de la porte 416, ce qui empêche la formation de nouveaux signaux d'horloge aux sorties CLK et CLK, en interdisant ainsi le fonctionnement du module "permutation". Lorsque le module "décodage" I a achevé son opération, le signal vrai de la sortie D1MEND dispa-10 raît, ce qui provoque un nouveau déverrouillage de la porte 416 par la logique de suspension d'horloge 422 et la formation d'impulsions d'horloge aux sorties CLK et CLK. Le signal vrai à la sortie P2 du compteur de commande 413, en coïncidence avec l'impulsion en CLK, provoque la mise à 1 de la bascule P3, en formant 15 ainsi un signal vrai à la sortie P3 et la bascule P2 est remise à 0. Le signal vrai à la sortie P3 du compteur de commande 413 et à la sortie E0F1 du module "codage" (indiquant que la fin de fichier n'a pas encore été atteinte) rend "vraie" la logique P3.E0F1 et la valeur de la ligne d'entrée fournie par le module 20 "décodage" I est transmise, par l'intermédiaire du circuit de sélection RDS1, à l'entrée d'information du registre CR1. Les signaux vrais en P3 et le signal en CLK provoquent le stockage par le montage de chargement du registre CR1 de la valeur d'apparition provenant de la sortie D01 du module "décodage" I dans 25 ce registre. Pendant RB7, si la fin de fichier avait été atteinte et si le module "décodage" I avait formé un signal vrai à la sortie EOFi, RDS1 n'aurait pas couplé la sortie D01 du module "décodage" I avec le registre CR1, mais par contre il aurait transmis le 30 signal représentant le complément à 2 de 1 (-1), formé par les commutateurs 404, à l'entrée d'information du registre CR1 en provoquant le stockage de la valeur correspondante dans celui-ci. Ceci se produit au cours du pas RB11 de l'organigramme, une fois que la fin de fichier est atteinte par le module "décodage" I, 35 c'est-à-dire lorsau'aucune autre apparition ne doit plus être fournie par celui-ci et un -1 assure alors qu'aucune autre apparition ne sera plus produite par ce module ni sortie du registre CR1. Toutes les autres apparitions éventuelles sont tirées de CR2. -139- 2334148 Les signatix vrais à la sortie P3 du compteur de commande 4-13 et aux sorties et CLE provoquent également l'apparition d'un signal vrai à la sortie RM12 du module "permutation" qui, à son tour, actionne la bascule spéciale SP dans la "matrice de 5 commutateurs". Comme décrit plus loin de façon plus détaillée, le module "raccourcissement" forme un signal vrai en SM5, mais ce signal ne met à 1 la bascule SP que si l'information de sortie actuelle est considérée comme étant le meilleur "raccourci". Cette particularité sera exposé plus loin de façon plus détail-10 lée à propos du module "raccourcissement". Le signal vrai à la sortie P3 provoque également la mise à 1 de la bascule P4 et la remise à 0 de la bascule P3 à l'impulsion suivante en CLE et la commande passe aux pas RB9, RB10, RB12 de l'organigramme du module "permutation". Le signal 15 vrai à la sortie P4- de la bascule P4- provoque la mise à 1 de la bascule RS. Comme décrit précédemment, ceci s'effectue de telle manière qu'après la première boucle, le fonctionnement du module "permutation" est "suspendu" si DELEND (module delta) est à 1 ' état 1. 20 Le signal vrai à la sortie P4- provoque la transmission par le circuit de sélection RDS3 du signal de puissance de 2 contenu dans le registre DN à l'unité ALU et l'addition par celle-ci des contenus des registres CR1 et DN et la formation en OP d'un signal de sortie correspondant à la somme. Ce signal 25 représente la valeur d'apparition décalée vers la position de plus fort poids du nombre de valeurs d'apparition possibles indiqué par la valeur de puissance de 2 contenue dans le registre DN. Ce signal est dénommé "valeur d'apparition décalée. L'unité ALU forme un signal vrai à la sortie OVL, ce 30 qui provoque la retransmission, par le circuit de sélection RDS1 de la valeur d'apparition décalée, de la sortie OP à l'entrée d'information du registre CR1. En outre, le signal vrai en P4 et en E0F1, en coïncidence avec l'impulsion en CLK provoque le rangement de la valeur dans le registre CR1 par le circuit de 35 chargement de celui-ci. Si un débordement s'est produit par suite d'une trop grande longueur de la somme des registres CR1 et DN, le résultat est plus grand que la largeur de 1'iso-entropicogramme et, à la -140- 2334148 " sortie 0V1 est formé un signal vrai qui, conjointement à l'impulsion CLK rend "vraie" la sortie EM4. En outre, les signaux vrais à la sortie P4 du compteur 413 et à la sortie OVL de l'unité ALU provoquent la mise à 1 de la bascule P3 du compteur.413. Dans 5 l'organigramme, ceci équivaut au passage de RB10 à RB5. La raison de ce transfert réside en ce que si un débordement se produit dans l'addition de CR1 et DN, cela indique que le décalage à droite simulé a engendré une valeur de colonne de l'iso-entro-picogramme qui ne peut pas être représentée par le système DPM. 10 S'il en est ainsi, on sait que le nombre est plus grand que la largeur d'iso-entropicogramme actuelle (qui, bien entendu, est représentée dans la machine) et que, par conséquent, la valeur ci-dessus aurait été écrêtée par le module "codage". Le passage de RB10 à RB5 élimine l'appel du module "codage" et rien n'est 15 écrit dans le module "mémoire". RM4 actionne le monostable D1G0 dans le module "décodage" I. En conséquence, la valeiir d'apparition immédiatement inférieure est engendrée par le module "décodage" I. En outre, la logique RM4.D1MËKD est vraie, ce qui provoque l'interruption 20 de l'horloge par la logique de suspension d'horloge 422 jusqu'à ce que le module "décodage" I ait terminé son opération. Lorsqu'elle est terminée, la valeur d'apparition immédiatement inférieure contenue dans le registre D01 du module "décodage" I est stockée dans le registre CR1 où elle surcharge la valeur 25 de débordement précédemment stockée dans ce registre. On supposera qu'on passe maintenant au pas RB12 de l'organigramme du module "permutation" après l'exécution de RB10. Le signal vrai à la sortie P4 de la bascule P4, en coïncidence avec les signaux vrais à la sortie CLK et à la sortie 30 OVL, provoque l'apparition d'un signal vrai à la sortie RM5 du module "permutation", signal qui met à 1 le multivibrateur D2G0 du module "décodage" II, en appelant ainsi ce module, de sorte qu'il lit, lui aussi, une valeur d'apparition à partir de la même ligne d'entrée que le module "décodage" I. S'il s'agit 35 d'une opération de mélange déclenchée par le module "modification", le module "décodage" II lira une ligne différente de celle qui est lue par le module "décodage" I. -141- 2334148 Le monostable D2MEN3) du module "décodage" II est à l'état 0, ce qui assure la présence d'un signal vrai à la sortie D2MEND. Le signal vrai à la sortie HM5 du module "permutation", en coïncidence avec le signal vrai à la sortie D2MEND indique 5 que la valeur d'apparition décodée n'est pas prête dans le module "décodage" II pour le module "permutation" et provoque une nouvelle application par la logique de suspension d'horloge 422 d'un signal faux à la porte 416, ce qui empêche celle-ci d'engendrer des impulsions d'horloge et le fonctionnement du 10 module "permutation1' "st suspendu. Après que le module "décodage" II a fourni la valeur d'apparition, il repasse la commande au module "permutation" en supprimant le signal vrai à la sortie D2MEÏTD du monostable D2MEN33. Ceci déverrouille la porte 416 en permettant à des impulsions d'horloge d'être à nouveau formées 15 aux sorties CLK et ÔLK , tout en permettant à la bascule P5 d'être mise à l'état 1 et à la bascule P4 d'être remise à 0. Le signal vrai à la sortie P5 de la bascule P5, en coïncidence avec un signal vrai à la sortie E0F2 de la bascule E0F2 du module "décodage" II provoque la transmission par le circuit 20 de sélection RDS2 de la valeur d'apparition provenant du module "décodage" II à l'entrée d'information du registre CR2. Le signal vrai à la sortie P5, en coïncidence avec l'impulsion suivante en CLK provoque le stockage de la valeur dans le registre CR2. Il est à noter que, s'il ne s'agit pas d'une opération de 25 mélange, la valeur obtenue à partir du module "décodage" II est une valeur d'apparition effective présente sur la même ligne d'entrée de 1'iso-entropicogramme et constitue la valeur d'apparition non décalée qui sera comparée avec la valeur décalée maintenant contenue dans le registre CR1. Il est à noter égale-JO ment que si la bascule E0F2 du module "décodage" II se trouve à l'état 1, c'est que la fin du fichier a été atteinte par ce module et que, par conséquent, celui-ci ne fournit plus aucune valeur d'apparition. En conséquence, le circuit de sélection RDS2, en réponse aux signaux vrais en P5 et E0F2, couple la sor-35 tie des commutateurs 406 avec l'entrée du registre CR2, en provoquant le stockage du complément à 2 de -1 dans ce registre. La vérification de la bascule E0F2 et la mise en place d'un "-1" dans CR2 si 0EF2 est à l'état 1 sont nécessitées par -142- 2334148 ce qui suit : S'il s'agit d'une opération de mélange, les modules "décodage" I et "décodage" II lisent des lignes différentes dans des zones différentes du module "mémoire". Dans le cas où le module "décodage" II termine sa lecture le premier, le "-1" présent 5 dans CE2 contraint le module "décodage" I à transférer le reste de ses valeurs d'apparition au module "codage" par les pas RB20, RB23, EB24. La commande passe alors en RB16 de l'organigramme du module "permutation" où les états des bascules E0F1 et E0F2 des 10 modules "décodage" I et "décodage" II sont vérifiés. Si ces deux bascules sont à l'état 1, ce qui indique que les deux modules "décodage" I et "décodage" II ont atteint la fin de fichier (c'est-à-dire la fin de la ligne d'entrée de 1'iso-entropicogramme) le pas RB17 de l'organigramme du module "permutation" 15 est attaqué aux sorties P5, E0F1 et E0F2 provoquent l'apparition d'un signal vrai à la sortie RM9> signal qui met à l'état 1 la bascule ELAST du module "codage". En outre, l'impulsion suivante en en coïncidence avec les signaux vrais en P5» E0F1 et E0F2 provoque l'apparition d'un signal vrai à la sortie RM7, 20 signal qui à son tour met à 1 le multivibrateur monostable ENGO en appelant ainsi l'intervention du module "codage". Ceci contraint le module "codage" à coder et la dernière des valeurs d'apparition de la nouvelle ligne de 1'iso-entropicogramme et à la stocker dans le module mémoire. 25 En supposant que l'une des bascules E0F1, E0F2 respec tives des modxiles "décodage" I et "décodage" II soit à 0 en indiquant ainsi que l'un de ces modules a atteint la fin de fichier, le pas EB20 de l'organigramme du module "permutation" est attaqué, pas au cours duquel la valeur d'apparition décalée présente 30 dans CE1 est comparée avec la valeur non décalée contenue dans CE2« Il est à noter que les registres CR1 et CR2 contiennent des valeurs codées binaires absolues indiquant directement les valeurs d'apparition décalées et non décalées. Cette opération de comparaison constitue une partie importante du fonctionnement du 35 module "permutation", car elle représente l'une des "clés" du traitement "OU exclusif". A cet effet, les valeurs d'apparition décalées et non décalées de la ligne d'entrée doivent être classées par ordre de grandeur décroissant. Les valeurs d'apparition -143- 2334148 décalées et non décalées qui sont égales entre elles sont supprimées. On obtient ainsi une combinaison logique "OU exclusif" des valeurs d'apparition décalées et non décalées, ce qui assure une permutation d'une ligne donnée de l'iso -entropiccgramme à la 5 suivante. Pendant le pas RB20 de l'organigramme du module "permutation", le signal vrai à la sortie P6 provoque le couplage par le circuit de sélection RDS3 du registre CR2 avec l'unité ALU et fait comparer par celle-ci les contenus respectifs des re-10 gistres CR1 et CR2. Si c'est la valeur décalée contenue dans CR1 qui est la plus grande, un signal vrai est formé à la sortie G. Ceci provoque le passage de la commande aux pas RB23-RB30 de 1'organigramme du module "permutation", pas au cours desquels la valeur décalée contenue dans CRI est codée et stockée dans le 15 module "mémoire" par le module "codage" et au cours desquels le module "décodage" I lit sa valeur d'apparition suivante sur sa même ligne d'entrée, ladite valeur d'apparition suivante étant alors combinée avec le contenu du registre DN pour former une valeur d'apparition décalée et celle-ci étant stockée dans le re-20 gistre CR1. On va maintenant examiner de façon plus détaillée les opérations qui se déroulent au cotirs des pas RB23 et RB24. Les signaux vrais à la sortie G de l'unité ALU et à la sortie P6 provoquent le transfert par le circuit de sélection RDS4 de la 25 valeur d'apparition décalée contenue dans le registre CR1 à la sortie de celui-ci qui est reliée à l'entrée du registre El du module codage. Un signal est formé à la sortie Ê du circuit inverseur 403 lorsque les valeurs comparées ne sont pas égales entre elles. Les signaux vrais aux sorties P6 et S provoquent 30 la génération d'un signal vrai à la sortie RM11 du module "permutation", signal qui provoque à son tour le couplage par le circuit de sélection EDS6 du module "codage" de la sortie de RDS4 avec le registre El. Les signaux vrais en P6, S et OT excitent l'entrée L du registre El du module "codage" en provoquant le 35 chargement de la valeur d'apparition contenue dans le registre CR2 du module "permutation" dans le registre El. Les signaux vrais aux sorties P6, Ê et CLK provoquent en outre la génération d'un signal vrai à la sortie EM7 du module "permutation", signal -144- 2334148 qui, de son côté met à 1 le multivibrateur ENGO en demandant ainsi l'intervention du module "codage". Une fois qu'il est appelé, le module "codage" convertit la valeur décalée obtenue à partir du registre CR1 sous la forme hybride et la stocke dans le module 5 "mémoire". Si, au cours de la présence du signal vrai à la sortie P6, les bascules respectives E0F1 et E0F2 des modules "décodage" I et "décodage" II sont toutes deux à l'état 1, un signal vrai est formé à la sortie RM14 du module "permutation" et provoque 10 le chargement des registres respectifs MLN1 et MLN2 des modules "décodage" I et "décodage" II avec la valeur contenue dans le registre MLN3 du module "codage". Cette opération est effectuée en raison du fait que la ligne d'entrée complète a maintenant été traitée par le module "permutation" et que la nouvelle 15 ligne d'iso-entropicogramme qui se trouve maintenant dans la zone désignée par le registre MLN3 du module "codage" forme la nouvelle ligne d'entrée et constitue la ligne suivante devant être traitée par les modules "décodage" I et "décodage" II pour assurer la permutation à la ligne suivante de 1'iso-entropieo-20 gramme. Cette opération permet la formation de lignes suivantes de 1*iso-entropicogramme à partir de la nouvelle ligne de celui-ci qui vient d'être formée par le module "permutation". Ensuite, au cours du pas RB24 de l'organigramme du module "permutation", le signal vrai à la sortie RM?» en coïnci-25 dence avec le signal vrai à la sortie EMEND, provoque l'interruption temporaire (suspension) par la logique de suspension 422 du fonctionnement du module "permutation" d'une manière analogue à celle qui a été décrite ci-dessus, jusqu'à ce que le module "codage" ait achevé sa fonction de codage et supprime le signal 30 vrai à la sortie EMEND. Après la fin de cette "suspension" et au moment où la porte 416 est à nouveau déverrouillée par la logique de suspension d'horloge 422, l'impulsion suivante en CLE provoque la mise à 1 de la bascule P7 et la remise à 0 de la bascule P6. L'état 1 de la bascule P7 est utilisé à titre de "re-35 tardateur" dans le système. Un retardateur est nécessaire pour permettre au module "codage" d'achever ses opérations avant que les modules de décodage ne soient appelés. Cette disposition est nécessaire dans ce système étant donné qùe tous les modules -145- 2334148 fonctionnent en séquentiel (série). {Toutefois, elle n'est pas absolument indispensable, car le système pourrait être conçu également de telle façon que tous les modules fonctionnent en simultané (parallèle). 5 Les pas RB25-28 sont maintenant attaqués. Un signal vrai à la sortie P7 provoque à nouveau une comparaison, par le circuit de sélection RDS3 et l'unité ALU, des valeurs décalée et non décalée, respectivement contenues dans les registres GR1 et GR2. Etant donné que les valeurs n'ont pas été modifiées, 10 c'est la valeur décalée contenue dans le registre CR1 qui est la plus grande et, par conséquent, un signal vrai est à nouveau formé à la sortie G de l'unité ALU. Les signaux vrais aux sorties P7 et G provoquent la mise à 1 de la bascule P8 à l'impulsion suivante en CLK. En outre, les signaux vrais aux sorties P?* 15 G et CLK provoquent la génération d'un signal vrai à la sortie SIM-, ce qui rappelle le module "décodage" I qui sort alors par lecture la valeur d'apparition effective immédiatement inférieure de la même ligne d'entrée du module "mémoire". Comme précédemment, le signal vrai à la sortie R!.!4, en coïncidence avec le signal 20 vrai à la sortie D1MEND du module "décodage" contraint la logique de suspension d'horloge 4-22 à déverrouiller la porte 4-16 et à suspendre le fonctionnement du module "permutation" jusqu'à ce que le module "décodage" II supprime le signal vrai en D1MENDj ce qui indique qu'il a maintenant terminé son opération de déco-25 dage et est en train d'engendrer sa valeur d'apparition effective immédiatement inférieure de la ligne d'entrée. Au cours de RB27, les signaux vrais aux sorties P8 et El provoquent le transfert par le circuit de sélection RDS1 de la valeur d'apparition immédiatement inférieure, du registre D01 du module "décodage" I 30 à l'entrée d'information de CR1, et l'impulsion suivante en CLK provoque le stockage, par le circuit de chargement de CR1, de cette valeur dans CR1. D'une manière analogue à celle qui a été décrite ci-dessus, si, concurremment à la présence du signal vrai en P3, la bascule EGF1 du module "décodage" I se trouvait 35 à l'état 1 et, par conséquent, engendrait.un signal vrai à la sortie E0F1, c'est que le module "décodage" I aurait atteint la fin de fichier, RB30 serait alors attaqué et, par conséquent, le complément à 2 d'un "-1" représenté par les commutateurs 404- -146- 2334148 serait stocké dans le registre CR1 au lieu de l'information de sortie du module "décodage" I. Le fonctionnement se poursuit par les pas RB27-RB28, au cours desquels le signal vrai à la sortie P8 provoque la mise 5 à 1 de la bascule P9 du compteur de commande 413 et l'attaque du pas SB28 du module "permutation". Le signal vrai à la sortie P9 provoque le transfert, par le circuit de sélection DS3, de la valeur de puissance de 2 contenue dans le registre DN à l'unité ALU et l'addition par celle-ci des contenus respectifs des re-10 gistres CR1 et DN et, par conséquent, la formation d'une nouvelle valeur d'apparition décalée à la sortie OP. Comme exposé à propos de l'impulsion P4, si un débordement se produit au cours de l'addition de CR1 'et DN, un signal est formé en OVL pour indiquer tua décalage à droite vers une 15 valeur de colonne d'iso-entropicogramme qui ne peut pas être représentée par le système DPM. Ladite valeur est en conséquence ignorée. Si la sortie OVL est vraie, la logique P9-0VL est vraie, ce qui provoque la mise à 1 et à 0, respectivement, des bascules P8 et P9 à l'impulsion CLK suivante et la formation 20 d'un signal à la sortie RM4 au cotirs de l'impulsion CLK de la bascule P9, de sorte que le registre D1G0 du module "décodage" I est actionné. Le module "décodage" I lit la valeur d'apparition immédiatement inférieure, comme décrit précédemment. Toutefois, si l'addition ne produit pas de débordement, OVL est vrai, 25 ce qui rend vraie la logique P9« OVL et l'impulsion CLK suivante met les bascules P6 et P9 à 1 et à 0 respectivement et la commande revient en RB16. Avec la nouvelle valeur d'apparition de la ligne d'entrée maintenant lue dans le module "mémoire" et la valeur déca-30 lée contenue dans le registre CR1, les pas RB16 et RB20 de l'organigramme du module "permutation" sont à nouveau attaqués. L'état vrai à la sortie P6 de la bascule P6 provoque une nouvelle comparaison des contenus des registres CR1 et CR2, comme décrit précédemment, pour déterminer lequel est le plus grand. 35 Si c'est la nouvelle valeur d'apparition décalée contenue dans le registre CR1 qui est la plus grande, les pas RB23-RB30 sont à nouveau attaqués, pas au cours desquels la valeur plus grande contenue dans CR1 est transmise au module "codage" en vue de sa -147- 2334148 conversion sous la foime hybride et de son écriture dans le module "mémoire" et le module "décodage" I est rappelé, ce qui provoque une lecture de la nouvelle valeur d'apparition de grandeur immédiatement inférieure de la même ligne d'entrée dans le 5 module "mémoire", valeur qui est combinée avec la valeur contenue dans DÎT pour former une valeur d'apparition décalée qui est stockée dans le registre CR1. On supposera maintenant qu'au cours de RB20, pendant la présence du signal vrai à la sortie P6, l'unité ALU détecte 10 que la grandeur de la valeur d'apparition non décalée en CR2 est plus grande que celle de la valeur d'apparition décalée contenue dans le registre CR1. L'unité ALU forme alors un signal vrai à la sortie L en provoquant ainsi une nouvelle attaque des pas RB21-RB22. 15 Pendant les pas RB21-RB22, les signaux vrais aux sorties P6 et L provoquent un transfert de la valeur d'apparition non décalée, du registre 0R2 au module "codage", et les signaux vrais présents aux sorties P6, S et CLK provoquent la génération d'un signal vrai aux sorties RM6 et RM7, signaux qui provoquent à 20 leur tour le stockage de la valeur d'apparition non décalée, qui était contenue dans CR2, dans le registre El du module "codage" et l'appel de celui-ci. Ainsi appelé, le module "codage" transcode la valeur d'apparition non décalée provenant du re-- gistre CR2 sous la forme hybride et provoque son stockage dans 25 le module "mémoire" sur la nouvelle ligne de 1'iso-entropicogramme en cours de formation dans celxA-ci. Comme décrit précédemment, les signaux vrais aux sorties RM7 et EMEND provoquent une interruption temporaire par la logique de suspension d'horloge 422 du fonctionnement du module 30 "permutation". Lorsque le module "codage" indique qu'il a terminé ses opérations en supprimant le signal vrai à la sortie EMEND, la "suspension" est interrompue et l'horloge provoque une nouvelle mise à 1 de la bascule P? et la formation d'un signal vrai à la sortie P7» signal qui provoque une nouvelle comparaison 55 le circuit de sélection RDS3 et par l'unité ALU des valeurs d'apparition décalée et non décalée, respectivement contenues dans les registres CR1 et CR2. Etant donné que c'est la valeur contenue dans CR1 qui est encore la plus petite, un signal vrai est à nouveau formé à la sortie L et le pas RB12 est attaqué. -148- 2334148 Pendant RB12, les signaux vrais aux sorties P7, I Le signal vrai à la sortie D2MEND du module "décodage II 10 provoque une nouvelle "suspension" du fonctionnement du module "permutation" jusqu'à ce que le module "décodage" II fournisse la valeur d'apparition stiivante. Une fois que la valeur d'apparition suivante a été fournie par le module "décodage" II et que le signal vrai de la sortie D2MEND est supprimé, la logique de 15 suspension d'horloge 422 interrompt à nouveau la suspension du fonctionnement du module "permutation" et l'impulsion suivante en CLK, en coïncidence avec les signaux vrais en P7 ,et L provoque une nouvelle mise à "1" de la bascule P5, état dans lequel, pendant RB14, la valeur d'apparition immédiatement inférieure 20 fournie par le module "décodage" I est stockée dans le registre CR2, comme décrit précédemment. On supposera maintenant que le pas RB20 de l'organigramme du module "permutation" est exécuté, que la bascule P6 est à l'état 1 et que la valeur d'apparition décalée contenue 25 dans CR1 est égale à la valeur d'apparition décalée contenue dans CR2, ce qui provoque la formation par l'unité ALU d'un signal vrai à sa sortie E et la formation par l'inverseur 403 d'un signal faux en S. Pour la mise en oeuvre de la procédure logique "OU exclusif", il est nécessaire de supprimer à la fois 30 les valeurs d'apparition décalée et non décalée, respectivement contenues dans les registres CR1 et CR2 sur la nouvelle ligne d'iso-entropicogramme en cours de formation. En conséquence, l'unité ALU forme un signal faux à la sortie E, en coïncidence avec le signal vrai à la sortie P6. La logique P6.13.CLK est 35 maintenant fausse et, par conséquent, l'impulsion en CLK ne provoque pas la génération d'un signal vrai en RM7 et, partant, ne provoque pas 1 ' actionnement du multivibrateur ENGO du module "codage". Par contre, le signal vrai à la sortie P6 provoque la -149- 2334148 mise à 1 de la bascule P7> état dans lequel l'unité ALU compare à nouveau les contenus respectifs des registres CR1 et CE2, comme décrit précédemment. Etant donné que les valeurs contenues dans CR1 et CR2 sont encore égales entre elles, l'unité ALU forme un 5 signal vrai à la sortie E. Ce signal vrai à la sortie E, en coïncidence avec le signal vrai en P7 met à 1 la bascule P3, ce qui provoque une nouvelle exécution des pas RB7 à RB20 de l'organigramme du module "permutation", pas au cours desquels les modules "décodage" I et "décodage" II sont tous deux appelés 10 et provoquent la transmission de nouvelles valeurs d'apparition respectives de la même ligne d'entrée au module "permutation". Ce processus se poursuit jusqu'à ce que, pendant RB16, la machine détecte que les bascules respectives E0F1 et E0F2 des modules "décodage" I et "décodage" II, sont toutes deux 15 "vraies" ce qui indique que ces deux modules ont atteint la fin de la ligne d'entrée. Lorsque cela se produit, des signaux vrais sont formés aux sorties E1, E2 et P5, ce qui provoque la formation d'un signal vrai à la sortie RM9, signal qui, à son tour, actionne la bascule ELAST du module "codage", ce qui provoque 20 le stockage par celui-ci de toutes les valeurs d'apparition restantes, sous forme hybride, dangle module "mémoire" comme décrit à propos de celui-ci. D. Exemple de fonctionnement On va maintenant décrire un exemple réel de fonctionne-25 ment du module "permutation". La table 4-B donne un exemple de la manière dont on effectue une permutation d'une ligne à une autre dans un iso-entropicogramme. En utilisant ce même exemple5 on considérera ci-après la manière dont le mode de réalisation décrit de l'invention assure une permutationde la ligne 2 à la 30 ligne 7. Avant que le module "permutation" soit appelé, les opérations préliminaires suivantes sont effectuées : 1. Le registre MLN1 du module "décodage" I et le registre MLN2 du module "décodage" II sont chargés avec la longueur matérielle de la ligne 2 de l'exemple, longueur matérielle qui 35 est normalement obtenue à partir du dispositif IPRF. 2. La ligne 2 de l'exemple, à savoir le vecteur d'apparition d'événement 0, 1, 3» S, 9, 10, 11 est stockée sous la forme codée hybride dans l'une des zones de mémoire du module -150- 2334148 "mémoire". 3. Le nombre de lignes à permuter, en l'occurrence 5» est chargé dans le registre DELI du module "delta", comme décrit précédemment. 5 La séquence de fonctionnement, en partant de ces con ditions initiales, est la suivante : EB1 ES = 0 DELFST =0 ; initialiser module "delta" EB2 DELGO = 1 ; prendre la plus grande puis sance de 2 composante DN » DELO = 4 EB3 D1FST = D2FST = 1 ERFST = 1 ; initialiser modules "décodage" et "codage" BB4-EB5 DELEND = 0 A D1GO = 1 ; prendre première valeur du module "décodage" I D01 = 11 BB7-EB11 GE1 = D01 =11 ; charger valeur des modules "décodage" dans CE1 CR1(15) - CR1(11) + DN(4) simuler le décalage à droite OVL = 0 RB12 RB12-RB14 ES » 1 ; mettre indicateur de mélange D2G0 = 1, E0F2 = 0 ; appeler module "décodage" II CE2 » DO 2 » 11 ; charger l'information de sor tie dans CE2 EB16 E0F1(0).EQF2(0) - 0 •*« EB20 ; le processus PERMUTATION n'est pas encore terminé EB20, EB23, EB24 CEI (15)> CE2(11) EB23 El = CE1 = 15 ;transférer CE1 dans module "co dage" ENGO = 1 ; appeler module "codage" EB25-RB29 B1G0 = 1 ; appeler module "décodage" I CE1 = D01 = 10; E0F1 = 0 ; prendre nouvelle valeur CR1(14)*- CR1(10) + DN(4) ; simuler le décalage à droite -151- 2334148 OVL * 0 .*• aller en RB16 RB16 E0F1.E0F2 = 0 RB20 RB20,RB23, RB24 CR1(14) El = CR1 - 14 appeler"CODAGE" RB25-RB29 D1G0 = 1 CR1 = D01 =9, E0F1 = O CR1(13) = CR1(9) + DN OVL = O RB16 RB16 E0FÎ.E0F2 = O ♦*« RE20 RB20,RB23, RB24 CR1(13)>CR2(11) El = GR1 = 13 appeler "codage" (ENGO =1) RB25-RB29 faire D1GO = 1 CR1 » D01 = 8, EOF1 - O CR1(12) = CR1(8)+ DN(4) OVL = O »\ RB16 RB16 E0F1.E0F2 » O RB20 RB20,RB23, RB24 CR1 (12) > CR2(11 ) El = GR1 « 12 ENGO = 1 RB25-RB29 D1G0 = 1 CR1 = D01 =3, E0F1 = O CR1(7) = CR1 (3) + DN(4) OVL = O A RB16 RB16 E0F1.E0F2 = O RB20 CR2(11) > CR1(7) RB21,RB22 El = CR2 = 11 appeler "codage" (ENGO =1) ; sortir par écriture par l'intermédiaire de 14 ; appeler module "décodage" I ; simuler le décalage î OR1 est transmis au module "codage" ; appeler module "décodage" I ; prendre valeur suivante ; simuler le décalage à droite ; simuler XOR ; CR1 transmis au module "codage" ; appeler module "codage" ; appeler module "décodage" I • * ; simuler le décalage ; effectuer opération XOR ; transférer GR2 dans module "codage" ; mettre en action module "codage" -152- 2334148 RB12-RB14 appeler "décodage" I RB16 RB20 RB21, RB22 RB12-RB14 RB16 RB20 RB21,RB22 RB12-RB14 RB16 RB20 RB21, RB22 RB12-RB14 RB16 RB20 RB23 , RB24 RB25-RB29 RB16 RB20 RB23, RB24 RB25-EB29 RB16 CR2 = D02 = 10, E0F2=0 E0F1.E0F2 - 0 *« GR2(10) > CR1 (7) El = CR2 = 10 appeler "codage" appeler "décodage" II CR2 = D02 = 9, E0F2=0 E0F1.E0F2 = 0 0R2(9»CR1(7) El = GR2 = 9 appeler "codage" appeler "décodage" II CR2 = D02 = 8, E0F2=0 E0F1. E0F2 = 0 GR2(8)>CR1C7) El = CR2 = 8 appeler CODAGE appeler DECODAGE II CR2 « D02 = 3, E0F2=0 E0F1.E0F2 = 0 CR1(7)>CR2(3) El = CR1 = 7 appeler "codage" appeler "décodage" I CR1 = D01 =1, EQF1 =0 CR1(5) = CR1(1) + DN(4) OYL = 0 /. E0F1.E0F2 = 0 CR1(5) > CR2(3) El = CR1 = 5 appeler "codage" appeler "décodage" I CR1 = D01 = 0, E0F1 =0 CR1(4) = CR1(0) + DN(4) OVL = 0 E0F1.E0F2 = 0 *\ ; mettre en action module "décodée" II ; stocker résultat dans GR2 ; simuler opération XOR ; sortir CR2 ; prendre nouvelle valeur sortir CR2 prendre nouvelle valeur effectuer opération XOR sortir CR2 lire nouvelle valeur dans module "décodage" II simuler opération XOR sortir CRI ; simuler décalage ; simuler opération XOR ; sortir CR1 ; lire valeur suivante ; simuler décalage -153- 2334148 EB20 CE1(4) > CE2(3) RB23, EB24 ET - CE1 - 4 appelerMcodage" EB25, RB26, EB30 appeler "décodage" I CRI > -1, E0F1 « 1 RB16 E0F1.E0F2 = 0 EB20 CE2(3)> CH1(-1) EB21, RB22 El = CR2 = 3 appeler "codage" EB12-EB14- appeler "décodage" II CE2 = D02 =1, E0F2=0 EB16 E0F1.E0F2 = 0 EB20 CE2(1) > CE1(-1) EB21, EB22 El = CR2 = 1 appeler "codage" EB12-RB14- appeler "décodage" II GE2 » D02 « 0 E316 E0F1.E0F2 = 0 EB20 CB2(0)> CE1(-1) EB21, EB22 El = GE2 = 0 appeler CODAGE EB12, EB13, EB15 appeler DECODAGE II CE2 « -1, E0F2 = 1 EB16-EB19 EOF1.EOF2 = 1 «'. actionner ELAST appeler CODAGE MLN1, MLN2 - MLN3 ; simuler opération XOE : sortir CE1 ; la fin de fichier est atteinte ; permutation non effectuée opération XOE sortir CE2 prendre valeur suivante ; continuer à sortir CE2 jusqu'à ce que E0F2 = 1 ; introduire la valeur suivante par lecture i ; non encore terminé ; sortir GE2 fin de fichier atteinte ; sortir dernière valeur par écriture ; dans module "mémoire" ; longueur nouvelle ligne ; stockée dans modules "décodage" I et "décodage" II A ce stade l'opération de permutation n'est pas complète. La ligne 6 de 11iso-entropicogramme a été formée et stockée sous forme codée hybride dans le module "mémoire". Les valeurs d'ap- -154- 2334148 parition décimales de la ligne 6 sont 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5» 4-, 3» 1» 0« Cette ligne est ensuite permutée vers le bas d'une ligne jusqu'à la ligne 7 comme suit : RB2 RB5, RB7-RB10 RB12-RB14 RB16 RB20 appeler "delta" m = DELO = 1, DELEND = O appeler "décodage I CR1 = D01 =15, EOF1 CR1 (16) » CR1(15) + 1 OVL = 0 appeler 'Ûécodage" II CR2 = D02 = 15, E0F2=0 E0F1.E0F2 = O A CR1(16) > CR2(15) RB23, RB24 El » CR1 = 16 ; prendre la puissance de 2 composante suivante dans module "delta" lire la première valeur simuler le décalage ; prendre la version non décalée ; effectuer opération XOR ; cette valeur (16) sera écrê-tée par le module "codage" RB25-RB29 RB16 RB20 RB5, RB7-RB10 RB12-RB14 RB16 RB20. appeler module "codage" ; appeler module "décodage1^ lire valeur suivante I CR1 = D01 = 14, E0F1 - O ; CR1(15) = CR1(14) +1 ; simuler décalage OVL = 0 E0F1.E0F2 = 0 »*« CR1 = CR2 - 15 /. appeler module ; lire une autre valeur "décodage" I CR1 « D01 = 13, E0F1 = 0 ; CR1(14) = CR1(13) + DN(1); simuler le décalage OVL = 0 »*. appeler module "déco- ; dage" II CR2 = D02 = 14, E0F2 = 0 ; E0F1.E0F2 = 0 ,\ CR1 = CR2 » 14 ; effectuer opération XOR -155- 2334148 EB5» EB7-EB10 appeler module "décodage" I CE1 = D01 = 12, E0F1 = 0 ; CE1 (13) » CR1(12) + DN(1) 5 décaler 07L = 0 A EB12-EB14- appeler module "décodage" II; lire module "décodage" II CB2 = D02 = 13, E0F2 = 0 ; EB16 ^ E0F1.E0F2 = 0 EB20 CR1 = CE2 = 13 '• ; effectuer opération ZOE EB5, EB7-EB10 appeler module "décodage" I ; CE1 = D01 =11, E0F1 » 0 ; lire module "décodage" I CE1(12) = CE1(11) + DN(1) ; décaler OVL = 0 BB12-EB14- appeler module "décodage" II CE2 = D02 = 12, E0F2 = 0 EB16 E0F1.E0F2 = 0 EB20 CE1 = GE2 =12 ; effectuer opération XOR EB5, EB7-EB9 appeler module "décodage1' I ; lire CE1 = D01 = 10, E0F1 = 0 0E1 (11) - CE1(10) + DN(1) ; décaler OVL = 0 »\ RB12-RB14 appeler module "décodage*' II CE2 = D02 = 11, E0F2 = 0 EB16- E0F1 = E0F2 = 0 EB20 CE1 = CE2 =11 ; effectuer opération XOE RB5, EB7-EB9 appeler module "décodage" I CE1 = D01 « 9, E0F1 = 0 ; lire CE1(10) = CE1(9) + DN(1) ; décaler OVL » 0 EB12-EB14 appeler module "décodage" II; lire CE2 « D02 = 10, E0F2 = 0 EB16 E0F1.E0F2 = 0 EB20 CE1 = CE2 = 10 ; effectuer opération XOE -156- 2334148 EB5, SB7-RB9 RB12-RB14 RB16 RB20 RB5, RB7-RB10 RB12-RB14 RB16 RB20 RB5, RB7-RB10 appeler module "décodage" CR1 = D01 = 8, E0F1 « 0 CR1(9) = CR1(8) + DN(1) OVL = 0 appeler module "décodage" CR2 = D02 = 9, E0F2 = 0 E0F1.E0F2 = 0 CR1 = CR2 = 9 II * • • RB12-RB14 RB16 RB20 RB21-RB22 RB12-RB14 RB16 RB20 RB23-RB24 RB25-RB29 appeler module "décodage" CR1 = D01 = 7, E0F1 = 0 CR1 (8) «■ CR1(7) + DN(1) appeler module "décodage" CR2 = D02 = 8, E0F2 = 0 E0F1.E0F2 =0 CR1 = GR2 = 8 appeler module "décodage" CRI = D01 =5» E0F1 = 0 CR1(6) = CR1(5) + DN(1) OVL = O appeler module "décodage" CR2 = D02 = 7, E0F2 = 0 E0F1.E0F2 = O CR2(7) > CR1(6) /. El = CR2 = 7 appeler module "codage" appeler module "décodage" ; effectuer opération XOR ; lire II ; effectuer opération XOR ; lire ; décaler II ; transférer CR2 dans module "codage" ; le sortir H ; lire à nouveau module "décodage" II CR2 = D02 = 5, E0F2 = 0 E0F1.E0F2 = 0 CR1(6) >CR2(5) El = CR1 = 6 appeler module "codage" appeler module "décodage" CR1 » D01 = 4, E0F1 = 0 CR1 (5) » CR1 (4) + DîT(1) OVL = 0 ; transférer CR1 dans module "codage" lire décaler ♦ O -157- 2334148 RB16 E0F1.E0F2 =0 RB20 CR1 = CR2 = 5 î effectuer opération XOR RB5» RB7-RB10 appeler module "décodage" I CR1 = D01 =3, E0F1 = 0 ; lire CR1 (4-) « CR1 (3) + DN(1) OVL = 0 v\ RB12-RB14 appeler module "décodage" II CR2 = D02 « 4, E0F2 » 0 RB16 E0F1.E0F2 = 0 RB20 CR1 = CR2 = 4 **» ; effectuer opération XOR RB5, RB7-RB9 appeler module "décodage" I ; lire CR1 = D01 ■ 1, E0F1 = 0 ; CR1(2) = CR1(1) + Dff(1) OVL = O RB12-RB14 appeler module "décodagé" II; CR2 = D02 « 3» E0F2 =0 ; RB16 E0F1.E0F2 = 0 RB20 CR2(3) GR1(2) /, ; effectuer opération XOR RB21-RB22 El = CR2 = 3 ; sortir 0R2 appeler module "codage" ; RB12-RB15 appeler module "décodage"II ; lire à nouveau module "décodage" II CR2 = D02 = 1, E0F2 » 0 ; RB16 E0F1.E0F2 = 0 RB20 CR1(2) > CR2(1) ; effectuer opération XOR RB23-RB24 El = CR1 = 2 ; sortir CRI appeler module "codage" ; RB25-RB29 appeler module "décodage" I CR1 = D01 = 0, E0F1 =0 ; lire module "décodage" I CR1 (1) = CR1(0) + DN(1) ; décaler OVL = 0 .*-RB16 E0F1.E0F2 = 0 RB20 CR1 = CR2 = 1 «*» ; effectuer opération XOR -158- 2334148 RB5, EB7, RB11 appeler module "décodage" I ; lire CR1 » -1, E0F1 = 1 ; EOF atteinte par module "décodage" I RB12-RB14 appeler module "décodage"H CR2 = D02 » 0, E0F2 = 0 ; RB16 E0F1.E0F2 = 0 RB20 CR2(0) > CR1 (-1 ) 10 RB21-RB22 RB12, RB13 RB15 15 RB16 RB17-RB19 20 RB2-RB4 25 RB6 El = CR2 = 0 appeler module "codage" appeler module"décodage" II CR2 = -1 E0F2 = 0 E0F1.E0F2 = 1 actionner ELAST appeler module "codage" MLN1, MLN2 - MLN3 appeler module "delta" DN - 0 DELEND - 1 rétablir modules "décodage" et II, et "codage" DELEND = 1 * » RS ■ 1 SUSPENSION ; effectuer opération XOR ; sortir CR2 ; EOF atteinte par module "décodage" II ; sortir dernière valeur du module "codage" ; rétablir longueurs ; prendre valeur de "delta" suivante 30 35 Lors de SUSPENSION, le module "mémoire" contient la ligne 7 de 1•iso-entropicogramme de la table 4-B qui, en valeurs d'apparition décimales absolues est : 7» 6» 3, 2, 0. VII. PERMUTATEUR La partie du système DIM comprenant les modules "mémoire", "codage", "décodage" I et II, "delta" et "permutation" forme un permutateur d'iso-entropicogramme. La Fig. 19 est un schéma symbolique de ce permutateur d'iso-entropicogramme. Le permutateur d'iso-entropicogramme permute un signal de ligne d'entrée codé binaire reçu en un nouveau signal -159- 2334148 de ligne dans 11 iso-entropicogramme de la ligne d'entrée. lie module "mémoire" constitue un moyen de stockage d'une ligne d'entrée reçue. Comme décrit précédemment, le "minicalculateur", au moyen d'un programme rédigé par l'utilisateur provoque le 5 stockage d'un vecteur d'apparition d'événement, ou d'un autre nombre codé binaire, dans une zone du module "mémoire". Bien que cela ne soit pas essentiel pour la présente invention, dans le mode de réalisation décrit, ce nombre est stocké dans le module "mémoire" en code hybride, le nombre qui forme la ligne 10 d'entrée comprend un signal codé binaire représentant une ou plusieurs valeurs d'apparition effectives d'un groupe de valeurs d'apparition possibles classées par ordre décroissant de façon monotone. Les valeurs d'apparition effectives correspondent à ce qui a été dénommé ici "instants d'événement" et les valeurs 15 d'apparition possibles sont tous les instants d'événement qui sont compris dans la largeur de 1'iso-entropicogramme. Le module "delta" constitue un moyen permettant de former un signal indiquant le nombre de lignes dont le signal de ligne d'entrée reçu doit être permuté. 20 Le module "permutation" constitue un dispositif de formation d'un signal de nouvelle ligne et comprend des moyens tels que les registres CRI et CR2, le registre DN, le circuit de sélection RDS2, l'unité ALU et le compteur de commande' représentés sur la Fig. 17 pour former, en réponse à l'indication du 25 signal de nombre de lignes fournie dans le registre DELO par le module "delta" et au signal de ligne d'entrée stocké dans le module "mémoire", un signal codé binaire correspondant à la ligne d'entrée reçue décalée par rapport à elle-même du nombre de valeurs d'apparition possibles identifié par le signal d'in-30 dication de nombre de lignes. Le dispositif de formation d'un signal de nouvelle ligne comprend également des moyens tels que les registres CR1, CR2 et DN, le circuit de sélection RDS3, l'unité ALU et le compteur de commande du module "permutation", les modules "co-35 dage", "décodage" I et II et "mémoire", pour effectuer une opération XOR (OU exclusif) sur les valeurs d'apparition représentées par le signal de ligne d'entrée reçu et par le signal de ligne d'entrée décalé et pour former un signal résultant repré -160- 2334148 sentant une ou plusieurs valeurs d'apparition par ordre de grandeur monotone. A titre d'exemple, le signal résultant est appliqué, par l'intermédiaire du circuit de sélection RDS4, au registre El 5 du module "codage", qui reconvertit alors la grandeur codée absolue des valeurs d'apparition du résultat en code hybride, en vue de son stockage dans le module "mémoire". Le dispositif de formation d'un signal de nouvelle ligne comprend encore des moyens tels que l'unité ALU et ses circuits de sortie OVL et 10 OVL ainsi que les parties associées du module "permutation", moyens qui interviennent au cours des pas RB5, RB8, RB9, RB10, RB25, RB27, RB28 et RB29 pour éliminer celles des valeurs d'apparition décalées de la série résultante de valeurs d'apparition qui ne font pas partie du groupe de valeurs d'apparition 15 possibles déterminant la largeur de 1*iso-entropicogramme. Selon un mode de réalisation préféré de l'invention, le module "delta" reçoit un signal représentant le nombre total de lignes à permuter et contient des moyens internes de conversion de cette représentation en un ou plusieurs signaux repré-20 sentant une ou plusieurs des puissances de 2 composantes de ce nombre. De préférence également, le dispositif de décalage comprend des moyens tels que l'unité ALU, les registres CR1, CR2 et DN et les modules "décodage*1 I et "décodage" II, moyens qui 25 interviennent au cours des pas RB5, RB8, RB9, RB10 et RB25-RB28, pour répondre à un signal de puissance de 2 composante reçu en tant qu'entrée du registre DN, en formant un signal de ligne décalé correspondant à l'un des signaux de ligne d'entrée. Les valeurs d'apparition représentées par le signal de ligne décalé 30 représentent les valeurs d'apparition du signal de ligne reçu en tant qu'entrée, décalées du nombre de valeurs d'apparition possibles indiqué par les signaux de puissance de 2 composante stockés dans le registre DN. Le dispositif "OU exclusif" comprend des moyens tels que les registres CR1 et CR2 et l'unité 35 ALU, moyens qui interviennent au niveau de pavés d'organigramme tels que RB20, RB21, RB5 et RB23, pour soumettre à une opération "OU exclusif" les valeurs d'apparition représentées par un signal de ligne reçu en tant qu'entrée par le dispositif de décalage -161- 2334148 et le signal de ligne décalé correspondant, de manière à former ian signal de ligne résultant correspondant. A cet égard, il est à noter que les valeurs non décalées et décalées successivement stockées dans les registres CR1 5 et CR2 sont classées par ordre de grandeur monotone et que, dans ce classement, les valeurs qui se trouvent être égales entre elles (ce qui est indiqué par un signal vrai à la sortie E de l'unité ALU) sont laissées de côté ou éliminées. Pour permettre une permutation à partir d'une ligne 10 donnée d'un iso-entropicogramme, à travers les lignes successives de celui-ci, la matrice de commutation (qui sera décrite plus loin) constitue un moyen permettant d'appliquer le signal de ligne d'entrée et le signal de ligne résultant obtenu comme résultat de l,opérationHOU exclusif" en tant qu'entrées au dis-*15 positif de décalage décrit ci-dessus. En outre, la connexion entre le registre DELO du module "delta" et le registre DN du module "permutation", et la commande de chargement de ce dernier registre constituent un moyen peimettant d'appliquer, en tant qu'entrée, au dispositif de décalage l'un des signaux de puis-20 sance de 2 composante pour le faire agir sur chacun des signaux de ligne qui sont reçus en tant qu'entrées par le dispositif de décalage. De préférence, le dispositif de décalage comprend l'unité ALU et le circuit de sélection RDS3 du module "permutation", 25 pour combiner la valeur de chaque signal de puissance de 2 composante stockée dans le registre DN avec l'une des valeurs d'apparition effectives stockées dans le registre CR1. Suivant un mode de réalisation préféré de l'invention, les signaux de ligne d'entrée sont stockés en un code composite 30 tel que le code hybride et des premier et second décodeurs tels que les modules "décodage" I et "décodage" II peuvent être commandés indépendamment l'un de l'autre pour fournir séparément un signal de valeur d'apparition effective individuel représentatif de chaque valeur d'apparition du signal de ligne d'entrée. 35 Les décodeurs fournissent chacun les signaux de valeur d'apparition effective dans 1'ordre des valeurs contenues dansée signal de ligne d'entrée. -162- 2334148 De préférence également, les signaux résultant sont reconvertis, par des moyens tels que le module "codage", du code de valeur d'apparition effective en code composite avant le stockage du résultat dans le module "mémoire". 5 VIII. MODULE "RACCOTffiCISSEMEM?" A. Description générale Le module "raccourcissement" prend un vecteur d'apparition et localise la plus courte ligne de son iso-entropicogramme. Cette ligne la plus courte constitue ce qu'on a désigné 10 ici sous le nom de "ligne de raccourci". Bien que la ligne de raccourci puisse être localisée en permutant le vecteur d'apparition ligne par ligne à travers son iso-entropicogramme, en notant la longueur de chaque ligne et en choisissant la plus courte, une telle approche constitue-15 rait une perte de temps. En conséquence, il est désirable de réduire au minimum le temps de recherche du raccourci au moyen de l'équipement de traitement des données. De plus, comme décrit précédemment, l'information est en fait stockée en mémoire sous une forme transcodée ou co-20 dée hybride, ce qui réduit encore davantage sa dimension. Compte tenu de ce qui précède, le mode de réalisation décrit de l'invention localise essentiellement les raccourcis comme suit : Un vecteur d'apparition d'événement destiné à être converti sous forme de raccourci est stocké dans le module "mé-25 moire" et est présenté à une machine de recherche de raccourci qui comprend les modules "raccourcissement", "codage", "décodage" I et II, "delta" et "permutation". Le permutateur, qui comprend les modules "codage", "décodage" I et II, "delta" et "permutation", permute la ligne 50 d'entrée vers le bas à travers les lignes de 1'iso-entropicogramme et à mesure que cette opération se déroule, chaque ligne est présentée au module "codage" en vue de son codage sous la forme hybride. La longueur matérielle de chaque ligne est notée et la ligne transcodée ou codée hybride qui a matériellement la 35 longueur la plus courte est celle qui est choisie comme ligne de raccourci. Selon un mode de réalisation préféré de l'invention, la recherche de raccourci utilise le module "raccourcissement" -163- 2334148 qui reçoit en tant qu'entrées principalement un signal de vecteur d'apparition d'événement formant un signal de ligne d'entrée d'iso-entropicogramme et un signal qui représente la largeur de 1'iso-entropicogramme pour cette ligne d'entrée. Le signal de 5 vecteur d'apparition d'événement ou de ligne d'entrée représente des valeurs d'apparition effectives déterminées parmi un groupe de valeurs d'apparition possibles classées par ordre de grandeur incrémentiel décroissant de la plus grande à la plus petite. Le module "raccourcissement" calcule la différence entre les 10 deux plus grandes valeurs d'apparition représentées par la ligne d'entrée et la différence entre la valeur représentée par le signal de largeur et la plus grande valeur d'apparition de la ligne d'entrée. La plus grande de ces deux différences indique le nombre de lignes à permuter dans 1'iso-entropicogramme. Le 15 module "raccourcissement1' appelle le module "permutation" et le contraint à permuter le signal de ligne d'entrée vers le bas du nombre de lignes indiqué par la différence la plus grande. Le signal de nouvelle ligne "en code hybride) est alors comparé avec le signal de ligne d'entrée original et le plus court de 20 ces deux signatix est conservé en tant que ligne de raccourci possible. La procédure ci-dessus est ensuite répétée en utilisant le signal de ligne de raccourci possible comme signal de ligne d'entrée. Le signal de ligne nouvellement permutée est comparé avec ie signal de ligne de raccourci possible retenu et le plus 25 court de ces deux signaux est à nouveau conservé en tant que ligne là plus courte "éventuelle". Cette opération est répétée jusqu'à ce que le module "permutation" ait assuré une permutation sur toutes les lignes possibles de 1'iso-entropicogramme. À ce moment la dernière ligne de raccourci possible est conservée 30 dans le module "codage" en tant que ligne de raccourci effective. Le côté droit de la table 4-B indique un exemple de cette réalisationdu module "codage". B. Composants On va maintenant se référer aux Fig. 20 et 21. Le mo-35 dule "raccourcissement" comporte les registres d'entrée suivants qui comprennent chacun huit bascules et, par conséquent, peuvent stocker chacun huit bits codés binaire : ONOC, SDN, SLINE, SLN, SMHW, SMLI, TO, TI et Î3. En outre, il est prévu un registre OAB -164— 2334148 à deux bits, c'est-à-dire à deux bascules. Les registres ONOC, SLINE, SLN, SMLI, TO et T1 sont du type SN74-100 décrit page 259 de l'ouvrage "TTL" ci-dessus cité tandis que les registres SMHW et SDN sont du type SN74-116 décrit page 261 de l'ouvrage "TTL" 5 ci-dessus cité, dans lequel un signal vrai appliqué à l'entrée L provoque le stockage des huit bits d'information appliqués à l'entrée supérieure. En outre, les registres SMHW et SDN sont capables, en réponse à un signal vrai appliqué à l'entrée CLR, de se remettre à O c'est-à-dire de se "vider". Les autres regis-10 très du système sont caractérisés en ce que tous les registres du module "raccourcissement" sont du type dans lequel le signal de sortie "suit" ou reproduit les signaux d'entrée d'information en présence d'un signal d'horloge vrai à l'entrée d'horloge ou de chargement (L). Le registre retient à sa sortie et stocke les 15 signaux appliqués à son entrée d'information, lorsque le signal vrai appliqué à son entrée d'horloge ou de chargement disparaît. Le registre T3 est du type SN4-174- décrit dans l'ouvrage "TTL" ci-dessus cité, dans lequel le flanc avant, ou excursion dans le sens "vrai", de l'impulsion appliquée en L charge et retient 20 les signaux d'entrée d'information alors existants, même si ces signaux sont modifiés avant que l'impulsion vraie en L se termine. Cette disposition est adoptée pour tenir compte du fait que, pendant la durée du signal vrai en P2, on désire seulement échantillonner les signaux initiaux dans D01 et introduire les échan-25 tillons dans le registre T3. Le registre OAR est formé de deux bascules du même type que celles dont l'entrée d'horloge inférieure gauche est connectée à l'entrée marquée L et dont les informations d'entrée sont appliquées aux entrées d'information supérieures gauches. 50 Le module "raccourcissement" comporte en outre des bas cules SCE, CNG, SMB, et un compteur de commande 513 qui comprend lui-même des bascules PO à P6. Chacune de ces bascules est du type SN74-74- décrit ci-dessus dans le chapitre "Conventions et composants utilisés sur les figures". 35 Des circuits de sélection SDS1-SDS6 sont prévus pour assurer la transmission conditionnelle à leur sortie de l'un quelconque des signaux d'entrée d'information indiqués le long du côté supérieur de chacun d'eux, en réponse à un signal vrai ap -165- 2334148 pliqué à l'une des entrées de commande indiquées sur leur côté. Ces circuits de sélection sont du même type que celui qui a été décrit ci-dessus dans le chapitre "Conventions et composants utilisés sur les figures". 5 Une unité arithmétique ALU est prévue pour additionner, soustraire et comparer les signaux d'inf onaation appliqués à ses deux entrées d'information indiquées le long de son côté supérieur. L*imité arithmétique ALU est du même type que celle qui a été décrite ci-dessus dans le chapitre "Conventions et 10 composants utilisés sur les figures". Une porte OU 516 a ses entrées connectées aux sorties G et E de l'unité ALU et foime un signal vrai à la sortie GE lorsqu'un signal vrai est formé à l'une des sorties G et E. En outre, le module "raccourcissement" comporte des circuits de transmission conditionnelle OU classi-15 ques 516, 517 et 518 et un circuit de transmission conditionnelle ET classique 520. De plus, le module "raccourcissement" comporte des circuits logiques de transmission conditionnelle qui forment des signatix vrais ou faux permettant le fonctionnement d'un grand nombre des circuits représentés dans le module "raccourcissement". 20 Ces circuits de transmission conditionnelle dits également "circuits conditionneurs" sont indiqués chacun sous la forme d'une équation logique par simplification. Un inverseur de signal logique 526 est branché entre la sortie d'horloge CLK de la porte ET 520 et la sortie d'horloge CLK pour former des impul-25 sions entre les impulsions CLK. Le module "raccourcissement" comporte en outre des multivibrateurs monostables SMGO et SMEND ainsi qu'une horloge 512. L'horloge 512 est une source d'impulsions de rythme vraies à récurrence régulière comme indiqué, Les multivibrateurs mono-30 stables sont capables, en réponse à un signal vrai appliqué à l'entrée indiquée le long de leur côté gauche, de passer à l'état 1 dans lequel un signal vrai est formé à leur sortie non surlignée. Les multivibrateurs monostables ou univibrateurs restent à l'état 1 pendant un intervalle de temps égal à celui 35 qui s'écoule entre les débuts respectifs de deux impulsions d'horloge successives de l'horloge 5^2 puis reprennent l'état 0. Le module "raccourcissement" comporte trois jeux de commutateurs 526, 528 et 530. Les commutateurs 526, 528 et 530 -166- 2334148 sont des commutateurs mécaniques ou électroniques qui représentent respectivement les valeurs décimales 1, 2 et 3 sous la forme codée "binaire 01, 10 et 11 respectivement. La table 16 donne une liste des registres, bascules et univibrateurs pri-5 maires et identifie leur fonction primaire. Comme dans le cas des autres modules, les entrées et les sorties de commande sont indiquées le long du côté droit de la Fig. 20 et les entrées et sorties d'information sont indiquées par des traits pleins épais également le long du côté 10 droit. C. Description détaillée On va maintenant examiner les détails d'organisation du module "raccourcissement" en se référant plus particulièrement au schéma de câblage en partie symbolique des Fig. 20 et 21 et 15 à l'organigramme du module "raccourcissement" représenté sur la Fig. 22. L'organigramme comprend des cases ou pavés indiquant la séquence de fonctionnement. Les symboles SB1 à SB18 indiqués près des pavés sont utilisés pour identifier ceux-ci dans l'organigramme. Les symboles désignant les diverses bascules des 20 compteurs de commande 513 sont en outre indiqués entre parenthèses au voisinage immédiat des divers pavés pour permettre d'établir aisément la relation entre l'opération indiquée dans chaque case de l'organigramme et l'état correspondant du compteur de commande 513• 25 Initialement, les portes OU 516 et 517 reçoivent des signaux vrais de la sortie MINIT du "minicalculateur", signaux qui provoquent la remise à 0 des bascules P0-P10 et SCE. Les signaux vrais ultérieurs formés en SMEND par 1*univibrateur SMEND provoquent la remise à 0 des bascules P0-P10 par la porte 30 OU 517. Le tableau 11 indique les entrées primaires du module "raccourcissement" ainsi que les entrées des modules "codage", "décodage" I et II, "delta" et "permutation" qui constituent ensemble le chercheur de raccourci. Les entrées initiales pro-35 viennent principalement du dispositif IPRF (Fig. 52) et du module "mémoire". En conséquence, le "minicalculateur", de la manière qui sera décrite plus loin, charge tout d'abord le dispositif IPRF et le module "mémoire" avec l'information d'entrée -167- 2334148 initiale requise. A cet effet, le "minicalculateur" stocke initialement un vecteur d'apparition d'événement en code hybride dans la zone 1 du module "mémoire". Ce vecteur d'apparition d'événement est la ligne d'entrée d'un iso-entropicogramme et, 5 au début du fonctionnement du chercheur de raccourci, il forme ce qu'on considère à ce moment comme étant la ligne de raccourci. Comme décrit plus loin de façon plus détaillée, la ligne d'entrée ou actuelle n'est pas nécessairement la ligne 0 de son iso-entropicogramme et, en conséquence, le numéro de la 10 ligne d'entrée, ainsi que la valeur de largeur de 1*iso-entropicogramme sont initialement stockés par le "minicalculateur" dans les registres Mn° de ligne" et HW du dispositif IPRF (Fig. 52). La longueur de la ligne d'entrée est variable et, par conséquent, une valeur de longueur spécifiant le nombre de mots de cette 15 ligne d'entrée est stockée dans le registre "n° de ligne" du dispositif IPRF. Après le chargement du dispositif IPRF et dola zone 1 du module "mémoire", le module "raccourcissement" "st appelé par le "minicalculateur" ou par le module "modification", par forma-20 tion de signaux aux sorties "utilisateur" et CM2, respectivement. Un signal vrai à l'une quelconque de ces sorties provoque l'application par la porte OU 5^8 d'un signal vrai à 1*univibrateur SMGO en déclenchant sa mise à l'état 1, ce qui provoque la génération d'un signal vrai à la sortie SMGO. Le signal vrai à la 25 sortie SMGO met à 1 la bascule SCE. La sortie de la logique de suspension d'horloge 522 est initialement "vraie". En conséquence, le signal vrai à la sortie SCE de la bascule SCE autorise la porte ET 520 à transmettre des impulsions d'horloge, de l'horloge 512 à la sortie CLE, ce qui provoque la formation, par 30 un inverseur 526, d'impulsions à la sortie CLE. L'état 0 des bascules PO à P10 provoque la génération de signaux vrais aux sorties PS, FT ... P1Ô, et par conséquent, la remise à 0 de la bascule PO à l'impulsion suivante en CLE, ce qui fait passer la commande au pas SB1 de l'organigramme du module "raccoureisse-35 ment". Pendant le pas SB1 de l'organigramme et en présence du signal vrai à la sortie PO, les paramètres d'entrée du module "raccourcissement" sont stockés dans leurs propres registres. -168- 2334148 Pendant la présence du signal vrai à la sortie PO du module "raccourcissement", les paramètres d'entrée initiaux de ce module sont également mis en vigueur et chargés sous le contrôle de l'horloge dans leurs propres registres. En outre, la "matrice 5 de commutateurs" est actionnée, de sorte que le module "permutation", lorsqu'il est appelé pour la première fois, provoque la lecture par les modules "décodage" I et II de la ligne d'entrée dans la zone 1 du module "mémoire" et l'écriture par le module "codage" de la ligne permutée ou nouvelle ligne dans la zone 2 10 du module "mémoire". Il est à noter que le module "modification" ne forme un signal vrai à la sortie CM4, en mettant ainsi à 1 la bascule CNG que si le module "modification" est le module appelant. Comme indiqué sur le côté droit de la Fig. 20, des signaux vrais 15 aux sorties PO, CNG et CLK provoquent la transmission de signaux vrais apparaissant aux sorties SM1, SM2 et SM3 à la "matrice de commutateurs" et provoquent en outre le chargement de paramètres d'entrée dans les modules "codage", "décodage" I et II et "delta" de la manière et à partir des sources indiquées ci-20 dessus pour chacun de ces modules. Un signal vrai n'est formé aux sorties SM1, SM2 et SM3 que si le "minicalculateur" est le module appelant. Donc, en supposant que, le "minicalculateur" soit le module appelant, des * signaux vrais sont formés aux sorties SM1, SM2 et SM3 • Le signal 25 vrai en SM1 provoque la mise à 1 des bascules S11, S22 et S31 \ dans la "matrice de commutateurs". Le signal vrai en SM2 provoque la transmission conditionnelle de la valeur de longueur LN1 contenue dans le dispositif IPRF aux registres MLN1 et MLN2 des modules "décodage" I et II et l'impulsion en SM3 provoque effec-30 tivement le chargement de la valeur de longueur dans les registres MLN1 et MLN2 et dans le registre EHW du module "codage". En outre, le signal vrai à la sortie PO remet à 0 la bascule SMB. Les signaux vrais en PO et CNG provoquent le transfert par la matrice de sélection SDS6 du numéro de ligne contenu dans le re-35 gistre "n° de ligne" du dispositif IPRF à l'entrée d'information du registre SML1. On remarquera que si le module appelant était le module "modification", les signaux vrais en CNG et P provoqueraient le transfert par le circuit de commutation SDS6 du numéro -169- 2334148 de ligne, du registre CLINE du module "modification" au registre SML1. Pendant la présence du signal vrai à la sortie PO, l'impulsion en CLK provoque le stockage du numéro de ligne provenant de SDS6 dans le registre SML1 et le stockage dans le registre 5 SMHW du signal de largeur d'iso-entropicogramme fourni par le registre HW du dispositif IPEF (Pig. 52). En conséquence, le registre SML1 contient le numéro de ligne de la ligne d'entrée (stockée dans la zone 1 du module "mémoire") et le registre SMHW contient la valeur de largeur de 10 1'iso-entropicogramme. Le signal vrai en PO provoque la mise à 1 de la bascule P1. En conséquence, également pendant le pas SB1 de l'organigramme du module "raccourcissement", le signal vrai à la sortie PI provoque le transfert par le circuit de sélection SDS7 de la 15 valeur de longueur, du registre MLN1 du module "décodage" I à l'entrée d'information du registre SLN. En outre, le signal vrai en PI provoque le rétablissement ou remise à 0 du registre SDN et la mise à 1 de la bascule SMB. L'état 1 de la bascule SMB provoque la suppression d'un signal vrai à la sortie SMB 20 et, par conséquent, celle du signal vrai à la sortie SH10. Comme décrit précédemment, le signal SM10 parvient dans le module "décodage" 1 et s'il est "faux" il inhibe le décomptage de la longueur matérielle de la ligne d'entrée dans MLN1. Le module "raccourcissement" est sur le point d'entrer en action 25 pendant les pas SB2 à SB5 pour provoquer une lecture par le module "décodage" I sur la ligne d'entrée fournie par le module mémoire dans le seul but de lire les deux plus grandes valetirs d'apparition de la ligne d'entrée et le décomptage dans MLN1 (ou décrémentation de ce compteur) est inhibé au cotirs de cette 50 opération en raison du fait que le module "décodage" I sera ultérieurement appelé à revenir au début de la même ligne d'entrée pour lire à nouveau les mêmes valeurs d'apparition. A ce stade temporel, la ligne d'entrée est retenue comme ligne de raccourci possible actuelle, car c'est la seule 35 ligne qu'on considère à ce moment. Le registre SLINE mémorise le numéro de la ligne de raccourci possible actuelle. En conséquence, le signal vrai à la sortie PI provoque le transfert par le circuit de sélection SDS5 du numéro de la ligne d'entrée, du -170- 2334148 registre SML1 à l'entrée d'information du registre SLINE et le signal vrai à la sortie CLK provoque le chargement de ce numéro de ligne dans le registre SLINE. En outre, il est nécessaire d'empêcher la "inatrice de 5 commutateurs" d'autoriser une surcharge de la zone 1 du module "mémoire" contenant la ligne d'entrée, étant donné que cette ligne doit être retenue comme ligne de raccourci possible actuelle. Pour assurer que la "matrice de commutateurs" retient bien la ligne d'entrée dans la zone 1 du module "mémoire", le 10 signal vrai à la sortie P1 provoque la mise à 1 de la bascule SMS, ce qui provoque la formation d'un signal vrai à la sortie SM5 du module "raccourcissement". La sortie SM5 est ensuite à son tour connectée à la "matrice de commutateurs" et un signal vrai en SM5 conjointement à un signal vrai à la sortie RM12 du 15 module "permutation" provoque l'interdiction par la "matrice de commutateurs" d'une surcharge de la zone 1 du module "mémoire". Pendant le pas SB1, le pas SB2 de l'organigramme du module "raccourcissement" èst à son tour attaqué. Pendant SB2, le signal vrai aux sorties PI et CLK provoque la génération d'un 20 signal vrai à la sortie SM6, signal qui appelle à son tour le module "décodage" I en mettant à 1 1'univibrateur D1G0. Le module "décodage" I commence alors son opération consistant à tirer la plus grande valeur d'apparition de la ligne d'entrée contenue dans la zone 1 du module "mémoire". Les signaux vrais 25 aux sorties PI, CLK et D1MEND (du module "décodage" I) rendent "vraie" SM6 et la logique de suspension d'horloge 522 élimine le signal vrai à l'entrée correspondante de la porte 520 et interrompt la formation d'impulsions d'horloge aux sorties CLK et CLK en suspendant ainsi le fonctionnement du module "rac-50 courcissementn pendant que le module "décodage" I achève ses opérations et fournit une valeur d'apparition décodée. Une fois que le module "décodage" I a fourni la plus grande valeur d'apparition à partir d^la ligne d'entrée stockée dans la zone 1 du module "mémoire", le signal vrai en D1MEND 35 est supprimé, ce qui provoque une nouvelle application par la logique de suspension d'horloge 522 d'un signal vrai à l'entrée correspondante de la porte 522 en permettant ainsi la formation d'impulsions aux sorties CLK et CLK. -171- 2334148 Le signal vrai à la sortie PI, conjointement au signal vrai à la sortie E0F1, provoque la mise à 1 de la bascule P2. Le signal vrai ainsi formé à la sortie P2, en coïncidence avec un signal d'horloge vrai à la sortie CLE, provoque le stockage 5 de cette plus grande valeur d'apparition provenant du registre D01 du module "décodage" 1 dans le registre Ï3. On remarquera que, si un signal vrai était formé à la sortie E0F1, un signal faux serait formé à la sortie E0F1 et, par conséquent, la bascule P10 serait mise à 1 au lieu de la bascule P2. Si E0F1 est 10 actionné, aucune sortie significative n'est fournie par le module "décodage" I. En conséquence, dans ce cas, l'information de sortie du1 module "décodage" I ne serait pas stockée dans le registre T3« En conséquence, le pas SB16 de l'organigramme du module "raccourcissement" serait attaqué à partir de SB3» Pen-15 dant le pas SB4 de l'organigramme, le signal vrai à la sortie P2 provoque en outre le transfert par les circuits de sélection SDS1 et SDS2 respectivement, de la valeur de largeur de 1'iso-entropicogramme , à partir du registre SMHW et de la plus grande valeur d'apparition, à partir du registre D01 du module "décodage" 20 1 aux entrées de l'unité ALU qui retranche alors la plus grande valeur d'apparition de la valeur de largeur. La différence résultante formée à la sortie OP de l'unité ALU est transmise à l'entrée d'information du registre T1 par le circuit de sélection SDS4- sous le contrôle de la sortie P2, et le signal vrai à 25 la sortie P2 provoque le stockage du signal de différence formé à la sortie OP dans le registre Tt à l'impulsion suivante en CLE. En conséquence, après le pas SB4 de l'organigramme du module "raccourcissement", la plus grande valeur d'apparition est contenue dans le registre T3 et le registre T1 contient la diffé-30 rence entre la valeur de largeur de 1'iso-entropicogramme et la plus grande valeur d'apparition de la ligne d'entrée. Le pas SB5 de l'organigramme du module "raccourcissement" est alors attaqué et des signaux vrais sont formés aux sorties P2 et CLK, ce qui entraîne la formation d'un signal vrai 35 à la sortie SM6, signal qui appelle à nouveau le module "décodage" I en actionnant D1G0. Le registre MAR1 du module "décodage" I a maintenant été incrémenté d'une adresse, ce qui correspond à l'adresse de la valeur d'apparition immédiatement inférieure à -172- 2334148 la plus grande de la ligne d'entrée contenue dans la zone 1 du module "mémoire". En conséquence, le module "décodage" I sort maintenant par lecture la valeur d'apparition immédiatement inférieure à la plus grande et la range dans son registre D01. Pen-5 dant que cette opération se déroule, les signaux vrais aux sorties P2, CLE et D1MEND provoquent Ton nouveau verrouillage de la porte ET 520 par la logique de suspension d'horloge 522, ce qui termine l'impulsion en CUL Lorsque le module "décodage" I a terminé ses opérations et, par conséquent, contient la valeur d'ap-10 parition immédiatement inférieure à la plus grande dans son registre D01, le signal vrai de la sortie D1MEND est supprimé, de sorte que la logique de suspension d'horloge 522 autorise la porte ET 520 à commencer de provoquer la génération d'impulsions en CLK et CLK. 15 I Le pas SB7 de l'organigramme du module "raccourcissement" est maintenant attaqué. Le signal vrai aux sorties P3 et CLK provoque le stockage du signal de différence dans le registre TO. En conséquence, à ce stade temporel, le registre TO contient 30 la différence entre les deux plus grandes valeurs d'apparition de ligne d'entrée et le registre T1 contient le signal de différence représentant la différence entre la valeur de largeur et la plus grande valeur d'apparition. Ici encore, on peut remarquer que si le module "déco-35 dage" I se trouvait à la fin d'un fichier et qu'un signal vrai soit formé à la sortie E0F1, un signal vrai ne serait évidemment pas formé à la sortie EOF1. Par conséquent, la bascule P3 ne serait pas actionnée tandis que, par contre, la bascule P10 se -173- 2334148 rait mise à 1, ce qui provoquerait l'attaque du pas SB16 de l'organigramme du module "raccourcissement". On supposera maintenant que des signaux vrais sont formés à la sortie P5« La bascule P4- est alors mise à 1, ce qui 5 provoque le passage de la commande en SB8 de l'organigramme du module "raccourcissement". Pendant le pas SB8, tin signal vrai est formé à la sortie P4-. Le signal vrai à la sortie P4 provoque le transfert, respectivement, de la différence entre les deux plus grandes valeurs d'apparition de la ligne d'entrée, différence 10 qui est contenue dans le registre TO, et de la différence entre la valeur de largeur et la plus grande valeur d'apparition, différence qui est contenue dans le registre T1, par l'intermédiaire des circuits de sélection SDS1 et SDS2, respectivement, aux entrées d'information de l'unité ALU, ce qui provoque une 15 comparaison par celle-ci des valeurs des deux différences en question. On notera soigneusement que, si la différence entre les deux plus grandes valeurs d'apparition, contenue dans le registre T1, est la plus grande, un signal vrai est formé à la sortie G de l'unité ALU et le contenu du registre T1 reste inchangé. 20 Par contre, si la différence entre la valeur de largeur et la plus grande valeur d'apparition, différence qui est contenue dans le registre TO, est la plus grande, un signal vrai est formé à la sortie L de l'unité ALU. Des signatix vrais aux sorties P4- et L provoquent le transfert par le circuit de sélection 25 SDS4 du contenu du registre TO à l'entrée d'information du registre n et les signaux vrais aux sorties P4-, L et QÏZ provoquent le stockage du contenu du registre TO dans le registre T1. Par conséquent, on peut voir maintenant que le registre T1 mémorise la plus grande des deux différences comprenant, d'une part, 50 la différence entre les deux plus grandes valeurs d'apparition de la ligne d'entrée et, d'autre part, la différence entre la valeur de largeur de l'iso-entropicogramme et la plus grande valeur d'apparition. On remarquera que la plus grande de ces deux valeurs de différence, qui est maintenant contenue dans T1 cor-55 respond au nombre de lignes de 1'iso-entropicogramme dont la ligne d'entrée stockée dans le module "mémoire" doit maintenant être permutée. -174- 2334148 Le signal vrai à la sortie P4 provoque la mise à 1 de la bascule P5 à l'impulsion suivante en CLK, ce qui détermine l'attaque du pas SB9 de l'organigramme du module "raccourcissement". 5 Le registre SDN est utilisé pour accumuler le nombre total de lignes d'iso-entropicogramme permutées par le module "permutation" et pour garder trace de ce nombre. A cet effet, pendant SB9, le nombre de lignes à permuter suivant (le plus grand signal de différence) contenu dans le registre T1 est 10 ajouté au contenu du registre SDN. Lors de la première exécution du pas SB9, le registre SDN contient 0. Comme décrit plus loin de façon plus détaillée, pendant SB10, le nombre total de lignes permutées contenu dans le registre SDN est comparé avec la valeur de largeur de 1'iso-entropicogramme contenue dans le registre 15 SMHW pour déterminer le moment où le nombre de lignes permutées dépasse la valeur de largeur relative à 1'iso-entropicogramme. A cet effet, le signal vrai à la sortie P5 provoque le transfert, par les circuits de sélection SDS1 et SDS2 respectivement, des contenus respectifs des registres SDN et T1 aux en-20 trées d'information de l'unité ALU, qui additionnent alors ces valetirs et forme une somme. Si aucun débordement ne se produit, ÔVÏi est vrai et la logique P5.CLK.OVL devient vraie et stocke la somme dans le registre SDN. On remarquera que par contre, si un débordement se produit, le signal en OVL est faux, ce qui 25 empêche le résultat apparaissant à la sortie de OP d'être rangé dans SDN. En outre, si un débordement se produit, il est nécessaire "d'effacer" la valeur de largeur contenue dans le registre SMHW de façon que la comparaison suivante au cotirs de P7 provoque l'établissement d'une condition GE provoquant à son tour la mise 30 à 1 de P10 et l'interruption du fonctionnement. Cette interruption est désirable car, si un débordement se produit, c'est qu'on est en train d'essayer de permuter sur une ligne qui n'est pas contenue dans 1'iso-entropicogramme de la ligne d'entrée. Le signal vrai à la sortie P5 provoque la mise à 1 55 de la bascule P6 à l'impulsion suivante en CLK. Le signal vrai à la sortie P6 provoque le transfert par les circuits de sélection SDS1 et SDS2 respectivement, de la valeur de numéro de ligne contenue dans le registre SML1 et de la valeur du nombre de -175- 2334148 lignes à permuter contenue dans le registre T1 aux entrées d'information de l'unité ALU, qui additionne alors ces valeurs et forme la somme à la sortie OP. Les signaux vrais aux sorties P6 et CLK provoquent la transmission par le circuit de sélection 5 SDS6 de cette somme à l'entrée d'information de SML1 et le stockage de cette somme dans le registre SML1. En conséquence, le registre SML1 contient maintenant le nombre de lignes permutées à partir du numéro de la ligne d'entrée. On remarquera que si un débordement s'était produit, le bit de signe présent à la sor-10 tie de l'unité ALU" serait négligé, car il correspondrait à un module supplémentaire de la longueur de 1'iso-entropicogramme. Le signal vrai à la sortie P6 provoque la mise à 1 de la bascule P7 en réponse à l'impulsion suivante en CLK et provoque une attaque du pas SB10 de l'organigramme du module 15 "raccourcissement". Pendant SB10, la valeur du nombre de lignes permutées est comparée avec la valeur de largeur, comme décrit ci-dessus à propos du pas SB9. Si la valeur du nombre de lignes permutées contenue dans le registre SDN est plus grande que la valeur de largeur de 1'iso-entropicogramme contenue dans le re-20 gistre SMHW, le module "raccourcissement" passe aux pas SB16-18 après quoi le fonctionnement du module "raccourcissement" est suspendu. Une suspension est effectuée à ce stade de fonction, en raison du fait qu'à ce moment le module "permutation" a terminé la permutation à travers toutes les lignes de l'iso-entro-25 picogramme. Si la valeur du nombre de lignes permutées contenue dans le registre SDN est inférieure à la valeur de largeur de 1'iso-entropicogramme contenue dans le registre SMHW, ce qui signifie que le module "raccourcissement" n'a pas effectué une permutation à travers toutes les lignes de 1*iso-entropicogramme, 30 les pas SB11 à SB14 de l'organigramme du module "raccourcissement" sont attaqués. On supposera maintenant que, pendant SB10, la valeur du nombre de lignes permutées contenue dans le registre SDN est inférieure à la valeur de largeur contenue dans le registre 35 SMHW; le signal vrai à la sortie P7 provoque alors la transmission par les circuits de sélection SDS1 et SDS2, respectivement, de la valeur du nombre de lignes permutées (registre SDN) et de la valeur de largeur (registre SMHW) respectivement, aux entrées -176- 2334148 d'information de l'unité ALU en provoquant ainsi ]a comparaison par celle-ci des deux valeurs et la formation d'un signal vrai à la sortie L. Le signal vrai à la sortie L de l'unité ALU, en coïncidence avec le signal vrai à la sortie P7 provoque la mise 5 à 1 de la bascule P8 à l'impulsion CLK suivante et le pas SB11 de l'organigramme du module "raccourcissement" est attaqué. Au cours de SB11, la valeur du nombre de lignes à permuter contenue dans le registre T1 est transmise au module "delta" qui forme à son tour les puissances de 2 composantes 10 de cette valeur en commençant par la plus grande, comme exposé ci-dessus à propos du module "delta". A cet effet, le signal vrai à la sortie P8 provoque la génération d'un signal vrai à la sortie SM7 et ce signal vrai provoque à son tour le transfert par le circuit de sélection (DELS) du module "delta" de la plus grande 15 valeur de différence précitée, du registre T1 à l'entrée d'information du registre 302 de DELI. Un signal vrai à la sortie P8 du module "raccourcissement", en coïncidence avec le signal vrai à la sortie CLK provoque la génération d'un signal vrai à la sortie SM8 et ce signal provoque à son tour le stockage dans le registre 20 302 de DELI par le montage de chargement de celui-ci de la plus grande valeur de différence contenue dans le registre T1. Le pas SB12 du module "raccourcissement" est maintenant attaqué. Les signaux vrais aux sorties P8 et CLK provoquent en outre la génération d'un signal vrai à la sortie SM9 et, par 25 conséquent, un appel du module "permutation" par mise à 1 de ,■ 1'univibrateur REVGO. Le module "permutation" appelle à son tour le module "delta", comme décrit précédemment, puis le module "permutation" et le module "delta", conjointement aux modules "décodage" I, "décodage" II et "codage" permutent la ligne d'en-30 trée contenue dans la zone 1 du module "mémoire" vers le bas du nombre de lignes indiqué par la plus grande valeur de différence transmise au module "delta". Au cours de cette opération, les signaux vrais aux sorties P8 et REVEND provoquent un nouveau verrouillage de la porte 520 par la logique de suspension d'hor-35 loge 522 et, par conséquent, une nouvelle suspension du fonctionnement du module "raccourcissement". Une fois que le nombre de lignes indiqué ont été permutées par le module "permutation", le signal vrai de la sortie REVEND est supprimé, ce qui provoque un -177- 2334148 nouveau déverrouillage de la porte 520 par la logique de suspension d'horloge 522, en permettant ainsi la formation d'une nouvelle impulsion d'horloge aux sorties CLK et CLK du module "raccourcissement". L'impulsion suivante en CLK provoque la mise à 5 1 de la bascule P9 et, par conséquent, l'attaque du pas SB13 de l'organigramme du module "raccourcissement". Le signal vrai à la sortie P9 du compteur de commande 513 du module "raccourcissement" provoque la transmission conditionnelle par les circuits de sélection SDS1 et SDS2, respectivement, de la valeur de lon-10 gueur (nombre de mots de la ligne codée hybride écrits dans le module "mémoire" par le module "codage") contenue dans le registre MLN3 du module "codage" à l'une des entrées de l'unité ALU, et de la longueur de la ligne d'entrée originale, longueur dont la valeur est contenue dans le registre SLN, à l'autre entrée 15 de l'unité ALU qui compare alors ces deux valeurs. Si la longueur de la nouvelle ligne telle qu'elle est indiquée par le registre MLN3 est plus petite que la ligne de raccourci actuelle telle qu'elle est indiquée par le registre SLN, l'unité ALU forme un signal vrai à la sortie L pour indique^ que c'est MLN3 20 qui indique la ligne la plus courte. Ceci provoque l'attaque du pas SB15 de l'organigramme du module "raccourcissement", pas au cours duquel le contenu du registre MLN3 (qui est le plus petit) est stocké dans le registre SLN. Si par contre la valeur de longueur de la nouvelle ligne (contenue dans le registre MLN3) 25 est égale ou supérieure à la valeur de longueur de la ligne d'entrée originale (contenue dans le registre SLN), des signaux vrais sont formés aux sorties G ou E de l'unité ALU, ce qui provoque la formation par la porte OU 516 d'un signal vrai à la sortie GE. Il en résulte une attaque du pas SB14 de l'organi-30 gramme du module "raccourcissement". De cette manière, la plus petite des valeurs respectives de longueur de la ligne d'entrée originale (ligne de raccourci possible actuelle) (registre SLN) et de la nouvelle ligne (registre SLN3) est retenue dans le registre SLN. 35 On examinera maintenant le fonctionnement réel à cet égard. On supposera tout d'abord que la longueur de la nouvelle ligne de raccourci est la plus petite et que, par conséquent, un signal vrai est formé à la sortie L de l'unité ALU pendant la -178- 2334148 présence du signal vrai en P9. Le circuit de sélection SDS7 transfère la valeur de longueur contenue dans le registre MLN3 du module "codage" à l'entrée d'information du registre SLN, et l'impulsion suivante en CL&, en coïncidence avec les signaux 5 vrais en P9 et L, provoque le transfert dans le registre SLN, par le circuit de chargement de celui-ci, de la valeur de longueur, à partir du registre MLN3. En outre, étant donné que c'est maintenant la nouvelle ligne qui est la plus courte, il est nécessaire de stocker le numéro de cette nouvelle ligne dans le 10 registre SLINE. En conséquence, le signal vrai en P9 provoque la transmission par le circuit de sélection SDS5 de la valeur de numéro de ligne de la nouvelle ligne contenue dans le registre SML1 à l'entrée de l'information du registre SLINE et les signaux vrais aux sorties P9» L et CLK provoquent le stockage par le 15 circuit de chargement du registre SLINE de la valeur de numéro de ligne. En outre, les signaux vrais aux sorties P9, L et CLK provoquent la mise à 1 de la bascule SMS, ce qui, comme décrit précédemment, provoque la génération d'un signal vrai à la sortie SM5 en indiquant ainsi à la "matrice de commutateurs" que la 20 nouvelle ligne stockée dans la zone 2 du module "mémoire" doit être retenue comme ligne de raccourci possible. Après SB15, le pas SB14- de l'organigramme du module "raccourcissement" ést attaqué et le signal vrai à la sortie P9 provoque la mise à 1 de la bascule SMB, ce qui supprime le signal vrai à la sortie 25 SMB. Ceci est nécessaire en raison du fait que le module "décodage" I est sur le point de lire la nouvelle ligne pour calculer quelle est la plus grande des deux différences comprenant, d'une part, la différence entre les deux plus grandes valeurs d'apparition de la nouvelle ligne et, d'autre part, la différence entre 30 la valeur de largeur et la plus grande valeur d'apparition. L'absence d'un signal vrai à la sortie SMB et, paiiséonséquent, à la sortie SM10 a pour effet que le module "décodage" I empêche une décrémentation du registre MLN1 du module "décodage" I. On va maintenant considérer à nouveau le pas SB13 35 de l'organigramme du module "raccourcissement" et supposer qu'un signal de commande est formé à la sortie GE de la porte OU 516, ce qui indique que la valeur de longueur de la nouvelle ligne est égale ou supérieure à la ligne de raccourci possible actuelle -179- 2334148 contenue dans le registre SLN. Ceci provoque l'attaque du pas SB14- de 1 'organigramme du module "raccourcissement" en sautant SB15 et, par conséquent, le registre de valeur de longueur du raccourci actuel SLN et sa valeur de numéro de ligne de raccourci 5 actuelle contenue dans le registre SLINE restent inchangées. D'une manière analogue, la bascule SMS reste dans le même état, ce qui entraîne la présence d'un signal faux à la sortie SMS et, par conséquent, à la sortie SM5 du module "'raccourcissement", en signalant ainsi à la "matrice de commutateurs" que la nouvelle 10 ligne contenue dans la zone 2 du module "mémoire" peut être surchargée et n'a pas besoin d'être préservée. Les signaux vrais, aux sorties P9 et P9.CLK déterminent les signaux vrais aux sorties SM11 et SH12. A ce stade, la première permutation vient juste d'être 15 terminée et la nouvelle ligne se trouve dans la zone du module "mémoire" indiquée par la bascule S31 de la "matrice de commutateurs". Bien que, jusqu'à présent, la description ait porté exclusivement sur la première ligne ou ligne d'entrée stockée dans le module "mémoire1*, on peut considérer que les mêmes opé-20 rations se déroulent essentiellement si une nouvelle ligne de raccourci actuelle est formée. Dans ce dernier cas, pendant SB13, la nouvelle ligne de raccourci peut être stockée dans l'une quelconque des zones du module "mémoire". La zone est indiquée par l'état vrai de l'une des bascules S31, S32, S33 comme décrit 25 de façon plus détaillée à propos du module "mémoire" et de la "matrice de commutateurs". Le signal S31 doit être relayé aux bascules S11, S12, S13 de la "matrice de commutateurs" avant que le module "décodage" I puisse lire la nouvelle ligne de raccourci actuelle. En 30 même temps, l'information existante ne doit pas être modifiée dans les zones du module "mémoire" indiquées par les bascules S21, S22, S23, ou S31, S32, ou S33. En conséquence, -un signal vrai est formé à la sortie SM11. Ce signal inhibe le signal d'horloge à l'entrée des bascules S21, S22, S23, S31, S32 et S33» 35 Le signal vrai en S12 transfère alors sous le contrôle de l'horloge l'information convenable, de S31, S32, S33 à S11, S12, S13 dans la "matrice de commutateurs". Lorsque toutes ces opérations sont terminées, les bascules S2i, S3i ( i = 1, 2, 3) de la "ma -180- 2334148 trice de commutateurs" n'ont pas changé d'état, tandis que S1i (i ) 1, 2, 3) est capable de transmettre conditionnellement l'information de la nouvelle ligne au module "décodage" I. En outre, étant donné que le reste du système reste inchangé, lors-5 que le module "permutation" est appelé et qu'un signal vrai est formé en KM8, le fonctionnement se déroule de la manière normale. Des signaux vrais aux sorties P9 et CLK déterminent un signal vrai à la sortie SM4, ce qui provoque la mise à 1 par la porte 228 de la bascule D1FSÏ dans le module "décodage" I et la géné-10 ration d'un signal vrai à la sortie SM6, signal qui appelle le module "décodage" I en mettant à 1 1'univibrateur D1G0. Après SB14, la commande repasse en SB2. de l'organigramme du module "raccourcissement". Les signaux vrais aux sorties P9, CLK et D1MEND provoquent une nouvelle suspension du fonctionne-15 ment du module "raccourcissement" par la logique de suspension d'horloge 522 jusqu'à ce que le module "décodage" I ait terminé ses opérations et ait fourni la plus grande valeur d'apparition à partir du registre D01. On remarquera que le module "décodage" I lit maintenant la ligne de raccourci possible actuelle contenue 20 dans la zone du module "mémoire" et qui a été trouvée la plus courte par le module "raccourcissement" au cours de SB13. Une fois que le module "décodage" I a terminé ses opérations et est en train de former la plus grande valeur d'apparition de la ligne de raccourci possible actuelle, le signal vrai de la sortie 25 D1MEND est supprimé et la logique de suspension d'horloge 522 déverrouille à nouveau la porte 520 ce qui permet la formation d'une impulsion à la sortie CLK. Le signal vrai aux sorties P9 et E0F1, en coïncidence avec le signal vrai à la sortie CLK remet à 1 la bascule P2. Le signal vrai résultant à la sortie P2 30 provoque une reprise du pas SB2 de 1'organigramme du module "raccourcissement", pas au cotirs duquel la plus grande valeur d'apparition est stockée dans le registre T3 et au cotirs duquel la différence entre la valeur de largeur et la plus grande valeur d'apparition est stockée par l'intermédiaire du circuit 35 de sélection SDS4 dans le registre T1. La séquence de fonctionnement des pas SB3 à SB15 se répète de la manière décrite ci-dessus, mais cette fois en utilisant la ligne de raccourci possible actuelle qui a été précédemment déterminée pendant SB13. -181- 2334148 On supposera maintenant qu'au cours de SB10 on trouve que la valeur du nombre total de lignes permutées contenue dans le registre SDN est égale ou supérieure à la largeur de 1'iso-entropicogramme contenue dans le registre SMHW. L'unité ALU 5 forme alors un signal vrai soit à la sortie G, soit à la sortie E, ce qui provoque la formation par la porte OU 516 d'un signal vrai à la sortie GE. Les signaux vrais aux sorties P7 et GE provoquent à leur tour la mise à l'état vrai de la bascule F10, ce qui détermine l'attaque du pas SB16 de l'organigramme du mo-10 dule "raccourcissement". Pendant SB16, le numéro de la ligne de raccourci possible actuelle contenu dans le registre SLINE est comparé avec la valeur de largeur contenue dans le registre SMHW. Si la valeur du numéro de la ligne de raccourci possible actuelle conte-15 nue dans le registre SLINE est plus grande, alors le pas SB1? est attaqué, tandis que si elle est la plus petite, c'est le pas SB18 qui est attaqué. On va maintenant examiner les détails de l'opération ci-dessus. Le signal vrai à la sortie P10 provoque le transfert 20 par les circuits de sélection SDS1 et SDS2 de la valeur du numéro de la ligne de raccourci possible actuelle contenue dans le registre SLINE et de la valeur de largeur contenue dans le registre SMHW à l'entrée d'information de l'unité ALU en vue de leur comparaison. On supposera tout d'abord que la valeur de la 25 ligne de raccourci possible actuelle est la plus grande. L'unité ALU forme alors un signal vrai à la sortie G ou à la sortie E, signal qui provoque à son tour la formation par la porte OU 516 d'un signal vrai à la sortie GE et le pas SB17 est attaqué. En outre, le signal vrai à la sortie P10 provoque la formation par 50 l'unité ALU de la différence entre la valeur de la ligne de raccourci possible actuelle contenue dans SLINE et la valeur de largeur contenue dans le registre SMHW et forme une valeur de différence à la sortie OP. Le signal vrai à la sortie P10 provoque en outre le transfert par le circuit de sélection SDS5 55 de la valeur de différence, de l'unité ALU à l'entrée d'information du registre SLINE. Le signal vrai aux sorties P10, GE et CLK provoque le stockage, par un circuit de chargement, de la valeur de différence dans le registre SLINE. On remarquera que -182- 2334148 la valeur de numéro de ligne actuelle stockée dans le registre S1INE en SB17 est égale à la différence entre le numéro de la ligne de raccourci et la valeur de largeur de 1'iso-entropicogramme. En d'autres termes, la ligne de raccourci possible ac-5 tuelle contenue dans SLINE est plus grande que la valeur de largeur de 1'iso-entropicogramme, le module "permutation" a permuté au-delà de l'extrémité de 1'iso-entropicogramme et, par conséquent, il est nécessaire de retrancher la valeur de largeur de la valeur de la ligne de raccourci possible pour dé-10 terminer le numéro effectif de la ligne de raccourci. Cette opération est effectuée pour assurer que la valeur de la ligne de raccourci possible actuelle contenue dans le registre SLINE est comprise entre les limites de 1*iso-entropicogramme. S'il s'est produit une permutation au-delà de l'extrémité de l'iso-entro-15 picogramme, alors le registre SLINE contient des valetirs de ligne qui sont plus grandes que la largeur de 1'iso-entropicogramme. Or, ces valetirs seraient inexactes et pour trouver la grandeur de la valeur de la ligne de raccourci effective, il est nécessaire de retrancher la valeur de largeur de la valeur 20 de ligne afin d'obtenir le numéro exact de la ligne de raccourci. Après les pas SB16 ou SB17 de l'organigramme du module "raccourcissement", le pas SB18 est attaqué. Les signatix vrais aux sorties P10 et CLK provoquent la mise en action du circuit de chargement du registre ONOC et le stockage par ce circuit 25 dans ledit registre du nombre d'apparitions qui se sont produites sur la ligne de raccourci possible fournie par le registre ENOC du module "codage". Il est à noter que des signaux vrais apparaissent aux sorties P9, L et CLK pendant SB15 si la nouvelle ligne d'iso-30 entropieogramme est trouvée plus courte que la ligne de raccourci possible actuelle. Les signaux vrais aux sorties P9, L et CLK provoquent le chargement dans le registre OAR de valeurs correspondant aux zones 1, 2 et 3, respectivement, du module "mémoire" à partir des commutateurs 526, 528 et 530. La zone choisie est 35 déterminée par les sorties S31, S32 et S33 des bascules correspondantes de la "matrice de commutateurs" qui indiquent la zone de sortie du module "mémoire" actuellement utilisée pour la nouvelle ligne. -183- 2334148 D. Exemple de fonctionnement On va considérer maintenant un exemple de fonctionnement du module "raccourcissement" et des parties du système DHî qui forment ce module. On supposera que le module "raccourcisse-5 ment" doit effectuer une permutation vers le bas à travers 1*iso-entropie ogramme représenté sur la table 4-B et décrit ci-dessus dans le chapitre I. DESCRIPTION GENERALE. On supposera que la ligne d'entrée à permuter est la ligne 0; dans cette hypothèse, la permutation s'effectue de la ligne 0 à la ligne 2, puis à la 10 ligne 7* Les lignes 0, 2 et 7 décomposées en mots de 7 bits plus un bit indiquant, s'il est "0" le code "mot absolu" et s'il est "1" le code "mot hybride", bit qui est ajouté à l'extrémité de gauche de chacun de ces mots, se présentent comme suit : 10001110 ) 00011010 01110101 10001011 00000111 00011010 ligne hybride 0 longueur = 3 codage hybride de la ligne 2 longueur = 3 mots codage hybride de la ligne 7 longueur = 2 La séquence de fonctionnement est la suivante L'information d'entrée du module "raccourcissement" provient de 10000111 ) ) 01011001 ) 'n° de ligne de IPRF elle provient de HW de IPRF elle provient de MLN1 du module "décodage" I elle provient de D1G01 du module "décodage" I n° de ligne (0) dans SML1; largeur d'iso-entropicogramme (16) dans SMHW longueur ligne d'entrée (3) (0) de la zone 1 du module séquence de commande SB1-SB14, SB2-SB13, SB15,SB14, SB2-SB10, SB16-SB17 -184- 2334148 SB1 SB2 SB3 SB4 SB5 SB6 SB7 SB8 SB9 SDN = 0 SMLI » 0 SLINE (0) = SMLI(O) supposer que le n° de ligne et la longueur initiaux constituent le raccourci et initialiser le module; SLN « 3 D1FST = 1 appeler le module "décodage" I entre la largeur de 1'iso-entropicogramme et la plus grande valeur d'apparition CR1 = D01 = 14 E0F1 = 0 E03?1 « 0 >*. SB4 TI(2) » SMHW (16) - CR1(14) différence entre la largeur de 1'iso-entropicogramme et la plus grande valeur d'apparition; appeler module "décodage" I D01 = 12 E0F1 « 0 E0F1 = 0 w SB? 10(2) « CR1(14) - D01(12) SB10 SB11 SB12 T1 (2) = MAX(T1(2),O}0) SDN(2) = SDN(O) + T1(2) SMLI(2) « SMLI(O) + T1(2) SDN(2) DELI(2)*~T1(2) différence entre les deux plus grandes valeurs d'apparition; la plus grande de ces différences; mesure dans laquelle la permutation a été effectuée; position de ligne dans 1'iso-entropie ogramme appliquer la plus grande différence à l'entrée du module "delta"; Le module "permutation" est appelé et crée la ligne n° 2 de 1'iso-entropicogramme -185- 2334148 SB13 SLN(3) = MLH3(3).\aller à SB14 aller à SB2 D1FST = 1 SB2 appeler module "décodage" ] CR1 = D01 « 11 E0F1 = 0 SB3 E0F1 = 0 aller à SB4 SB4- T1 (5) = SMHW(16) - CR1(11) SB5 appeler module "décodage" I D01 = 10 E0F1 = 0 SB6 E0F1 = 0 .\ aller à SB7 SB7 T0(1 ) 0R1 (11 ) - D01(10) SB8 T1(5) = MAX(îP1 (5), T0(1) ) SB9 SDN(7) = SDN(2) + 031(5) SMLI(7).« SMLI(2) + 11(5) la ligne de raccourci la plus courte "éventuelle" n'est pas inférieure à 2; en conséquence, la ligne 2 de 1*iso-entropicogramme n'est pas considérée comme une ligne de raccourci; remettre à zéro les modules "décodage" I et II lire la plus grande apparition; différence entre la largeur de 1'iso-entropicogramme et la plus grande apparition; différence entre les deux plus grandes apparitions; nombre de lignes à permuter; nombre de lignes permutées; position de la ligne de raccourci après la permutation; SB10 SDN(7) SB11 DELI(5) = Ï1(5) transmettre nombre de lignes à permuter au module "delta"; SB12 la ligne 2 est maintenant permutée vers le bas de 5 lignes jusqu'à la ligne 7 par le module "permutâtion" - le format et la longueur de cette ligne ont été indiqués dans la discussion relative à l'information d'entrée SB13 SLN(3)> MLN3(2) SB15 SB15 SLN(2) « MLH3(2) SLINE(7) = SMLI(7) ranger nouvelle ligne de 1'iso-entropicogramme en tant que ligne de raccourci la plus courte éventuelle; -186- 2334148 SB14 D1FST = 1 réinitialiser les modules "dé codage" I et II - interdire la aller à SB2 surcharge de la ligne de raccour ci dans la zone du module "mé-5 moire"; SB2 appeler module "décodage" I CR1 « D01 = 7 E0F1 = 0 IX. CHERCHEUR DE RACCOURCI 10 On a décrit dans ses grandes lignes un "chercheur de raccourci" électronique de traitement de données ou concentrateur de données. Ce concentrateur est destiné à traite^jùn signal d'apparition codé, tel qu'un signal d'apparition d'événement, qui représente des valeurs d'apparition effectives d'un groupe 15 de valeurs d'apparition possible. Les valeurs possibles et les valeurs effectives sont classées dans un ordre de grandeur monotone, de préférence décroissant. Des moyens de mémoire tels que le module "mémoire" stockent le signal d'apparition ainsi codé. Des moyens tels que les modules "décodage" I et "décodage" II 20 forment un premier signal représentant le signal d'apparition codé stocké. Des moyens tels que le chercheur de raccourci de la Fig. 26 interviennent en réponse à ce premier signal pour former sélectivement (et ceci pour chaque premier signal différent) l'un des signaux d'un jeu de signaux équivalents, ce jeu incluant 25 ledit premier signal. Chaque signal équivalent est mis en relation avec un autre par une opération logique "OU exclusif" portant sur les valeurs de ces deux signaux et sur ces mêmes valeurs après décalage relatif. Les moyens de formation de signaux équivalents comprennent en outre des moyens permettant la formation 30 séquentielle d'un ou plusieurs desdits signaux équivalents. Dans cet ordre d'idées; le module "raccourcissement", y compris son compteur de commande, permet une permutation d'un signal d'apparition codé tel qu'un signal d'apparition d'événement à travers son iso-entropicogramme. 35 Des moyens tels que le registre SLN du module "raccour cissement" et le registre MLN3 du module "codage" stockent et forment un signal indicateur de la longueur du signal d'apparition et des signaux équivalents. Des moyens sont prévus pour -187- 2334148 former un signal identifiant le signal équivalent associé au signal représentant la longueur la plus courte. Dans cet ordre d'idées, le module "raccourcissement" intervient au cours du pas SB13 de son organigramme pour comparer les longueurs des valeurs 5 stockées respectivement dans les registres MLN3 et SUï afin de déterminer laquelle est la plus courte. Le signal présent dans le registre SLN indique la longueur du raccourci le plus court à ce stade et le contenu du registre MLN3 indique la longueur de la valeur de ligne en train d'être stockée dans le module 10 "mémoire" à partir du module "codage". Le "but du chercheur de raccourci est de localiser le raccourci d'un vecteur d'apparition d'événement. En d'autres termes, un signal de vecteur d'apparition d'événement doit être permuté à travers son iso-entropicogramme correspondant jusqu'à 15 ce que soit trouvé un signal équivalent de longueur minimale. L'iso-entropicogramme comprend un ensemble de jeux de signaux univoques mais équivalents qui comprennent le vecteur d'apparition d'entrée ou d'événement. Chaque jeu de signaux est mis en relation avec Tin autre jeu de l'ensemble par une opération XOR 20 portant sur les valeurs de ces deux jeux et sur ces mêmes valeurs décalées d'une valeur d'apparition possible. Dans un mode de réalisation préféré de l'invention, on considère comme "longueur la plus courte" celle qui est la plus courte lorsqu'elle est stockée sous la forme codée hybride dans le module "mémoire". 25 I>a fig. 23 est un schéma symbolique représentant l'or ganigramme "commande interne/données" du chercheur de raccourci. Les modules "codage1*, "décodage" I et II, "permutation", "delta" et "raccourcissement" représentés sur la Fig. 23 conjointement au module "mémoire" et la "matrice de commutateurs" (non repré-30 sentée) font partie du système DHt représenté sur la Fig. 1 et jouent ensemble le rôle d'un concentrateur de données. Ce qui a été décrit constitue un procédé de traitement de données permettant de concentrer un signal de ligne qui représente des valeurs d'apparition effectives parmi un groupe de 35 valeurs d'apparition possibles, les valeurs d'apparition possibles et les valeurs d'apparition effectives étant classées par ordre de grandeur monotone. Un exemple du signal de ligne, dans le mode de réalisation décrit de l'invention, est un vec -188- 2334148 teur d'apparition d'événement qui est stocké en mémoire sous la forme codée hybride (voir table 9). Toutefois, il va de soi que le signal de ligne pourrait être codé sous d'autres formes sans qu'on s'écarte pour cela des concepts de l'invention considérés 5 ici. Les opérations sont les suivantes : Un tel signal de ligne est stocké dans une mémoire, telle que le module "mémoire'', en tant que signal représentant la ligne la plus courte éventuelle. A cet effet, le module "raccourcissement" applique un 10 signal au module "mémoire", qui mémorise un vecteur d'apparition d'événement (dont on désire trouver le raccourci) et le module "raccourcissement" applique un signal à la "matrice de commutateurs" en provoquant un réglage des commutateurs appropriés pour identifier la zone 1 comme étant celle qui contient le 15 signal de la ligne la plus courte actuelle (c'est-à-dire le raccourci). Le module "raccourcissement" répond aux valeurs du signal représentant la ligne la plus courte éventuelle en formant au moins un signal représentatif d'un nombre total de li-20 gnes à permuter. Cette opération a lieu pendant le pas SB8, lorsque le plus grand des deux signaux de différence contenus respectivement dans les registres T1 et TO est transféré dans le registre T1. A ce propos, il est à noter que le registre TO contient la différence entre les valeurs représentées, respec-25 tivement, par les deux dernières valeurs d'apparition à l'une des extrémités (à savoir l'extrémité de plus fort poids) du signal de la ligne la plus courte et que le registre T1 contient la différence entre les valeurs représentées, respectivement, par le signal de longueur maximale (largeur de l'iso-entropico-30 gramme) stocké dans le registre SMHW et la valeur d'apparition située à l'une des extrémités (en l'occurrence la plus grande valeur d'apparition) du signal représentant la ligne la plus courte éventuelle. Le procédé comprend encore une opération consistant à 35 former, en réponse au signal de nombre total de lignes à permuter, un ou plusieurs signaux de permutation incrémentiels représentatifs du nombre incrémentiel de lignes à permuter. Plus précisément, le module "delta" décompose le nombre total de -189- 2334148 lignes à permuter en ses puissances de 2 composantes en spécifiant ainsi les incréments effectifs de la permutation à effectuer. La mise en oeuvre du procédé se poursuit par une permu-5 tation de la ligne d'entrée, qui comprend une opération consistant à former un signal de ligne incrémentiel résultant représentant la valeur du signal de la ligne la plus courte éventuelle après sa combinaison logique "OU exclusif" avec cette même valeur décalée du nombre de valeurs d'apparition spécifié par l'un 10 des signaux de permutation incrémentiels. Cette opération est assurée par le module "permutation" au cours de la partie "permutation" du fonctionnement décrit à propos du pas SB12 de l'organigramme du module "raccourcissement". La permutation comprend en outre une opération consistant à permettre l'utili-15 sation du signal de ligne incrémentiel résultant au cours de l'opération "OU exclusif" précédente, en utilisant un autre des signatix de permutation incrémentiels. Plus précisément, après chaque opération "OU exclusif", le résultat est stocké dans le module "mémoire" et le module "delta" engendre le signal de 20 puissance de 2 composante suivant qui est alors utilisé pour soumettre à une opération "OU exclusif" le résultat formé par le module "permutation". Cette opération se répète jusqu'à ce que toutes les puissances incrémentielles de 2 aient été utilisées dans le processus de permutation par le module "permuta-25 tion". Le procédé de permutation comprend encore une opération consistant à stocker le signal de ligne incrémentiel final après l'utilisation de tous les signaux de permutation incrémentiels. Plus précisément, le signal de ligne final stocké dans le module "mémoire" au cours du processus de permutation est identifié par 50 OAR et la "matrice de commutateurs". La longueur du signal de la ligne la plus courte éventuelle stocké (contenu dans le registre SLN) et la longueur du nouveau signal de ligne incrémentiel contenue dans le registre MLN3 du module "codage" sont comparées entre elles et l'unité ALU du module "raccourcisse-55 ment" forme un signal indiquant laquelle est la plus courte pendant le pas SB13 de l'organigramme du module "raccourcissement". Ensuite, les pas précédemment décrits sont répétés en utilisant le signal de ligne qui est indiqué comme étant le plus -190- 2334148 court. A noter à ce propos que les pas SB13, SB14 et SB15 suivants peuvent alors être attaqués, après quoi SB2 est repris, l'opération de répétition commençant à ce pas. De préférence, le procédé comprend également une opé-5 ration consistant à combiner des valeurs représentées par une série des signaux de nombre total de lignes à permuter pour former un autre signal représentant une valeur de numéro de ligne pour le signal de ligne le plus cotirt éventuel stocké. On effectue cette opération en utilisant l'unité ALU et les 10 registres SML1 et T1 du module "raccourcissement" pendant SB9. De préférence, la formation d'un signal de ligne incrémentiel résultant comprend une opération consistant à combiner les valeurs représentées par le signal de ligne le plus court éventuel, d'une part, et l'un des signatix de permutation 15 incrémentiels, d'autre part, pour former un signal décalé correspondant. Plus précisément, les valeurs d'apparition absolues fournies par le module "décodage" II sont combinées avec les valeurs de puissance de 2 incrémentielles provenant du module "delta" pour former une valeur décalée par le module "permuta-20 tion". La formation d'un signal de ligne incrémentiel résultant comprend en outre une opération consistant à appliquer à un opérateur "OU exclusif" les valeurs représentées par le signal de ligne le plus court éventuel, respectivement décalé et non décalé, de manière à former le signal de ligne incrémentiel résul-25 tant. Sur le plan des appareils, on a également décrit un concentrateur de données pour signal de ligne d'entrée (c'est-à-dire pour vecteur d'apparition d'événement) représentant des valeurs d'apparition effectives parmi un groupe de valeurs d'ap-30 parition possibles. Les valeurs d'apparition possibles et les valeurs d'apparition effectives sont rangées par ordre de grandeur incrémentiel, de préférence décroissant. Sont inclus des moyens de mémoire tels que le module "mémoire" pour stocker le signal de ligne d'entrée. Des moyens de décodage tels que les 35 modules "décodage" I et II, convertissent un signal de ligne stocké dans ces moyens de mémoire, y compris le signal de ligne d'entrée stocké, d'un premier code compact (code hybride) en un second code développé (code absolu). -191- 2334148 Des moyens comprenant les modules "raccourcissement" et "delta" sont capables, en réponse à un signal de ligne converti provenant des moyens de décodage, de former l'un d'un nombre choisi de signaux de valeur. Ce nombre de signaux de 5 valeur correspond à des signaux tels que les signaux de puissance de 2 composante fournis par DELO dans le module "delta". Des moyens tels que le "permutateur" sont capables, en réponse à l'un des signaux de valeur de ligne précités et au signal de ligne converti correspondant provenant des moyens décodeurs, 10 de convertir à nouveau le signal de ligne déjà converti, en fonction du signal de valeur de numéro en un signal de ligne modifié mais équivalent. Ce processus s'effectue dans le "permutateur" par intervention d'une opération "OU exclusif". Des moyens codeurs tels que le module "codage" convertissent le 15 signal de ligne équivalent du second code au premier en vue de son stockage dans les moyens de mémorisation. Sont également inclus des moyens tels que OAR, l'unité ALU ainsi que le SLN et le MLN3 (module "codage") pour assurer .la sélection de l'un des jeux équivalents de signaux. Pendant SB13, le jeu de signaux 20 le plus court, en code hybride, est choisi. L'unité ALU du module "raccourcissement", en combinaison avec le registre MLN3 du module "codage" et le registre SLN du module "raccourcissement" interviennent pendant SB13 pour former un signal indiquant lequel est le plus court du signal de ligne stocké original ou 25 du signal de ligne équivalent. Le compteur de commande du module "raccourcissement" intervient pendant SB14- pour permettre aux moyens précités tels que les modules "décodage" I et II, "raccourcissement", "delta" et "codage" et au "permutateur" de répéter leurs opérations. Toutefois, il est prévu des moyens ca-30 pables, en réponse au signal d'indication du signal le plus court des deux signaux qui viennent d'être mentionnés d'autoriser les moyens décodeurs à décoder le plus court de ces signaux qui comprennent, comme décrit précédemment, le signal de ligne original stocké et le signal de ligne équivalent, pendant la 35 répétition. On notera à ce propos que le pas SB14 est attaqué directement, ou bien que le pas SB15 est tout d'abord attaqué et est alors suivi du pas SB14-, selon le résultat de la comparaison par l'unité ALU pendant SB13. Pendant SB15) le numéro de -192- 2334148 la zone de mémoire contenu dans le registre OAR est modifié si nécessaire pour identifier la zone du module "mémoire" qui contient la ligne de raccourci la plus courte éventuelle avant l'attaque du pas SB14- au cours duquel les modules "décodage" I 5 et II sont appelés pour décoder le signal de ligne le plus court éventuel. On remarquera également à propos de la "matrice de commutateurs" que les bascules de celle-ci sontyéonvenable-ment actionnées pour identifier la zone du module "mémoire" qui contient la ligne de raccourci la plus courte éventuelle. 10 De préférence, les moyens décodeurs comprennent des premier et second moyens décodeurs (tels que les modules "décodage" I et II) pour permettre la transmission des valeurs d'apparition effectives d'un signal de ligne au "permutateur" à des rythmes différents sur demande. On remarquera que l'opéra-15 tion de répétition autorisée par le compteur de commande du module "raccourcissement'' et qui reprend à partir du pas SB14 au pas SB2 et la suite, se répète jusqu'à ce que la ligne d'entrée originale ait été permutée complètement à travers son iso-entropicogramme en assurant ainsi que le signal de nouvelle 20 ligne équivalent le plus court (raccourci) a été formé. Des moyens sont prévus pour mettre hors d'action les moyens d'autorisation de répétition une fois que le plus court des signaux de nouvelle ligne équivalents a été formé. A cet effet, la valeur du nombre actuel de lignes permutées par rapport à la 25 ligne d'entrée est stockée dans le registre SDN et est comparée avec la valeur de largeur d'iso-entropicogramme contenue dans le registre SMHW par l'unité ALU du module "raccourcissement", au cours du pas SB10. Si le nombre actuel de lignes permutées par rapport à la ligne d'entrée contenue dans le 30 registre SDN est le plus grand, alors les pas SB16 et la suite sont attaqués, pas au cours desquels le fonctionnement du module "raccourcissement" est ultérieurement suspendu. On remarquera également que les modules "décodage" I et II et le module "mémoire" forment ensemble un moyen de stoc-35 kage et de recouvrement du signal de ligne d'entrée qui doit être concentré. On remarquera aussi que des moyens sont prévus pour combiner la valeur du signal de nombre de lignes à permuter -193- 2334148 suivant de manière à former un numéro de ligne pour la ligne la plus courte. Cette fonction est assurée par des moyens tels que l'unité ALU, les registres SML1, T1 et SMHW au cours des pas SB7 et SB17 de l'organigramme du module "raccourcissement". 5 X. MODULE "MODIFICATION" A. Description générale Le chapitre I. DESCRIPTION GENERALE décrit un procédé grâce auquel des modifications peuvent être apportées à tin vecteur d'apparition. Ces modifications comprennent des inser-10 tions, des effacements et l'addition de nouvelle information. Un effacement supprime une valeur d'apparition d'un vecteur d'apparition d'événement. Une insertion ajoute une valeur d'apparition à un vecteur d'apparition d'événement. Une addition de nouvelle information peut être l'addition de nouvelles va- 15 leurs d'apparition à un vecteur d'apparition d'événement exis- * tant ou l'addition de nouveaux vecteurs d'apparition d'événement. Selon un mode de réalisation préféré de l'invention, des modifications peuvent être apportées à un vecteur d'appari-20 tion d'événement, à une ligne de numéro quelconque de son iso-entropicogramme. De préférence, la modification est appliquée à la ligne de raccourci et la ligne modifiée résultante est alors permutée jusqu'à ce que le nouveau raccourci soit trouvé. Pour décrire une opération de modification de façon 25 plus détaillée, on peut préciser qu'un raccourci qui doit être modifié est défini par un numéro de ligne, une valeur de ligne et une valeur de longueur de ligne. Le vecteur de modification est composé à la ligne d'entrée de son iso-entropicogramme (ligne 0) et comprend une valeur d'apparition pour chaque in-30 sertion, pour chaque effacement et pour chaque nouvelle addition qui doit être faite au raccourci. Dans ses grandes lignes, le procédé adopté est le suivant : (1) on permute circulairement le vecteur "modification" vers le bas dans son iso-entropicogramme jusqu'au numéro de 35 ligne correspondant à celui du raccourci qui doit être modifié. On obtient ainsi un vecteur "de modification" permuté ayant un numéro de ligne identique à celui du raccourci, une valeur de modification et une longueur égale à celle du raccourcij -194- 2334148 (2) on mélange les valeurs d'apparition des valeurs de ligne du raccourci et du vecteur de modification en les soumettant ensemble à une opération "OU exclusif". Plus précisément, l'opération nécessaire se déroule 5 comme suit : La valeur de ligne du vecteur de modification, en code hybride, est placée dans la zone 1 du module "mémoire". La valeur de ligne du raccourci est placée dans la zone 2 du module "mémoire". On permute le vecteur de modification vers le bas jusqu'à la même ligne de 1'iso-entropicogramme que celle 10 du raccourci. A ce stade, le vecteur de modification est défini par le numéro de ligne du raccourci, sa propre valeur de ligne et la longueur du raccourci. L'opération de mélange comprend une combinaison logique XOR entre la valeur de ligne du raccourci et la valeur de ligne du vecteur modifié, ce qui se traduit 15 par l'obtention d'une valeur de ligne modifiée. Le raccourci modifié est alors défini par le numéro de ligne du raccourci original, une valeur de ligne modifiée et la longueur du raccourci. On permute alors vers le bas le raccourci modifié jusqu'au raccourci original. 20 La Fig. 24 est un schéma de câblage en partie symbo lique du module "modification" qui permet l'opération décrite ci-dessus. La Fig. 26 est l'organigramme "commande interne/ données" du modificateur de ligne de raccourci, qui fait partie de l'ensemble du système DHI. On peut voir d'après cette figure 25 que le module "modifieation" utilise pour ses opérations les modules "codage", "décodage" I, "décodage" II, "delta", "penau-tation" et "raccourcissement" ainsi que le module "mémoire", la "matrice de commutateurs" et le dispositif IPRF. B. Composants 30 Le module "modification", Fig. 24, comporte deux re gistres à 8 bits ou 8 bascules CLINE et CLN. Ces deux registres sont du type SN74100 décrit dans l'ouvrage "TTL" ci-dessus cité, présentant les mêmes caractéristiques que celles qui ont été décrites plus haut. 35 En outre, le module "modification" comporte un comp teur de commande 613 avec des bascules P1-P4. Les bascules P1-"* P4 sont du même type que celles qui ont été décrites dans le chapitre I. -195- 2334148 DESCRIPTION GENERALE, E. Composants. Le module "modification" comporte un circuit de commande d'horloge généralisé 700. Le circuit de commande d'horloge généralisé est décrit de façon plus détaillée dans le chapitre 5 ci-après intitulé "circuit de commande d'horloge généralisé". Le module "modification" comporte en outre une logique de suspension d'horloge 622 connectée à l'entrée CS du circuit de commande d'horloge 700. Comme décrit à propos du module "codage", des équations 10 logiques sont utilisées pour indiquer la transmission conditionnelle nécessaire pour commander divers circuits et pour engendrer divers signaux, le tout comme indiqué dans le chapitre relatif au module "modification". Le long du côté droit du module "modification", Fig. 15 24, sont représentées des lignes de commande d'entrée et de sortie et des entrées et sorties d'information. Les entrées et sorties d'information sont représentées par des lignes en trait renforcé. C. Description détaillée 20 Dans la discussion qui va suivre, on se référera au schéma du module "modification" représenté sur la Fig. 24 et à l'organigramme du module "modification" représenté sur la Fig. 25. L'exposé qui va suivre décrira le module "modification" en utilisant un exemple d'une ligne de raccourci et d'une ligne 25 de modification spécifiques pour permettre une meilleure compréhension du système. X'exemple spécifique est le même que celui qui a été déjà mentionné plus haut dans le chapitre I. DESCRIPTION GENERALE, en référence aux tables 9-A et 9-B. Comme précédemment indiqué, le module "modification" 30 lorsqu'il est combiné avec les modxiles "codage", "décodage" I, "décodage" II, "delta", "raccourcissement" et "mémoire", et avec la "matrice de commutateurs" et le dispositif IPRF forme un modificateur de ligne de raccourci. Le sous-système "modificateur de ligne de raccourci" du système DPM est représenté sur le schéma symbolique général de la Fig. 26 (le module "mémoire", la,"matrice de commutateurs" et le dispositif IPRF ne sont pas représentés). -196- 2334148 Initialement, le "minicalculateur" forme un signal vrai à la sortie MINIT, en appliquant ainsi un signal vrai à l'entrée IP de la commande d'horloge 700. Le signal vrai à l'entrée IP engendre un signal vrai à la sortie MR et ce dernier signal 5 remet à 0 les "bascules P1-P4- du compteur de commande 613 sans impulsion d'horloge. Les zones 1 et 2 du module "mémoire" et les registres "n° de ligne", LN1 et LN2 du dispositif IPRF sont initialement chargés par le "minicalculateur" avec les informations d'entrée représentées dans la table 11. En consé-10 quence, les valeurs maintenant stockées des.exemples des tables 9-A et 9-B sont les suivantes : Zone 1 du module "mémoire" 3 6 8 9 12 Zone 2 du module "mémoire" 0 6 12 n° de ligne 6 15 LN2 8 LN1 7 Le "minicalculateur" forme alors un signal vrai à la sortie CNGO, ce qui contraint la commande d'horloge 700 à commencer de former ses impulsions d'horloge aux sorties CLK et CLK. 20 A la première impulsion vraie à la sortie CLK, la lo gique PT.I^.Pj.PT est vraie et la bascule PI est mise à 1 en formant ainsi un signal vrai à la sortie Pl. Le signal vrai à la sortie PI provoque le transfert par le registre CLINE du numéro de ligne du raccourci, du registre "n° de ligne" du dis-25 positif IPRF à la sortie du registre CLINE. Le signal vrai à la sortie PI provoque également l'apparition d'un signal vrai à la sortie CM4- du module "modification" , signal qui parvient à son tour dans les modules "décodage" I, "décodage" II, "raccourcissement" et "delta" et dans 30 la "matrice de commutateurs". Le signal vrai en CM4- provoque la mise à 1 de la bascule CNG du module "raccourcissement", état dans lequel les portes 218 et 226 transfèrent la valeur de longueur de ligne du vecteur d'apparition, du registre LN1 du dispositif IPRF aux registres MLN1 et MLN2 des modules "déco-35 dage" I et "décodage" II; l'état 1 de la bascule CNG provoque en outre le transfert par le circuit de sélection DELS du numéro de ligne du raccourci, de la sortie du registre CLINE du module "modification" à l'entrée du registre 302 dans DELI du module -197- 2334148 "delta" et provoque la mise à 1 des bascules S31 et S23 de la "matrice de commutateurs". Les états "1" respectifs des bascules S31 et S23 provoquent une lecture par les modules "décodage" I et "décodage" II dans la zone 1 du module "mémoire" et 5 une écriture par le module "codage" dans la zone 3 du module "mémoire''. Comme décrit plus loin, lorsque le signal vrai en PI se termine, le registre CLINE stocke le numéro de ligne qui lui est transmis par le registre "n° de ligne" du dispositif IPRF. 10 Ensuite, un signal vrai est formé à la sortie CLK de la commande d'horloge 602, ce qui rend vraie la logique P1.CLK en formant ainsi des signaux vrais aux sorties CM3» CM5 et CM6. Le signal vrai à la sortie CM3 provoque le stockage de la valeur de longueur de ligne provenant du registre LN1 du disposi-15 tif IPRF dans les registres MLN1 et MLN2 des modules "décodage" I et II; provoque le stockage de la longueur de ligne de raccourci, à partir du registre LN2 du dispositif IPRF dans le registre CLN du module "modification"; provoque le stockage du numéro de ligne provenant de la sortie du registre CLIHE du mo-20 dule "modification" dans le registre 302 de DELI du module "delta"; et provoque l'actionnement de 1'univibrateur REVGO du module "permutation", ce qui appelle l'intervention de ce dernier. En outre, un signal vrai est maintenant formé par la 25 logique P1.REVEND.CLK de la logique de suspension d'horloge 622, en provoquant ainsi l'application d'un signal vrai à l'entrée CS de la commande d'horloge 700. Le signal vrai à l'entrée CS provoque la suspension, par la commande d'horloge 700, des impulsions d'horloge en CLK et CLK, ce qui interrompt le fonction-30 nement du module "modification" jusqu'à ce que les opérations du module "permutation" soient terminées et ce qui élimine le signal vrai en REVEND pour indiquer ce fait. En utilisant l'exemple représenté dans les tables 9-A, 9-B, on voit que les conditions suivantes sont maintenant rem-35 plies : (1) Le registre MLN1 ("décodage" I) contient la valeur de longueur de ligne pour le vecteur de modification (MLÎÎ1 =7); -198- 2334148 (2) le registre MLN2 ("décodage" II) contient la valeur de longueur de ligne pour le vecteur de modification (MLN2 = 7); (3) le registre DELI ("delta") contient le numéro de ligne de la valeur de ligne de raccourci (DELI = 6); 5 (4) la bascule CNG ("raccourcissement") est à 1; (5) les bascules S31 et S23 ("matrice de commutateurs") sont à 1î (6) la zone 1 du module "mémoire" contient le signal de valeur de ligne de modification (zone 1 du module "mémoire = 10 1,3,6,8,9,11,12); (7) la zone 2 du module "mémoire" contient le signal de valeur de ligne de raccourci (zone 2 du module "mémoire" » 0, 6, 12) ; (8) le registre CLINE ("modification") contient le numéro de 15 ligne de la valeur de ligne de raccourci "CLINE = 6); (9) le registre CLN ("modification") contient la valeur de longueur de ligne du raccourci (CLN = 2); (10)le module "permutation" a été appelé. A la suite de cet appel, le module "permutation" forme 20 un signal vrai à la sortie EM8, ce qui indique que la "matrice de commutateurs" a reçu des impulsions d'horloge. Etant donné que les bascules S31 et S23 de la "matrice de commutateurs" ont été actionnées précédemment, il en résulte un actionnement correspondant des bascules S11, S21 et S33 de la "matrice de 25 commutateurs". En conséquence, les modules "décodage" I e£ II lisent dans la zone 1 du module "mémoire" et le module "codage" écrit dans la zone 3 du module "mémoire". Le signal vrai à la sortie EM8 du module "permutation" met à 1 les bascules S11, S12 et S33 de la "matrice de commutateurs". En outre, l'entrée 30 SM5 du module "permutation" eèt "fausse", ce qui indique que la valeur de ligne actuelle présente dans la zone 1 du module "mémoire" ne doit pas être conservée en tant que raccourci possible. Le signal à la sortie BM12 du module "permutation" provoque la remise à 0 de la bascule SP dans la "matrice de commutateurs". 35 En conséquence, lapremière boucle du module "permutation", provoque une permutation vers le bas du vecteur de modification de quatre lignes jusqu'à la ligne 4 de son iso-entropicogramme et la valeur de ligne permutée du vecteur de modification est -199- 2334148 maintenant stockée dans la zone 3 du module "mémoire" comme spécifié par l'état 1 de la bascule S33- Par suite, la valeur de ligne permutée stockée dans la zone 3 du module "mémoire" contient maintenant les valeurs absolues 1,2, 5» 7» 9» 11» 12, 5 15 et la valeur de ligne 4- est stockée. A ce stade, le registre MLN3 du module "codage" contient la valeur de longueur relative à la valeur de ligne de modification permutée maintenant stockée dans la zone 3 du module "mémoire" (c'est-à-dire une longueur de 8) le module 10 "permutation" forme alors des signaux vrais aux sorties BM14- et RM10, ce qui provoque une autorisation de transmission de la valeur de longueur contenue dans MLN3 du module "codage" à l'entrée des registres MLN1 et MLN2 des modules "décodage" I et II et le stockage de cette valeur de longueur. 15 Le module "permutation" attaque alors une seconde bou cle (première itération) de son organigramme. A ce stade, les bascules S33 et S21 de la "matrice de commutateurs" sont à l'état "1"; en conséquence, lorsque le module "permutation" forme un signal vrai à sa sortie EM8, il provoque la mise à 1 20 des bascules S13» S23 et S31 de la "matrice de commutateurs". Les états "1" de ces bascules provoquent une lecture par les deux modules "décodage" I et II de la valeur de ligne de modification permutée contenue dans la zone 3 du module "mémoire" et l'écriture par le module "codage" de la valeur dé 25 ligne permutée résultante dans la zone 1 du module "mémoire". Il y a lieu de noter soigneusement, dans cette conjoncture, que, bien qu'une lecture et une écriture se produisent dans les zones 3 et 1 du module "mémoire", la zone 2 de celui-ci contient la valeur de ligne de raccourci originale qui resté 30 dans cette zone sans être modifiée à ce stade. Uh signal vrai est ensuite formé à la sortie EM12 du module "permutation", ce qui provoque la remise à 0 de la bascule SP de la "matrice de commutateurs". Le module "permutation" permute alors la valeur de ligne de modification permutée 35 (c'est-à-dire 1, 2, 5» 7» 9» 11» 12, 15) vers le bas de deux lignes à partir de la ligne 4- de 1'iso-entropicogramme jusqu'à sa ligne 6 et le module "codage" écrit la nouvelle valeur de ligne de modification permutée dans la zone 1 du module "mé -200- 2334148 moire". En conséquence, à ce stade (c'est-à-dire à la fin de cette seconde boucle du module "permutation") la zone 1 du module "mémoire" contient la valeur de ligne de modification permutée 1, 6, 12 (voir h. de la table 9-A). En outre, la va-5 leur de longueur correspondant à la nouvelle valeur de ligne de modification permutée est contenue dans le registre MLN3 du module "codage". Ensuite, le module "permutation" forme un signal vrai aux sorties EM14 et EH10, ce qui provoque le stockage de la valeur, à partir du registre MLN3 dans les registres 10 MLN1 et MT.N2 des modules "décodage" I et II. Le module delta" a maintenant fourni toutes les puissances de 2 composantes du nombre total de lignes à permuter pour ce qui concerne la ligne de modification et, par conséquent, le module "permutation" achève ses opérations et forme 15 un signal faux à sa sortie REVEND. Ceci rend "fausse" la logique Pl. REVEND de la logique de suspension d'horloge 622, ce qui provoque une nouvelle formation par la commande d'horloge 700 d'impulsions en CLK et CLK. Le signal vrai suivant à la sortie CLK remet à 0 la 20 bascule P9 et met à 1 la bascule P2 dans le compteur de commande 613 en formant ainsi un signal vrai à la sortie P2. Le signal vrai à la sortie P2 provoque la génération d'un signal vrai à la sortie CM2 du module "modification", ce qui provoque le transfert de la longueur (2) de la valeur de 25 ligne de raccourci contenue dans le registre CLN à l'entrée 2 de MLN2 du module "décodage" II. Le signal vrai en P2 provoque également la transmission d'un signal vrai de la sortie CM1 à la "matrice de commutateurs", ce qui inhibe toute entrée des bascules S21, S22 ou 30 S23. lorsque l'impulsion est formée à la sortie CLK, la logique P2.CLK devient "vraie", ce qui provoque la génération d'un signal vrai aux sorties CM6 et CM8 du module "modification" . 35 Le signal vrai à la sortie CM8 provoque le chargement du registre MLN2 du module "décodage" II avec le contenu du registre CLN. En conséquence, la longueur 2 de la valeur de ligne de raccourci (contenue dans la zone 2 du module "mémoire") est stockée dans le registre MLN2 du module "décodage" II. -201- 23254148 Le signal vrai en CM6 provoque la suspension par la commande d'horloge 700 de l'horloge du module "modification". Il provoque en outre l'amorçage du monostable REVGO dans le module "permutation", ce qui déclenche le processus de permuta-5 tion. On remarquera que rien n'a été chargé dans DELI du module "delta". Il en résulte un "mélange" (opération XOR) par le module "permutation", de la valeur de ligne de raccourci et de la valeur de ligne de modification. 10 Le module "permutation" forme ùn signal vrai à la sor tie RM8 en provoquant ainsi la mise à 1 des bascules S11 et S33 dans la "matrice de commutateurs". En outre, la logique RM12.CM1 devient "vraie", ce qui provoque l'actionnement de la bascule S22 dans la "matrice de commutateurs". Ceci indique que 15 le module "décodage" I lira dans la zone 1 du module "mémoire", que le module "décodage" II lira dans la zone 2 dû module "mémoire" et que le module "codage" écrira dans la zone 3 du module "mémoire". Après achèvement de l'opération de mélange, le module 20 "permutation" forme un signal faux à la sortie REVEND, ce qui rend "fausse" la logique P2.RETEND.CLK qui, à son tour, provoque une nouvelle formation d'impulsions par la commande d'horloge 700 aux sorties CLK et CLK. Le signal vrai suivant à la sortie CLK remet à 0 la 25 bascule P2 et met à 1 la bascule P3 du compteur de commande 613 en formant ainsi un signal vrai à la sortie P3. Lorsque l'impulsion est formée à la sortie CLK, la logique P3.CLK devient vraie, ce qui provoque la formation d'un signal vrai à la sortie CM2 du module "modification". Le signal 30 vrai à la sortie CM2 met 1'univibrateur SMGO du module "raccourcissement" à 1 en appelant ainsi l'intervention du module "raccourcissement". Le module "raccourcissement" commence alors ses opérations de localisation du raccourci de la manière précédemment décrite à propos de ce module. 35 A cet effet, le module "raccourcissement" provoque une permutation de la nouvelle valeur de ligne de raccourci contenue dans la zone 3 du module "mémoire" à travers son iso-entropicogramme et localise le raccourci qui, dans le cas du mode de -2C2- 2334148 réalisation décrit, est la ligne provenant du module "décodage" qui comporte le plus petit nombre de mots. Le module "raccourcissement" provoque le rangement de la valeur de ligne de la valeur de raccourci dans le module "mémoire", dans la zone spécifiée 5 par OAR du module "raccourcissement". Au moment où le signal vrai est formé à la sortie CM2, la logique P3.SMEND.CLK devient "vraie", ce qui foime un signal vrai à l'entrée CS de la commande d'horloge 700, ce qui contraint celle-ci à interrompre la transmission de ses impulsions aux sorties CLK et CLK et à sus-10 pendre le fonctionnement du module "modification". Lorsque le module "raccourcissement" a achevé son opération de recherche de raccourci, son registre OAR identifie la zone du module "mémoire" qui contient la valeur de ligne du nouveau raccourci; son registre SLN contient la longueur de 15 cette valeur de ligne; son registre SLINE contient la valeur de numéro de ligne de cette valeur de ligne et son registre ONOC contient le nombre d'apparitions de cette valeur de ligne. Lorsque le module "raccourcissement" achève ses opérations, un signal vrai est formé à la sortie SMEND du module "raccour-20 cissement", ce qui provoque l'apparition d'un signal faux à la sortie SMEND. Ceci rend "fausse" la logique P3.SMEND.CLK et contraint la commande d'horloge 700 à commencer de former ses impulsions en CLK et CLK. L'impulsion sviivante en CLK remet à 0 la bascule P3 et 25 met à 1 la bascule P4- dans le compteur de commande 613* Le signal vrai à la sortie P4 provoque l'application d'un signal vrai à l'entrée HT de la commande - horloge 700 ce qui, comme décrit précédemment, actionne un univibrateur dans la commande - horloge généralisée 700, laquelle provoque 30 à son tour la formation de signaux vrais aux sorties MR et FC. Les signaux vrais à la sortie MR de la commande - horloge 700 provoquent la remise à 0 de toutes les bascules, y compris la bascule T4 du compteur de commande 613» le signal vrai à la sortie FC rend "vraie" la sortie CNGEND du module "modification" 35 et signale au module appelant que les opérations du module "modification" sont terminées. D. Exemple de fonctionnement Un exemple du fonctionnement du module "modification" -203- 2334148 dans le modificateur de ligne de raccourci va maintenant être donné en notation symbolique en utilisant l'exemple représenté dans les tables 9-A et 9-B. Les pavés correspondants de l'organigramme sont représentés le long du côté gauche. L'information d'entrée suivante est prévue : CLINE = 6 Numéro de ligne de la valeur de ligne de raccourci, Largeur de 1'iso-entropicogramme; Valeur de longueur de ligne pour le vecteur de modification; Valeur de longueur de ligne pour le raccourci; Numéro de ligne de la valeur de ligne pour le raccourci; Dans zone 1 du module "mémoire*; 1, 3j 6, 8, 9» 11» 12 où 6 et 12 sont des effacements ; les autres insertions; Dans zone 2 du module "mémoire"; 0, 6, 12; La séquence de commande est CB1-CB5; HW = 8 LN1 = 7 LN2 DELI = 6 Modifier valeur de ligne Valeur de ligne de raccourci CB1 initialiser CLINE = N° DB = 6 LIGNE CB2 CLN = LN2 DELI(6) = CLINE(6) appeler module "permutation" CB3 MLN2 CLN transmission rythmée de l'information convenable dans les registres appropriés; numéro ligne de raccourci; valeur longueur ligne de raccourci; transférer nombre de lignes à permuter dans module "delta" : permuter vecteur de modification vers le bas jusqu'au même numéro de ligne que la ligne de raccourci; charger registre de longueur avec valeur de longueur de ligne du raccourci; régler module "décodage" II sur lecture zone 2 du module "mémoire"; Bloquer module "décodage" II CB4- appeler module "permutation" la valeur de la ligne de modification et la valeur de la ligne de raccourci sont soumises à une opération XOE avec un résultat tel qu'indiqué en h dans la -204— 2334148 table 9-A; DB5 SMLI = CLINE transmission rythmée valeur numéro de CNG = 1 ligne dans SMLI du module "raccour cissement", bascule CNG actionnée; 5 appeler module "raccour- le nouveau raccourci est localisé; prise dans module "raccourcissement" SLINE = 5 (numéro ligne de raccourci) OAR = zone du module "mémoire" qui contient le raccourci SLN = 1 (valeur longueur ligne de raccourci) ONOC = 1 (nombre d'apparitions dans valeur ligne de raccourci) 15 XI. MODIFICATEUR DE LIGNE DE RACCOURCI D'après la description ci-dessus du module "modification", on comprendra aisément que les modules "codage", "décodage" I et II, "permutation", "delta" et "raccourcissement" représentés sur la Fig. 26, en association avec le module 20 "mémoire" et la "matrice de commutateurs" (non représentée) forment un "modificateur de ligne de raccourci" qui permet de modifier un raccourci sans le repermuter jusqu'à la ligne zéro ou ligne d'entrée de 1'iso-entropicogramme correspondant. Le modificateur de ligne de raccourci forme un système de traite-25 ment de données électronique capable de modifier un signal de valeur d'apparition tel qu'un raccourci en utilisant un signal de valeur de modification tel qu'un vecteur de modification. Les signaux de valeur d'apparition et de valeur de modification précités représentent chacun une valeur d'apparition effective 30 faisant partie d'un groupe de valeurs d'apparition possibles, les valeurs d'apparition possibles et les valeurs d'apparition effectives étant classées ensemble dans un ordre de grandeur monotone, de préférence décroissant, comme représenté dans les tables 1 et 2. Des moyens tels que la zone 1 du module "mémoire" 35 sont prévus pour stocker le signal de valeur d'apparition qui doit être modifié. Des moyens tels que le registre CLINE du module "modification" sont prévus pour stocker un signal de numéro de ligne en association avec le signal de valeur d'appacissement*1 ARRET Information de sortie . 10 2334148 rition déjà stocké. Le signal de numéro de ligne stocké dans le registre CLINE spécifie le numéro de la ligne de la valeur de ligne du raccourci. Des moyens tels que la zone 2 du module "mémoire" stockent le signal d'apparition de modification 5 (c'est-à-dire le vecteur de modification) qui spécifie les modifications des valetirs du signal de valeur d'apparition stocké. Des moyens tels que le "permutateur" représenté sur la Fig. 19 constituent un dispositif capable de répondre au signal de valeur d'apparition de modification en formant sélectivement, 10 pour chacun des différents signaux de valeur de modification, l'un quelconque d'un jeu de signaux équivalents, ce jeu incluant ledit signal de valeur d'apparition. Chaque signal équivalent de chaque jeu est unique en son genre ou "univoque" et est mis en relation avec un autre par une opération "OU exclusif" effec-15 tuée entre les valeurs de ces deux signaux et ces mêmes valeurs après décalage relatif. Dans les moyens précédemment mentionnés sont inclus des moyens permettant de former l'un quelconque des signaux équivalents d'un jeu, comme spécifié par un signal de nombre de lignes reçu. Des moyens tels que les modules "rac-20 courcissement" et "delta" répondent au signal de numéro de ligne stocké en appliquant un signal de nombre de lignes aux moyens de formation de signaux éqtiivalents. On se souvient, à propos du module "delta", de ce que celui-ci forme un signal de nombre de lignes sous la forme de puissances de 2 compo-25 santés du nombre total de lignes à permuter. Sont en outre inclus des moyens tels que le "permutateur" pour soumettre à une opération" OU exclusif" les valeurs représentées par un signal équivalent et par le signal de valeur d'apparition de manière à former ainsi le signal de valeur 30 d'apparition modifié. XII. COMMANDE - HORLOGE GENERALISEE Des circuits de commande "horloge individualisée" ont été mentionnés à propos des modules"codage", "décodage" I, "décodage" II, "permutation", "delta" et "raccourcissement" 35 précédemment décrits. Toutefois, il est à noter qu'un circuit de commande - horloge généralisée peut être utilisé. En conséquence, pour ce qui concerne le module "modification" qui vient d'être décrit et d'autres modules qui seront décrits plus loin -206- 2334148 conjointement au système DPM, une commande - horloge généralisée 700 représentée sur la Pig. 27 est utilisée. Pour entrer dans les détails, le circuit de commande -horloge généralisée 700 comprend des multivibrateurs mono-5 stables 702 et 704, une bascule 708, des portes OU 712 et 714, une porte ET 718 et des inverseurs de signal logiques 720 et 722, tous des mêmes types que ceux qui ont été décrits à propos du module "codage". Une source d'impulsions d'horloge à récurrence régulière 701 applique des impulsions d'horloge à l'une des 10 entrées de la porte ET 718. La commande - horloge 700 comporte des circuits d'entrée IN, CS, IP et MP et des sorties MR, CLE, CLK et FC. Des modules qui seront décrits plus loin ne comportent une représentation de la commande - horloge 700 que sous forme symbolique avec les circuits d'entrée et de sortie pré-15 cédemment mentionnés. Les univibrateurs 702 et 701 sont du même type que celui qui a été décrit pour le module "codage" et, en réponse à un signal vrai à leur entrée de gauche, ils sont "déclenchés", c'est-à-dire mis à l'état 1 dans lequel un signal vrai est 20 formé à la sortie indiquée sur leur côté droit. L'univibrateur reste à 1 pendant un intervalle de temps égal à celui qui s'écoule entre les débuts respectifs d'impulsions d'horloge successives provenant de la source de signaux d'horloge 701, puis revient automatiquement à 0, état dans lequel un signal faux 25 est formé à la sortie correspondante. La bascule 708 est une bascule classique du type déjà • décrit ci-dessus à propos du module "codage". L'entrée de 1'univibrateur 702 est connectée à l'entrée IN qui est celle qui reçoit un signal vrai chaque fois que le module correspon-30 dant est appelé. Un signal vrai à l'entrée IN met 1'univibrateur à 1, ce qui commute sa sortie d'un signal faux à un signal vrai. La porte OU 712 comporte également des entrées connectées à la sortie de 1'univibrateur 704 et à l'entrée IP. L'entrée IP est celle qui reçoit un signal vrai chaque fois qu'on désire re-35 mettre à zéro le compteur de commande dans le module correspondant. En outre, 1'univibrateur 704 a son entrée connectée à l'entrée MT de la commande - horloge 700. L'entrée MT reçoit des signaux vrais chaque fois que le module correspondant a -207- 2334148 achevé sa fonction. En conséquence, un signal vrai à l'entrée MT provoque la mise à 1 de 1'univibrateur 704, ce qui provoque à son tour l'application d'un signal vrai à la sortie FC en indiquant ainsi que la fonction du module correspondant est 5 achevée. Le signal vrai en FC est également appliqué à la porte OU 7^2. Chaque fois que l'une quelconque des entrées de la porte OU 712 reçoit un signal vrai, un signal vrai est formé à la sortie MR. La sortie ME est connectée au compteur de commande du module correspondant et remet à 0 chacune de 10 ses bascules lors de l'application d'unéignal vrai. La porte ET 718 est connectée à la sortie CLK et, par l'intermédiaire de l'inverseur de signal logique 722, à la sortie CLK de la commande - horloge 700. La porte 718 est une porte ET dont l'une des entrées est connectée, par l'intermé-15 diaire de l'inverseur de signal logique 720, à l'entrée CS, dont une seconde entrée est connectée à la sortie non surlignée de la bascule 708 et dont une troisième entrée est connectée à l'horloge 701. L'entrée CS est celle qui reçoit des signaux vrais de la logique de suspension d'horloge du module correspon-20 dant. La bascule 708 est mise à 1, ce qui provoque l'application d'un signal vrai à la porte 718 chaque fois qu'un signal vrai est formé, soit dans le circuit de remise à zéro du compteur de commande IP, soit à l'entrée de fin de fonction MT. En conséquence, la porte ET 718 provoque la formation d'impulsions 25 d'horloge vraies aux sorties CLK et CLK chaque fois que l'entrée CS est "fausse" (en raison d'une condition" faux" de la logique de suspension d'horloge correspondante) et, que la bascule 708 a été mise à 1 simultanément à l'apparition d'une impulsion en provenance de l'horloge 701* L'inverseur de signal logique 722 30 inverse les signaux d'horloge en CLK tout en formant ainsi leur complément à la sortie CLK. XIII. MODULE "SOBTIE" A. Description générale Le module "sortie" fonctionne conjointement à d'autres 35 parties du système DPM représenté dans son ensemble sur la Fig. 34 pour assurer deux fonctions. La première de ces fonctions consiste à assurer une opération de simple recouvrement ou déconcentration au cours de laquelle un vecteur d'apparition -208- 2334148 d'événement qui-est représenté par l'une des lignes autres que la ligne d'entrée (généralement le raccourci) est repermutée jusqu'à la ligne d'entrée de son iso-entropicogramme. La seconde fonction a été dénommée ici "fonction DEL" et provoque 5 un contrôle destiné à déterminer si un vecteur d'apparition d'événement représenté par une ligne (autre que la ligne d'entrée), dite ci-aprè-s ligne "non d'entrée" (généralement un raccourci) contient des valeurs d'apparition effectives particulières si l'on remonte à la ligne d'entrée de son iso-10 entropieogramme. A noter que la seconde fonction s'effectue sans repermutation effective de la ligne "non d'entrée" jusqu'à la ligne d'entrée de son iso-entropicogramme. Dans ses grandes lignes, le fonctionnement du module "sortie" en ce qui concerne sa fonction de recouvrement ou de 15 déconcentration est le suivant : un vecteur d'apparition d'événement, à l'une des "lignes non d'entrée" de son iso-entropicogramme (généralement le raccourci), est représenté par un signal de valeur de ligne et par un signal de numéro de ligne. Le module "sortië" détermine la différence entre la va-20 leur du signal de numéro de ligne et la largeur de 1'iso-entropicogramme. Cette différence identifie donc le nombre de lignes dont il est nécessaire de repermuter le signal de valeur de ligne jusqu'à la ligne d'entrée de son iso-entropicogramme. Ladite différence est ensuite transmise au module "delta" qui 25 foime des signaux représentant ses puissances de 2 composantes en commençant par la plus grande (comme décrit précédemment). Le module "permutation" provoque alors une repermutation du signal de valeur de ligne dans son iso-entropicogramme à raison du nombre spécifié de lignes jusqu'à la ligne d'entrée dudit 30 iso-entropicogramme. On va maintenant examiner le fonctionnement en ce qui concerne la fonction DEL. Une ligne de référence (sous la forme codée hybride) est stockée dans le module "mémoire" et représente une ou plusieurs valeurs de test. Chaque valeur de test 35 identifie une valeur d'apparition effective dont la présence doit être contrôlée dans une ligne d'un iso-entropicogramme. Toutefois, la ligne donnée à laquelle le test doit être appliqué est l'une des lignes "non d'entrée" de son iso-entropicogramme ~209" 2334148 (généralement le raccourci). En outre, la présence d'une valeur d'apparition est désirable sur la ligne d'entrée et non sur une ligne "non d'entrée". La fonction DEL permet de déterminer la présence d'une valeur d'apparition, sur la ligne d'entrée, sans 5 repermuter effectivement une ligne donnée (généralement le raccourci) de sa ligne "non d'entrée" à sa ligne d'entrée. La ligne donnée (généralement un raccourci) est représentée sur sa "ligne* non d'entrée " par un signal de valeur de ligne et par un signal de numéro de ligne. Le module "sortie" "10 utilise le même "matériel" et le même procédé que ceux qui ont été décrits pour ce qui concerne l'information de sortie normale .et trouve la différence entre les valeurs du signal de numéro de ligne et de la largeur de 1'iso-entropicogramme. Le module "delta".détermine alors les puissances entières de 2 de la 15 différence en commençant par la plus grande. Cette puissance entière de 2 la plus grande est préservée et le signal de valeur de ligne est permuté du nombre de lignes spécifié par la ou les autres puissances entières de 2 pour former un signal de valeur de ligne permuté afin de déterminer si la valeur d'appa-20 rition identifiée par le signal de test est présente. Le signal permuté est examiné et une information relative à la présence éventuelle d'une valeur d'apparition égale à la valeur de ligne est soumise à une opération "OU exclusif" avec une information relative à la présence éventuelle d'une valeur d'apparition 25 déplacée par rapport à celle qui fait 1'objet du test dans une mesure égale à la valeur du signal préservé. Si l'une des valeurs d'apparition en question existe dans le signal permuté, alors on en déduit que la valeur d'apparition effective soumise au test existe sur la ligne d'entrée. Le contrôle et l'o-30 pération "OU exclusif" s'effectuent en formant une valeur codée absolue présentant chaque valeur d'apparition effective du signal de valeur de ligne permuté, de la plus grande à la plus petite, jusqu'à ce qu'on en trouve une égale ou inférieure à la grandeur de la valeur d'apparition faisant l'objet du test. 35 Dans le premier cas (égalité) un signal représentant un "1" est stocké dans une bascule, sinon un "0" est stocké. La valeur d'apparition faisant l'objet du test est ensuite décrémentée dans une mesure égale au signal de "plus grande puissance de -210- 2334148 2 composante" qui a été préservé. Les valeurs codées absolues représentant les valeurs d'apparition effectives de la ligne permutée continuent ensuite d'être formées en commençant par la suivante dans l'ordre, jusqu'à ce qu'on en trouve une dont 5 la grandeur est égale ou inférieure à celle de la valeur d'apparition à l'essai décrémentée. Dans le premier cas (égalité) le signal "1" ou "0" précédemment stocké dans une bascule est complémenté. Sinon, ce signal reste inchangé. Si le résultat de cette complémentation est un "1", on en déduit que la valeur 10 d'apparition effective à l'essai existe sur cette ligne d'entrée. Si le résultat est "0', c'est que la valeur d'apparition effective à l'essai n'existe pas sur la ligne d'entrée. B. Composants Les Fig. 28 à 31 représentent un schéma de câblage en 15 partie symbolique du module "sortie". Dans celui-ci sont inclus les registres OHW, 0R1, 0RT1, OLINE, 0R2, ORSN, 0RT2, 0RT3, OLN et OAR, qui sont tous des registres à huit bits ou huit bascules du type SN74-100 décrit ci-dessus à propos du module "codage". La seule exception au point de vue dimensionnellement 20 est le registre OAR qui comprend deux "bits" ou bascules de stockage. Sont également inclus des circuits de sélection DS3, DS6 et DS7. Ce sont des circuits de sélection classiques du type indiqué précédemment dans le chapitre I.F "Conventions 25 et composants utilisés sur les figures", et qui fonctionnent de la manière décrite dans ce chapitre. Sont également inclus des commutateurs 810 et 812, qui sont des commutateurs mécaniques classiques ou des circuits équivalents qui forment un signal codé de 2 bits à leurs sorties 30 respectives pour représenter un "1" et un "3 codés binaires, respectivement. Sont également incluses des: bascules DELOP, SS, SW et P1-P10. Les bascules P1-P10 font partie du compteur de commande 813 associé au module "sortie". Ces bascules sont du même type 35 et ont les mêmes caractéristiques que celles qui ont été décrites précédemment dans le chapitre I.F. Le module "sortie" comprend une unité arithmétique ALU du même type que celle qui a été décrite précédemment dans le -211- 2334148 chapitre I.B. Le module "sortie" comporte en outre une porte ET 802, une porte "OIT exclusif" 804 et, une porte OU conventionnelle -805. Il est bon de rappeler ici qu'une porte "OU exclusif" est 5 une porte qui forme un signal vrai à sa sortie chaque fois qu'un signal vrai est formé à l'une seulement de ses deux entrées, mais non à ses deux entrées simultanément. Le module "sortie" contient une commande - horloge généralisée 700. La commande - horloge généralisée a été dé-10 crite ci-dessus de façon détaillée dans le chapitre X. COMMANDE - HOBLOGE GENERALISEE Comme le module "codage", le module "sortie" comporte des moyens de transmission conditionnelle qui sont définis par une équation logique pour commander divers circuits d'entrée 15 et circuits de sortie du module "sortie". Parmi les portes logiques utilisées, est prévue une logique de suspension d'horloge 822 destinée à provoquer une "suspension" des signaux d'horloge formés par la commande - horloge 700. Les lignes de commande d'entrée et de sortie et les 20 entrées et sorties d'information du module "sortie" sont indiquées le long du côté droit des Fig. 30 et 31. La table 17» à la fin de la description, donne une liste des divers registres et bascules et indique la fonction générale de chacun d'eux dans le module "sortie". 25 C. Description détaillée On se référera principalement dans la discussion qui va suivre au schéma de câblage en partie symbolique du module "sortie" (Fig. 28, 31) et à son organigramme (Fig. 32). On va procéder tout d'abord à une description détaillée du module 30 "sortie" au cours de son fonctionnement sur le mode "sortie normale". L'opération "sortie normale" du module "sortie" est l'opération de recouvrement ou de déconcentration destinée à repermuter une ligne quelconque d'un iso-entropicogramme, de préférence la ligne de raccourci, jusqu'à la ligne 0 ou ligne d'entrée. 35 Initialement, un signal de commande est formé à la sor tie MINIT du "minicalculateur", ce qui provoque la remise à 0 des bascules suivantes : DELOP, OPSW et P1-P10. Le "minicalculateur" charge alors la zone 1 du module "mémoire" avec la valeur -212- 2334148 de ligne du raccourci qui doit être repermutée jusqu'à la ligne d'entrée de son iso-entropicogramme (ou ligne 0) cependant que le dispositif IPRF est chargé comme suit : avec la longueur de la valeur de ligne du raccourci; avec la largeur de 1'iso-entropicogramme pour le raccourci; avec le numéro de ligne de la valeur de ligne pour le raccourci. En outre, la bascule DELOP du module "jonction du sys-10 tème DPM" est mise à 0 pour indiquer une "sortie normale". Lorsqu'elle est à l'état "1", la bascule DELOP indique une fonction DEL. Etant donné que la bascule DELOP du module "jonction du système DPM" est à l'état 0, un signal faux est formé à la 15 sortie "actionnement DELOP" et, par conséquent, la bascule DELOP du module "sortie" reste à l'état 0. Le fait que la bascule DELOP est à l'état 0 indique une opération "sortie normale". On remarquera que le circuit de commande "horloge généralisée" 700 a son entrée IP connectée à la sortie MIEIÏ 20 est capable, en réponse au signal vrai en MINIT. de former un signal vrai à la sortie MR, signal qui, à son tour, remet à 0 les bascules P1-P10. A l'intérieur du module "sortie", le signal vrai en PI provoque la mise à 0 du registre ORSN. Le signal vrai à la sor-25 tie CLK rend "vraie" la logique PI .CLK, ce qui provoque le stockage par le registre OLINE du "n° de ligne" (il s'agit du numéro de ligne provenant du dispositif IPRF). Ensuite, le signal vrai à la sortie CLK rend "vraie" la logique Pl.CLK, ce qui provoque ce qui suit : dans le module "sortie", le registre 50 OHW stocke la largeur de 1'iso-entropicogramme fournie par HW du dispositif IPRF; un signal vrai apparaît à la sortie 0M1; de plus, le registre GRT5 stocke éventuellement la valeur de longueur de ligne du vecteur de modification provenant du registre LH2 du dispositif IPRF. On remarquera que la longueur 55 de la ligne de référence provenant de LN2 n'est intéressante que pendant la fonction d'opérateur DEL qui sera décrite plus loin de façon plus détaillée. LN1 HW N° DE LIGNE -213- 2334148 Le signal vrai à la sortie 0M1 provoque le stockage par les registres MLN1 et MLN2 des modules "décodage" I et II de la valeur de longueur de ligne pour le raccourci, à partir du registre LN1 du dispositif IPRF et provoque en outre le 5 stockage par les registres EBL, ETL et EIR, respectivement, des valeurs provenant des registres BL, TL et IR, respectivement, du dispositif IPEP. Les pas 0B3-0B6 de l'organigramme du module "sortie" permutent la valeur de ligne contenue dans la zone 1 du module 10 "mémoire" à travers son iso-entropicogramme correspondant jusqu'à la ligne d'entrée ou ligne 0. La permutation s'effectue en deux opérations pour faciliter l'exécution de la fonction DEL et pour permettre 1'écrêtage, comme décrit plus loin de façon plus détaillée après la fin de la description de la fonction 15 "sortie normale". Le nombre de lignes dont la valeur de ligne doit être permutée pour atteindre la ligne d'entrée est égal à la différence entre la largeur de 1'iso-entropicogramme contenue dans GHW et le numéro de ligne de la valeur de ligne contenu dans OLINE. Cette valeur est calculée pendant 0B3. En utilisant 20 le module "delta", on détermine la plus grande puissance de 2 composante de cette différence et on la stocke dans le registre ORSN pendant 0B5, les autres puissances de 2 composantes étant représentées par la valeur qui reste dans DELI du module "delta". Il est rappelé qu'une permutation d'un nombre de lignes 25 égal à toutes les puissances de 2 composantes doit être effectuée avant que la ligne d'entrée soit atteinte» Toutefois, tou- 1 jours pour faciliter l'exécution de la fonction DEL, le module "sortie" provoque tout d'abord une permutation par le module "permutation" de la valeur de ligne à travers les lignes restant 30 à permuter désignées par la valeur qui reste dans DELI du module "delta" (0B5) et, ultérieurement, 0B8 permute la valeur de ligne permutée d'un nombre de lignes égal à la plus grande puissance de 2 composante. On va revenir maintenant au fonctionnement effectif. 35 Les pas 0B3-0B6 de l'organigramme du module "sortie" sont utilisés pour permuter la valeur de ligne contenue dans la zone 1 du module "mémoire" vers la ligne d'entrée de son iso-entropicogramme et pour déterminer la plus grande puissance de -214- 2334148 2 composante en vue de son stockage dans le registre ORSN pour permettre son utilisation au cours de la fonction BEL. Le pas 0B2 de 1 'organigramme du module "sortie" est utilisé pour contrôler le contenu du registre OLINE afin de déterminer s'il 5 est égal à 0. Le registre OLINE contient le numéro de ligne de la valeur de ligne stockée dans le module "mémoire". Si le numéro de ligne est 0, il n'est pas nécessaire de permuter la valeur de ligne étant donné qu'elle correspond déjà à la rangée d'entrée. En conséquence, les pas 0B3-0B6 peuvent être sautés. 10 Dans ces conditions, si le contenu de OLINE est 0, un signal vrai est formé à la sortie OLo du registre OLINE. En outre, la fonction DEL n'est pas exécutée et la bascule DELOP est à 0, de sorte qu'un signal est formé à la sortie DELOP. La logique PI.OLo.lJELOP devient vraie et l'impulsion suivante en CLK remet 15 la bascule P2 à 0 et la bascule P10 à 1, ce qui provoque le passage de la commande en 0B7 de l'organigramme du module "sortie", en sautant ainsi les pas de permutation 0B3 à 0B6. Toutefois, on va revenir maintenant au pas 0B2 et supposer que la valeur de ligne n'est pas 0 et que, par conséquent, 20 le registre OLIHE ne contient pas un numéro de ligne "0", de sorte que OLo est vraie. Le signal vrai en CLK est formé pendant qu'un signal vrai est également formé à la sortie Pl. Un signal vrai est formé à la sortie OLo du registre OLINE, (ce qui indique que son contenu est 0) et la logique P1.OLo est vraie; 25 l'impulsion en CLK remet par conséquent la bascule P1 à 0 et met la bascule P2 à 1. A ce stade, le module "sortie" forme un signal vrai à la sortie P2 et le pas 0B3 de l'organigramme du module "sortie" est attaqué. Comme décrit précédemment, les pas OB3-OB6 sont 30 utilisés pour permuter partiellement la valeur de ligne du raccourci vers la ligne 0 ou ligne d'entrée de son iso-entropicogramme. Au cours de 0B3, la différence entre le numéro de ligne de raccourci contenu dans le registre OLINE et la largeur de 1'iso-entropicogramme contenue dans le registre OHW est calcu-35 lée. Cette différence représente le nombre effectif de lignes dont la valeur de ligne de raccourci contenue dans la zone 1 du module "mémoire" doit être permutée pour obtenir sa ligne d'entrée. En conséquence, dans le module "sortie", le signal vrai à -215- 2334148 la sortie P2 provoque le transfert, par les circuits de sélection DS4 et DS5, des contenus des registres OHW et OLINE à l'unité ALU et l'apparition d'un signal vrai à l'entrée S de l'unité ALU. L'unité ALU forme un signal à sa sortie OP, signal 5 qui représente la différence entre la largeur de 1'iso-entropicogramme et le numéro de ligne de raccourci, respectivement contenus dans les registres OHW et OLINE. Le signal vrai en P2 provoque en outre le transfert par le circuit de sélection DS6 à sa propre sortie du signalée différence provenant de la sor-10 tie OP de l'unité ALU. Le signal vrai à la sortie P2 provoque également l'apparition d'un signal vrai à la sortie 0M2 du module "sortie". Le signal vrai en 0M2 provoque le couplage de la sortie du circuit de sélection DS6, dans le module "delta" par l'intermédiaire du circuit de sélection DELS avec le re-15 gistre DELI. Le signal vrai en CLK provoque la formation de signaux vrais aux sorties 0M3 et 0M4 du module "sortie". Le signal-vrai à la sortie 0M4 provoque le stockage par le registre DELI de la valeur de différence provenant du circuit de sélection DS6 du module "sortie" dans son registre à décalage 302. 20 Le signal en GM3 appelle le module "delta" en déclen chant le multivibrateur DELGO. Le module "delta" calcule alors la plus grande puissance de 2 composante- de la valeur de différence (OHW-OLINE) et la forme dans son registre DELO de la manière décrite à propos du module "delta". 25 Avant que le module "delta" achève ses opérations, il forme un signal vrai à la sortie DELMEND. Le signal vrai à la sortie P2, conjointement aux signaux vrais aux sorties DELMEND et CLK, rend vraie la logique P2.DELMEND.CLK dans la logique de suspension d'horloge 822. Ceci provoque le passage à l'état 30 vrai de l'entrée CS de la commande de rythme ou horloge 700 et, par conséquent, la suspension des impulsions aux sorties CLK et CLK. Le module "delta" continue, comme décrit précédemment, à déterminer la plus grande puissance de 2 composante de la valeur de différence stockée dans le registre DELI et lorsque 35 cette détermination est achevée, la commande est repassée au module "s ortie". Lorsque le module "delta" a terminé, la commande est repassée au module "sortie" par le module "delta" par formation -216- 2334148 d'un signal vrai à la sortie DET4EEND et, par conséquent, d'un signal faux à la sortie DELMEND. Le signal faux à la sortie DELMEND provoque la formation par la logique de suspension d'horloge 822 d'un signal faux à l'entrée CS de l'horloge 700 5 et ce signal faux provoque à son tour la formationd'impulsions d'horloge aux sorties CLK et CLK. La première impulsion en CLK provoque la remise à 0 de la bascule P2 et la mise à 1 de la bascule P3. A ce stade, le pas 0B5 de l'organigramme du module 10 "sortie" est attaqué, la sortie P3 étant vraie. Le signal vrai en P3 provoque le stockage par le registre ORSN de la plus grande puissance de 2 composante provenant du registre DELO du module "delta". Le pas 0B6 de l'organigramme du module "sortie" est maintenant attaqué. Après, la formation de toutes les puis-15 sances de 2 composantes, un signal vrai est formé à la sortie DELEND du module "delta". Le signal vrai formé à la sortie DELEND du module "delta" et le signal vrai formé à la sortie P3 de la bascule P3 (module "sortie") mettent à 1 la bascule DD du module "sortie". La logique P3.DELEND est vraie, ce qui 20 provoque la génération d'un signal vrai à la sortie 0M5, signal qui, à son tour déclenche 1'univibrateur REVGO du module "permutation" en provoquant la permutation par celui-ci de la valeur de ligne contenue dans la zone 1 du module "mémoire" du nombre de lignes de son iso-entropicogramme spécifié par le signal de 25 lignes restant à permuter contenu dans le registre DELI du module "delta", après calcul de la plus grande puissance de 2 composante. Comme décrit précédemment, les lignes restant à permuter peuvent être représentées comme suit : largeur de 1*iso-entropicogramme (HW) - numéro de ligne (OLINE) - plus grande 30 puissance de 2 composante (ORSN). Au cours du fonctionnement du module "permutation", l'état vrai de la logique P3«RÎSVEND. 1535 provoque la formation par la logique de suspension d'horloge 822 d'un signal vrai à l'entrée CS de la commande de rythme, ce qui provoque l'inhibition par celle-ci des impulsions aux sorties 35 CLK et CLK. Enfin, lorsque le module "permutation" a terminé ses opérations, (c'est-à-dire a permuté la valeur de ligne d'un nombre de lignes égal à HW—OLINE-ORSN), le module "permutation" forme un signalfaux à la sortie REVEND, ce qui rend fausse la -217- 2334148 logique P3.REVEND.DD de la logique de suspension d'horloge 822 et ce qui autorise l'apparition d'impulsions d'horloge en CLE et CLK. En outre, la logique P3.DELOP est vraie, ce qui met la bascule P10 à l'état vrai et ce qui remet la bascule P3 à 0 5 lors de l'impulsion suivante en CLK. A ce stade, des signaux vrais sont formés à la sortie P10 et le pas 0B8 de 1'organigramme du module "sortie" est attaqué. Le signal vrai en PIO provoque la mise à 1 de la bascule OPSW pour indiquer qu'un écrêtage peut avoir lieu, si né-10 cessaire, dans le module "codage". Un "écrêtage" ne peut avoir lieu que pendant la production du vecteur d'apparition original et à aucun autre moment, sinon des erreurs pourraient se produire au cours de l'opération de permutation. Pendant la présence des signaux vrais en P10 et CLK, 15 des signaux vrais sont formés par la logique P10. (P1+P10)CLK, P10.CLK, et provoquent la génération de signaux vrais aux sorties 0M2, 0K4- et 0M5 du module "sortie". Le signal vrai en P10 provoque le transfert par le circuit de sélection DS6 de la plus grande puissance de 2 composante, du registre ORSN au 20 registre DELI du module "delta". Le signal vrai en 0M5 appelle le module "permutation"qui, à son tour, permute la valeur de ligne permutée contenue dans le module "mémoire" vers le bas du nombre de lignes restant, spécifié par la plus grande puissance de 2 composante stockée dans le registre DELI du module "delta". 25 L'état vrai de la logique P10.CLK.REVEND provoque l'inhibition par la logique de suspension d'horloge des impulsions d'horloge aux sorties CLK et CLK de l'horloge 700. Lorsque le module "permutation" achève ses opérations, le signal en REVEND devient faux et la logique de suspension d'horloge 822 30 provoque à nouveau la formation par l'horloge 700 d'impulsions en CLK et ÔLK. L'une des bascules S31, S33 cLe la ."matrice de commutateurs" est "vraie", ce qui indique la zone du module "mémoire" qui contient la valeur de ligne permutée et le circuit de sélection DS7 transmet le signal codé fourni par le 35 commutateur correspondant à l'entrée d'information du registre OAR. L'état vrai de la logique P10.REVEND provoque le stockage de ce signal dans le registre OAR, de façon qu'il identifie la zone du module "mémoire" qui contient la valeur de ligne permu -218- 2334148 tée. La valeur de ligne permutée est maintenant la ligne d'entrée de 1'iso-entropicogramme. On remarquera que le registre MLN3 du module "codage" contient maintenant la longueur de la valeur de ligne permutée. L'état vrai de la logique P10.REVEND 5 provoque en outre le stockage dans le registre OLN de la longueur de la valeur de ligne permutée à partir du registre MLN3 du module "codage". L'état vrai de la logique P10.REVEND provoque également l'application d'un signal vrai à l'entrée MT de l'horloge 10 700, signal qui provoque à son tour la génération d'une impulsion vraie à la sortie OUTEND et en M7, en signalant ainsi la fin des opérations du module "sortie", en interrompant la génération des impulsions d'horloge en CLK et CLK et en remettant à 0 le compteur de commande 813. 15 En gardant présente à l'esprit la description détail lée du mode de fonctionnement "sortie normale" du module "sortie", on va maintenant considérer la fonction DEL. Comme décrit précédemment, la fonction DEL est destinée à contrôler la présence d'une valeur d'apparition sur la ligne 20 d'entrée en utilisant l'une des lignes "non d'entrée" de l'iso-entropicograame. La séquence de fonctionnement nécessaire pour assurer la fonction DEL a été brièvement décrite dans le chapitre XI.-A ci-dessus. En outre, le "minicalculateur" charge la zone 1 du 25 module "mémoire" avec la valeur de ligne du raccourci "ligne "non d'entrée") et charge la zone 2 du module "mémoire" avec le vecteur de modification. Le vecteur de modification est sous la forme codée hybride et représente une ou plusieurs valeurs d'apparition identifiant chacune une valeur d'apparition de la 30 ligne d'entrée pour le raccourci, valeur d'apparition dont on désire vérifier la présence. En d'autres termes, si le vecteur de modification représente les valeurs d'apparition 2, 6 et 8, la présence de chacune de ces valeurs d'apparition, 2, 6 et 8 sur la ligne d'entrée du raccourci doit être vérifiée. La fonc-35 tion DEL permet d'effectuer cette opération de vérification sans repermuter la valeur de la ligne "non d'entrée" du raccourci jusqu'à la ligne d'entrée de 1'iso-entropicogramme. En outre, le dispositif IPRF est chargé comme suit : -219- 2334148 LN2 avec la valeur de la longueur de ligne du vecteur de modification; LN1 avec la valeur de la longueur de ligne du raccour ci; 5 HW avec la largeur de l'iso-entropicogramme pour le raccourci; N° DE LIGUE avec le numéro de ligne de la valeur de ligne pour le raccourci En outre, la "bascule DELOP du module "jonction du 10 système DPM" est mise à 1 pour indiquer l'exécution d'une fonction DEL. Ceci provoque la génération d'un signal vrai à la sortie "actionnement de DELOP" (SET DELOP) du module "jonction du système DPK", ce qui met la bascule DELOP à 1 pour indiquer que la fonction DEL doit être exécutée. 15 L'intervention du module "sortie" est alors appelée par le "minicalculateur" par formation d'un signal vrai en OÏÏTGO, ce qui déclenche l'horloge 700 en la contraignant à remettre à zéro le compteur de commande 813 et à.commencer de former des impulsions aux sorties CLK et CLK. Le fonctionne-20 ment pendant les pas 0B1 à 0B6 de l'organigramme du module "sortie" est identique à celui qui a été décrit ci-dessus en ce qui concerne le mode de fonctionnement "sortie normale" et ne sera pas à nouveau décrit ici. On supposera maintenant que le fonctionnement du module 25 "sortie" au cours de la fonction DEL a progressé jusqu'au pas 0B6 de l'organigramme du module "sortie" d'une manière analogue à celle qui a été décrite ci-dessus. A ce stade, les opérations suivantes ont eu lieu : la différence entre la largeur de l'iso-entropicogramme (OHW) et le numéro de ligne (OLIIîE) a été calcu-30 lée et transmise à DELI dans le module "delta" ; la plus grande puissance de 2 composante de cette différence a été déterminée par le module "delta" et- le résultat a été stocké dans le registre ORSN du module "sortie"; le module "permutation" a permuté vers le bas la valeur de ligne du raccourci, dans son iso-35 entropieogramme, d'un nombre de lignes égal au nombre de lignes restant après la plus grande puissance de 2 composante (par exemple, OHW-OLIHE-ORSN). En d'autres termes, la valeur de ligne de raccourci originale a maintenant été permutée à travers son -220- 2334148 iso-entropicogramme jusqu'à ce qu'elle se trouve à un nombre de lignes de la ligne d'entrée égal à la plus grande puissance de 2 composante contenue dans ORSN. Toutefois, contrairement à ce qui se passe lors de 5 l'opération effectuée au cours de la sortie normale, l'opération au cours de la fonction DEL entraîne l'état 1 de la bascule DELOP et, par conséquent, au cours de 0B7, lorsqu'un signal vrai est formé à la sortie P3 de la bascule P3 du compteur de commande 813, la logique P3.DELOP est vraie et l'impulsion 10 suivante en CLK remet à 0 la bascule P3 et met à 1 la bascule P4-. Le "minicalculateur" forme un signal vrai à la sortie OUTGO, ce qui provoque la génération d'un signal vrai à l'entrée IN de l'horloge 700. Ensuite, des impulsions sont formées 15 aux sorties CLK et CLK de l'horloge 700. Les sorties P1-P10 sont maintenant à l'état 0, ce qui rend vraie la logique PI +P2+P3+P4+P5+P6+P7+P8+P9+Ï>10. L'impulsion suivante en CLK met la bascule PI à l'état "1" en formant ainsi un signal vrai à la sortie P1. Le pas 0B1 de l'organi-20 gramme du module "sortie" est maintenant attaqué. Pendant 0B1, les modules "codage", "décodage11 I et II et "delta" et la "matrice de commutateurs" sont initialisés, ce qui assure une transmission conditionnelle d'information aux registres appropriés. A cet effet, le signal vrai à la sortie P1 provoque la 25 formation par le module "sortie" d'un signal vrai à la sortie 0M16. Le signal vrai à la sortie 0M16 provoque l'action suivante dans les modules "décodage" I et II : les portes 218 et 220 du module "décodage" I et un sélecteur de données DDS1 du module "décodage" II transfèrent la valeur de longueur du re-30 gistre LN2 du dispositif IPRP aux registres MLN1 et MLN2, respectivement; dans le module "codage", BL (limite inférieure) et TL (limite supérieure) du dispositif IPRP sont couplés par l'intermédiaire de leurs sélecteurs de données respectifs aux entrées des registres EBL et ETL. 35 La logique P1.CLK devient vraie, ce qui provoque la génération d'un signal vrai à la sortie CM1, signal qui, à son tour, initialise le module "delta" en actionnant BELFST. Un signal vrai en PI initialise également la "matrice de commutateurs". -221- 2334148 le pas 0B9 de 11 organigramme du. module "sortie" est maintenant attaqué et un signal vrai est formé à la sortie P4, ce qui provoque la génération de signaux vrais dans les circuits de sortie suivants du module "sortie" : GM6, 0M8, 0M21. 5 Le signal vrai à la sortie 0M6 provoque la génération d'un signal d'inhibition à partir de l'inverseur 1444 de la "matrice de commutateurs" tandis qu'un signal d'horloge est formé à la sortie 0M7 du module "sortie". Le but de ce signal d'inhibition sera expliqué en détails à propos de la "matrice de commuta-10 teurs". Toutefois, on peut mentionner dès maintenant en termes généraux que la valeur de ligne permutée actuelle est maintenant stockée, soit dans la zone 1, soit dans la zone 3, du module "mémoire" et doit maintenant être lue par le module "décodage" I pendant l'opération suivante du module "sortie". In 15 outre, la "matrice de commutateurs" reste actionnée, de sorte que le module "décodage" II relit le vecteur de modification dans la zone II du module "mémoire" et que le module "codage" écrit dans celle des zones 1 et 3 où la valeur de ligne permutée n'est pas stockée. En conséquence, le signal d'inhibition em-20 pêche le réglage de la "matrice de commutateurs" d'être modifié pour le module "décodage" II mais permet un tel changement de réglage pour les modules "décodage" I et "codage" au cours de l'impulsion d'horloge suivante apparaissant à la sortie OM? du module "sortie". 25 Les signaux vrais aux sorties 0M21 et 0M8 initialisent les modules "décodage" I et II en mettant leurs bascules D1FST et D2FST à l'état "1". En outre, le signal vrai en P4 met à 1 la bascule OPSW en indiquant ainsi que la fonction d'écrêtage peut maintenant être exécutée par le module "codage" et provoque 30 le transfert par le registre 0RT2 de la valeur de longueur, du registre HLE1 du module "décodage" I au registre 0RT2 du module "sortie". Le registre MLÎT1 du module "décodage" I contient maintenant la valeur de la longueur de la ligne permutée et cette valeur doit être préservée dans le registre 0RT2 pour permettre 35 nne relecture de cette valeur de ligne. L'impulsion suivante à la sortie CLK provoque la remise à 0 de la bascule P4 et la mise à 1 de la bascule P5» ce qui provoque l'attaque du pas 0B10 de l'organigramme du module "sortie". -222- 2334148 Pendant 0B10, un signal vrai est formé à la sortie P5 du compteur de commande 813. Le signal vrai à la sortie P5 provoque la génération d'un signal vrai à la sortie QM10 du module "sortie". Le signal vrai à la sortie 0M10 provoque la mise à 1 5 de la bascule S22 de la "matrice de commutateurs" en indiquant ainsi que le module "décodage" II doit lire dans la zone 2 du module "mémoire" (où est stocké le vecteur de modification) et contraint un circuit de sélection du module "décodage" II à permettre le transfert de la valeur de longueur de ligne rela-10 tive au vecteur de modification contenue dans le registre 0RT3 à l'entrée d'information du registre MLN2 du module "décodage" II. L'impulsion suivante à la sortie ÔL& rend vraie la logique P5.CLK et des signaux vrais sont formés aux sorties 15 0M11 et 0M20 du module "sortie". Le signal vrai à la sortie 0M11 appelle le module "décodage" II en actionnant son multivibrateur monostable D2G0 et provoque le stockage dans le registre MLN2 du module "décodage" II de la longueur de ligne de référence à partir du registre 0RT3. 20 Le signal vrai en P5 provoque également l'attaque du pas 0B11 de l'organigramme du module "sortie". C'est pendant ce pas que le module "décodage" II est appelé, ce qui provoque la génération de la première valeur d'apparition à partir du vecteur de modification. 25 La logique P5.D2END.CLK forme un signal vrai à l'entrée CS de la logique de suspension d'horloge 822 en provoquant ainsi la suspension des impulsions d'horloge par l'horloge 700. Une fois que le module "décodage" II a terminé son opération de lecture et de décodage de la première valeur d'apparition prove-30 nant du vecteur de modification, le signal vrai à la sortie •np-RTCT) du module "décodage" II devient faux, de sorte que la logique de suspension d'horloge 822 supprime son signal à l'entrée CS de l'horloge 700, ce qui permet à nouveau la formation d'impulsions d'horloge aux sorties CLK et CLK. 35 Si, au cotirs du fonctionnement du module "décodage" II, il s'avère que la dernière valeur d'apparition provenant du vecteur de modification a été précédemment lue et qu'aucune valeur d'apparition supplémentaire n'a pu être obtenue, le module "dé- -223- 2334148 codage" II met sa bascule E0F2 à 1, ce qui provoque la génération d'un signal vrai à la sortie EQF2. Le signal vrai en F? provoque la mise à 1 de la bascule P6 et la bascule P5 est remise à 0 à l'impulsion suivante en ÔLK, puis le pas OB27 est 5 attaqué. Pendant le pas 0B27 de l'organigramme du module "sortie", le signal vrai à la sortie P6, conjointement à des signaux vrais aux sorties E0F2 et OLE, rend vraie la logique P6.E0F2.CLE, ce qui détermine la formation d'un signal vrai à 10 la sortie 0M15» signal qui provoque à son tour 1'actionnement de 1'univibrateur ENGO en appelant ainsi l'intervention du module "codage". En outre, la logique P6.E0P2 est vraie, ce qui assure la formation d'un signal vrai à la sortie 0M18 en provoquant ainsi la mise à 1 de la bascule ELAST du module "codage", pour 15 indiquer qu'il s'agit du dernier appel de celui-ci et que la dernière entrée éventuelle de la ligne d'entrée doit être sortie par écriture dans une zone du module "mémoire" sous la forme codée hybride. Comme décrit plus loin de façon plus détaillée, les valeurs ainsi sorties par écriture sont sous la forme codée hy-20 bride et.représentent les valeurs. d'apparition, identifiées par le vecteur de modification, qui sont présentes sur la ligne d'entrée du raccourci. Pour poursuivre la description du fonctionnement, on peut mentionner maintenant que le signal vrai à la sortie P6 25 provoque la mise à 1 de la bascule P7 et que la bascule P6 est remise à 0 à l'impulsion suivante en ce qui détermine l'at taque du pas 0B29. Pendant le pas 0B29 de l'organigramme du module "sortie" les registres OAR et OLN contiennent des valeurs identifiant 30 la zone du module "mémoire" qui contient l'information de sortie finale et la longueur de cette zone et le fonctionnement du module "sortie est suspendu" c'est-à-dire momentanément interrompu. Toutefois, on va maintenant examiner le fonctionnement 35 en supposant que la dernière valeur d'apparition provenant de la ligne de référence n'a pas été lue et que le signal à la sortie E0P2 est vrai et l'on va décrire les opérations qui se produisent après 0B11, une fois que le module "décodage" II a été appelé, pour assurer l'obtention de la valeur d'apparition -224- 2334148 suivante à partir du vecteur de modification. Le signal vrai à la sortie P5 lors de l'impulsion en CLK qui suit la "suspension" (ou arrêt momentané) de l'horloge provoque la mise à 1 de la bascule P6 et la remise à 0 de bas-5 cule P5, ce qui fait passer la commande au pas 0B12. Le signal vrai à la sortie P6 provoque le transfert par le circuit de sélection DS3 de la valeur d'apparition (provenant du vecteur de modification) contenue dans le registre D02 du module "décodage" II à l'entrée d'information du registre 10 0R2 et provoque le stockage de cette valeur d'apparition dans le registre 0R2. En outre, le signal vrai en P6 provoque la mémorisation par le registre 0RÏ1 de la même valeur d'apparition. Le signal vrai à la sortie P6 provoque également la mise à 1 de la bascule SS et la remise à 0 de la bascule Sïï. La 15 bascule SS est mise à 1 et est ultérieurement remise à 0 pour indiquer que la première boucle à travers les cases 0B18 et 0B20 est sur le point d'être entreprise. Comme décrit plus loin, lors de l'exécution suivante des pas 0B18 et 0B20, la bascule SS sera à l'état 1. La bascule SW est utilisée pour indiquer si 20 une valeur d'apparition d'une grandeur correspondant à celle de la valeur d'apparition provenant du vecteur de modification est présente sur la ligne d'entrée correspondant à la ligne permutée. Comme décrit précédemment, une valeur d'apparition est présente sur la ligne d'entrée si la valeur de ligne permutée 25 contenue dans le module "mémoire" et qui est lue par le module "décodage" I correspond à,une valeur d'apparition égale, soit à la valeur d'apparition provenant du vecteur de modification, soit à la différence entre cette dernière valeur d'apparition et la plus grande puissance de 2 composante du contenu du re-30 gistre ORSN. En fonctionnement réel, la bascule SW est utilisée pour soumettre à une opération "OU exclusif" la présence dans la valeur de ligne permutée d'une valeur d'apparition égale à la valeur d'apparition provenant du vecteur de modification, d'une part et, d'autre part, la présence dans la ligne permutée 35 d'une valeur d'apparition égale à la différence entre la même valeur d'apparition du vecteur de modification et la plus grande puissance de 2 composante. Pour faire exécuter à la bascule SW sa fonction "OU exclusif", elle est initialement mise à 0 et, -225- 2334148 comme décrit plus loin de façon plus détaillée, elle se trouve finalement à 1 si.l'opération "OU exclusif" a pour résultat un état vrai tandis qu'elle se trouve finalement à 0 si l'opération "OU exclusif" donne comme résultat un état faux. 5 Le pas OB13 de l'organigramme du module "sortie" est maintenant attaqué. Les signaux vrais à la sortie P6 et à la sortie EQF2 (cette dernière indique que le module "décodagé* II a maintenant atteint la fin, ou dernière valeur d'apparition, du vecteur de modification), ainsi que le signal vrai à la sor-10 tie CLK rendent vrai la logique P6.E0F2.CLK en formant ainsi un signal vrai à la sortie 0M12. Le signal vrai à la sortie 0M12 du module "sortie" provoque l'actionnement de 1'univibrateur D1G0 du module "décodage" I, ce qui appelle l'intervention du module "décodage" I en lui faisant lire la première valeur d'ap-15 parition de la valeur de ligne permutée. La logique P6.D1MEND.6i3il est vraie, ce qui provoque la mise hors d'action de l'horloge par la logique de suspension d'horloge 822 en suspendant ainsi l'application d'impulsions aux sorties CLK et CLK. Lorsque le module "décodage" I a fourni la valeur d'apparition à partir de 20 la valeur de ligne permutée, un signal faux est formé à la sortie D1MEND du module "décodage" I, ce qui rend fausse la logique P6.D1MEND.CLK, de sorte que la logique de suspension d'horloge autorise l'horloge 700 à commencer de former des impulsions aux sorties CLK et CLK. On supposera maintenant que le module "déco-25 dage" I n'a pas atteint la fin de l^Valeur de ligne permutée, et que, par conséquent, un signal vrai n'est pas formé à la sortie E0P1, tandis qu'un signal vrai est formé à la sortie E0F1. Le signal vrai à la sortie P6 provoque la mise à 1 de la bascule P7 et la bascule P6 est remise à 0 à l'impulsion suivante en CLK, 30 ce qui provoque l'attaque du pas 0B14 de l'organigramme du module "sortie". Pendant 0B14-, un signal vrai est formé à la sortie P7.CLK du compteur de commande 813, ce qui provoque la formation par le registre 0R1 à sa propre sortie de la valeur d'apparition 35 qui a été lue à partir de la valeur de ligne permutée par le module "décodage" I. Lorsque le signal en P7 est supprimé, le registre 0R1 retient et mémorise la valeur, ce qui est une caractéristique de ce registre. -226- 2334148 Le pas 0B15 de l'organigramme du module "sortie" est attaqué. Pendant 0B15» le signal vrai est encore formé à la sortie F?. Le signal vrai à la sortie F7 provoque le transfert par les circuits de sélection DS4 et DS5, (1) de la valeur 5 d'apparition de valeur de ligne provenant du registre 0R1 et (2) de la valeur d'apparition de test (provenant du vecteur de référence), du registre 0R2 aux entrées de l'unité ALU. Initialement, le signal vrai à la sortie P7 rend active l'entrée de comparaison (G) de l'unité ALU, ce qui détermine une comparai-10 son par celle-ci des deux valeurs d'entrée. Il est à noter que trois conditions possibles peuvent résulter de cette comparaison. Cegéonditions possibles sont les suivantes : (1) 0R1 = 0R2; (2) 0R1 y- 0R2; et (3) 0R1 -227- 2334148 On supposera maintenant qu'il existe un état de non-alignement dans lequel la valeur d'apparition (provenant de la ligne permutée) contenue dans 0R1 est supérieure ( > ) à la valeur d'apparition de test contenue dans le registre 0R2. 5 l'unité ALU forme un signal vrai à la sortie G, mais n^forme Ças de signal vrai, ni à la sortie L, ni à la sortie E. En conséquence, la porte 805 forme un signal faux à la sortie LE, ce qui rend fausse la logique P7.(LE+E0F1).CLK et la bascule SW reste inchangée. En outre, si 0R1 /" 0R2, aucune décision ne 10 peut être prise et des valeurs doivent être lues à partir de la ligne d'entrée permutée jusqu'à ce qu'une telle décision devienne possible, c'est-à-dire jusqu'à ce qu'on ait 0R1 ^ 0R2. En conséquence, la logique P7.E0F1.G est vraie et, partant, la bascule P7 est remise à 1 en provoquant une reprise des pas 15 0B13, 0B14 et 0B15 de l'organigramme du module "sortie", pas au cours desquels le module "décodage" I fournit la valeur d'apparition inférieure suivante à partir de la valeur de ligne permutée. Il est à noter que le module "décodage" I.fournit les valeurs d'apparition à partir de la valeur de ligne permutée par 20 ordre de grandeur décroissant. En conséquence, le module "décodage" I explore la valeur de ligne permutée en direction des valeurs plus faibles pour amener la valeur de ligne en alignement avec la valeur d'apparition plus grande contenue dans le registre 0R2. 25 On -supposera que, pendant 0B15, on trouve la troisième condition dans laquelle la valeur d'apparition provenant de la valeur de ligne contenue dans 0R1 est inférieure ( -228- 2334148 de valeurs d'apparition spécifié par la plus grande puissance de 2 composante contenue dans le registre ORSN est la valeur suivante dont on doit vérifier la présence. Cette opération s'effectue en décrémentant incrémentiellement la valeur contenue 5 dans le registre 0R2 de la valeur contenue dans le registre ORSN et en contraignant le module "décodage" I à continuer de fournir en séquence les valeurs d'apparition de la valeur de ligne permutée. A cet effet, le pas 0B16 de l'organigramme du module 10 "sortie" est attaqué. A la première itération (seconde boucle) l'état de la bascule SW n'est pas connu, mais il doit rester inchangé. En conséquence, cet état est soumis à une opération XOR avec 0. A cet effet, la sortie E de l'unité ALU est à l'état faux et la porte 802 applique une entrée fausse à la porte 15 OU 804, de sorte que la porte "OU exclusif" applique à son tour un signal faux au côté gauche supérieur de la bascule SW. Dans ces conditions, pendant 0B16, la bascule "OU exclusif" reste inchangée. Après 0B30, ou après 0B16, un signal vrai est formé aux sorties P7 et LE. Ceci rend vraie la logique P7.(LE+E0F1) 20 et l'impulsion suivante en CLE remet la bascule P7 à l'état faux et met la bascule P8 à 1, ce qui provoque l'attaque du pas 0B17. C'est le signal vrai à la sortie P8 qui provoque cet attaque du pas 0B17. Le flanc avant de l'impulsion vraie en P8 25 déclenche la bascule SS, en la faisant passer de l'état 1 à l'état 0. 0B18 est ensuite attaqué et, au cours de ce pas, l'état de la bascule SS est vérifié. Etant donné que la bascule SS est maintenant à 0, ce qui indique qu'il s'agit de la première boucle à travers 0B18 et la suite pour la valeur d'apparition 30 de test particulière provenant de la ligne de référence contenue dans 0R2, les pas 0B24 et 0B25 de l'organigramme du module "sortie" sont attaqués. Pendant 0B24 et 0B25, la valeur d'apparition de test contenue dans le registre 0R2 est remplacée par une nouvelle va-35 leur d'apparition de test située à gauche de la première à une distance égale au nombre de valeurs d'apparition spécifié par la valeur contenue dans ORSN. En d'autres termes, il est nécessaire de former un signal de valeur d'apparition de £est qui -229- 2334148 identifie la valeur d'apparition suivante de la ligne de l'iso-entropicogramme en delta qui correspond à la plus grande puissance de 2 composante contenue dans le registre ORSN. Si l'on considère maintenant l'opération ci-dessus de 5 façon plus détaillée, on voit que le signal vrai à la sortie P8 provoque le transfert par les circuits de sélection DS4 et DS5 de la valeur d'apparition de test, du registre 0R2 à l'entrée de gauche de l'unité ALU et transfère la plus grande puissance de 2 composante, du registre ORSN à l'entrée de droite de l'unité 10 ALU. Le signal vrai en P8 a en outre pour effet que l'unité ALU retranche le contenu de ORSN de celui de 0R2 et forme un signal de valeur de différence correspondant à sa sortie OP. Si le résultat est supérieur ou égal à 0, ce qui est le cas usuel, c'est que le signal de différence résultant n'a pas donné une valeur 15 située à gauche, c'est-à-dire horz de la limite, de l'extrémité de 1'iso-entropicogramme. Comme décrit plus loin de façon plus détaillée, si le signal de différence avait donné une valeur inférieure à 0, (0R2 On supposera tout d'abord que la différence en question est égale ou supérieure à 0 (0R2 ^,0). Le signal vrai à la sortie P8 provoque alors la mise à 1 de la bascule P9 et la remise à 0 de la bascule P8 lors de l'impulsion suivante en CLK, ce qui 25 provoque l'attaque du pas 0B20. Le signal vrai à la sortie P8 provoque le renvoi du signal de différence fonaé à la sortie de l'unité ALU, par l'intermédiaire du circuit de sélection DS3, à l'entrée du registre 0R2 et l'état vrai de la logique P8.SS.CLK provoque le stockage 30 de la valeur de différence dans le registre 0R2. En conséquence, 0R2 contient maintenant la valeur d'apparition de test originale décrémentée de la plus grande puissance de 2 composante contenue dans le registre ORSN. Au cours de 0B20, des signaux vrais sont formés aux 35 sorties P9 et (c'est-à-dire que la bascule SS est à 0), ce qui provoque l'attaque du pas 0B26. Si, pendant 0B26, le contenu du registre 0R2 est égal ou supérieur ( ^ ) à 0, ce qui signifie qu'il reste encore -230- 2334148 entre les limites de la largeur de 1'iso-entropicogramme, alors il est nécessaire de reprendre les pas 0B14 et la suite, au cours desquels la nouvelle valeur d'apparition de test contenue dans le registre 0R2 est comparée avec la valeur d'apparition 5 provenant de la valeur de ligne permutée stockée dans 0R1, pour déterminer si- elles sont égales entre elles. A cet effet, un signal vrai est formé à la sortie 0R20 du registre 0R2 pour indiquer que celui-ci n'est pas à 0 et la logique P9.8S.0R20 devient vraie, de sorte que l'impulsion suivante en CLK commute 10 la bascule P7 à l'état 1 et remet la bascule P9 à l'état faux, ce qui provoque l'attaque du pas 0B14 de l'organigramme du module "sortie". Pendant 0B14, un signal vrai à la sortie P7.CLK provoque un nouveau stockage par le registre 0R1 de la valeur d'ap-15 parition suivante provenant de la valeur de ligne permutée qui est encore mémorisée dans le registre D01 du module "décodage" I. Pendant 0B15, le registre 0R1 contient la valeur d'apparition provenant de la valeur de ligne permutée et le registre 0R2', la valeur d'apparition de test. Comme décrit précédemment, 20 si les valeurs contenues dans 0R1 et CR2 s'avèrent égales entre elles, le pas 0B30 est attaqué. Si la bascule SW est alors à 1, la porte ET 802 et la porte "OU exclusif" 804 appliquent un signal vrai à la bascule d'opération "OU exclusif" SW en la commutant à l'état 0. Un état 0 de labascule SW à ce stade indique 25 que la valeur de ligne permutée contient des valeurs d'apparition égales à celles qui sont désignées à la fois par la valeur d'apparition de test provenant de la ligne de référence et par la valeur d'apparition calculée que le registre ORSN positionne à gauche. Ceci indique qu'une valeur d'apparition égale à la 30 valeur d'apparition de test provenant de la ligne de référence n'est pas présente sur la ligne d'entrée de 1'iso-entropicogramme du raccourci. Si, par contre, la comparaison effectuée au cours du pas 0B15 révèle que la valeur d'apparition provenant de la valeur de ligne perturbée contenue dans 0R1 est supérieure ( > ) 55 à la valeur contenue dans le registre 0R2, c'est que le module "sortie", par l'intermédiaire du module "décodage" I, n'a pas encore atteint la position de la valeur de ligne permutée correspondant à celle qui est maintenant spécifiée par le registre -231- 2334148 0R2. En conséquence, le pas OB13 est à nouveau attaqué, pas au cours duquel le module "décodage11 I est rappelé, cë qui provoque la génération de la valeur d'apparition suivante à partir de la valeur de ligne permutée et, pendant 0B14-, son stockage 5 dans le registre 0R1. On remarquera que le pas 0B13 est à nouveau attaqué alors que la bascule P7 est à l'état vrai, tandis que la logique P7•E0F1.G provoque le rétablissement de cette bascule lors de l'impulsion en CLE. Cette opération se poursuit en provoquant la généra-10 tion des valeurs d'apparition successives, de la valeur de ligne permutée, tour à tour, par le module "décodage" I jusqu'à ce que soit stockée dans 0R1 une valeur d'apparition de ce type égale ou inférieure à la valeur d'apparition de test calculée stockée dans le registre 0R2. Dans le premier cas (égalité) 15 le pas 0B30 est attaqué, pas au cours duquel, comme décrit précédemment, la bascule "0X1 exclusif" est complémentée. Si une entrée inférieure à la valeur contenue dans le registre 0R2 est stockée dans le registre 0R1 avant qu'une égalité soit détectée, la commande passe au pas 0B16 de l'organigramme du mo-20 dule "sortie", pas au cotirs duquel la bascule SW reste dans son état précédent. L'état "0" de la bascule SW indique alors que la valeur d'apparition soumise au test n'est pas présente sur la ligne d'entrée originale. Si la bascule SW est à 1, c'est que la valeur d'apparition soumise au test est présente. 25 Si, au cours de 0B15j on trouve que le contenu de 0R1 est égal (E) ou inférieur (L) à celui du registre 0R2, la porte OU 805 forme tin signal de commande à la sortie LE. Le signal vrai à la sortie LE rend vraie la logique P7. (LE+E0P1 ) et la bascule P8 est mise à 1 tandis que la bascule P7 est remise à 0 30 lors de l'impulsion suivante en CLK, comme décrit précédemment. 0B17 est maintenant attaqué pour la seconde fois. Le signal vrai à la sortie P8 ramène la bascule SS de l'état "0" à l'état "1", en indiquant ainsi qu'il s'agit de la seconde boucle comprenant les pas 0B18 et la suite. L'état 1 de la bas-35 cule SS et le signal vrai à la sortie SS provoquent l'attaque du pas 0B19, au cours duquel l'état de la bascule SW est vérifié. -232- 2334148 Si la bascule SW est à 1, le pas 0B22 est attaqué. Pendant 0B22, le signal vrai à la sortie P8 rend vraie la sortie 0M13 du module "sortie" et déverrouille ainsi les circuits appropriés du module "codage" pour préparer le processus 5 ultérieur au cours duquel celui-ci sera contraint de sortir par écriture la valeur d'apparition contenue dans 0RT1. La valeur d'apparition de test provenant de la référence se trouve encore dans le registre QRT1 où elle a été stockée pendant 0B12. 10 Pendant 0B13, des signaux vrais sont formés aux sorties SS et SW et l'impulsion suivante en CLK rend vraie la logique P8.SS.SW.CLK- qui, à son tour forme un signal vrai à la sortie 0M14- en appelant ainsi le module "codage". Le signal vrai à la sortie P8 met la bascule P9 à 1 15 et la bascule P8 est remise à 0 lors de l'impulsion suivante en CLK, puis 0B20 est attaqué. En supposant que la bascule SS soit à 1, un signal vrai est maintenant formé par la logique P9.SS, ce qui rend "vrais" les circuits de sortie 0M17 et (3121 du module "sortie". Le 20 signal vrai à la sortie 0M17 est appliqué au module "décodage" I, ce qui provoque le réglage de son compteur MLN1 à la valeur contenue dans le registre 0BT2 du module "sortie". (D1FST provoque le rétablissement de MÂR1 lors du premier appel du module "décodage" I). On se rappelle que 0RT2 contient la valeur de la 25 longueur de la ligne permutée. En outre, le signal vrai à la sortie 0M21 actionne la bascule D1FST du module "décodage" I. En conséquence, le module "décodage" I a maintenant été réglé de telle façon que l'appel suivant de ce module contraigne celui-ci de recommencer à lire le début de la valeur de ligne permu-30 tée en vue de son utilisation pour une nouvelle valeur d'apparition de test provenant de la ligne de référence. Le pas 0B11 de l'organigramme du module "sortie" est maintenant à nouveau attaqué et le signal vrai de la logique P9.SS.CLK provoque la génération d'un signal vrai à la sortie 35 GM11. Le signal vrai à la sortie CM11 provoque un rappel du module "décodage" II qui, cette fois, sort par lecture la valeur d'apparition de test suivante provenant de la ligne de référence et qui désigne la valeur d'apparition suivante à vérifier (s'il -233- 2334148 en reste une) sur la ligne d'entrée de 1*iso-entropicogramme. la valeur est stockée dans les registres 0RT1 et 0R2 au cours du pas 0B12 comme décrit ci-dessus en ce qui concerne la première valeur d'apparition de test provenant de la ligne de ré- • 5 férence. La séquence de fonctionnement décrite ci-dessus est ensuite répétée pour déterminer s'il existe sur la ligne d'entrée de 1'iso-entropicogramme uœ valeur d'apparition effective spécifiée par la valeur de test contenue dans les registres 10 0RT1 et 0R2. Dans l'affirmative, cette valeur d'aipacLtion est codée par le module codage et est stockée dans le module "mémoire". Cette opération se poursuit jusqu'à ce que la dernière valeur d'apparition de test de la ligne de référence ait été lue par le module "décodage" II et traitée. Ensuite, le fonc-15 tionnement du module "sortie" retourne en 0B11 à partir de 0B21 et à ce moment on trouve que la bascule E0F2 du module "décodage" II est à 1, ce qui indique que la dernière valeur d'apparition de test provenant de la ligne de référence a été lue. Un signal vrai est maintenant formé à la sortie E0F2, ce qui pro-20 voque l'attaque des pas 0B27 et 0B28 au cotirs desquels le signal vrai en P6 provoque un dernier rappel du module "codage", tandis que la dernière valeur codée, s'il y en a une, est stockée dans le module "mémoire". D. Exemple de fonctionnement 25 On va donner ci-après un exemple d'une opération "sor tie normale" du module "sortie" en utilisant l'exemple de la table 4-B. Une notation symbolique est utilisée pour représenter la séquence de fonctionnement. La valeur de ligne du raccourci est supposée se trou-50 ver dans la zone 1 du module "mémoire", en code hybride, comme suit : 10000111) valetirs d'apparition 7» 6, 3» 2, 0 01011001) longueur matérielle = 2 Ce qui va suivre est stocké dans le dispositif IERF : LIGNE (LINE) = 7 numéro de ligne de raccourci; HW = 16 largeur de 1'iso-entropicogramme LN1 = 2 longueur matérielle de la valeur de ligne de raccourci TL = 16 limite d'écrêtage supérieure; -234- 2334148 BL = 0 limite d'écrêtage inférieure; IR = 0 valeur d'intervalle; DELOP =0 la fonction DEL n'est pas nécessaire. Séquence de commande 0B1-0B8 : 0B1 OPSW = 0 mettre hors d'action bascule d'écrêtage; ORSN = 0 vider ce registre; OHW = HW = 16 largeur de 1'iso-entropicogramme; OLINE=LIGNE(LINE) = 7 numéro de ligne de raccourci; 0B2 OLINE 4 0 *\ aller à 0B3 0B3 DELI(9)=0HW(16) -OLINE (7) DELI contient le nombre de lignes dont la valeur de ligne de raccourci doit être permutée pour assurer l'obtention de l'information d'entrée originale; 0B4 appeler mo- Le module "delta" engendre la plus grande ri ni a! ■ha11 puissance de 2 composante contenue dans 9, DELO = 8 soit 8, et DELI contient le reste (1) après retour; 0B5 ORSN = DELO préserver le résultat dans ORSN; » 8 0B6 appeler permuter la valeur de ligne de raccourci tio™Uta~ vers le bas du nombre de lignes restant dans DELI; dans l'exemple, engendrer la ligne 8; 0B7 DELOP = 0 U aller à 0B8 0B8 DELI = ORSN mettre en action 1*écrêtage; = 8 appe—1er (fonction) et permuter ORSN vers le bas de "pernmte- ^ llgnes. OISW .1 0B9 OAR = zone de sortie qui contient le vecteur d'appari tion original d'événement; OLN = 3 longueur de cette zone ARRET. -235- 2334148 On trouvera ci-après un exemple de l'opération DEL du module "sortie" "basé sur l'exemple de la table 4-B. Ici encore une notation symbolique est utilisée pour décrire la séquence de fonctionnement. Lejéontenu du dispositif IPRF est le suivant : LINE (ligne) =. 7 HW & 16 TL = 16 BL = 0 IE = 0 LUI = 2 LN2 = 4 longueur matérielle de la ligne de DELOP = 1 référence pour indiquer la fonction DEL* La zone 2 du module "mémoire" contient la représentation codée hybride suivante de la valeur de ligne de raccourci : 10000111 ^ valeurs d'apparition 7j 6, 3S 2, 0, 01011001 ) longueur matérielle = 2 ; La zone 1 du module "mémoire" contient la représentation codée hybride suivante de la ligne de référence ï 10001100 ) 10001000 ] 10000011 ) 10000000 ) valetirs d'apparition de test 12, 8, 5, 0 La ligne de raccourci intermédiaire correspond à la ligne 8 de 1'iso-entropicogramme (table 4-B) : 10001000 ) 01101010 ; valeurs d'apparition 8, 6, 4, 2, 00000001 ] 1, 0 longueur = 3 ; Séquence de commande ï 0B1-0B6 comme dans l'exemple de sortie normale donné ci- dessus. A ce stade, la ligne 8 de 1'iso-entropicogramme a été engendrée. 0B7 DELOP = 1 t\ 0B9 -236- 2334148 0B9 initialiser les modules "décodage" I, II et "codage"; D1FST = D2FST = 1 0RT2 = MLN1 = 3 0B10 actionner S22 dans la"matrice de commutateurs"; s'assu-5 rer que "décodage11 II lit bien dans la zone convenable; MLN2 4— 0RT3 = 4 longueur de la ligne de référence; OB11 appeler "décodage" II lire un index de colonne; D02 = 12 EOFI =0 à vérifier; SS = 1 SW = 0 0B12 0R2 = 0RT1 = 12 préserver la valeur lue; 0B13 appeler "décodage" I lire une valeur sur la ligne 8 D01 = 8 E0F1 =0 de 1'iso-entropicogramme; 0B14 0R1 =8 la préserver; 0B15 0R1 (8) aller à 0B16 simuler XOR; 0B16 SW(0) = SW(0) XOR®0 OB17 SS = 0 0B18 SS = 0.*. aller à 0B24 0B24 0R2(4) = 0R2(12) - 0RSN(8) position suivante à vérifier; 0B25 0R2(4) > 0 aller à 0B20 0B20 SS = 0 aller à 0B26 0B26 0R2(4) > 0 aller à 0B14 0B14 0R1 = D01 = 8 0B15 0R1 (8) > 0R2(4)aller à 0B13 0B13 appeler "décodage" I D01 = 6 E0F1 « 0 0B14 0R1 = D01 = 6 0B15 0R1(6) > 0R2(4) A aller à 0B13 0B13 appeler "décodage" I D01 = 4 E0F1 - 0 0B14 0R1 = D01 = 4 0B15 0R1 = 0R2 = 4 aller à 0B30 0B30 SW(1) = SW(0) @ 1 0B1? SS = 1 0B18 SS = 1 aller à 0B19 0B19 SW = 1 aller à 0B22 0B22 EI(12) = 0RT1(12) sortir par lecture la valeur d'apparition de test; -237- 2334148 0B23 appeler "codage" 0B20 SS = 1 aller à 0B21 0B2i MLN1 = 3 abandonner module "décodage" I ; D1FST = 1 0B11 appeler "décodage" II D02 = 8 E0F2 = 0 0B12 SW = 0 SS = 1 0R2 = 0RT1 = 8 0B13 appeler "décodage" I D01 = 8 E0F1 = O OB14 0R1 = D01 « 8 0B15 0R1(8) = 0R2(8).\ aller à 0B30 0B30 SW(1) = SW(0) ® 1 OB17 SS = 0 GB18 SS = 0 aller à 0B24 0B24 0R2(0) = 0R2(8) - ORSN(8) 0B25 ÛR2 = O aller à 0B20 0B20 SS = 0 aller à 0B26 0B26 0R2 = 0 .*» aller à 0B14 0B14 0R1 = 8 0B15 0R1 (8) > 0R2(0) .'.aller à 0B13 0B13 "décodage" I D01 » 6 E0F1 = 0 0B14 0R1 = D01 = 6 0B15 0R1(6)> 0R2(0) aller à OB13 0B13 appeler "décodage" I D01 « 4 E0F1 = 0 0B14 0R1 = D01 = 4 0B15 0R1 (4) > 0R2(0);. aller à 0B13 0B13 appeler "décodage" I D01 = 2 E0F1 = 0 0B14 0R1 = D01 =2 0B15 0R1(2) > 0R2(0) aller à 0B13 0B13 appeler "décodage" I D01 = 1 E0F1 = 0 CB14 0R1 =1101=1 0B15 0R1 > 0R2 aller à 0B13 -238- 2334148 0B13 appeler ^décodage" I D01 = O EOFl = O 0B14 0R*1 = D01 = O OB15 OR-1 = 0S2 aller à 0B30 0B30 SW(0) = SW(1) Q> 1 OB17 SS = 1 0B18 SS = 1 % , aller à OB19 0B19 SW = O .% aller à 0B20 "S" ne figure pas comme appari-0B20 SS = 1 -*• aller à 0B21 tion sur la ligne d'entrée; re-OB21 MINI = 0RT2 = 3 mettre "décodage" au point donné; D1FSÏ =1 0B11 appeler "décodage" II D02 = 3 E0F2 = 0 0B12 SS = 1 SW = 0 0R2 = 0RT1 = 3 OB13 appeler "décodée" I D01 = 8 E0F1 = O 0B14- 0R1 = D01 = 8 0B15 OR-1 (8) > 0R2(3).\aller à 0B13 OB13 - 0B14 - 0B15 la boucle se répète jusqu'à ce que le "2" soit lu sur la ligne n° 8 de 1* iso-entropicogramme; 0B14 0R1 = DOI = 2 0B15 0R1 (2) 0B16 SW(O) = SW(O) © 0 0B17 SS - 0 0B18 SS = 0 aller à 0B24 0B24- 0R2(-5) = OR2(3) - 0RSN(8) si 0R2 est négatif, il n'est OB25 0R2(-5) 0B19 SW = 0 aller à 0B20 loin; 0B20 SS « 0 aller à 0B26 0B26 0R2(-5) 0B21 MLN1 = 0RT2 = 3 0B11 appeler "décodage" II D02 = 0 E0F2 =0 0B12 SS = 1 SW = 0 0R2 = 0RT1 = 0 0B13 appeler "décodage" I DOI - 8 E0F1 = 0 -239- 2334148 10 0B14 0R1 = D01 = 8 0B15 0R1 (8) > 0R2 (0) aller à 0B13 0B13-0B14-0B15 la boucle"décodage" I se répète jusqu'à ce que la valeur 0 soit lue 0B14 0R1 = D01 ® 0 0B15 0R1 (0) = 0R2(0) aller à 0B30 0B30 SW(1) = SW(0) § 1 0B17 SS = 0 0B18 SS = 0 — aller à 0B24 0B24 GR2(-8) = 0R2(0) - 0RSN(8) 0B25 0R2(-8) 0B20 SS = 0 .\ aller à 0B26 0B26 0R2(-8) 0B21 MLN1 = 0RT2 = 3 remettre"décodage" I en son état initial D1FST » 1 20 0B11 appeler "décodage" II D02 = 0 E0F2 = 1 ,\ aller à 0B27 0B27 actionner ELAST 0B28 appeler "codage" 0B29 OAR = zone de sortie écrite par "codage" OLN = longueur de cette zone 15 25 30 ARRET INFORMATION DE SORTIE comme décrit ci-dessus OAR OLN ) information de sortie effective 10001100 10000000 12 0 XIV. MACHINE DE CONCENTRATION ET DE RECOUVREMENT DES DONNEES On peut constater d'après la description qui précède du module "raccourcissement" et du module "sortie", conjointe-35 ment à celle des modules "permutation", "delta", "codage", "décodage" I et II, représentés sur la Fig. 34, qu'on a présenté une machine de concentration et de recouvrement de données. Le système de concentration et de recouvrement de données forme un -240- 2334148 sous-ensemble du système DPM. Le système de concentration et de recouvrement de données présente plusieurs caractéristiques. En particulier, le module "sortie", conjointement aux modules "codage", "décodage" I, "décodage" II, "permutation" et rdelta", 5 forme une machine de sortie qui permet de recouvrer une information concentrée précédemment retrouvée, sous sa forme iso-entropicographique de représentation. Plus précisément, on a décrit un système électronique de traitement de données permettant de recouvrer un signal codé 10 désiré à partir d'une représentation sous la forme d'un signal de valeur de ligne, d'un signal de numéro de ligne et d'un signal de longueur. Le signal de valeur de ligne représente une ligne d'un iso-entropicogramme après élimination des zéros entête (de gauche). Le numéro de ligne désigne la ligne de l'iso-15 entropieogramme correspondant au signal de valeur de ligne. Le signal de longueur est égal à la largeur de 1'iso-entropicogramme, laquelle est à son tour égale à la longueur du signal de valeur de ligne, mais cette fois sans exclure les zéros entête. De manière à ne pas permettre de confondre "longueur" 20 avec "espace de stockage", il est bon de préciser que le signal de longueur serait égal au nombre total de valetirs d'apparition possibles de la ligne de 1'iso-entropicogramme, nombre qui est à son tour égal à la plus grande valeur d'apparition possible sur une ligne de 1'iso-entropicogramme. Le système de traitement de 25 données comprend une mémoire, telle que le module "mémoire", pour stocker le signal de valeur de ligne. Des moyens tels que le registre OLINE du module "sortie" stockent le signal de numéro de ligne. Des moyens tels que le registre OHW du module "sortie" stockent le signal de longueur. Des moyens tels que l'uni-30 té ALU du module "sortie" forment un signal de différence correspondant à la différence entre les valeurs représentées respectivement par le signal de numéro de ligne stocké et par le signal de longueur stocké. Des moyens tels que le "permutateur" décrit ci-dessus forment, en réponse au signal de valeur de ligne et à 35 nn signal de numéro qui leur sont appliqués, l'un d'un jeu de signaux équivalents. Ce jeu inclut le signal de valeur de ligne en question. Chaque signal équivalent d'un jeu est univoque et est mis en relation avec un autre par une opération "OU exclusif" -241- 2334148 portant sur les valeurs de ces deux signaux et sur les mêmes valeurs décalées. Le signal équivalent formé représente le signal codé désiré. Des moyens tels que les modules "décodage" I et II transmettent un signal de valeur de ligne aux moyens de 5 formation de signal équivalent, ce signal de valeur de ligne correspondant en grandeur à celui qui est stocké dans les moyens de mémoire. Des moyens tels que le module "delta" fournissent aux moyens de formation d'un signal équivalent un signal de valeur de numéro qui correspond en grandeur à celle du 10 signal de différence. Le module "codage" transmet des signaux, des moyens de mémoire (module "mémoire") aux moyens de formation de signal équivalent ("permutateur"). Les moyens de génération d'un signal de valeur de numéro, c'est-à-dire le module "delta", comprennent 15 des moyens pour former, comme signal de valeur de numéro, un ou plusieurs signaux représentatifs des puissances de 2 composantes du signal de différence. De préférence, les moyens de formation de signal équivalent, c'est-à-dire le "permutateur", comprennent des moyens 20 tels que l'unité ALU du module "permutation" pour combiner les signaux de numéro et le signal de valeur de ligne qu'ils reçoivent en formant un autre signal qui correspond au signal décalé formé par le "permutateur". En outre, l'unité ALU et sa logique associée forment un moyen pour combiner le signal de 25 valeur de ligne et ledit autre signal et pour former le signal équivalent. De préférence, le signal de valeur de ligne comprend un ou plusieurs signaux de valeur d'apparition effective parmi un groupe de signaux de valeur d'apparition possible. Les signaux de valeur d'apparition possible et de valeur d'apparition 30 effective sont classés ensemble dans un ordre de grandeur incrémentiel, et de préférence croissant incrémentiellement. Avec •une telle représentation de signatix, les moyens de formation d'un signal équivalent comprennent des moyens, tels que l'unité ALU du module "permutation", pour combiner la valeur représentée par 35 le signal de valeur de numéro reçu avec chacune des valeurs représentées par les signaux de valeur d'apparition de la valeur de ligne et pour former un autre signal et l'unité ALU, ainsi que la commande et la logique associées du module "permutation" constituent un moyen permettant de soumettre à une opération -242- 2334148 "OU exclusif" les valeurs représentées par le signal de valeur de ligne appliqué et par ledit autre signal pour former le signal équivalent. Il est rappelé ici que, dans le "permutateur", les 5 moyens d'exécution d'une opération "OU exclusif" comprennent l'unité ALU, la commande et la logique du module "permutation", pour classer les signaux de valeur d'apparition représentés par le signal de valeur de ligne appliqué et par ledit autre signal dans un ordre de grandeur incrémentiel. En outre, les 10 signaux de valeur d'apparition qui sont égaux entre eux sont supprimés. L'unité ALU, l'unité de commande et la logique associées du module "permutation" classent les valeurs représentant ledit autre signal et les signaux de valeur d'apparition tirés du signal de valeur de ligne appliqué pour former une série de 15 signaux de valeur d'apparition classés incrémentiellement dans l'ordre de leurs valeurs respectives. Au cours du processus de classement, les signaux de valeur d'apparition qui dépassent la largeur de l'iso-entropicogramme, c'est-à-direqui ne correspondent pas à des valeurs d'apparition possibles, sont éliminés. 20 Comme décrit précédemment, le module "raccourcissement" et le module "sortie", en association avec les autres modules de la Fig. 34, forment un système de concentration et de recouvrement de données. Ce système est en fait un système électronique de traitement de données permettant à la fois de concentrer un 25 signal codé et de recouvrer Tin signal concentré. Dans ce système est inclus un moyen de mémoire tel que le module "mémoire" pour stocker et rendre disponibles des signaux codés en vue de la concentration et du recouvrement. Des moyens tels que le "permutateur" de la Fig. 19 forment, en réponse à un signal co-30 dé et à un signal de numéro appliqué, l'un d'un jeu de signaux équivalents. Ce jeu inclut le signal codé. Chaque signal équivalent d'un jeu est univoque et est mis en relation avec un autre signal du même jeu par exécution d'une opération "OU exclusif" sur les valeurs de ces deux signaux, et suc ces mêmes valeurs 35 décalées. Un moyen de décodage tel que les modules "décodage" I et II décode un signal codé de concentration ou un signal codé de recouvrement à partir du moyen de mémoire en le transcodant d'un premier code à un second code développé avant de le trans- -243- 2334148 mettre aux moyens de formation de signaux équivalents. A ce propos, il est rappelé ici que les modules "décodage" décodent des vecteurs d'apparition à partir d'un code hybride en une forme codée absolue développée représentant des valeurs d'appâ-5 rition. Un moyen de codage tel que le module "codage" transcode le signal équivalent du second code dans le premier en vue de son stockage dans le moyen de mémoire. Un moyen tel que le module "raccourcissement" est capable, en réponse à au moins une portion du signal décodé de concentration, de former un signal 10 de valeur de nombre total qui représente une certaine quantité des signaux équivalents. Plus précisément, la plus grande des différences entre la valeur d'apparition la plus grande et la valeur d'apparition immédiatement inférieure, différence qui est stockée dans le registre T1 désigne le nombre total de li-15 gnes à permuter. Un moyen tel que le registre OLINE du module "sortie" stocke un signal de numéro de ligne associé à-un signal codé de recouvrement. Un moyen tel que le registre OHW du module "sortie" stocke un signal de longueur associé au signal de numé-20 ro de ligne stocké. Le module "sortie" constitue un moyen pour former un signal de différence représentant la différence entre les valeurs respectives du signal de numéro de ligne stocké et du signal de longueur stocké. Un moyen tel que le module "delta" transmet le signal de numéro au moyen de formation de signal 25 équivalent "permutateur"). Plus précisément, le module "delta" constitue un moyen capable, en réponse, soit au signal de valeur de nombre total, pour line concentration, soit au signal de différence, pour un recouvrement, de former de façon correspondante le signal de numéro. A noter à ce propos que le signal 30 de numéro comprend en fait un ou plusieurs signaux représentant les puissances de 2 composantes du signal de valeur de nombre total ou du signal de différence. De préférence, la concentration et la déconcentration assurées par les modules "décodage" I et II et "codage" sont 35 assurées dans le système lui-même. Toutefois, cette concentration supplémentaire n'est pas essentielle dans le cadre des concepts les plus larges de la présente invention. Les modules "décodage" I et II et "codage" forment donc essentiellement un -244- 2334148 dispositif capable de fournir au moyen de formation de signaux équivalents des signaux codés correspondant à ceux qui sont disponibles à partir du moyen de mémoire et, réciproquement, audit moyen de mémoire, des signaux codés correspondant à ceux 5 qui sont disponibles à partir des moyens de formation de signaux équivalents. Le module "sortie" assure, conjointement aux modules "permutation", "décodage" I et II, au "permutateur" et aux modules "delta" et "codage", la fonction DEL précédemment décrite. 10 La fonction DEL permet d'effectuer un test pour déterminer si une valeur d'apparition effective est présente ou non sur une ligne d'entrée d'un iso-entropicogramme, l'une des lignes "non d'entrée" de celui-ci étant donnée. Cette fonction comprend essentiellement tme opération consistant à former un signal de 15 ligne représentant la ligne "non d'entrée". Le signal de ligne formé représente une ou plusieurs valetirs d'apparition effectives parmi les valeurs d'apparition possibles formant chaque ligne d'un iso-entropicogramme. Cette opération correspond au pas 0B6 de 1'organigramme du module "sortie". Pendant le pas 20 0B5 de cet organigramme, un signal de longueur est formé et ce signal représente le nombre de lignes de déplacement dans 1'iso-entropicogramme entre la ligne "non d'entrée" et la ligne d'entrée. Un signal de test est formé pendant 0B12 et ce signal représente la grandeur d'une valeur d'apparition absolue 25 dont on désire vérifier la présence sur la ligne d'entrée. Le signal de test correspond à une valeur d'apparition d'un vecteur de test. Pendant 0B24, les valeurs représentées par le signal de test et par le signal de longueur sont combinées pour former 30 un autre signal de test identifiant une autre valeur d'apparition à soumettre au test. Cette opération correspond à la formation d'une autre des valeurs d'apparition sur une des lignes du "delta" inversé (table 9-C). Pendant le pas 0B15 de la première passe ou boucle, 55 la valeur du signal de test est comparée avec les valeurs du signal de ligne formé pour "égalité ? " (relation prédéterminée). Au cours du pas 0B15 de la seconde boucle (première itération) la valeur dudit autre signal de test est comparée avec les va -245- 2334148 leurs du signal de ligne formé pour "inégalité ? " (autre relation prédéterminée). Un signal prédéterminé est formé pendant 0B19 en provoquant la mise à 1 de la bascule SW en réponse aux résultats de ces deux tests de comparaison. Si la bascule SW 5 est à 1 après ces deux comparaisons, c'est que la valeur d'apparition spécifiée par le signal de test est présente sur la ligne d'entrée. En raison de la transmission conditionnelle "OU exclusif" à l'entrée de la bascule SW, la détection de la relation "égalité" lors de la première opération de comparaison men-10 tionnée, conjointement à la détection de la relation "inégalité" lors de la seconde opération de comparaison mentionnée, sont indispensables pour que la bascule SW se retrouve finalement à 1 et indique ainsi la présence de la valeur d'apparition sur la ligne d'entrée. Si les tests en question produisent tous deux 15 "égalité" ou tous deux "inégalité", la bascule SW se retrouve finalement à 0, ce qui indique l'absence ou mieux la "non-présence" de la valeur d'apparition sur la ligne d'èntrée. Au niveau "systèmes", y compris la fonction DEL, on a décrit un système électronique de traitement de données permet-20 tant de vérifier la présence d'une valeur d'apparition effective dans une série de valeurs d'apparition possibles classées par ordre de grandeur incrémentiel. Ce contrôle est destiné à vérifier la présence de la valeur d'apparition effective sur la ligne de valeur d'entrée de 1'iso-entropicogramme en utilisant 25 l'une des lignes "non d'entrée" du même iso-entropicogramme. On a décrit un moyen de mémoire tel que le module "mémoire" prévu pour stocker un signal de valeur de ligne représentatif d'une ligne "non d'entrée". Un moyen tel que le registre OLINE stocke un signal de numéro de ligne correspondant au signal de valeur 30 de ligne stocké. Un moyen tel que le registre OHW stocke un signal de longueur. Un moyen tel que l'unité ALU du module "sortie" forme un signal de différence correspondant à la différence entre les valeurs représentées par le signal de numéro de ligne stocké et par le signal de longueur stocké. Des moyens tels que le "per-35 mutateur" forment, en réponse à un signal de valeur de ligne et à un signal de manéro appliqués; l'un d'un jeu de signaux équivalents. Ce jeu inclut le signal de valeur de ligne. Chacun des signaux codés d'ui$eu est univoque et est mis en relation avec -246- 2334148 un autre par une opération'"OU exclusif" portant sur les valeurs de ces deux signatix et sur ces mêmes valeurs décalées. Un moyen tel que le module "delta" forme, en réponse au signal de différence, un premier signal représentant la 5 plus grande puissance de 2 composante de la différence et un second signal représentant les autres puissances de 2 composantes de la différence. Un moyen tel que le registre ORSN du module "sortie" stocke le signal représentant la plus grande puissance de 2 composante. Le module "delta" transmet le signal 10 de puissances de 2 composantes restantes et le signal de valeur de ligne au moyen de formation d'un signal équivalent ("permutateur") en provoquant ainsi la formation d'un signal équivalent. Un moyen tel que le registre 0RT1 constitue un moyen permettant de stocker un signal de test représentant la grandeur de la 15 valeur d'apparition absolue dont on désire vérifier la présence sur la ligne d'entrée. Un moyen tel que l'unité ALU du module "sortie" constitue un moyen permettant de combiner les valeurs représentées par le signal de test et par le signal de longueur pour former -un autre signal de test identifiant une autre valeur 20 d'apparition à vérifier. Un moyen tel que l'unité ALU du module "sortie" compare la valeur du signal de test avec la valeur du signal équivalent formé pour déterminer si ces deux valeurs sont dans une relation prédéterminée. L'unité ALU forme en outre avec sa temporisation 25 et sa logique associées un moyen permettant de comparer la valeur dudit autre signal de test avec la valeur du signal équivalent formé pour "relation prédéterminée ? ". Un moyen tel que la bascule SW intervient pendant 0B19 et, en réponse au résultat des deux tests "relation prédéterminée ? " qui viennent 30 d'être mentionnés indique la présence éventuelle d'une valeur d'apparition effective de la ligne d'entrée correspondant au signal de test. XV. MODULE "CADRAGE" A. Description générale 35 Le but général du module "cadrage" est de faciliter le processus de localisation de demandes de données parmi tme grande masse de données incorporées à la base de données. La base de données décrite ici est organisée, à titre d'exemple seulement, -24-7- 2334148 en paragraphes, contenant chacun des phrases, qui contiennent chacune des mots, contenant chacun des caractères. La demande peut concerner un mot, un membre de phrase, une phrase, ou un paragraphe. Si la demande correspond toujours de façon rigoureusement exacte à des informations contenues dans la base de données, le recouvrement de l'information demandée à partir de cette base ne pose aucun problème. Une concordance imparfaite entre la demande et la base de données peut résulter de mots mal orthographiés, d'une transposition de mots, ou simplement d'un manque de connaissance de la part du demandeur quant à la rédaction exacte de la base de données. Par exemple, le mot de demande "SIT" peut être un mot tel que "THIS" mal orthographié. Des problèmes se posent lorsqu'il existe tme telle relation imparfaite entre la demande et la base de données. Le module "cadrage" et le module "concordantiel" coopèrent pour localiser les demandes qui sont contenues exactement ou imparfaitement dans la base de données. Le but du module "cadrage" est alors de déterminer si la demande correspond à des informations de la base de données exactement ou imparfaitement. Pour localiser des demandes concordant imparfaitement avec la base de données, le module "cadrage" demande ou détermine quelles entrées (apparitions) de la base de données pourraient être utilisées pour établir un critère de sélection plus fine destiné à être utilisé par le module "concordantiel". A cet effet, le module "cadrage" choisit les entrées de la base de données pouvant constituer des "candidats" susceptibles d'être traités par le module "concordantiel". Ces"candidats" sont alors utilisés par le module "concordantiel" qui choisit parmi eux le meilleur "candidat" possible pour la demande. Avant de considérer la théorie du module "concordantiel", il j a lieu de noter soigneusement la terminologie ci-après : Un "événement" est composé d'éléments primaires compris entre deux éléments séparateurs dits ci-après "délimiteurs". Par exemple dans la couche de lettres G de la table "1, les événements sont des lettres. L'expression "instant d'événement" (parfois remplacée ici par 1'expression équivalente "position -248- 2334148 d'apparition possible", identifie une position ou valeur relative possible dans une base de données pour une valeur d'apparition d'événement ou de délimiteur. Un "vecteur d'apparition d'événement" représente des valeurs d'apparition d'événement 5 identifiant chacune l'instant d'événement auquel un événement se produit. Une "entrée" est une série d'éléments-primaires, c'est-à-dire de lettres, compris entre deux délimiteurs identifiant chacun le début de l'une de deux entrées successives. Par exemple dans la couche de lettres 0, une entrée telle que "THIS" 10 est un mot composé d'une série de lettres comprises entre les. deux délimiteurs situés aux instants d'événement 0 et Pour entrer de façon plus détaillée dans la théorie du module "cadrage", on peut préciser que celui-ci utilise des critères de sélection pour indiquer au demandeur les entrées 15 possibles de la base de données qui pourraient être une réponse à une demande déterminée. Deux critères de sélection sont utilisés par le module "cadrage"; ces critères sont les suivants : Le premier critère de sélection est une "largeur de cadre" (PW). La largeur de cadre est une valeur d'écart qui 20 identifie à quelle distance maximale à droite ou à gauche (au-dessus ou au-dessous) de chaque valeur d'apparition possible, une valeur d'apparition effective peut se trouver pour les besoins de la fonction de cadrage. Les valeurs d'apparition effectives qui tombent - la "largeur de cadre" (PW) près sont 25 dénommées "correspondances". Le second critère est la relation entre la longueur de la demande (LNRQ) et le nombre de correspondances contenues dans chaque entrée de la basé de données. Le second critère est important pour déterminer un nombre significatif de correspon-30 dances dans une entrée de base de données avant que cette entrée puisse être considérée comme un "candidat" pour la fonction du module "concordantiel". La relation entre la longueur de la demande (1KRQ) et le nombre de correspondances est déterminée par une valeur "de seuil" qui représente le nombre minimal de cor-35 respondances nécessaire pour qu'une entrée de la base de données soit considérée par le module "concordantiel" comme pouvant être traitée par lui. -249- 2334148 L'importance du second critère devient évidente si l'on considère l'exemple ci-après. On supposera que la base de données contient le mot "THIS" et que le mot de demande est "BIG". Il est clair que le I de BIG se trouve à une position correspondant à i 1 près à la position du I de THIS. Néanmoins, il est bien évident qu'on ne choisirait pas le mot THIS pour le transmettre au module "concordantiel" étant donné qu'il y a quatre entrées dans ce mot et une seule correspondance. Le reste de la théorie du module "cadrage" sera mieux compris lui aussi en se référant à un exemple réel. On supposera qu'on dispose de la base de données représentées dans la table 1. On supposera en outre qu'on dispose d'un vecteur d'apparition de demande THIS. La première opération consiste à extraire les vecteurs d'apparition d'événement relatifs aux événements T,H,I,S de la base de données de la table 1. La table "18 indique les valeurs décimales des valeurs d'apparition d'événement pour chacun des événements T,H,I,S. La table 18 représente également les vecteurs d'apparition d'événement de THIS extraits de la base de données de la table 1 en notation coloanaire. La table 18 représente sur son côté droit les valetirs d'apparition effectives, en notation décimale, des valeurs d'apparition d'événement de chaque événement. La première opération consiste à déterminer si la demande est contenue dans la base de données exactement ou imparfaitement. A cet effet, des valeurs "de décalage" sont affectées aux vecteurs d'apparition d'événement identifiés par une demande. Des valeurs de décalage de grandeur croissante sont attribuées aux vecteurs d'apparition d'événement en commençant par le nombre 0. Par exemple dans le mot demandé THIS, les vecteurs d'apparition effectifs des événements T, H, I, S sont respectivement affectés de valeurs de décalage 0, 1, 2 et 3. Les valeurs de décalage sont ensuite retranchées des valeurs d'apparition d'événement dans le vecteur d'apparition d'événement correspondant. Les résultats sont des "valeurs d'apparition d'événement décalées". La table 19 indique en notation colomnaire les diverses valeurs d'apparition d'événement de la base de données de la table 18, diminuées chacune de sa valeur de décalage. Par exemple, la valeur de l'événement "T" est 0 et les valeurs -250- 2334148 d'apparition d'événement correspondantes restent inchangées. La valeur de décalage de l'événement "H" est 1 et les valeurs d'apparition d'événement correspondantes sont diminuées de 1, c'est-à-dire déplacées ou décalées d'un rang vers la gauche. 5 La valeur de décalage de l'événement "I" est 2 et les valeurs d'apparition d'événement correspondantes sont diminuées de 2, c'est-à-dire déplacées de 2 rangs vers la gauche. La valeur de décalage de l'événement "S" est 3 et les valetirs d'apparition d'événement correspondantes sont diminuées de 3, c'est-à-dire 10 décalées de trois rangs vers la gauche. Il est clair maintenant en examinant la table 19 que " chacune des valeurs d'apparition d'événement comprises entre les délimiteurs des.instants d'événement 0 et 5 sera décalée de façon que ces diverses valeurs s'alignent entre elles à 15 l'instant d'événement 1. Oeci donne alors quatre correspondances dans l'instant d'événement 1, ce qui correspond exactement à la longueur du mot demandé "THIS". Par conséquent, il existe une entrée exacte dans la base de données pour le mot demandé THIS". Il est à noter également que les valeurs d'apparition décalées 20 du mot "THIS" de la base de données sont toutes alignées à l'instant d'événement 1 qui est situé à une distance d'exactement un instant d'événement du délimiteur de l'instant d'événement 0 et par conséquent sont associées au délimiteur de début de l'instant d'événement 0. Les valeurs d'apparition d'événement décalées 25 résultantes sont indiquées sur la droite de la table 19 sous la forme décimale. On va maintenant considérer un autre exemple, dans lequel il n'existe qu'une correspondance imparfaite entre la demande et la base de données. On va supposer que la demande 30 est le mot "SIT". Tout d'abord, les vecteurs d'apparition d'événement du délimiteur et les événements S, I et T sont extraits de la base de données de la table 1 comme représenté dans la table 20. Le côté droit de la table 20 indique sous la forme décimale les valeurs d'apparition d'événement des vecteurs d'ap-35 parition d'événement relatifs aux événements S, I, T. Ensuite, les valeurs de décalage 0, 1, 2 sont attribuées aux événements S, I, T et ces valeurs de décalage sont retranchées de chacune des apparitions dans les vecteurs d'apparition d'événement cor -251- 2334148 respondants. Par exemple, la valeur de décalage de l'événement S est 0 et les valeurs d'apparition correspondantes restent inchangées. La valeur de décalage de l'événement I est 1 et les valeurs d'apparition d'événement correspondantes sont diminuées 5 ou décalées vers la gauche de 1; enfin, la valeur de' décalage de l'événement suivant est 2 et les valeurs d'apparition d'événement correspondantes sont diminuées ou décalées vers la gauche de 2. Les valeurs d'apparition d'événement décalées résultantes sont indiquées sous la forme décimale sur le côté 10 droit de la table 21. En ce qui concerne l'événement T, on remarquera que les apparitions "encerclées'' ont été décalées jusqu'au-dessous du délimiteur de début de leur entrée. Il est nécessaire d'étiqueter ou d'identifier d'une manière quelconque chaque valeur 15 d'apparition d'événement qui se trouvodécalée au-delà du délimiteur de début correspondant et qui, par conséquent, ne représente plus l'entrée dans laquelle elle est apparue à l'origine. " Il est maintenant nécessaire de satisfaire au second critère c'est-à-dire de mettre en relation la longueur de la 20 demande (LNRQ) avec le nombre de correspondances dans la base de données. On y parvient en supposant une "largeur de cadre total" égale au double de la "largeur de cadre" (PW) et en associant le centre de la "largeur de cadre total" avec l'instant d'événement situé le plus à droite dans l'entrée considérée; en 25 comptant le nombre de correspondances contenues dans la "largeur de cadre total"; en mémorisant le nombre de correspondances; et en passant à l'instant d'événement immédiatement inférieur par décalage à gauche pour chacun des événements successivement tout en comptant le nombre de correspondances 30 contenues dans la "largeur de cadre total". En utilisant les valeurs d'apparition d'événement décalées des tables 21 et 28, on procède à un premier test sur les valetirs d'apparition d'événement décalées apparaissant entre les instants d'événement 10 et 15. Ce test est représenté dans 35 la table 22. On supposera que la "largeur de cadre" (FW) est 1 et que, par conséquent, la "largeur de cadre total" est 2. Dans ces conditions le test commence à l'instant d'événement 14 et les valeurs d'apparition d'événement décalées possibles com- -252- 2334148 prises entre 14-1 et 14+1 incluses sont contrôlées. On remarquera qu'il existe une valeur d'apparition décalée à l'instant d'événement 13 pour l'événement S et que, par conséquent, il existe une valeur de correspondances 1 à l'instant d'événement 5 14. L'instant d'événement 13 est alors vérifié. Ainsi, en fait, la "largeur de cadre total" "glisse" d'un rang vers la gauche, de sorte qu'elle est maintenant centrée sur l'instant d'événement 13. On calcule à nouveau le nombre de correspondances contenues dans la "largeur de cadre total". Il existe une cor-10 respondance pour l'événement S en 13 et une correspondance pour l'événement T en 12 et, par conséquent, le nombre de correspondances pour l'instant d'événement 13 est 2. Ce même processus est répété pour les instants d'événement 12 et 11 et donne 2 et 1 correspondances, respectivement, pour les instants d'é-15 vénement 12 et 11. Pour simplifier, si deux centres de cadre sont trouvés avec un même nombre de correspondances, le premier rencontré est choisi comme centre. Par exemple, comme on le voit dans la partie inférieure de la table 22, l'instant d'événement 13 est 20 choisi comme étant celui qui comporte le plus grand nombre de correspondances. Comme décrit plus loin de façon plus détaillée, ces valeurs sont transmises au module "concordantiel" en vue de leur traitement. L'instant d'événement 10, qui contient un délimiteur, 25 est sauté et l'instant d'événement 9 est alors choisi comme centre de cadre suivant. En se référant aux tables 1 et 23, on peut voir que cette portion de la base de données traite le mot "A" et ne contient aucune correspondance pour la demande SIT. Comme on peut le voir sur les tables 1 et 24, le centre 30 de cadre est ensuite amené sur le délimiteur 8 et des tests sont effectués aux instants d'événement 7 et 6. Deux correspondances sont trouvées pour ce centre à l'instant d'événement 6, tandis qu'on n'en trouve qu'une seule à l'instant d'événement 7« L'instant d'événement 5 est "sauté" et les instants d'événement 35 4, 3, 2 et T sont choisis comme centres. On remarquera qu'en ce qui concerne le centre situé à l'instant d'événement 3* deux correspondances sont à nouveau trouvées. On notera également que pour chacun des tests représentés dans les tables 22-25, -253- 2334148 la valeur d'apparition du délimiteur de fin n'a aucun effet sur le test du cadre de l'extrême droite. La raison de cette particularité apparaîtra plus clairement lorsqu'on examinera le fonctionnement du module "cadrage". Les trois entrées des 5 mots "TEST", "IS" et "THIS" sont alors transmises au module "concordantiel" qui prend une décision pour déterminer quelle est la meilleure correspondance pour la demande SIT. Avant de considérer le fonctionnement du module "concordantiel", on va examiner de façon plus détaillée la manière précise dont le 10 module "cadrage" exécute l'opération décrite ci-dessus. Dans le cadre des concepts de l'invention, il est possible de réaliser un module qui opère en parallèle et examine verticalement de haut en bas chaque entrée d'une matrice de base de données telle que celle de la table 1. Le mode de réali-15 sation décrit de l'invention comprend toutefois un module "cadrage" qui n'examine pas verticalement de haut en bas chaque entrée, mais examine les entrées en série par valeur d'apparition et par entrée. A cet effet, le module "cadrage" est agencé de manière à garder trace des valeurs d'apparition d'événement 20 décalées vers la gauche. Cette mémorisation est obtenue en stockant dans une "mémoire de cadrage/concordance" (mémoire P/B) chacune des différentes valeurs d'apparition décalées et un "compte de correspondances" égal au nombre de rencontres de la valeur d'apparition d'événement décalée. En d'autres termes, 25 lorsqu'on retranche la valeur de décalage de chaque valeur d'apparition d'événement d'un même vecteur d'apparition d'événement, il peut advenir qu'une même valeur d'apparition décalée apparaisse plusieurs fois. En stockant chacune des différentes valeurs d'apparition d'événement décalées et son compte de corres-30 pondances, il est possible de garder trace de son nombre de "rencontres" en majorant simplement le compte de correspondances de 1 à chaque nouvelle rencontre. En se référant à l'exemple représenté dans la table 19, on notera ce qui suit : A l'instant d'événement 1, les valeurs 35 d'apparition d'événement décalées de l'entrée "THIS" sont toutes alignées à l'instant d'événement 1 et, par conséquent, on peut attribuer à l'instant d'événement 1 un compte de correspondances maximal de 4, Il est à noter également que la longueur de la -254- 2334148 demande (LNRQ) en ce qui concerne "THIS" est 4 et, par conséquent, est exactement égale au compte de correspondances. Ceci implique que l'entrée apparaît exactement dans la base de données. En conséquence, au lieu de placerlss rangées les 5 unes au-dessous des autres comme indiqué sur la table 19, le module "cadrage" décrit ici utilise une approche selon laquelle l'information est représentée par des valeurs d'apparition d'événements effectives décalées et par des comptesûe correspondances. Une autre condition est à noter également : Si la va-10 leur d'apparition d'événement décalée est inférieure à un délimiteur de début de l'entrée correspondante, c'est-à-dire "franchit" ce délimiteur, une décision est prise pour déterminer s'il est inclus ou non dans l'entrée correspondante. Par exemple, dans la table 21, les valeurs d'apparition d'événement décalées 15 - 1 et 9 de l'événement T sont inférieures aux valeurs de délimiteur de début 0 et 10, respectivement. On a établi ici une règle selon laquelle, si une valeur d'apparition d'événement décalée est comprise dans la "largeur de cadre" de la valeur d'apparition d'événement la plus faible d'une entrée, et si sa va-20 leur est inférieure au délimiteur de début de l'entrée correspondante, alors il faut utiliser une valeur d'apparition décalée égale au délimiteur de début de ladite entrée. Ceci constitue une valeur "artificielle" qui évite des problèmes de calcul relatifs aux valeurs d'apparition d'événement décalées qui 25 "glissent" dans une entrée autre que leur entrée originale. On va maintenant examiner comment le module "cadrage" traite une concordance exacte entre la demande et la base de données. La table 26 montre la transformation de la notation colomnaire de la table 19 en notation linéaire. Quatre boucles 30 sont nécessaires. La transformation s'effectue en série par événement et en série par instant d'événement (position de valeur d'apparition possible) dans chaque événement. On va maintenant décrire l'exemple de la table 26 (correspondant à la table 19) pour la demande "THIS". L'entrée "THIS" est maintenant linéari-35 sée en quatre boucles. Au cotirs de la boucle 1, le vecteur d'apparition d'événement de "T" est traité. La table 18 révèle que le vecteur d'apparition d'événement "T" en notation décimale est 1,11, 14. La table 19 révèle que la valeur de décalage est -255- 2334148 0 pour le premier événement "T". En conséquence, la forme décimale des valeurs d'apparition d'événement décalées reste directement : 1, 11, 14. En se référant à la table 26, on voit que les valeurs d'apparition d'événement décalées décimales 1, 11 5 et 14, conjointement à un compte de correspondances 1 pour chacune d'elles sont stockées dans la mémoire P/B. Au cours de la boucle 2, le vecteur d'apparition d'événement de l'événement "H" est traité. D'après les tables 19 et 20, pour le second événement "H", la valeur de décalage 10 est 1 et le vecteur d'apparition d'événement est la valeur décimale 2. En retranchant la valeur de décalage 1 de la valeur d'apparition 2, on obtient une valeur d'apparition d'événement décalée égale à 1. En conséquence, une valeur d'apparition d'é-15 vénement décalée égale à 1 et un compte de correspondances 1 ont été stockés dans la mémoire auxiliaire. Par suite, il suffit de majorer le compte de correspondances de 1 à 2 pour la valeur d'apparition d'événement décalée précédemment stockée 1. Pendant la boucle 3, l'événement "I" est traité. D'a-20 près les tables 19 et 20, la valeur de décalage du troisième événement "I" est 2 et le vecteur d'apparition décimal est 3» 6. En retranchant la valeur de décalage 1, on obtient les valeurs d'apparition d'événement décalées 1 et 4. La valeur d'apparition d'événement décalée 1 et le compte de correspondances 2 25 sont déjà présents dans la mémoire auxiliaire à la suite de la boucle 2 et, par conséquent, le compte de correspondances 2 est simplement porté à 3 et la valeur d'apparition décalée 4 et son compte de correspondances 1 sont placés dans la mémoire auxiliaire. 30 Pendant la boucle 4, l'événement "S" est traité. D'après les tables 19 et 20, le quatrième événement "S" a une valeur de décalage de 3 et un vecteur d'apparition d'événement décimal de 4, 75 15. En retranchant la valeur de décalage 3, on obtient les valeurs d'apparition d'événement décalées 1, 4 et 10. En se 35 référant à la table 26, boucle 3, on voit que la mémoire auxiliaire contient déjà les valeurs d'apparition décalées 1 et 4, et, par conséquent, il suffit de majorer les comptes de correspondances des valeurs d'apparition décalées 1 et 4 pour les por -256- 2334148 ter respectivement, de 3 à 4 et de 1 à 2 et d'introduire la valeur d'apparition d'événement décalée 10 avec son compte de correspondances 1. On voit donc qu'on a décrit ci-dessus un procédé de linéarisation, à partir de la couche d'information représentée dans les tables 1 et 2, d'une demande représentée par le vecteur d'apparition de "THIS". La linéarisation est représentée par les valeurs d'apparition d'événement décalées et par les comptes de correspondances indiqués pour la boucle 4 sur la table 26. Ce résultat linéarisé correspond à celui qui est indiqué dans la table 19. On voit donc que le résultat linéarisé formé par le module "cadrage" et stocké dans la "mémoire P/B" n'est rien d'autre qu'une transposition de la représentation colomnaire du type "matrice" de la table 19. La table 27 montre un exemple de la manière dont l'information colomnaire de la table 21 peut être convertie sous la forme linéarisée. Point très important, la table 27 comporte une correspondance imparfaite entre la demande et la matrice de la base de données. Le premier événement est S et sa valeur de décalage est O. En conséquence, pendant la boucle 1, les valeurs d'apparition décimales 4, 7, 13 du vecteur d'apparition d'événement de S sont transférées directement dans la mémoire auxiliaire, chacune d'elles étant associée à un compte de correspondances 1. Le second événement est "I" et sa valeur de décalage est 1. Au cours de la boucle 2 les valetirs d'apparition décimales 3 et 6 du vecteur d'apparition d'événement de I sont diminuées de 1, ce qui donne des valeurs d'apparition d'événement 2 et 5- Etant donné que, pendant la boucle 1, ces valeurs d'apparition d'événement décalées n'ont pas été formées, elles sont stockées, avec leurs comptes de correspondances respectifs 1 dans la "mémoire P/B". Le troisième événement est T et sa valeur de cécalage est 2. Au cours de la boucle 3, les valetirs d'apparition d'événement décimales 1, 11 et 14 du vecteur d'apparition d'événement de T sont diminuées de 2, ce qui donne des valeurs d'apparition d'événement décalées -1, 9 et 12. On supposera une "largeur de cadre" (FW) de - 1. La valeur d'apparition d'événement la plus faible pour l'entrée THIS est 1 et, par conséquent, la valeur d'apparition d'événement décalée -1 se trouve hors de la largeur de cadre. En conséquence la valeur -257- 2334148 d'apparition d'événement décalée -1 est ignorée. D'une manière analogue, la valeur d'apparition d'événement décalée 9 est inférieure au délimiteur 10 pour l'entrée "TEST" et est située plus d'une position au-dessous de la plus faible valeur d'appa-5 rition; en conséquence, elle est également négligée. En conséquence, la valeur d'apparition d'événement décalée 12 et son compte de correspondances 1 sont ajoutés au résultat indiqué pour la boucle 2, ce qui donne le résultat indiqué pour la boucle 3 sur la table 27. Le résultat linéarisé indiqué pour la 10 boucle 3 correspond au résultat colomnaire représenté dans la table 21. Des opérations sont ensuite effectuées pour satisfaire au second critère, c'est-à-dire pour déterminer la relation entre la longueur de la demande (LKRQ) et le nombre de corres-15 pondances rencontrées pour chaque entrée de la base de données. Plus précisément, le nombre de valeurs d'apparition d'événement décalées situées à - la largeur de cadre près de chaque instant d'événement possible est déterminé. L'opération suivante consiste alors à effectuer l'opération représentée dans les tables 20 22-25 en utilisant les résultats linéarisés indiqués pour la boucle 3 sur la table 27 . La table 28 représente le résultat linéarisé indiqué pour la boucle 3 sur la table 27. Tous les instants d'événement possibles 0 à 15 sont indiqués et immédiatement au-dessous des 25 instants d'événement 2, 4, 5, 7, 12 et 13 sont représentés les comptes de nombre de correspondances de chacun de ces instants d'événement. Les instants d'événement qui sont soulignés dans la table 28 n'ont pas de valeur d'apparition d'événement décalée correspondante. L'opération suivante consiste à "explorer" le 30 résultat linéarisé avec la largeur du cadre total et à transformer ce résultat en valeurs de cadrage. Cette opération correspond à celles qui sont indiquées dans les tables 22 à 25. La procédure décrite ci-dessus consiste donc à choisir une largeur de cadre total et à compter le nombre total de corres-35 pondances contenu dans cette largeur de cadre total en utilisant chaque instant d'événement comme centre de cadre sauf pour ce qui concerne les instants d'événement correspondant aux valetirs d'apparition de délimiteurs. -258- 2334148 La table 29 décrit l'opération au cours de laquelle la largeur de cadre "explore" l'événement compris entre les délimiteurs 15 et 10, par centrage successif de la largeur du cadre total aux instants d'événements 14, 13, 12 et 11. Sur le 5 côté droit de la table 29 est indiqué le nombre total de correspondances pour chaque centre de cadre. Lorsque les centres de cadre sont placés en 13 et 12 un compte de correspondances maximal 2 est atteint et, par conséquent, on choisit 13 comme premier centre de cadre à sortir conjointement à son compte de cor-10 respondances 2. L'entrée suivante est comprise entre les délimiteurs situés aux instants d'événement 10 et 8. En conséquence, on place la largeur de cadre total de façon que son centre coïncide avec l'instant d'événement 9. Aucune valeur d'apparition déca-15 lée n'est présente à cet emplacement du cadre et un "-1" est sorti pour indiquer qu'il n'y a aucune correspondance. Comme indiqué sur la table 31, les tests suivants sont effectués pour les instants d'événement 6 et 7 entre les délimiteurs 8 et 5» En plaçant les centres de cadre en 7 et 6, on 20 trouve les nombres de correspondances indiqués sur la table 31, le compte maximal de nombre de correspondances étant 2 pour le cas dans lequel le centre de cadre est placé à l'instant d'événement 6. En conséquence, l'instant d'événement décalé 6 et le compte de correspondances 2 sont sortis comme correspon-25 dant au compte de correspondances maximal. Des tests analogues sont effectués pour les instants d'événement 4, 3, 2 et 1 entre les délimiteurs 5 et 0 comme représenté dans la table 32. Ici, on constate que le centre de cadre placé à l'instant d'événement 3 produit un compte de cor-30 respondances maximal 2 et, par conséquent, la valeur de décalage 3 et le compte de correspondances 2 sont sortis. B. Composants Les Fig. 35-38 représentent un schéma de câblage en partie symbolique du module "cadrage". La table 33 donne une 35 liste des divers registres, compteurs et bascules du module "cadrage". Les registres et compteurs sont des types suivants représentés dans l'ouvrage "TTL" ci-dessus cité et comportent les états et/ou bits (ou bascules) de stockage suivants : les -259- 2334148 compteurs M1, M2, M3, N, "décalage" sont du type SN74161 et chacun d'eux comporte huit "bits de stockage; les registres OUT, FSAV, MAX, DI, T, RII, RI, S, PW, LNRQ, sont du type SN?4100 et chacun d'eux comporte huit bits de stockage (sauf MAX qui 5 n'a que 7 bits); les compteurs CV, FWC sont du type SN74191 et chacun d'eux comporte huit bits de stockage. La bascule (ou bit) de plus fort poids du registre RII est réservée à un bit de signe. Une sortie SRII est connectée à cette bascule et reçoit un signal vrai lorsque le signe est "-" (la bascule de 10 signe est alors à 1) et un signal faux lorsque le signe est Sont également inclus des commutateurs 901-904. Ces commutateurs sont des commutateurs mécaniques conventionnels ou des circuits électroniques classiques qui forment Tin signal codé binaire de huit bits à l'entrée d'information du circuit de sé-15 lection correspondant, signal qui représente en code binaire le chiffre décimal indiqué à l'intérieur de chaque rectangle symbolique. Les bascules PFIRST, PLAST, PFLG, SU, SGN, ET et GT et les bascules FI à P35 du compteur de commande sont toutes du 20 même type et ont les mêmes caractéristiques que celles qui ont été décrites précédemment. Les bascules PI à P35 et le montage de transmission conditionnelle correspondant forment le compteur de commande 913. L'horloge généralisée 700 est la même que celle qui a 25 été décrite précédemment et est représentée ici sous forme de schéma symbolique. Le module "cadrage" comprend en outre une unité arithmétique (ALU). L'unité ALU est du type déjà décrit précédemment à propos du module "codage". 30 La sortie G de l'unité arithmétique ALU est connectée à la sortie sortie et les circuits entrée/sortie d'information du module "cadrage". Les flèches tournées vers la droite indiquent des signaux de départ et les flèches tournées vers la- gauche, des -260- 2334148 signaux d'arrivée. Les lignes entrée/sortie de commande de départ portent chacune un symbole sur la tête de flèche correspondante, symbole qui identifie la ligne et, entre parenthèses après ce symbole, des symboles correspondant à la partie du 5 reste du système à laquelle les lignes de signal de commande sont principalement destinées à aboutir. Les traits renforcés indiquent des lignes multiples permettant de transmettre des bits d'information multiples en parallèle (simultané) à travers tout le module "cadrage" et son schéma symbolique. 10 Des équations logiques sont utilisées pour représenter la transmission conditionnelle nécessaire au fonctionnement du module "cadrage". Une logique de suspension d'horloge 922 provoque une suspension de l'application d'impulsions en CLK par l'horloge 700 et, par conséquent, une suspension du fonctionne-15 ment du module "cadrage" dans les conditions qui seront définies de façon plus détaillée ci-après. C. Description détaillée Les Fig. 35-38 forment un schéma de câblage du module "cadrage". Les Fig. 39-4-1 forment un organigramme représentant 20 la séquence de fonctionnement du module "cadrage". Des symboles sont représentés près de chacune des cases ou pavés de l'organigramme du module "cadtage". Un symbole PB suivi d'un numéro d'ordre identifie chacun des pas de l'organigramme du module "cadrage". En outre, les symboles P1-P35 sont utilisés pour 25 corréler les pavés correspondants, chacun avec l'une des bascules P1-P35 du compteur de commande 913 lorsque cette bascule est à 1. En fonctionnement, le module "cadrage" linéarise les vecteurs d'apparition d'événement d'une demande correspondante 30 au cours des pas PB1 à PB20 de l'organigramme du module "cadrage". Une boucle spéciale est formée en FB20, PB21 et PB22 de l'organigramme du module "cadrage" pour assurer que tout a bien été sorti par écriture dans la "mémoire PB" au point approprié du fonctionnement de ce module. Le nombre maximal de correspondances 35 a l'intérieur du cadre pour chaque centre de cadre, est déterminé au cours des pas PB26 à FB48 de l'organigramme du module "cadrage". -261- 2334148 On. va maintenant examiner les détails du système en supposant qu'une opération de cadrage est sur le point d'être effectuée. Le "minicalculateur" et son programme assurent les opérations suivantes : Tout d'abord, une demande est formulée sur la console d'opérateur du "minicalculateur". En second lieu, le "mini-calculateur" détermine la couche de la base de données contenue dans la mémoire auxiliaire à laquelle la demande doit être appliquée. Si troisième lieu, le vecteur d'apparition d'événement de chaque événement, vecteur qui est stocké dans la mémoire auxiliaire, est recouvré en utilisant des techniques de traitement de données standards. Les événements de la demande sont utilisés comme index pour l'adressage de la base de données. En quatrième lieu, le raccourci du vecteur d'apparition d'événement de chaque événement de la demande est choisi séquentiellement par le-"minicalculateur", est stocké dans le module "mémoire" et est transmis au module "sortie" en vue de sa conversion de la forme "raccourci" à la forme "ligne d'entrée" de l'iso-entro-picogramme correspondant (sous la forme codée hybride). En cinquième lieu, le vecteur d'apparition d'événement codé hybride est transmis au module "cadrage". Chacun des vecteurs d'apparition successifs est choisi, converti et transmis au module "cadrage", mais seulement après le traitement du vecteur d'apparition d'événement précédent. En sixième lieu, le "minicalculateur" provoque la transmission de la "largeur de cadre" (FW) et de la longueur de demande (LîfRQ) au module "cadrage" qui, à son tour, traite les vecteurs d'apparition d'événement un par un. En septième lieu, après le traitement de chaque vecteur d'apparition d'événement, le module "cadrage" notifie au "minicalculateur" qu'il est prêt pour le vecteur d'apparition d'événement suivant. En huitième lieu, le "minicalculateur" répond en répétant la procédure ci-dessus consistant à obtenir le raccourci du vecteur d'apparition d'événement suivant, à le faire passer à travers le module "sortie", en le convertissant ainsi à sa forme "ligne d'entrée", à stocker la ligne d'entrée dans le module "mémoire" et à appeler le module "cadrage" en vue du traitement. Le processus décrit ci-dessus se poursuit jusqu'à ce que le module "cadrage" traite le dernier événement de la demande, moment où -262- 2334148 la bascule PLAST du module "cadrage" est mise à 1 par le "mini-calculateur" pour notifier au module "cadrage" que le dernier événement est en train d'être traité. En gardant présente à l'esprit la procédure générale 5 décrite ci-dessus, on considérera maintenant l'exemple représenté dans les tables 20, 21 et 26 à 30. La table 11 représente l'entrée/sortie principale du module "cadrage". Avant chaque appel du module "cadrage'', on suppose que le vecteur d'apparition d'événement sur le point d'être traité a traversé le mo-10 dule "sortie" et, par conséquent, a été converti de la forme "raccourci" à la forme "ligne d'entrée" (0) de son iso-entropicogramme et a été stocké en code hybride dans la zone 1 du module "mémoire". Initialement, le vecteur d'apparition de délimiteur traverse également le module "sortie", est converti de la forme 15 "raccourci" à la forme "ligne d'entrée" de son iso-entropicogramme et est stocké en code hybride dans la zone 2 du module "mémoire". Initialement, tous les registres et bascules du module "cadrage" sont "vidés" ou remis à 0 par un signal de commande appliqué en MINIT à partir du module "jonction du système 20 DPM". A ce stade, le module "jonction du système DHI" forme un signal de commande à la sortie PFIRST = 1, ce qui met la bascule PFIEST du module "cadrage" à 1. L'état 1 de la bascule PPIRST indique qu'il s'agit de la première boucle ou "passe" 25 à travers le module "cadrage". Les entrées de commande du module "cadrage" pour ce qui concerne l'exemple représenté dans les tables 20, 21, 26-30 sont les suivantes : largeur de cadre = 1 ; longueur de demande (LNRQ) = 3; longueur du premier vecteur d'apparition d'événe-30 ment (LN1) = 3; longueur du vecteur d'apparition de délimiteur (LN2) « 4; Zone 1 du module "mémoire" Zone 2 du module "mémoire" 10001101 00100000 00000010 10001111 01010000 00000100 00000001 vecteur d'apparition d'événement = 13, 7, en code hybride vecteur d'apparition de délimiteur =15, 10, 8, 5, 0 en code hybride -263- 2334148 Le "minicalculateur" forme un signal de commande sur la ligne de commande PIFGO, ce qui provoque 1 *actionnement de l'horloge 700 qui commence alors à former des impulsions d'horloge en CLK et CLK. Etant donné que toutes les bascules 5 PI à P35 ont été remises à 0, l'entrée de gauche supérieure est vraie, et, par conséquent, l'impulsion vraie en CLK (dite ci-après impulsion CLK) met la bascule PI à 1, ce qui provoque l'attaque du pas PB1 de l'organigramme du module "cadrage". Au cours de PB1, un signal vrai est formé à la sortie 10 P1 de la bascule PI et, par conséquent, du compteur de commande 913, ce qui rend vraie l'entrée L du registre FW et les entrées CLR des compteurs d'adresse M1 et M2 et ce qui, par conséquent, provoque le stockage de la "largeur de cadre" contenue dans le dispositif IPRF, dans le registre FW et la mise à 0 des 15 compteurs d'adresse M1 et M2. En outre, la logique P1.FETRST est vraie, ce qui rend vraie l'entrée CLR du registre "décalage" en mettant ainsi à 0 ce registre. La logique P1.PFIRST.CLK devient également vraie, ce qui provoque la génération d'un signal vrai aux entrées L du compteur ïWC et du registre LNRQR 20 et, par conséquent, le stockage du signal "largeur de cadre" et du signal LBRQ en provenance du dispositif IPRF (Fig. 52) dans le compteur FWC et dans le registre LNRQR, respectivement. En outre, pendant PB1, le signal de commande en P2.PFIRSÎD provoque une décrémentation de 1 du signal de largeur 25 de cadre stocké dans le registre FWC. Etant donné que la largeur de cadre est initialement 1, le signal résultant dans le registre FWC est 0. En conséquence, à la fin du pas PB1 de l'organigramme du module "cadrage", le registre FW contient la valeur de largeur de cadre 1, le registre LNRQR contient la 30 longueur de demande 3, et le compteur FWC contient un 0. En résumé, pendant PB1, les registres et les diverses bascules du module "cadrage" sont initialisés et, étant donné qu'il s'agit de la première passe à travers le module "cadrage", la bascule PFIRST est à 1, 35 On va maintenant se référer aux lignes entrée/sortie de commande de la Fig. 38; le signal vrai à la sortie PI détermine un signal vrai à la sortie F11, signal qui à son tour provoque l'application d'un signal "déverrouillage" au module "décodage" -264- 2334148 I, ce qui a pour effet de remettre à O le registre MAR1, de permettre la connexion de LN1, par l'intermédiaire d'un sélecteur de données, au registre MLN1 et la mise à 1 de D1FST. Le signal vrai à la sortie P11 est également appliqué au module 5 "décodage" II, ce qui remet à O le registre MAR2 en permettant ainsi la connexion de LN2, par l'intermédiaire d'un sélecteur de données, au registre MLN2 et à la "matrice de commutateurs" et en mettant ainsi à 1 les bascules S11, S22, S33. En outre, la logique PI.CLK est vraie, ce qui provoque la génération d'un 10 signal vrai à la sortie PI2, signal qui provoque à son tour l'application d'un signal vrai aux entrées L des registres MLF1 et MLN2 des modules "décodage" I et II et, par conséquent, le stockage respectif dans ces registres de LN1 et LN2. L'état vrai de la logique P1.CLK provoque également 15 la génération d'un signal vrai à la sortie PI6, signal qui actionne le multivibrateur monostable D2G0 du module "décodage" II, en appelant ainsi l'intervention de celui-ci. Ceci provoque la lecture et le rejet de la dernière valeur d'apparition de délimiteur 15 pour la dernière entrée. 20 Le signal vrai à la sortie PI de la bascule PI pro voque la mise à 1 de la bascule P2 et la remise à 0 de la bascule P1 lors de l'impulsion CLK suivante et, par conséquent, le pas PB2 de l'organigramme du module "cadrage" est attaqué. On remarquera tout d'abord que la logique de suspension 25 d'horloge 922 est définie par l'équation P13.D1MEND+P16.D21SEKD. P13 et P16 deviennent vrais lorsque les modules "décodage" I et II, respectivement, sont appelés. En conséquence, l'horloge généralisée 700 est mise hors d'action, ce qui inhibe les impulsions CLK et CLK chaque fois que les modules "décodage" I 30 et II sont appelés. Lorsque ces modules ont terminé le décodage et ont fourni une valeur d'apparition au module "cadrage", D1MEND et D2MEND deviennent vrais, et, par conséquent, la logique de suspension 922 devient fausse et l'horloge généralisée est déverrouillée et peut engendrer ses impulsions CLK et ÔLK. 35 Le module "décodage" II agit sur le vecteur d'appari tion de délimiteur contenu dans la zone 2 du module "mémoire". Au cours de PB2, le module "décodage" II est appelé deux fois. A son premier appel, le délimiteur de fin 15 de la dernière -265- 2334148 entrée de la base de données est décodé et sauté. En conséquence, le second appel provoque le décodage du délimiteur de début 10 de la dernière entrée et sa formation dans le registre D02. 5 A cet effet, le signal vrai à la sortie P2 de la bas cule P2 ne provoque aucune action, à cela près que, lors de l'impulsion OLE suivante, la bascule P3 est mise à 1 et la bascule P2 est remise à 0 ce qui forme un signal vrai à la sortie P3. 10 L'état vrai de la logique P2.CLK provoque à nouveau la génération d'un signal vrai à la sortie PI6 et, par conséquent, l'actionnement du multivibrateur monostable D2G0 dans le module "décodage" II pour la seconde fois. Cette fois, le module "décodage" II lit le délimiteur de début 10 de la dernière entrée 15 et forme ensuite le signal de délimiteur à la sortie D02. Le registre El est connecté à la sortie D02 du module "décodage" II et le signal vrai à~la sortie P3 rend vraie l'entrée L du registre BI et, par conséquent, transfère le délimiteur, de D02 à la sortie du registre DI. Le signal vrai à la sortie P3 pro-20 voque également le transfert, par le circuit de sélection DS10, du délimiteur 10, de la sortie du registre DI à l'une des entrées de l'unité ALU et le transfert, par le circuit de sélection DS11, de la "largeur de cadre" décrémentée 0, du compteur PWC à l'autre entrée de l'unité ALU. Le signal vrai à la sortie 25 P3 rend également vraie l'entrée S de l'unité ALU et celle-ci retranche 0 du délimiteur 10 en formant ainsi le résultat 10 en OP. Une fois que le signal vrai est formé à la sortie CLK, la logique CÏZ.P3 devient vraie, l'entrée L du registre T reçoit un signal vrai et ce registre stocke le résultat 10 en OP. Il 30 est à noter que Iq^aleur contenue dans T est égale au délimiteur 10 moins la "largeur de cadre" décrémentée contenue dans PWC. Cette valeur contenue dans T est la valeur d'apparition minimale (ou instant d'événement minimal) qui sera considérée comme valeur d'apparition d'événement décalée. Toute valeur 35 d'apparition d'événement décalée relative à l'entrée comprise entre les valetirs de délimiteur 0 et 15 plus petite que cette valeur minimale sera ignorée. -266- 2334148 Pendant PB3, l'état de la bascule PFIRST est vérifié. Etant donné qu'il s'agit de la première passe à travers le module "cadrage", la bascule PFISST est à 1 et, par conséquent, le pas PB19 est attaqué. 5 Pendant PB19, l'action suivante se déroule en réponse au signal vrai de la sortie P1. La logique P1 .PFIRST est vraie, ce qui provoque la transmission du "-1" (complément à 2 de 1) formé à la sortie des commutateurs 904, jusqu'à l'entrée du registre RII par le circuit de sélection DS7. La logique CLK.P1 10 rend vraie l'entrée L du registre RII et, par conséquent, ce registre est chargé avec "-1". Il s'agit là d'une valeur forcée qui est utilisée pendant PB10 pour assurer que toutes les valetirs d'apparition d'événement sont bien décodées et stockées dans la "mémoire P/B". Les bascules P2 et P3 sont successivement 15 mises à 1 et lorsque P3 est à 1, le pas PB5 est attaqué. Pendant PB5, la logique P3.CLK est vraie et rend la sortie PI3 vraie et celle-ci met à son tour à l'état vrai le multivibrateur monostable D1G0 du module "décodage" I. Il en résulte que ce module est appelé de sorte qu'il décode et en-20 gendre la première valeur d'apparition d'événement 13 à partir du vecteur d'événement stocké sous la forme hybride dans la zone 1 du module "mémoire". Le signal vrai en PI3 appelle toujours l'intervention du module "décodage" I et le fonctionnement du module "cadrage" 25 est suspendu jusqu'à ce que le module "décodage" I ait décodé la valeur d'apparition d'événement suivante 13. La logique P6+P8 est vraie et, par conséquent, la logique de sélection DS8 reçoit un signal vrai à l'entrée DI, ce qui provoque le transfert de l'apparition d'événement 13, de D01 jusqu'à l'entrée 30 du registre RI. La fin de fichier a maintenant été atteinte par le module "décodage" I et un signal vrai est formé à la sortie E0F1 du module "décodage" I. En conséquence, la logique E0F1.P3 est vraie ce'qui met à 1 la bascule P4 et ce qui remet à 0 la bascule P3 lors de l'impulsion CLK suivante après quoi 35 PB5 est attaqué. Pendant PB5, un signal vrai est formé à la sortie P4-. Ce signal vrai à la sortie P4 de la bascule P4 rend vraie l'entrée L du registre RI et, par conséquent, charge la valeur d'apparition d'.événement 13 du vecteur d'apparition d'é -267- 2334148 vénement dans le registre RI. Bien que l'organigramme indique que le module""décodage" I est appelé pendant PB5, le chargement effectif dans RI a lieu pendant PB6. Le signal vrai à la sortie P4- provoque également la 5 réception de signaux vrais par l'entrée de commande du registre RI du circuit de sélection DS10 et par l'entrée de commande du registre DI du circuit de sélection DS11 et, par conséquent, le couplage de la sortie des registres RI et DI avec l'entrée de l'unité ALU. Le signal vrai à la sortie P4- provoque également 10 l'excitation de l'entrée de comparaison de l'unité ALU et, par conséquent, la première rencontre de la valeur d'apparition d'événement contenue dans le registre RI est comparée avec le délimiteur 10 contenu dans le registre DI. Si la valeur d'apparition d'événement contenue dans le registre RI est ^ au délimiteur 15 contenu dans le registre DI, le pas PB7 est attaqué. Par contre, si le vecteur d'apparition d'événement contenu dans le registre RI s'avérait Etant donné que la valeur d'apparition d'événement est 13 et que le délimiteur est 10, le contenu du registre RI est le plus grand et, par conséquent, l'unité ALU forme un signal 25 vrai à la sortie G, signal qui provoque à son tour la formation par la porte OU 910 d'un signal vrai à la sortie GE. Un signal vrai est maintenant formé par la logique P4-.GE, ce qui provoque la mise à 1 de la bascule P6 et la remise à 0 de la bascule P4 à l'impulsion CLK suivante et, £ar conséquent, l'attaque du pas 30 PB7 de l'organigramme du module "cadrage". Etant donné qu'on est en train de décrire ici la première entrée de la demande, c'est-à-dire le premier vecteur d'apparition d'événement, le "décalage" est 0 et, par conséquent, le registre "décalage" contient un 0. Pendant PB7, le 35 décalage 0 est retranché de la valeur d'apparition d'événement contenue dans le registre RI et le résultat est rangé dans le registre RI. A cet effet, le signal vrai à la sortie P6 de la bascule F6 provoque la génération de signaux vrais aux entrées -268- 2334148 de commande respectives des circuits de sélection DS11 et DS10 respectifs des registres "décalage" et RI, ce qui provoque le couplage de ces registres avec les entrées de l'unité ALU. En outre, le signal vrai à la sortie P6 rend vraie l'entrée S de l'unité ALU et rend vraie également l'entrée de commande du circuit de sélection DS8 pour OP. En conséquence, l'unité ALU retranche le contenu O du registre "décalage" du contenu 13 du registre RI en formant ainsi une valeur d'apparition d'événement décalée 13. Le circuit de sélection DS8 transmet cette valeur d'apparition d'événement décalée 13 à l'entrée du registre RI. En outre, la logique P6.CLK est vraie, ce qui rend vraie l'entrée L du registre RI et l'apparition d'événement décalée 13 est rangée dans le registre RI. Le signal vrai à la sortie P6 met à 1 la bascule P7 et remet à 0 la bascule P6 à l'impulsion CLK suivante, ce qui provoque l'attaque du pas PB8. Pendant PB8, la valeur d'apparition d'événement décalée 13 contenue dans le registre RI est comparée avec la limite inférieure de valeur d'apparition 10 contenue dans le registre T. A cet effet, le signal vrai à la sortie P7 provoque l'application de signaux vrais à l'entrée de commande de chacun des circuits de sélection DS10 et DS11 respectifs des registres RI et T, ce qui provoque le couplage de ces registres avec les entrées de l'unité ALU. En outre, le signal vrai en P7 rend vraie l'entrée C de l'unité ALU. La valeur d'apparition d'événement décalée contenue dans le registre RI est à la limite inférieure de valeur d'apparition contenue dans le registre T, ce qui contraint l'unité ALU à former un signal vrai à la sortie G, signal qui provoque à son tour la formation par la porte OU 910 d'un signal vrai à la sortie GE. La logique P7.GE devient maintenant vraie et, à l'impulsion CLK suivante, la bascule P8 est mise à 1 et la bascule P7 est remise à 0, ce qui provoque l'attaque du pas PB9. On remarquera que, si la valeur d'apparition décalée contenue dans le registre RI était la plus petite, un signal vrai serait formé à la sortie L de l'unité ALU et le pas PB5 serait repris, reprise au cours de laquelle la valeur d'apparition précédent immédiatement la valeur d'apparition d'événement inférieure aurait été lue. -269- 2334148 Pendant PB9, la valeur d'apparition d'événement décalée contenue dans le registre El est comparée avec le délimiteur de l'entrée actuellement considérée contenu dans le registre DI. A cet effet, le signal vrai à la sortie P6 détermine 5 un signal vrai à l'entrée de commande des registres DS10 et DS11 respectifs des registres El et DI, ce qui provoque le couplage de ces registres DS10 et DS11 avec l'entrée de l'unité ALU. Le signal vrai en P8 rend également vraie l'entrée G de l'unité ALU et, par conséquent, celle-ci compare le contenu de 10 El avec celui de DI. La valeur d'apparition d'événement décalée 13 contenue dans le registre El est > au délimiteur 10 contenu dans le registre DI et, par conséquent, un signal vrai est formé à la sortie GE de la porte 910, ce qui provoque l'attaque du pas PB10. 15 II est à noter que, si la valeur d'apparition décalée contenue dans le registre El était On va maintenant revenir à l'exemple. Pendant PB9, la valeur d'apparition décalée contenue dans le registre El est >■ 25 au délimiteur contenu dans le registre DI et, par conséquent, un signal vrai est formé à la sortie P8 et l'impulsion CLK suivante met à 1 la bascule P9 et remet à 0 la bascule P8 en provoquant ainsi l'attaque du pas PB10. Le registre EII a été forcé de stocker une valeur "-1" 30 pendant PB19. le registre El contient la valeur d'apparition d'événement décalée 13. Pendant PB10, les contenus respectifs de ces registres sont comparés. Etant donné que la valeur d'apparition d'événement décalée 13 du registre El est la plus grande, les pas PB11, PB15 et PB16 sont attaqués, pas au cours 35 desquels la valeur d'apparition décalée 13 est stockée dans la "mémoire P/B", conjointement à un compte de correspondances 1. En fonctionnement, le signal vrai à la sortie P9 provoque l'apparition d'un signal vrai à l'entrée de commande des circuits -270- 2334148 de sélection DS10 et DS11 correspondant aux registres RII et El, en provoquant le transfert des contenus de ces registres à l'entrée de l'unité ALU. Le signal vrai à la sortie P9 rend également vraie l'entrée C de l'unité ALU, ce qui provoque une 5 comparaison par celle-ci des contenus respectifs des registres EIX et El. Etant donné que le registre EII contient un "-1", son contenu est le plus petit et un signal de commande est formé à la sortie L de l'unité ALU. Un signal vrai est formé par la logique P9.L. 20 Pendant PB15 et PB16, la valeur d'apparition d'événe ment décalée 13 du registre El et son compte de correspondances 1 maintenant contenu dans le compteur N sont stockés dans la "mémoire P/B". A cet effet, l'impulsion CLK, en combinaison avec le signal vrai à la sortie P9, met à 1 la bascule P10 et remet 25 à 0 la bascule P9, ce qui provoque l'attaque du pas PB15. A ce moment, la bascule GT est à 0, ce qui provoque la génération d'un signal vrai à la sortie GT. En conséquence, la logique P10.G5" est vraie, ce qui provoque l'application d'un signal vrai à l'entrée de commande du circuit de sélection DS2 correspondant 30 au registre El. Ceci provoque le transfert, par le circuit de sélection DS2, de la valeur d'apparition d'événement décalée, du registre El dans la "mémoire P/B". Le signal vrai à la sortie P10 détermine un signal vrai à la sortie PI7 des "lignes de signal de commande entrée/sortie aboutissant à la "mémoire P/B". 35 II en résulte alors un stockage par la "mémoire P/B" de la valeur d'apparition d'événement décalée contenue dans le registre El, à l'emplacement spécifié par l'adresse contenue dans le compteur d'adresse M2. En outre, au moment où l'impulsion CLK -271- 2334148 apparaît, la logique PI7.CLK est vraie, ce qui provoque la réception d'un signal vrai par l'entrée Ct du compteur d'adresse M2 et l'adresse contenue dans ce compteur est incrémentée de 1. Ainsi, le compteur d'adresse M2 contient maintenant l'adresse 5 1. Le signal vrai à la sortie P10, lors de l'impulsion CLK suivante, provoque la mise à 1 de la bascule P11 et la remise à 0 de la bascule P10, ce qui entraîne l'attaque du pas PB16 * de l'organigramme du module "cadrage". Pendant PB16, un signal vrai est formé à la sortie P11. 10 Ce signal vrai en P11 provoque la réception d'un signal vrai par l'entrée de commande du circuit de sélection DS2 correspondant au compteur N et, par conséquent, ce circuit de sélection DS2 couple la sortie du compteur N avec l'entrée de la "mémoire P/B". En outre, le signal vrai en P11 provoque la réception 15 d'un signal vrai par la ligne de signal de commande entrée/sortie PI7 et cette ligne autorise alors l'opération d'écriture de la "mémoire P/B". En conséquence, le compte de correspondances 1 contenu dans le compteur N est stocké dans la "mémoire P/B" à l'emplacement qui suit immédiatement l'emplacement de la 20 valeur d'apparition d'événement décalée. En outre, le signal vrai à la sortie PI8 provoque une nouvelle réception d'un signal vrai par l'entrée Ct du compteur d'adresse M2, signal qui à son tour provoque une nouvelle incrémentation de l'adresse qui devient l'adresse 2. 25 Après PB16, le pas PB5 est repris, reprise au cours de laquelle la valeur d'apparition d'événement suivante 7 du vecteur d'apparition d'événement est obtenue par le module "décodage" I à partir de la zone 1 du module "mémoire". En ce qui concérne les signaux de commande entrée/sortie, la lo-30 gique P11 .GT.CLK est maintenant vraie, ce qui provoque la génération d'un signal vrai à la sortie P13, signal qui à son tour met à l'état vrai le multivibrateur monostable D1G0 du module "décodage" I en appelant ainsi l'intervention de ce module, ce qui assure la lecture de l'apparition d'événement ? et son 35 stockage dans le registre El, comme décrit précédemment. La commande passe alors en PB6 où la valeur d'apparition d'événement suivante 7 contenue dans le registre El est comparée avec le délimiteur 10 contenu dans le registre DI. -272- 2334148 Cette fois, on trouve que la valeur d'apparition d'événement 7 contenue dans le registre El est 10 Pendant PB18, le délimiteur immédiatement inférieur 8 est lu dans la zone 2 du module "mémoire" et la valeur de largeur de cadre modifiée 0 contenue dans FWC est retranchée de ce délimiteur pour former tme nouvelle limite inférieure de valeur d'apparition d'événement dans le registre T. A cet effet, 15 l'état vrai de la logique P4.L formé au cours de PB6 rend vraie la logique P4.L.CLK et forme un signal vrai à la sortie PI6. Le signal vrai à la sortie PI6 met le multivibrateur monostable D2G0 à l'état vrai et le module "décodage" II est rappelé, ce qui le contraint à lire la valeur d'apparition de délimiteur 20 immédiatement inférieure 8 dans le vecteur d'apparition de délimiteur contenu dans la zone 2 du module "mémoire". La logique PI6.D2MEND est maintenant vraie et le fonctionnement du module "cadrage" est suspendu, cependant^ue le module "décodage" II décode le délimiteur suivant. Une fois que le module "décodage" 25 II a fourni le délimiteur suivant, la sortie D2MEND de ce module devient fausse et, par conséquent, la logique PI6.D2MEKD devient fausse, ce qui permet à l'horloge généralisée 700 d'engendrer à nouveau ses impulsions CLK. Le signal vrai à la sortie P5 permet l'apparition d'un signal vrai à l'entrée L du registre DI et, 50 par conséquent, la valeur d'apparition de délimiteur 8 formée à la sortie D02 du module "décodage" II est transmise au registre DI. Comme précédemment, la valeur 0 contenue dans le registre FtfC est retranchée de la valeur d'apparition de délimiteur 8 nouvellement fournie, ce qui crée une limite inférieure de va-55 leur d'apparition 8 qui est stockée dans le registre de limite inférieure T. Pendant PB6, la valeur d'apparition d'événement 7 contenue dans le registre El est comparée avec le nouveau délimiteur contenu dans le registre DI. La valeur d'apparition d'é -273- 2334148 vénement 7 est encore la plus petite et, par conséquent, le pas PB18 est attaqué, pas au cotirs duquel l'apparition de délimiteur immédiatement inférieure 5 est lue et décrémentée du contenu 0 du registre FWC pour former une nouvelle limite infé-5 rieure de valeur d'apparition d'événement 5 dans le registre de limite inférieure T. Après PB18, le pas PB6 est repris, reprise au cours de laquelle la valeur d'apparition d'événement 7 du registre RI est comparée avec la nouvelle apparition de délimiteur 5 du 10 registre DI. Cette fois la valeur d'apparition d'événement 7 est la plus grande et la porte 910 forme un signal vrai à la sortie GE, ce qui rend vraie la logique P4-.GE en provoquant ainsi la mise à 1 de la bascule P6 et l'attaque du pas PB7. Pendant PB7, la valeur de décalage 0 contenue dans le 15 registre "décalage" est retranchée de la valeur d'apparition d'événement 7 du registre RI et la valeur d'apparition d'événement décalée résultante 7 est rangée dans le registre El. Après PB7, PB8 est repris. Pendant PB8, la valeur d'apparition d'événement décalée 20 7 du registre El est comparée avec la limite inférieure de valeur d'apparition d'événement 5 du registre T. La valeur d'apparition d'événement décalée 7 est la plus grande et, par conséquent, les pas PB9 et PB10 sont repris. Pendant PB10, le registre EII contient encore un "-1" et, par conséquent, son 25 contenu est le plus petit, ce qui provoque une reprise des pas PB11, PB15 et PB16, reprise au cours de laquelle le compteur N reçoit un "1" tandis que la valeur d'apparition d'événement décalée 16 et son compte de correspondances 1 sont transférés, respectivement à partir du registre El et du compteur ÏT, dans 50 les deux emplacements de mémoire immédiatement suivants de la "mémoire P/B". Après PB16, le pas PB5 est repris, reprise au cours de laquelle la valeur d'apparition d'événement suivante 4 est fournie par le module "décodage" I et stockée dans le registre 35 El. PB6 est à son tour repris, reprise au cours de laquelle la nouvelle valeur d'apparition d'événement 4 du registre El est comparée avec le délimiteur 5 du registre DI. La valeur d'apparition d'événement du registre El est la plus petite, et, par -274- 2334148 conséquent, le pas PB18 est repris, reprise au cours de laquelle le délimiteur immédiatement inférieur 0 est stocké dans le registre DI. Le contenu 0 de PWC est retranché du délimiteur 0 pour former une nouvelle limite inférieure 0 dans le registre 5 de limite inférieure T. A ce stade, le registre DI et le registre T contiennent chacun O. Ensuite est repris le pas PB6 au cours duquel la valeur d'apparition d'événement 4 du registre RI est comparée avec le nouveau délimiteur O du registre DI. La valeur d'apparition 10 d'événement 4 du registre RI est la plus grande et, par conséquent, le pas PB7 est attaqué. Pendant PB7, la valeur de décalage 0 contenue dans le registre "décalage" est retranchée de la valeur d'apparition d'événement 4 du registre RII et la valeur d'apparition d'événe-15 ment décalée résultante 4 est rangée dans le registre RI. Pendant PB8, la valeur d'apparition d'événement décalée 4 du registre RI est comparée avec le délimiteur 0 du registre BI et, étant donné que c'est la valeur d'apparition d'événement décalée 4 qui est la plus grande, le pas PB10 est re-20 pris. Ici encore, la valeur "-1" contenue dans le registre RII est la plus petite et, par conséquent, les pas PB11, PB15 et PB16 sont repris, reprise au cours de laquelle la valeur d'apparition d'événement décalée 4 et son compte de correspondances 1 respectivement contenus dans le registre RI et le compteur N 25 sont transférés aux deux emplacements de mémoire disponibles suivants de la "mémoire P/B"'. La séquence de fonctionnement entre PB5 et PB16 puis PB23 ou PB21 est à noter. Si EOF1 est vraie (dernière apparition d'événement lue dans la zone 1 du module "mémoire") et si 30 la dernière entrée (un "-1" destiné à indiquer la fin des entrées) a été lue dans la "mémoire P/B" et stockée dans le registre RII, alorgfon signal vrai est formé à la sortie SRII du registre RII, ce qui provoque le passage de la commande de PB5 à PB23 par l'intermédiaire de PB20. Par ailleurs, si EOFI est 35 vraie, mais si la dernière entrée (•"—1") n'a pas été lue dans la "mémoire P/B" et stockée dans le registre RII, une valeur non négative sera alors stockée dans le registre RII, ce qui provoquera la génération d'un signal faux à la sortie SRII (signal -275- 2334148 vrai en SSII) du registre EII. Dans ces conditions, la commande passe de PB5» par l'intermédiaire de PB20, en PB21 (P13) où la boucle incluant PB20, PB21 et PB22 est attaquée. La commande "séjourne" en PB20, PB21 et PB22 en provoquant la sortie par 5 lecture d'apparitions d'événement et de comptes de correspondances bors de la "mémoire P/B" jusqu'à ce que soit atteinte la dernière entrée (-1), moment où la commande passe de PB20 en PB23. Toujours dans l'exemple de fonctionnement considéré, 10 après PB16, le pas EB5 de l'organigramme du module "cadrage" est repris. La dernière apparition d'événement a maintenant été lue dans la zone 1 du module "mémoire" et, par conséquent, la bascule E0P1 du module "décodage" I est à 1, ce qui engendre un signal vrai à la sortie E0F1. La dernière entrée (-1) a été lue 15 dans la "mémoire P/B" et est maintenant stockée dans le registre RII et, par conséquent, un signal vrai existe à la sortie SEII. La bascule P11 est à 1, ce qui engendre un signal vrai à la sortie P11. Par suite, la logique E0F1.P11.GT.SEII est Vraie. Ceci provoque la mise à 1 de la bascule PI6 et la remise à 0 de la 20 bascule PI1 et, par conséquent, le passage de la commande, par l'intermédiaire de PB20, en PB23. Pendant PB23 et PB24, une valeur "forcée" -1 stockée dans la "mémoire P/B" à la fin de la zone des valeurs d'apparition d'événement décalées et des valeurs de correspondances 25 identifie la fin de l'apparition d'événement. A cet effet, un signal vrai est formé à la sortie P16 de la bascule P16, ce qui provoque l'application d'un signal vrai à l'entrée du circuit de sélection DS2, ce signal vrai provoquant à son tour le transfert du signal 1", des commutateurs 901 à l'entrée de la "mé-30 moire P/B". Le signal vrai en P16 engendre en outre un signal vrai sur les lignes de signal de commande entrée/sortie PI7 et ce dernier signal détermine le stockage par la "mémoire P/B" de la valeur -1 provenant du circuit de sélection DS2. Le signal vrai à la sortie PU8 engendre à son tour un signal vrai à l'en-35 trée Ct du compteur d'adresse M2, en provoquant ainsi une incrémentation d'une adresse de ce compteur. En outre, le signal vrai en P16 engendre un signal vrai à l'entrée Ct du compteur "décalage". Point important, ce signal provoque le comptage dans le -276- 2334148 sens positif, par le compteur "décalage", d'une valeur de décalage de sorte que ledit compteur contient maintenant une valeur de décalage 1. De plus, la logique P16.C1K est vraie, ce qui engendre un signal vrai à la sortie PI13 en provoquant 5 ainsi la commutation de la "mémoire P/B". La logique P16.CLK étant vraie, elle provoque la remise à 0 de la bascule PFIRST* Ceci est important, car la première passe à travers le module "cadrage", au cours de laquelle le premier vecteur d'apparition d'événement est décalé et stocké 10 dans la "mémoire P/B" est maintenant terminée. Après PB24, la bascule PLAST est à 0, étant donné qu'il ne s'agit pas de la dernière passe à travers le module "cadrage". En conséquence, la logique P16.tLAST.CLK devient vraie, ce qui rebloque l'horloge généralisée 700 qui cesse alors d'engendrer 15 des impulsions en CLK et CLK et provoque ainsi une "suspension", ou interruption temporaire, du fonctionnement du module "cadrage". Le module "cadrage" a maintenant achevé sa première boucle pour la première entrée "S" et est maintenant prêt à 20 effectuer sa première itération ou seconde boucle pour la seconde entrée "I". La "mémoire P/B" contient les "paires" suivantes comprenant chacune une valeur d'apparition d'événement décalée et la valeur de correspondances associée : 13-1» 7-1» 4-1. A la fin, dans la "mémoire P/B" est stockée un -1 pour 25 identifier la fin de la zone. On obtient ainsi la représentation linéaire de la rangée S indiquée sur la table 26 et sur la table 27 pour la passe ou boucle 1. Ensuite le module "cadrage" attaque la boucle 2 au cours de laquelle les résultats indiqués pour la boucle 2 sur 30 la table 27 sont formés. Pendant la boucle 2, la valeur d'apparition de l'événement "I" est traitée. En examinant la table 20, on peut voir que le vecteur d'apparition de "I" comporte des valeurs d'apparition d'événement 6 et 3. En examinant à la fois la table 35 21 et la boucle 2 de la table 27, on peut voir que la valeur de décalage est 1 et que, par conséquent, les valeurs d'apparition d'événemënt 6 et 3 sont diminuées chacune de 1, ce qui donne les valeurs d'apparition décalées 5 et 2. Par suite, pendant la boucle 2, les valeurs d'apparition décalées 5 et 2 -277- 2334148 et leurs valetirs de correspondances respectives 1 sont stockées dans l'ordre numérique convenable parmi les résultats de la boucle 1 dans la "mémoire P/B". A cet effet, initialement, le "minicalculateur" provoque le stockage du vecteur d'apparition 5 de l'événement "I" dans la zone 1 du module "mémoire" sous la forme codée hybride. Le vecteur d'apparition de l'événement "I" codé hybride stocké dans la zone 1 du module "mémoire" se présente comme suit: 10000110 ^ 1= vecteur d'apparition d'événement 10 0 0 0 C 0 1 0 0 ) 6, 3 La zone 2 du module "mémoire contient encore le vecteur d'apparition de délimitateur 15» 10, 8, 5 et 0 sous la forme codée hybride. En outre, le "minicalculateur" mémorise la longueur 2 du vecteur d'apparition d'événement dans le registre 15 LIfl du dispositif IPRF. Le "minicalculateur" déclenche la boucle suivante en formant un signal vrai à la sortie PIPGO, ce qui permet à l'horloge généralisée 700 de recommencer à former des impulsions CLK et CLK et, par conséquent, à autoriser le fonctionnement du 20 module "cadrage" comme décrit précédemment. En outre, les compteurs d'adresse M1 et M2 sont remis à 0 et le registre PSAV est à nouveau chargé avec la longueur 4- du vecteur d'apparition de délimiteur LN2 à partir du dispositif IPRF. En conséquence, les contenus respectifs des registres suivants sont "0" : --5 M1, M2, M3. Les contenus des registres suivants peuvent être négligés : OUT, MAX, îï, DI, T, RII, RI, CV, S. Les contenus des registres indiqués ci-après sont les suivants : PSAV = 4 ; FW = 1; PWC = 0, "décalage" = 1 et LNRQR = 3. Pendant Î-B2, le module "décodage" II décode à nouveau 30 et rejette le délimiteur de fin 15 du vecteur d'apparition d'événement puis décode et transmet le délimiteur 10 qui précède immédiatement le délimiteur de fin. L'unité ALU retranche le "0" du registre PWC du délimiteur 10 et détermine ainsi la valeur d'apparition la plus faible ou minimale 10 qui est stockée dans 35 le registre de valeur d'apparition minimale T. Le délimiteur 10 est stocké dans le registre DI et le délimiteur 10, diminué du "0" de PWC, c'est-à-dire un nouveau délimiteur 10, est stocké dans le registre d'apparition d'événement minimale T. -278- 2334148 Pendant PB3, l'état de la "bascule PFIRST est à nouveau vérifié et, cette fois, on trouve que cette bascule est à O. En conséquence, PB4 est attaqué et PB19 est sauté car il ne s'agit pas de la première passe à travers le module "cadrage". 5 Pendant PB4, la valeur d'apparition d'événement déca lée stockée la plus grande et son compte de correspondances (c'est-à-dire 13,-1) sont lus dans la "mémoire P/B" et stockés dans le registre RII et dans le compteur N, respectivement. Cette opération se déroule comme suit : En ce qui concerne les 10 signaux de commande entrée/sortie, la logique P1.PFIRST est maintenant vraie, ce qui engendre un signal vrai à la sortie PI4. Le signal vrai à la sortie PI4 permet de lire dans la "mémoire P/B" la valeur d'apparition d'événement décalée 13 à l'adresse 0 spécifiée par le compteur d'adresse M1. En outre, 15 le fait que la logique PT. PFIRST soit vraie provoque le/fcrans-fert, par le circuit de sélection DS7, du "13", de la "mémoire P/B" jusqu'à l'entrée du registre RII. La logique P14.CLK engendre un signal vrai à l'entrée Ct du compteur d'adresse M1, ce qui provoque l'incrémentation à 1 de l'adresse contenue 20 dans ce compteur, en formant ainsi l'adresse du compte de correspondances correspondant. La logique CLK.P1 devient alors vraie, ce qui provoque la génération à l'entrée L du registre RII d'un signal vrai qui assure le stockage dans ce registre de la valeur d'apparition d'événement décalée 13. En outre, 25 le signal vrai à la sortie PI de la bascule P1 met à 1 la bascule P2 et remet à 0 la bascule PI lors de l'apparition de l'impulsion CLK. A ce stade, la logique P2.PFIRST est vraie, ce qui provoque à nouveau la génération d'un signal vrai à la sortie 30 PI4 des lignes de signal de commande entrée/sortie. Le signal vrai à la sortie PI4 provoque à nouveau l'extraction par lecture hors de la "mémoire P/B" du compte de correspondances 1 à partir de l'emplacement de mémoire 1 spécifié par le compteur d'adresse M1. La logique P9 est maintenant vraie, ce qui pro-35 voque le couplage par le circuit de sélection DS6 de la sortie de la "mémoire P/B" avec 1'entrée du compteur ïï. La Fig. 35 montre une équation logique représentant les portes logiques nécessaires pour former un signal en PN. Il est à noter que la -279- 2334148 logique P2.PFIRST est maintenant vraie, ce qui engendre un signal vrai à la sortie PN". La logique PïT.CLK engendre un signal vrai à l'entrée L du compteur N, ce qui provoque le stockage dans celui-ci du compte de correspondances 1 fourni par la 5 "mémoire P/B". En outre, l'état vrai de la logique PI4-.CLK engendre un signal vrai à l'entrée Ct du compteur d'adresse M1, en provoquant l'incrémentation de son contenu à l'adresse 2 qui "pointe" sur la valeur d'apparition décalée 7 contenue dans la "mémoire P/B". 10 Le signal vrai en P2 provoque la mise à 1 de la bascule P3 et la remise à 0 de la bascule P2 et, par conséquent, l'attaque du pas PB5 de 1'organigramme du module "cadrage". Pendant PB5, le module "décodage" I fournit la valeur d'apparition d'événement la plus grande (6) du vecteur d'appa-15 rition d'événement de "I" et cette valeur est stockée dans le registre RI, comme décrit précédemment. Le pas PB6 de l'organigramme du module "cadrage" est alors attaqué, pas au cours duquel la valeur d'apparition d'événement 6 stockée dans le registre RI est comparée avec le dé-20 limiteur 10 stocké dans le registre DI. Etant donné que l'apparition d'événement 6 du registre RI est inférieure ( Le pas PB6 de l'organigramme est repris et lors de cette reprise la valeur d'apparition d'événement 6 du registre RI est à nouveau trouvée inférieure au nouveau délimiteur 8 stocké dans le registre DI, ce qui provoque la reprise de EB18. 30 Pendant PB18, le module "décodage" I fournit le délimiteur immédiatement inférieur 5 et ce délimiteur 5 (5 -0) est rangé dans le registre RI. Ensuite est repris le pas PB6 de l'organigramme, reprise au cours de laquelle la valeur d'apparition d'événement 6 35 du registre RI est comparée avec le nouveau délimiteur 5 du registre DI et s'avère maintenant la plus grande. En conséquence, l'unité ALU et la porte 910 forment un signal vrai en GE , ce qui rend vraie la logique P4-.GE en provoquant la mise à 1 de la -280- 2334148 bascule P6 et la remise à 0 de la bascule P4 par le compteur de commande 913. En conséquence PB7 est attaqué. Pendant le pas PB7 de l'organigramme, le registre "décalage" cotitient un "1". Le registre El contient la valeur d'apparition d'événement non décalée 6 et des signaux vrais sont formés à la sortie P6. Ceci provoque loéouplage par les circuits de sélection DS10 et DS11 des registres El et "décalage" avec 1'uûité ALU, de sorte que la valeur de décalage 1 est retranchée du vecteur d'apparition non décalé 6, et de sorte que le vecteur d'apparition décalé résultant 5 est rangé dans le registre El. Ensuite est attaqué le pas PB8 de l'organigramme du module "cadrage", pas au cours duquel la valeur d'apparition d'événement décalée 5* contenue dans le registre RI, est comparée avec la valeur d'apparition minimale 8 du registre T; la valeur d'apparition d'événement décalée 5 est la plus grande et, par conséquent, le pas PB9 est attaqué. Pendant PB9, la valeur d'apparition d'événement 5 du registre El est comparée avec le délimiteur 5 du registre DI et l'on trouve qu'ils sont égaux entre eux. En conséquence, PB10 est attaqué. Pendant PB10, l'apparition d'événement décalée 13 obtenue lors de la boucle précédente, lue dans la"mêmoire P/B" est stockée dans le registre EII, est comparée avec la valeur d'apparition d'événement nouvellement décalée 5 du registre El. La valeur d'apparition décalée précédente 13 du registre EII est ïa plus grande et, par conséquent, l'unité ALU forme un signal vrai à la sortie G- et le pas PB13 est attaqué. A cet effet, le signal vrai à la sortie P9 provoque la mise à 1 de la bascule P10 et la remise à O de la bascule P9. Le signal vrai à la sortie P10 provoque la réception d'un signal vrai par la sortie PI7. Le signal vrai à la sortie PI7 provoque un transfert par écriture par la "mémoire P/B" de la valeur d'apparition d'événement décalée précédente 13* du registre EII dans l'emplacement de mémoire 0 spécifié par le compteur d'adresse M2 et celui-ci est incrémenté d'une adresse pour former l'adresse 1. Le signal vrai à la sortie P10 provoque la mise à 1 de la sortie P11 et la remise à 0 de -281- 2334148 la "bascule P10, ce qui provoque à nouveau la génération de signaux vrais à la sortie PI75 signatix qui provoquent à leur tour le stockage du compte de correspondances 1 du compteur N à l'adresse suivante 1 de la "mémoire P/B". En outre, le comp-5 teur d'adresse M2 est incrémenté à l'adresse 2. Le signal vrai à la sortie G de l'unité ALU au cours de PB10 rend vraie la logique P9.G.CLK ' et, par conséquent, met à 1 la bascule GT, ce qui provoque la génération d'un signal vrai à la sortie GT. En conséquence, en PB14-, la logique P11.GT 10 est vraie, ce qui provoque la réception d'un signal vrai par la sortie PI4. Le signal vrai en PI4 provoque une sortie par lecture de la "mémoire P/B" de la valeur d'apparition d'événement décalée précédente "suivante" 7 et de son compte de correspondances 1 en vue du stockage de cette valeur et de ce compte, res-15 pectivement, dans le registre EII et dans le compteur N. PB10 est maintenant repris. Pendant PB10, la valeur d'apparition d'événement décalée précédente 15 du registre EII est comparée avec la valeur d'apparition d'événement décalée nouvellement formée 7 du re-20 gistre El et l'on constate que la première est la plus grande. En conséquence, les pas PB15 et PB14- sont repris, reprise au cours de laquelle la valeur d'apparition d'événement décalée précédente 7 et son compte de correspondances 1, respectivement contenus dans le registre EII et dans le compteur N", sont stoc--j;5 kés aux deux emplacements de mémoire suivants, 2 et 5, de la "mémoire P/B", tandis que la valeur d'apparition d'événement décalée précédente "suivante" 4- et son compte de correspondances 1 sont sortis par lecture de la "mémoire P/B" à partir des emplacements de mémoire 5 et 6, spécifiés par le compteur 30 d'adresse M1 en vue de leur stockage dans le registre EII et dans le compteur d'adresse N, respectivement. Le compteur d'adresse M2 est convenablement incrémenté. Le pas PB10 est alors repris, reprise au cours de laquelle la valeur d'apparition d'événement décalée précédente 4-55 est à nouveau comparée avec la valeur d'apparition d'événement décalée nouvellement formée 5 contenue dans le registre El. La valeur d'apparition d'événement décalée précédente 4 du registre EII est maintenant la plus petite et, par conséquent, les pas -282- 2334148 PB11, PB15 et PB16 sont maintenant attaqués, pas au cours desquels la valeur d'apparition d'événement décalée nouvellement formée 5 et son compte de correspondances 1 sont stockés dans la "mémoire P/B" aux emplacements 4 et 5 spécifiés par le comp-5 teur d'adresse M2 et celui-ci est convenablement incrémenté. Après PB16, le pas PB5 est repris, reprise au cours de laquelle la valeur d'apparition d'événement suivante 3 relative à l'événement "I" est décodée et engendrée par le module "décodage" I et stockée dans le registre RI et le fonctionnement 10 se poursuit comme décrit précédemment jusqu'à ce que la zone 2 du module "mémoire" de la "mémoire P/B" contienne les valeurs d'apparition d'événement décalées et les comptes de correspondances indiqués pour la boucle 2 dans la table 19. A la fin de la boucle 2, le module "cadrage" suspend son fonctionnement à 15 la fin du pas PB25, comme décrit précédemment, après avoir incrémenté le registre "décalage" à une valeur de décalage 2. Le "minicalculateur" obtient alors le vecteur d'apparition d'événement relatif à l'événement "T" et le stocke dans la zone 1 du module "mémoire". Le vecteur d'apparition d'événe-20 ment codé hybride de l'événement "T" se présente comme suit : 10001110 ) T = vecteur d'apparition d'événement 14, ) 00000100 ) 11, 1 00100000 ) Le module "décodage" est initialisé avec une information appro-25 priée comme décrit précédemment et est rappelé pour effectuer sa troisième boucle, qui a pour résultat l'information indiquée pour la boucle 3 dans la table 19. L'une des opérations que le "minicalculateur" effectue lorsqu'il initialise le module "cadrage" pour la dernière 30 valeur d'apparition d'événement consiste à former un signal vrai à la sortie PLAST —>1, ce qui provoque la mise à 1 de la bascule PLAST. En conséquence, la logique P16.PLAST.CLK ne devient pas vraie et, par conséquent, la bascule PCE n'est pas remise à 0. En conséquence, le module "cadrage" ne suspend pas son fonc-35 tionnement et PB26 est attaqué à la suite de PB25• En outre, la logique P16.PLAST engendre un signal vrai à la sortie PI5, ce qui rétablit le module "décodage" II en mettant la bascule D2FST de ce module à 1. De plus, la logique P16.PLAST.CLK en -283- 2334148 gendre un signal vrai à la sortie PI6, ce qui rend vraie la logique P16.PLAST.CLK. L'état vrai de cette logique provoque la remise à 0 des registres et compteurs M1, M2,. M3, S et MAX et le pas PB27 est attaqué. 5 Le processus de linéarisation a été mené à bien au cours des pas PB1 à PB25. La "mémoire P/B" contient les valeurs d'apparition d'événement décalées et les comptes de correspondances indiqués pour la boucle 3 dans la table 27. L'opération suivante consiste, en partant de la valeur d'apparition d'évé-10 nement décalée la plus grande (c'est-à-dire située le plus à droite) et de son compte de correspondances, à "explorer" les données avec un cadre pour obtenir le nombre maximal de correspondances à chaque centre de cadre. A cet effet, les pas PB26 à PB48 sont attaqués, pas au cours desquels le module "décodage" 15 II est rétabli, de sorte qu'il commence à redécoder le vecteur d'apparition des délimiteurs 15, 10, 8, 5% 0, en commençant par le plus grand. L'état vrai de la logique P16 et celui de la logique CLK.P16.PLAST provoquent le transfert, par le circuit de sélec-20 tion DS1, des signaux "-1", de la sortie des commutateurs 902.à l'entrée du registre OUI et la réception par l'entrée L de celui-ci d'un signal vrai. Ceci provoque le stockage dans le registre OÏÏT du signal "-1". L'état vrai de la logique P16.PLAST.CLK engendre un signal vrai à la sortie PI6, signal qui à son tour 25 appelle le module "décodage" II en provoquant le décodage et le rejet par celui-ci du dernier délimiteur 15 du vecteur d'apparition de délimiteur. Le signal vrai à la sortie P16 de la bascule P16 remet à 0 celle-ci et la logique P16.PLAST met la bascule P16 à 1, ce qui provoque l'attaque du pas PB28. Pendant 30 PB28, l'avant-dernier délimiteur 10 du vecteur d'apparition de délimiteur est lu par le module "décodage" II. A cet effet, la logique P17«CLK forme un signal vrai à la sortie P16, ce qui met à 1 le monostable D2G0 en appelant l'intervention du module "décodage" II, ce qui détermine le stockage du délimiteur 10 35 dans le registre DI. L'état vrai de la logique P17 engendre un signal vrai à la sortie P14- du module "cadrage", ce qui provoque la sortie par lecture par la "mémoire P/B" de la plus grande valeur d'ap -284- 2334148 parition d,événement décalée 13 et de son compte de correspondances 1 (voir table 27). La logique P1 .PFIRST est maintenant vraie, ce qui provoque le transfert par le circuit de sélection DS7 de la valeur 5 d'apparition d'événement décalée 13 à l'entrée du registre RII. En outre, la logique CLK.P17 devient vraie, ce qui provoque la génération d'un signal vrai à l'entrée L du registre RII, signal qui provoque à son tour le stockage de la valeur d'apparition d'événement décalée 13 dans le registre RII. 10 La logique P14.CLK engendre un signal vrai à l'entrée Ct du compteur d'adresse M1, ce qui provoque l'incrémentation de son contenu à l'adresse 1, qui est l'adresse du compte de correspondances 1. Le signal vrai à la sortie P17 de la bascule P17 provoque la mise à 1 de la bascule P18 et la remise à 0 de 15 la bascule P17. L'état vrai de la sortie P18 rend vraie la sortie de la "mémoire P/B", ce qui provoque la sortie par lecture par cette mémoire du compte de correspondances 1. En outre, la logique CLK est vraie, ce qui provoque une incrémentation du contenu du compteur d'adresse M1 à l'adresse 3, en pointant 20 ainsi vers la valeur d'apparition d'événement décalée immédiatement inférieure 12 dans la "mémoire P/B". La logique P$ est maintenant vraie et, par conséquent, le circuit de sélection DS6 transfère le compte de correspondances 1, de la "mémoire P/B" à l'entrée du compteur N. En se référant à la Fig. 35, on 25 peut constater que la logique P18 est maintenant vraie, ce qui engendre un signal vrai à la sortie PN. La logique PN.CLK provoque le chargement du compteur N avec le compte de correspondances 1 provenant de la "mémoire P/B". Le compteur CV garde trace du centre de cadre. Le pre-30 mier centre de cadre est la valeur d'apparition décalée la plus grande (ou située le plus à droite). A cet effet, le signal vrai en P17 provoque le transfert, par le circuit de sélection DS9, de la plus grande valeur d'apparition décalée 13 à l'entrée du compteur CV. En outre, la logique P17.CLK provoque le stoc-35 kage de la valeur d'apparition décalée 13 dans le compteur CV. Le signal vrai à l'entrée P18 provoque la mise à 1 de la bascule P19 et la remise à 0 de la bascule P18 à l'impulsion CLK suivante, ce qui provoque l'attaque du pas PB30. -285- 2334148 Pendant PB30, le compte de correspondances 1 du compteur N est comparé avec la longueur de demande 4 contenue dans le registre LNRQR. Etant donné qu'il existe une "inégalité", le pas PB31 est attaqué. Par contre, dans le cas où il existe-5 ràit une "égalité", le contenu du compteur ÎT serait égal à celui du registre LNRQR et le pas PB20 serait attaqué, pas au cours duquel la valeur d'apparition d'événement décalée du registre RII est transférée dans le registre OUI tandis que le compte de correspondances du compteur N est transféré dans le registre 10 llâX. Toujours dans l'exemple considéré, le signal vrai à la sortie P19 de la bascule P19 met à 1 la "bascule P20 et remet à 0 la bascule P19 à l'impulsion CLK suivante. Pendant PB31, la plus grande valeur d'apparition d'é-15 vénement décalée 13 du registre RII est comparée avec le plus grand délimiteur 10 du registre DI. Le but du pas PB31 est de déterminer si la valeur d'apparition d'événement décalée du registre RII est contenue dans l'événement spécifié par le délimiteur de début contenu dans le registre DI. Si la valeur d'appa-20 ri tion d'événement décalée du registre RI est la plus grande, ou bien est égale au délimiteur, c'est qu'elle est bien contenue dans l'événement et le pas PB32 est attaqué. Dans l'exemple considéré, le signal vrai à la sortie P20 provoque le transfert par les circuits de sélection DS10 25 et DS11 des contenus respectifs des registres RII et DI aux entrées de l'unité ALU et engendre un signal vrai à l'entrée C de cette unité. L'unité ALU compare alors les valeurs en question. L'apparition d'événement décalée 13 du registre RII est plus grande que le délimiteur 10 du registre DI et, par consé-30 quent, un signal vrai est formé à la sortie G- de l'unité ALU. La bascule E est à 0 et, par conséquent, la logique P1.G-.ET est vrâie, ce qui provoque la mise à 1 de la bascule P21 et la remise à 0 de la bascule P20 à l'impulsion CLK suivante et, par conséquent, l'attaque du pas PB32. 35 Pendant PB32, la valeur de centre de cadre contenue dans le compteur CV est retranchée de la valeur d'apparition d'événement décalée du registre R2 pour former une valeur qui, pendant PB33, est comparée avec la largeur de cadre pour déter -286- 2334148 miner si la valeur d'apparition d'événement décalée du registre RII se trouve à l'intérieur ou à l'extérieur de la largeur de cadre admissible sur le côté "+" du centre de cadre. A cet effet, le signal vrai à la sortie P21 provoque le transfert par les 5 circuits de sélection DS10 et DS11, des contenus respectifs "13" et "13" du registre RII et du compteur CV à l'entrée de l'unité ALU. Le signal vrai en P21 engendre un signal vrai à l'entrée S de l'imité ALU, qui retranche alors le "13" du compteur CV du "13" du registre RII, ce qui forme une sortie "0W en OP. La .10 logique CLK.P21 provoque le chargement par le registre T de la sortié "0" de OP dans ce registre lui-même. En conséquence, le registre T contient maintenant un "0". Le signal vrai en P21 provoque la mise à 1 de la bascule P22 et la remise à 0 de la bascule P21 à l'impulsion CLK 15 suivante, ce qui détermine l'attaque du pas PB33» Les contenus respectifs des registres T et IVf sont maintenant comparés pour déterminer si l'événement décalé du registre RII est compris ou non dans la largeuu&e cadre admissible du côté + du centre de ce cadre. A cet effet, le signal 20 vrai en P22 provoque le transfert, par les circuits de sélection DS10 et DS11, du "0" et du "1", respectivement, des registres T et P® à l'entrée de l'imité ALU. Le signal vrai en P22 engendre un signal vrai à l'entrée C de l'unité ALU, ce qui provoque une comparaison du "0" du registre T avec le "I" du 25 registre FW. Le "0" du registre T est le plus petit et, par conséquent, PB34 est attaqué. A cet effet, l'unité ALU forme un signal vrai à la sortie L, ce qui provoque la formation par la porte OU 911 d'un signal vrai à la sortie LE. La logique P22.LE est vraie, ce qui 30 met la bascule P25 à 1 et ce qui remet la bascule P22 à 0 lors de l'impulsion CLK suivante. Pendant PB34-, la valeur d'apparition d'événement décalée du registre RII est vérifiée pour s'assurer qu'elle ne se trouve pas en dehors de la largeur de cadre du côté gauche ou 35 du centre de celui-ci. A cet effet, le signal vrai à la sor tie P25 provoque le transfert,par les circuits de sélection DS10 et DS11, du "13" de chacun des registres CV et RII à l'entrée de l'unité ALU. L'unité ALU retranche la valeur d'appari -287- 2334148 tion d'événement décalée 13 du registre RII du centre de cadre 13 du registre CV et le résultat (0) apparaît à la sortie OP. La logique CLK.P25 est maintenant vraie, ce qui provoque la génération d'un signal vrai à l'entrée L du registre T et, par 5 conséquent, le stockage de la sortie "0" de OP dans le registre T. Le signal vrai à la sortie P25 provoque la mise à 1 de la bascule P26 et la remise à 0 de la bascule P25 à l'impulsion CLK suivante, ce qui détermine l'attaque du pas PB35. 10 Le signal vrai à la sortie P26 provoque le transfert, par les circuits de sélection DS10 et DS11, du "0" et du "1" respectivement des registres T et H à l'entrée de l'unité ALU. Etant donné que la valeur "0" du registre T est la plus petite, l'unité ALU forme un signal vrai à la sortie L. La logique 15 P26.L est vraie, ce qui provoque la mise à 1 de la bascule P27 et la remise à 0 de la bascule P26 à l'impulsion CLK suivante et le pas PB36 est attaqué. Pendant PB36, le compte de correspondances contenu dans le compteur 7 est ajouté au contenu du registre S. Le re-20 gistre S. conserve un pointage constamment à jour du nombre total de correspondances comprises dans la "largeur de cadre total". Etant donné que le registre S est initialement à "0" et " que le compteur N contient initialement un "1" (compte de correspondances pour la valeur d'apparition d'événement décalée 25 13) le résultat formé dans le registre S pendant PB36 est "1". On va maintenant examiner le fonctionnement réel : Le signal vrai en P27 provoque le couplage, par les circuits de sélection DS10 et DS11, de la sortie du compteur N et de celle du registre S avec l'entrée de l'unité ALU et l'application 30 d'un signal vrai à l'entrée A. Le signal vrai à l'entrée A provoque l'addition du "0" et du "1", respectivement contenus dans le compteur E" et dans le registre-S, et le résultat "1" est formé à la sortie OP. La logique P27-CLK est vraie, ce qui applique un signal vrai à l'entrée L du registre S et provoque 35 le stockage par celui-ci du "1" de la sortie OP. Le signal vrai à la sortie P27 provoque la mise à 1 de la bascule P30 et la re mise à 0 de la bascule P27 lors de l'impulsion CLK suivante et le pas PB37 est attaqué. -288- 2334148 Pendant PB37» la valeur d'apparition d'événement décalée suivante 12 et son compte de correspondances 1 sont lus dans la "mémoire P/B" aux adresses spécifiées par le compteur d'adresse M1. A cet effet, le signal vrai en P30 détermine un 5 signal vrai à la sortie PI4- du module "cadrage", ce qui provoque une sortie par lecture, par la "mémoire P/B", de l'événement décalé 12. La logique PI4-.CLK est vraie, de sorte que le compteur d'adresse M1 incrémente son compte d'une adresse en pointant sur le compte de correspondances correspondant 1. La 10 bascule P31 est mise à 1 et la bascule P30 est remise à 0. Le signal vrai à la sortie P31 provoque à nouveau la génération d'un signal vrai à la sortie PI4- et la mise à l'état vrai de la logique PI4-.CLK, de sorte que le compte de correspondances 1 est extrait par lecture de la "mémoire P/B" et que le compteur 15 d'adresse M1 est incrémenté d'une adresse. En ce qui concerne le registre RII et le compteur N, la logique PI.PFIRST provoque le transfert, par le circuit de sélection DS7, de la valeur d'apparition d'événement décalée 12, à l'entrée du registre RII et l'état vrai de la logique CLK.P30 provoque le stockage de la 20 valeur d'apparition d'événement décalée 12 dans le registre RII. D'une manière analogue, l'état vrai en P^j et, par conséquent, l'état vrai de la logique PN.CLK provoque le stockage du compte de correspondances 1 formé à la sortie OP de l'unité ALU dans le compteur N. Le signal vrai à la sortie P31 de la bascule P31 25 met à 1 la bascule P19 et remet à 0 la bascule P31 à l'impulsion CLK suivante, ce qui provoque une reprise du pas PB30. Pendant la boucle suivante passant par PB30 et PB31, le compte de correspondances 1 du compteur N et la longueur de demande 4- contenue dans le registre LNRQR sont à nouveau comparés 30 et trouvés "non égaux", ce qui provoque l'attaque de PB31. Pendant PB31, la valeur d'apparition d'événement décalée 12 du registre RII est comparée avec l'avant-dernier délimiteur 10 du registre DI et l'on trouve que cette valeur est plus grande que ledit délimiteur. En conséquence, les pas PB32 et PB33 sont re-35 pris. Pendant PB32 et PB33, la valeur d'apparition d'événement décalée 12 du registre RII est vérifiée et l'on trouve qu'elle est contenue dans la largeur de cadre du côté "+" ou -289- 2334148 droit du centre de cadre, comme décrit précédemment. En conséquence, les pas PB34- et PB35 sont repris, reprise au cours de laquelle l'apparition d'événement décalée 12 du registre RII s'avère contenue dans la largeur de cadre du côté ou gauche 5 du centre de cadre comme décrit précédemment et, par suite, PB36 est repris. Pendant PB36, le compte de correspondances 1 de la valeur d'apparition d'événement décalée 12 est ajouté au "1" déjà présent dans le registre S et le compte de correspondances 10 résultant 2 est rangé dans le registre S. La valeur d'apparition d'événement décalée suivante 7 et son compte de correspondances 1 sont lus dans la "mémoire P/B" et stockés dans le registre EII; le compteur N et le compteur d'adresse M1 sont incrémentés d'une manière appropriée. 15 Les pas PB30 à PB35 sont maintenant attaqués, pas au cours desquels le compte de correspondances du compteur N est comparé avec la longueur de demande 4- contenue dans le registre LNEQR et s'avère le plus petit. En conséquence, PB31 est repris, reprise au cotirs de laquelle la valeur d'apparition d'événement £0 décalée 7 du registre EII est comparée avec le délimiteur 10 du registre DI, la première s'avérant la plus petite, c'est-à-dire "extérieure" à l'événement actuellement considéré. En se référant à l'organigramme, on peut voir que, lorsque cela se produit, le module "cadrage" se branche de PB31 à PB39» A cet effet, 25 l'unité ALU forme un signal vrai à la sortie L, ce qui rend vraie la logique P20.L et, à l'impulsion CLK suivante, la bascule P28 est mise à 1 et la bascule P27 est remise à 0. Pendant PB39, le contenu du registre MAX est comparé avec celui du registre S. Le registre MAX est un registre de 30 stockage temporaire destiné à mémoriser le nombre maximal actuel de correspondances comprises dans une largeur de cadre total pour une entrée. Le registre S conserve un pointage constamment à jour du nombre de correspondances contenues dans un cadre total. Le but de la comparaison effectuée pendant PB39 est de dé-35 terminer si le pointage conservé dans le registre S est devenu ou non plus grand que le maximum actuel contenu dans le registre MAX. Si cela se produit, alors est attaqué le pas PB4-1 au cours duquel le centre de cadre contenu dans le compteur CT est trans- -290- 2334148 féré au registre OUT, tandis que le contenu du registre S est transféré au registre MAX. Comme décrit plus loin de façon plus détaillée, si le contenu du registre MAX est le plus grand, PB4-0 est attaqué directement et, au cours de ce pas, le centre 5 de cadre du registre CV est décrémenté.. Pour revenir à l'exemple actuellement considéré, on peut maintenant préciser que le registre MAX a été initialement mis à 0 et que, par conséquent, son contenu est plus petit que le compte de correspondances 2 du registre S. En conséquence, 10 PB41 est ensuite attaqué. A cet effet, le signal vrai à la sortie P28 provoque le couplage, par les circuits de sélection DS10 et DS11, des registres MAX et S avec l'entrée de l'unité ALU et celle-ci forme à son tour un signal vrai à la sortie L. Le signal vrai à la sortie P28 provoque le transfert, par les 15 circuits de sélection DS1 et DS5, du "15" du registre CV et du "2" du registre S' aux entrées respectives des registres OUT et MAX. L'état vrai de la logique P28.L provoque l'application d'un signal vrai à l'entrée L du registre OUT, ce qui détennine le stockage du centre de cadre 15 du compteur CV dans le regis-20 tre OUT. L'état vrai de la logique P28.CLK rend vraie l'entrée L du registre MAX, ce qui provoque le stockage dans celui-ci du compte de correspondances total 2 du registre S. Après PB41 est attaqué le pas PB4-0, au cours duquel le centre de cadre du compteur CV est décrémenté d'une unité, 25 c'est-à-dire ramené à 12, ce qui déplace le cadre d'un rang vers la gauche (ou vers le bas). A cet effet, la logique P28.CLK applique un signal vrai à l'entrée Ct du compteur CV, ce qui provoque un "décomptage" du compteur CV de 15 à 12. Le signal vrai à la sortie P28 de la bascule P28 met 50 à 1 la bascule P29 et remet à 0 la bascule P28 à l'impulsion CLK suivante, ce qui provoque l'attaque de PB42. Pendant PB4-2, un contrôle est effectué pour déterminer si le nouveau centre de cadre contenu dans le compteur CV est supérieur au délimiteur inférieur contenu dans le registre DI 35 et, par conséquent, est encore contenu dans l'entrée considérée. Si le centre de cadre stocké dans le compteur CV est égal ou supérieur à ce délimiteur, le centre de cadre contenu dans le compteur CV est encore compris entre les limites de l'entrée -291- 2334148 et PB4-3 est ensuite attaqué. Par contre, si le centre de cadre du compteur CV est inférieur au délimiteur du registre DI, alors c'est que le centre de cadre est passé au-dessous du délimiteur inférieur pour l'entrée actuelle et PB44- est atta-5 qué. Pour revenir à l'exemple considéré, on remarquera maintenant que le compteur CT contient un "12" et le registre DI un "10". En conséquence, le centre de cadre du compteur CT est le plus grand. Le signal vrai à la sortie P29 provoque le 10 transfert, par les circuits de sélection DS10 et DS11, du "12" du compteur CV et du "10" du registre DI à l'entrée de l'unité ALU et un signal vrai est appliqué à l'entrée C de celle-ci. Etant d.onné que le contenu du compteur CV est le plus grand, un signal vrai est formé à la sortie G, ce qui provoque '•5 l'attaque de PB4-3. Etant donné qu'on est sur le point de soumettre à un test le nouveau centre de cadre 12, le compte du nombre de correspondances du registre S est remis à 0 et le compteur d'adresse M1 est remis dans le même état que M2, qui contient l'adresse de la première valeur d'apparition d'événe-20 ment 1? des entrées en cours de test (voir table 29). Si l'on considère le fonctionnement réel, on voit que le signal vrai apparaissant à la sortie G de l'unité ALU provoque la formation par la porte OU 610 d'un signal vrai à la sortie GE. Ce signal rend à son tour vraie la logique P29.GE.CLK et "vide" ou remet 25 à 0 le registre S. La même logique assure l'application d'un signal vrai à l'entrée L du compteur d'adresse M1 et l'adresse du compteur M2 est stockée dans M1. En conséquence, le registre S contient maintenant "0" et le compteur d'adresse M1 contient l'adresse dans la "mémoire P/B" de la plus grande valeur d'appa-30 rition 13. Un signal vrai est maintenant formé par la logique P29.G, ce qui met à 1 la bascule 30 et ce qui remet à 0 la bascule P29 à l'impulsion CLK suivante, en provoquant ainsi l'attaque du pas PB37. Pendant PB37, la plus grande valeur d'apparition 13 et 35 son compte de correspondances 1 sont sortis par lecture par la "mémoire P/B" et sont stockés respectivement dans le registre RII et dans le compteur N. -292- 2334148 Pendant PB30, on trouve que le compte de correspondances du compteur N est inférieur à la longueur de demande du registre LNQR et PB31 est attaqué. Pendant PB31, on trouve que la valeur d'apparition d'événement 13 du registre RII est plus 5 grande que le délimiteur 10 du registre DI, et les pas PB32 et FB33 sont attaqués. Pendant PB32 et PB33, on trouve que la valeur d'apparition d'événement 13 est contenue dans la largeur de cadre, du côté "+" du centre de cadre 12 contenu dans le compteur CV et, en conséquence, les pas PB34- et 35 sont 10 attaqués. Pendant FB34- et PB35, on trouve que la valeur d'apparition d'événement 13 du registre RII est contenue dans la largeur de cadre, du côté n-n du centre de cadre 12 et, en conséquence, PB36 est attaqué. Pendant PB36, le compte de correspondances contenu dans le compteur N est ajouté au "0" du 15 registre S, de sorte que celui-ci contient maintenant Tin compte de correspondances 1. Alors est attaqué le pas PB37 au cours duquel la valeur d'apparition d'événement immédiatement inférieure 12 et son compte de correspondances 1 sont lus dans la "mémoire P/B" et sont stockés dans le registre RII; le compteur 20 N et le compteur d'adresse M1 sont convenablement incrémentés. Ensuite sont repris les pas PB30 à PB36 avec les mêmes résultats que ceux qu'on avait trouvés pour l'apparition d'événement 13; donc, pendant PB36, le compte de correspondances 1 contenu dans le compteur N est ajouté au compte de correspon-25 dances 1 déjà contenu dans le registre S, ce qui donne un compte de correspondances total 2 dans le compteur S. PB37 est à nouveau repris et, pendant cette reprise, la valeur d'apparition d'événement immédiatement inférieure 7 et son compte de correspondances 1 sont lus dans la "mémoire P/B" et sont stockés, respectivement, 30 dans le registre RII et dans le compteur N. Le compteur d'adresse M1 est convenablement incrémenté. Les pas PB30 et PB31 sont alors repris. Pendant PB31, on trouve que la valeur d'apparition d'événement 7 du registre RII est plus petite que le délimiteur 10 du registre DI, ce qui 35 indique que l'apparition d'événement n'appartient pas à l'événement actuellement considéré tel qu'il est spécifié par le délimiteur de début 10 du registre DI. En conséquence, PB39 est attaqué comme décrit précédemment. -293- 2334148 Pendant PB39» le compte de correspondances maximal 2 du registre MAX est comparé avec le compte de correspondances total 2 du registre S et l'on trouve qu'ils sont égaux entre eux. En conséquence, PB4-0 est directement attaqué (en sautant 5 PB4-1) et pendant ce pas PB4-0 le centre de cadre 12 du compteur CV est décrémenté à 11. On remarquera maintenant que si, comme on vient de le mentionner, il y a "égalité"entre le compte de correspondances maximal précédent stocké dans le registre MAX et le compte de 10 correspondances cumulé du registre S, alors le compte de correspondances maximal précédent et le centre de cadre correspondant sont respectivement retenus dans les registres KAX et OUT. En se référant à la table 29, on remarquera que le premier centre de cadre ayant un compte de correspondances 2 est 13 et que c'est 15 celui-là qui est utilisé comme information de sortie du module "cadrage". Pendant PB42, une comparaison est effectuée pour déterminer si le centre de cadre du compteur CV ëst passé au-dessous du délimiteur de début 10 du registre DI. Etant donné 20 que le centre de cadre 11 du compteur CV est le plus grand, le pas PB4-3 est attaqué et, au courgde ce pas, le compteur d'adresse M1 est remis à l'adresse de la plus grande apparition d'événement 13, adresse qui est contenue dans le registre M2 et le registre S est remis à 0. 25 Après PB4-3 est attaqué le pas PB37i au cotirs duquel la plus grande apparition d'événement 13 et son compte de correspondances 1 sont relus, puis stockés respectivement dans le registre RII et dans le compteur N, tandis que le compteur d'adresse M1 est convenablement incrémenté. Pendant PB30, le 30 compte de correspondances 1 n'est pas égal à la longueur de demande 3 contenue dans le registre LNRQR et, partant, PB31 est attaqué. Pendant PB31, la valeur d'apparition d'événement 13 est trouvée supérieure au délimiteur 10. En conséquence, PB32 est attaqué. 35 On va maintenant examiner avec attention le fonctionne ment qui se déroule pendant les pas PB32 à 35• L'apparition d'événement 13 du registre RII est diminuée dans une mesure égale au centre de cadre 11 contenu dans le compteur CV et le -294- 2334148 résultat 2 de cette soustraction est stocké dans le registre de total T. Pendant PB33, la différence 2 contenue dans le registre T est comparée avec la largeur de cadre 1 contenue dans le registre PW et l'on trouve que ladite différence est 5 plus grande que ladite largeur. En conséquence, l'unité ALU forme un signal vrai à la sortie G et PB58 est directement attaqué après PB33. La raison de cette modification du fonctionnement à ce stade est que la valeur d'apparition d'événement 13 se trouve maintenant hors de la largeur de cadre pour le 10 centre de cadre 11 du compteur CV, de sorte que le module "cadrage" n'a plus besoin de tenir compte de la valeur d'apparition d'événement 13. En conséquence, l'adresse de la valeur d'apparition d'événement immédiatement inférieure 12 est transférée au compteur d'adresse M2 et cette valeur est lue dans la"mêmoire 15 P/B", et stockée dans le registre EII et son compte de correspondances associé 1 est stocké dans le compteur N. A cet effet, le signal vrai de la sortie P22, en combinaison avec le signal vrai de la sortie G de l'unité ALU, rend vraie la logique P22.G.CLK, ce qui provoque l'application d'un signal vrai à l'entrée L du 20 compteur d'adresse M2. En conséquence, l'adresse de la valeur d'apparition d'événement 12 est chargée dans le compteur d'adresse M2. Le signal vrai à la sortie P22 provoque la génération d'un signal vrai par la logique P22.G et, par suite, la bascule P23 est mise à 1 et la bascule P22 est remise à 0, ce qui pro-25 voaue l'apparition d'un signal vrai à la sortie P23. Le signal vrai en P23 fait à son tour apparaître un signal vrai à la sortie PI4 du module "cadrage", ce qui provoque une sortie par lecture par la "mémoire P/B" de la valeur d'apparition d'événement 12 spécifiée par le compteur d'adresse et stockée dans le re-30 gistre EII; le compteur d'adresse M1 est incrémenté de 1 et pointe vers le compte de correspondances correspondant à la valeur d'apparition d'événement 12. Le signal vrai à la sortie P23 provoque la mise à 1 de la bascule P24 et la remise à 0 de la bascule P23 à l'impulsion CLK suivante, ce qui provoque à 35 nouveau l'apparition d'un signal vrai à la sortie PI4 du module "cadrage" et la sortie par lecture, par la "mémoire P/B", du compte de correspondances 1 en vue de son stockage dans le compteur lï et l'incrémentation du compteur d'adresse M1 à raison -295- 2334148 d'une adresse supplémentaire, de sorte que ce compteur pointe maintenant vers la valeur d'apparition d'événement 7 contenue dans la "mémoire P/B". Après PB38, PB30 est repris. A cet effet, le signal vrai de la sortie P24- rend vraie l'entrée de la bas-5 cule P19 et, par suite, à l'impulsion suivante en CLK, la bascule F19 est mise à 1 et la bascule P24- est remise à 0, ce qui provoque une reprise de PB30 suivi de PB31. Pendant PB31, on trouve que la valeur d'apparition d'événement 12 du régistire SII est plus grande que le délimiteur 10 10 du registre DI et, en conséquence, PB32 et 33 sont attaqués. Pendant PB32 et PB335 la comparaison indique que la valeur d'apparition d'événement 12 du registre EII est comprise dans la largeur de cadre, du côté "+" du centre de cadre du compteur CV. " En conséquence, PB34- est attaqué. Pendant PB34- et PB55» on 15 trouve que la valeur d'apparition d'événement 12 du registre EII est comprise dans la largeur de cadre, du côté "-w du centre de cadre 11 du compteur CV et, en conséquence, le pas PB36 est attaqué, pas au cours duquel le compte de correspondances 1 du conq?teur lï est ajouté au "0" du registre S, ce qui 20 donne un compte de correspondances total 1 dans le registre S. Ensuite est attaqué le pas PB37 au cours duquel la valeur d'apparition d'événement suivante 7 et son compte de correspondances 1 sont sortis par lecture de la "mémoire P/B", et sont stockés dans le registre EII, tandis que les compteurs N et M1 sont con-25 venablement incrémentés. PB30 et PB31 sont alors repris et l'on trouve que la valeur d'apparition d'événement 7 du registre EII est inférieure au délimiteur de début 10 du registre DI. En conséquence, le pas PB39 est directement attaqué, pas au cours duquèl le compte de correspondances maximal 1 du registre MAX 50 est comparé avec le compte de correspondances total 1 du registre S et l'on trouve qu'ils sont égaux entre eux. Par suite, est attaqué le pas PB4-0 pendant lequel le centre de cadre 11 du compteur CV est décrémenté d'une unité, c'est-à-dire ramené à 10. Pendant PB4-2, le centre de cadre 10 du compteur CV est 35 comparé avec le délimiteur inférieur 10 et l'on trouve qu'ils sont égaux entre eux. Un signal vrai est en conséquence formé à la sortie G de l'unité ALU, ce qui provoque la formation, par l'inverseur 918, d'un signal vrai à la sortie G. Le signal -296- 2334148 de la sortie G indique que le centre de cadre est inférieur ou égal au délimiteur inférieur 10 de l'entrée actuel et, par conséquent, la logique P29.G. est vraie, ce qui provoque la mise à 1 de la bascule P32 et la remise à 0 de la bascule P29 5 a l'impulsion CLK suivante. En conséquence, PB44 est attaqué et, pendant ce pas, la valeur d'apparition 7 du registre RII est comparée avec le délimiteur de début 10 du registre DI. A cet effet, le signal vrai à la sortie P32 provoque le couplage, par les circuits de sélection DS10 et DS11, des sorties respec-10 tives des registres RII et DI avec l'entrée de l'unité ALU. Celle-ci détecte que la valeur d'apparition d'événement décalée 7 du registre RII est la plus petite et, en conséquence, forme un signal vrai à la sortie L, ce qui rend vraie la logique P32.L; la bascule P34- est mise à 1 et la bascule P32 est remise 15 à 0 à l'impulsion CLK suivante, de sorte que PB4-6 est attaqué. On remarquera que pendant PB44- , si la valeur d'apparition d'événement du registre RII avait été trouvée supérieure ou égale . au délimiteur de début du registre DI, PB4-5 aurait été attaqué et pendant ce pas, la valeur d'apparition d'événement décalée 20 immédiatement inférieure et son compte de correspondances auraient été lus dans la "mémoire P/B". Toujours dans l'exemple considéré, pendant PB4-6, le module "décodage" II décode et engendre le nouveau délimiteur inférieur 8 en vue de son stockage dans le registre DI. En outre, 25 le centre de cadre contenu dans le registre OÏÏT ainsi que le compte de correspondances maximal correspondant contenu dans le registre MAX et le signe représenté par la bascule SGN sont stockés dans le module "mémoire" à l'adresse spécifiée par le compteur d'adresse M5« Plus précisément, le centre de cadre 15 50 et son compte de correspondances correspondant 2 sont stockés dans le module "mémoire" aux deux emplacements de mémoire consécutifs spécifiés par le compteur d'adresse M3. Ainsi est spécifié le centre du "meilleur" cadre pour l'événement compris entre les délimiteurs 10 et 15» 35 On va maintenant examiner le fonctionnement au cours du pas PB46. La logique P52.L.CLK provoque la réception par la sortie P16 d'un signal vrai, ce qui contraint le module "décodage" II à décoder et à engendrer le délimiteur inférieur sui- 2334148 vant 5 en vue de son stockage dans le registre DI. Le signal vrai à la sortie P34- applique un signal vrai à l'entrée L du registre DI, ce qui provoque le stockage par celui-ci du délimiteur 5. Le signal vrai en P54- provoque le transfert, par le 5 circuit de sélection DS3, du meilleur centre de cadre 135 du registre OUT à l'entrée du module "mémoire", le signal vrai à la sortie PI9 provoque l'écriture par le module "mémoire" du meilleur centre de cadre 13 à l'adresse de la zone 3 spécifiée par le compteur d'adresse M3. Le signal vrai à la sortie PI10 10 provoque en outre une incrémentation par le compteur d'adresse M3 de son compte à raison d'une unité, de sorte que ce compteur spécifie maintenant l'adresse de l'emplacement de mémoire disponible suivant de la zone 3 du module "mémoire". Le signal vrai à la sortie P34- provoque la mise à 1 de la bascule P35 15 et la remise à 0 de la bascule P34- à l'impulsion CLK suivante. Le signal vrai à la sortie P35 provoque maintenant la génération de nouveaux signaux aux sorties PI9 et PI10. En outre, le signal vrai en P55 provoque le couplage, par le circuit de sélection DS3, de la sortie SIGU (signe) de'la bascule SGN 20 (signe) et le couplage du registre MAX avec l'entrée de la zone 3 du module "mémoire". Le signal vrai en PI9 provoque alors le stockage par le module "mémoire" des signaux engendrés, aux emplacements spécifiés par le compteur d'adresse M3. En outre, le signal en PI10 provoque une incrémentation du compteur d'adresse r-:5 M3 à l'emplacement de mémoire disponible suivant. PB4-7 est maintenant attaqué. Le signal vrai à la sortie P35 provoque le transfert, par le circuit de sélection DS1, des signaux représentatifs d'un "-1", des commutateurs 902 à l'entrée du registre OUT et l'état vrai de la logique P35.CLK pro-30 voque le stockage de ces signaux "-1" dans le registre OTJT. En outre, cet état vrai de la logique P35.CLK assure le "vidage" ou remise à 0 des registres MAX et S. De plus, le nouveau centre de cadre ou centre de cadre suivant à considérer est celui qui est spécifié par la valeur d'apparition d'événement suivante 55 stockée dans le registre RII. En conséquence, la valeur d'apparition d'événement est transférée du registre RII dans le registre S. Les signaux vrais en P52 et L rendent vraie la logique P32.L.CLK, ce qui provoque le transfert du contenu du -298- 2334148 compteur M1 dans le compteur M2. La logique P34+P35 est vraie pendant la présence des signaux vrais en P34 et P35. Il en résulte que l'entrée de décomptage du compteur M2 reçoit un signal vrai, de sorte que le compteur M2 décompte deux adresses. 5 Sur le plan du fonctionnement réel, le signal vrai à la sortie P35 provoque le transfert, par le circuit de sélection DS9, de la valeur d'apparition d'événement décalée 7, du registre EII à l'entrée du compteur CV et l'état vrai de la logique P35.CLK rend vraie l'entrée L du compteur CV, de sorte 10 que celui-ci mémorise la valeur d'apparition d'événement décalée 7 du registre EII, en créant ainsi le centre de cadre suivant à considérer. Après PB4-7, PB48 est attaqué et, étant donné que la fin du fichier de la zone "délimiteurs" n'a pas encore été atteinte 15 par le module "décodage" II, la bascule E0F2 est à 0. En conséquence, PB30 est repris. On voit donc qu'à ce stade, le module "cadrage" a terminé la phase de fonctionnement représentée dans la table 29. Le signal vrai à la sortie P35 rend vraie la logique P35.B0P2 20 et, en conséquence, la bascule P19 est mise à 1 et la bascule P35 est remise à 0 à l'impulsion CLK suivante. Par suite, PB30 est repris. Le fonctionnement du module "cadrage" passe à PB51, pas au cours duquel la valeur d'apparition d'événement 7 du registre EII est trouvée inférieure au délimiteur 8 du registre 25 DI. En conséquence sont attaqués les pas PB39, 40 et 42 au cours desquels le centre de cadre du compteur CV est décrémenté de 7 à 6 et au cours desquels le nouveau centre de cadre 6 est trouvé inférieur au délimiteur 8 du registre DI. Par suite, PB44 est attaqué. Pendant PB44, la valeur d'apparition d'événement déca-30 lée 7 du registre EII est comparée avec le délimiteur 8 et s'avère plus petite que celui-ci. En conséquence PB46 est repris. On remarquera qu'à ce stade, le registre OUÏ contient un "-1" et le registre MAX un "0". En conséquence, pendant PB46, un "-1" et un "0" sont-sortis par écriture, respectivement, 55 dans les deux emplacements de mémoire disponibles suivants de la zone 3 du module "mémoire". En outre, le module "décodage" II sort par lecture le délimiteur inférieur suivant 5 en vue de son stockage dans le registre DI. Le processus représenté dans la -299- 2334148 table 15 est maintenant terminé et le "-1" stocké dans la zone 3 du module "mémoire" indique qu'il n'y a pas de correspondances en ce qui concerne l'entrée comprise entre les délimiteurs 5 et 8. Le registre OUÏ est à nouveau chargé d'un "-1", tandis que le registre MAS et le compteur S sont à nouveau remis à O, La valeur d'apparition d'événement décalée 7 contenue dans le registre EII est à nouveau transférée en tant que centre de cadre au compteur CV et un "2" est retranché de l'adresse contenue dans le compteur d'adresse M1 et le résultat de cette soustraction est rangé dans le compteur d'adresse 112. Le module "cadrage" revient alors de PB4-8 à PB30. Finalement, le module "cadrage" atteint pendant PB4-0 un point auquel le centre de cadre stocké dans le compteur CV est réduit à "O". A ce stade, le délimiteur de début du registre DI est "O" et le centre de cadre du compteur CV est "0" et par conséquent, ils sont égaux entre eux, ce qui provoque l'attaque du pas PB44-. Le registre EII contient l'apparition d'événement décalée "-1" et, du fait que EII DI, la commande passe en PB46. Pendant PB4-6, le meilleur centre de cadre possible 3 contenu dans le registre OUT et sonéompte de correspondances correspondant 2 sont sortis par écriture dans la zone 3 du module "mémoire" à l'adresse spécifiée par le compteur d'adresse M3- Les pas PB4-7 et PB4-8 sont maintenant attaqués et, pendant PB4-8, la bascule E0F2 est à l'état 1, ce qui indique que le module "décodage" II a maintenant achevé de traiter la totalité du vecteur d'apparition d'événement délimiteur. En conséquence, le module "décodage" II forme un signal vrai à la sortie E0F2, ce qui rend vraie la logique P35.ECF2.CLK, ce qui bloque l'horloge généralisée 700, de sorte que celle-ci cesse de former des impulsions CLK et CLK, ce qui contraint le module "cadrage" à suspendre son fonctionnement. En résumé, PB1 à PB20 sont utilisés pour linéariser, à partir d'une couche d'information, une demande représentée par un vecteur d'apparition d'événement. Une boucle est formée autour des pas PB20, PB21 et PB22, ce qui assure le stockage d'une apparition d'événement décalée et d'un compte de correspondances -300- 2334148 correspondant dans la "mémoire P/B" pour chaque valeur d'apparition d'événement des vecteurs d'apparition d'événement considérés. PB26 à PB48 sont utilisés pour déterminer le nombi'e maximal de correspondances contenues dans une largeur de cadre total. 5 On obtient ce résultat en faisant "glisser" le cadre le long des positions d'entrée ou instants d'événement, tour à tour, de droite à gauche jusqu'à ce que le nombre maximal de correspondances, pour un centre de cadre particulier à l'intérieur de chaque événement, soit sorti ou stocké dans la zone 3 du 10 module "mémoire". XVI. MODULE "CONCORDANTIEL" A. Description générale Les modules "cadrage" et "concordantiel" coopèrent pour choisir la meilleure réponse à une demande dans une base 15 de données. Comme décrit précédemment, le module "Cadrage" forme un jeu de signaux de centre de cadreidentifiant chacun l'événement "délimiteur de début" pour une réponse possible à la demande. L'utilisateur programme le "minicalculateur" de manière 20 à assurer la sélection, parmi les centres de cadre, de ceux qui doivent être transmis au module "concordantiel". L'utilisateur choisit les centres de cadre sur la base de certains critères prévus à l'avance, tels que le nombre de correspondances contenues dans la "largeur de cadre total" calculée par le module 25 "cadrage". Ainsi, par exemple, l'utilisateur peut décider que tous les centres de cadre associés à des comptes de correspondances supérieurs à une certaine valeur choisie à l'avance seront transmis au module "concordantiel". Pour donner un autre exemple, l'utilisateur peut choisir tous les centres de cadre 30 dont les compte§&e correspondances sont dans une certaine relation avec la longueur de la demande, par exemple égaux à 90 % de cette longueur. Le module "concordantiel" reçoit les centres de cadre choisi du "minicalculateur" et engendre des données relatives à 35 chaque centre de cadre qui peut être utilisé pour choisir la "meilleure réponse" parmi les entrées associées aux divers centres de cadre. L'expression "meilleure réponse" est utilisée ici pour indiquer la précision de concordance entre, d'une part, -501- 2334148 les événements de réponse (de la base de données) et l'ordre de ces événements dans ladite réponse et, d'autre part, les événements de la demande et leur ordre dans celle-ci. Par ailleurs, on désignera ici sous le nom "valeur de dispersion" (S) une valeur particulière utilisée pour déterminer la meilleure réponse. La valeur de dispersion est une mesure de la précision de concordance entre les événements de la demande et ceux de la réponse. En outre, on adoptera une convention suivant laquelle une valeur de dispersion 1 désignera une demande exactement contenue dans la réponse de la "base de données et suivant laquelle une valeur de dispersion 0 indiquera que la demande n'est pas du tout contenue dans la base de données. Si tout ou partie des événement^de la demande sont dispersés à travers toute la réponse de la base de données, la valeur de dispersion sera comprise entre zéro (0) et un (1) pour refléter le degré de dispersion ou d'imprécision de concordance . Dans certains cas, une seconde valeur facilitera la détermination de la valeur de concordance. Cette valeur sera dénommée ici "facteur de longueur" (L); elle désigne la relation entre la longueur de la demande et celle de la réponse. La valeur L est elle aussi comprise entre 0 et 1. La valeur L est utile pour localiser des mots mal orthographiés ou des mots pour lesquels la réponse est, comme désirable, presqu'une réplique exacte de la demande. En conséquence, des réponses ayant un nombre beaucoup plus grand ou beaucoup plus petit d'événements que la demande sont affectés d'une valeur L beaucoup plus faible que celles qui comprennent presque le même nombre d'événements que la demande. L'exposé qui va suivre est destiné à définir la base de l'établissement de la valeur de dispersion (S), La table 54 donne un exemple d'un mot de réponse de la base de données "POISSON" et d'un mot de demande "PRISON". La valeur de dispersion est déterminée en plaçant le mot de demande "PEISON" de façon que tous ses événements (lettres) se trouvent à la gauche des événements du mot de réponse "POISSON", Le nombre d'événements de déplacement ou "écart" entre chaque événement de la demande et l'événement correspondant de la ré- -302- 2334148 ponse est déterminé et la somme de ces "écarts" est calculée. Ensuite le mot de demande "PRISON" est déplacé d'une position d'événement vers la droite par rapport à "POISSON" et les écarts sont à nouveau totalisés. Ces opérations se poursuivent 5 en déplaçant vers la droite la demande tant que la somme des écarts est inférieure à la somme précédemment déterminée. Finalement, la somme des écarts passe par une valeur minimale puis commence à croître. Comme décrit plus loin de façon plus détaillée, la somme de ces écarts fournit des variables désirables 10 destinées à être utilisées pour calculer la valeur de dispersion S. La table 34 représente le mot "PRISON" déplacé vers la droite en commençant par un déplacement de 0. Un déplacement de 0 est un déplacement dans lequel le dernier événement (N) du 15 mot de demande "PRISON" est placé immédiatement à gauche du premier événement (P) de la réponse "POISSON". Cette relation entre la demande et la réponse est désirable étant donné qu'elle réduit au minimum le déplacement de la demande. La somme des écarts pour le déplacement de 0 est indiquée en Dq dans la 20 table 35. Ainsi, les écarts pour les événements P, O, I, S, S, 0, N sont respectivement 6, 6, 6, 7 et 7« On remarque immédiatement que l'événement R de la demande "PRISON" ne comporte pas d'événement correspondant dans la réponse "POISSON". Dans un tel cas, où l'événement de la demande ne comporte aucune concor-25 dance dans la réponse, on attribue arbitrairement à cet événement une valeur d'écart égale à la longueur de la demande. Cette particularité est importante et sera expliquée plus loin. En conséquence, ici, la somme Dq des écarts est égale à 38. On notera soigneusement que si la demande était alignée 30 plus à gauche, alors pour la position correspondant à un déplacement de 0 la somme des écarts serait plus grande. La somme des écarts ne resterait la même, quelle que soit la position de déplacement, que si aucun des événements de la demande ne concordait avec un événement de la réponse. Une somme minimale d'é-35 carts peut être déterminée comme exposé ci-dessus en effectuant une série de déplacements d'un événement vers la droite et en calculant la somme des écarts pour chaque position jusqu'à ce que la somme minimale des valeurs d'écart soit déterminée. Les -303- 2334148 tables 34- et 35 représentent des déplacements de O, 3, 6, 7 et 9. La somme des valeurs d'écart est identifiée dans la table 35 pour ces déplacements respectifs par Dq, D^, Dg, "By et D^, l'indice qui suit la lettre D indiquant le nombre de positions 5 d'événement du déplacement. Chaque déplacement commençant par Dq produit une somme de valeurs d'écart qui est inférieure à la somme d'écarts correspondant à la position précédente jusqu'à ce que la somme minimale des valeurs d'écart 8 soit atteinte. Cette condition est assurée grâce au fait que la de-10 mande est rapprochée d'une position de la concordance. Un déplacement de 6 produit la somme minimale 8 des valeurs d'écart. Des déplacements ultérieurs vers la droite après cette somme minimale des valeurs d'écart augmentent ladite somme. La Fig. 42A est un graphique d'une somme de valeurs d'écart en fonction 15 des déplacements vers la droite. La somme de valetirs d'écart décroît tant qu'il existe davantage d'événements de demande à gauche de leurs événements de réponse correspondants qu'à droite de ceux-ci. Dès que la moitié, ou plus de la moitié, des événements de demande concordent avec leurs événements de réponse 20 correspondants ou se trouvent à droite de la position de ces derniers, la somme minimale de valeurs d'écart apparaît sur le graphique. On a tiré de cette information l'équation suivante de la valeur de dispersion ; 25 Equation 1 S = Do - Dmin Do où S = valeur de dispersion Dq = somme des décalages du premier événement de réponse D = somme minimale d'écarts mm 30 Lorsqu'il n'existe aucune concordance entre un événe ment de la demande et un événement de la réponse, utiliser un écart égal à la longueur de la demande (LMEQ). L'importance de l'attribution d'une valeur d'écart égale à la longueur de la demande va maintenant être expliquée. 35 La Fig. 42-B met en évidence l'écart pour l'événement E en fonction du nombre de déplacements. Etant donné que l'événement de demande E ne comporte pas d'événement de réponse E correspondant, la valeur d'écart est constante à 6, ce qui correspond à -304- 2334148 la longueur ou nombre d'événement du mot de demande "PRISON". Toutefois, en se référant à la Fig. 42-C, on peut voir que les écarts en fonction des déplacements pour les événements P, I, S décroissent de 6 à O puis commencent à croître après un déplace-5 ment de 6. La Fig. 42-D représente l'écart en fonction du déplacement pour les événements O, N. Les écarts décroissent jusqu'à 0 et commencent alors à croître pour un déplacement de 7« D'après l'équation 1, on peut voir que, s'il n'y a 10 aucune concordance, DQ sera égal à D^w. En conséquence, la dispersion sera 0. Si, par contre, il existe une concordance exacte entre la demande et la réponse, l'écart en D_. sera 0 221X11 et, par conséquent, la valeur de dispersion sera 1. On voit donc que l'équation ci-dessus de la valeur de dispersion assure 15 le résultat désiré S = 1 pour une concordance parfaite et S = 0 pour une discordance totale. La réalisation du module "concordantiel" pour la détermination de la valeur de dispersion exige tin ré arrangement mineur de la formule ci-dessus. On comprendra mieux ce réarrange-20 ment en se référant à la table 36. La table 36 représente le mot de demande "PRISON" et la réponse "PROMISE" contenue dans le mot "COMPROMISE". Des instants d'événement 11 à 20 sont attribués aux événements du mot "COMPROMISE". L'écart pour un événement de demande particulier est défini sous sa forme généralisée 25 par les équations suivantes s Equation 2 Ecart = DECALAGE + (t^ - min) Equation 3 = DECALAGE + t^) - min où : DECALAGE = déplacement minimal entre un événement de demande et l'événement de réponse correspondant; 30 min = instant d'événement minimal de la réponse; t^ = instant d'événement de la réponse correspon dant à l'événement en question de la demande; Une valeur importante pour la réalisation du module "concordantiel" est "DECALAGE + t^". En conséquence, le symbole suivant 35 est utilisé pour représenter l'équation : Equation 4 6 = BIAS + t^ ô sera également désigné ici sous le nom de "valeur intermé -305- 2334148 diaire" (IV). Une équation de la valeur de dispersion S peut alors s'écrire comme suit : Equation 5 S = (dQ + NM) - (dfflin + KM) à0 + MM Equation 6 où : - S - min.) et 0 i=1 Equation 7 ^min ^ C^i = à mid) i=1 avec : ô i = valeur ô intermédiaire pour le ième instant d'événement; ô mid = valeur Ô intermédiaire la plus voisine de la valeur ô moyenne ; n = nombre d'événements de la demande présents dans la réponse min = instant d'événement minimal (t) de la réponse KM = (LKRQ-n) LNRQ (Nota : cette valeur s'ajoute à la longueur de la demande pour chaque événement de celle-ci pour lequel il n'existe pas dfévé-nement correspondant dans la réponse). L'équation 5 se réduit alors à : Equation 8 S = ^0 ~ ^min dQ + HM L'équation finale de la valeur de dispersion devient donc: n n ^ (ôi —min) - ^ (ôi-ômid) •ï -A t-I Equation 9 S = n "2 (&i-min) + HM i=1 où : Ôi, ômid, HM et n sont donnés dans l'équation 7» En appliquant l'équation finale 9 à l'exemple de la table 36, on peut obtenir les valeurs indiquées dans la table -306- 2334148 37- Si l'on prend par exemple l'événement de demande P, on voit que le DECALAGE à partir du début du mot de réponse "PROMISE* est de 6 événements. L'instant d'événement de l'événement "P" de la réponse "PROMISE" est 14. La valeur ô est 6 + 14 = 20. 5 Le long du côté droit de la table 37» les valeurs Ô sont indiquées par ordre de grandeur croissant, ce qui constitue l'ordre final dans lequel les valeurs "O" sont stockées dans la "mémoire P/B". On remarquera d'après la table 37 que, ni une valeur t, 10 ni une valeur ô ne sont représentées pour l'événement de demande "N". Ceci est dû au fait que l'événement de demande "N" ne comporte pas d'événement correspondant dans le mot de réponse "COMPROMISE". Un certain nombre d'ensembles de, données intermédiaires 15 sont stockés dans la "mémoire P/B", mais l'ensemble de données intermédiaire final est représenté dans la table 38. Tout d'abord, une valeur de centre de cadre (CP) 18 est stockée. Cette valeur correspond au plus grand instant d'événement de l'entrée en question. Ensuite, on trouve la valeur "min" définie ci-dessus 20 comme instant d'événement de début (ou le plus petit) de la réponse. Ensuite sont stockées les valeurs Ô par ordre de grandeur croissant. Les valeurs ô représentées sont prises sur le côté droit de la table 37» Les valeurs d„ et d relatives à l'exemple de la table o mm 25 38 sont calculées par le module "concordantiel" comme suit : M dQ = ^ (ô - min) i=1 = (18-14) + (20-14) + (20-14) + (22-14)+ (22-14) = 4 +6 + 6 + 8 +8 = 32 M mm S i=1 18-20 = 2 = 6 ôi - ômid + + 20-20 0 + + 20-20 0 + + 22-20 2 + 22-20 2 -307- 2334148 où M = nombre d'événements qu'on trouve concurremment dans la demande et dans la réponse. Le module "concordantiel" stocke alors une information de sortie finale dans la zone 3 du module "mémoire" comme indi-5 qué dans la table 39* La première valeur stockée est le délimiteur de début pour l'entrée de réponse en question. Dans l'exemple de la table 36, ce délimiteur serait situé un instant d'événement à gauche du "C" de "COMPROMISE" et par conséquent, serait 10. Immédiatement après, dans la zone 3 du module "mémoire" est 10 stocké le nombre "n" d'événements concordants entre la demande et la réponse. Le nombre d'événements concordants n sera également désigné dans le cadre du module "concordantiel" sous le nom de "nombre de correspondances" pour abréger. Dans l'exemple considéré "PRISON"" comporte six événements et cinq concordances 15 seulement et, par conséquent, le nombre de correspondances est 5« Ensuite 20 Le second facteur mentionné ci-dessus permettant de dé terminer la qualité de la réponse est le facteur de longueur L. Le facteur de longueur représente une comparaison entre la longueur de la demande et celle de la réponse. L'une des utilisations préférées du facteur de longueur se trouve au niveau de la 25 couche de mots de la base de données pour déceler des mots mal orthographiés ou à éliminer qui contiennent la demande mais qui, de toute évidence, ne constituent pas la demande désirée. Par exemple le facteur de longueur aiderait à éliminer le renvoi du mot "FUNDAMENTAL" (fondamental) comme réponse à la demande 30 "MEN" (hommes). L'équation préférée du facteur de longueur a été déterminée empiriquement d'après les considérations suivantes : (1) il est nécessaire de disposer d'une fonction sensiblement égale à l'unité tant que les longueurs de la réponse et de la demande sont voisines; (2) après une différence définissable 35 entre ces longueurs, la courbe doit tomber brusquement. L'équation du facteur de longueur L est la suivante : -308- 2334148 n - Equation 11 L = " 5 ^(A/LNEQ) ~5 A > LNRQ où LERQ = longueur de la demande N = longueur de la réponse A = | LERQ-N | a = 0,63 = valeur qui maintient une courbe rela-10 tivement plate pour L jusqu'à A = 1. En ce point (A = 1) L a une valeur de 0,75» Cette valeur pourrait être ajustée pour tenir compte des exigences de l'utilisateur. 15 Si l'on tient compte de L, la qualité de la réponse (B) est définie par : Equation 12 B = L.S où S = valeur de dispersion, et L = facteur de longueur 20 Si l'on ne tient pas compte de la longueur, alors la qualité de réponse est : Equation 13 B = S La table 40 est un exemple montrant comment le "mini-calculateur" ët le module "concordantiel" ordonneraient ensemble 25 un "jeu de cadrages" quant à la qualité de leur réponse. B. Composants Les Fig. 43 à 46 forment ensemble un schéma de câblage en partie Bymbolique du module "concordantiel". Les registres et les compteurs sont des types indiqués ci-après représentés 30 dans l'ouvrage" TTL" ci-dessus cité et comportent les états et les bascules de stockage suivants : les compteurs d'adresse M1, M2 et M3 ont 256 états et sont des compteurs du type ordinaire ou "positif" comportant une commande d'entrée de remise à zéro; en outre, ils sont du type SN74161; le registre BSAV com-35 prend huit bascules et une commande d'entrée de chargement et constitue un "verrou de données" du type SN74100; les compteurs N et IP ont 256 états et comportent des commandes d'entrée de chargement et de remise à zéro. Le compteur N est un compteur -309- 2334148 "positif" du type SN74161 et le compteur NP est du type SN74191. Le compteur KP comporte une sortie NPQ pour indiquer les périodes au cours desquelles son contenu n'est pas 0. Le registre RII est également un compteur; il comporte une commande de 5 chargement et une commande d'entrée d'incrémentation (CLE) et il est du type SN74161. Le registre RII comprend huit bascules de stockage et, en tant que compteur, il est à 256 états. Les registres RI, DI, MIN, S, DO et T comportent chacun huit bascules déclenchées par un flanc d'impulsion et sont du 10 type SN74175; les registres S, DO et T ont chacun uœcommande d'entrée de remise à zéro (CLR). Le registre TO comporte une sortie Tq pour indiquer les périodes au cours desquelles son contenu est 0 et une sortie T^ pour indiquer les périodes au cours desquelles son contenu n'est pas 0; les registres LNRQ 15 et DII ont chacun huit bascules et sont des compteurs "négatifs" ou à décrémentation, c'ést-à-dire des "décompteurs" du type SN74191. DS1 à DS10 sont des sélecteurs de données (également dénommés ici "circuits de sélection") et sont représentés par 20 des rectangles portant des symboles sur les côtés intérieurs qui correspondent aux entrées. Lorsqu'un signal vrai est reçu à l'entrée située sur le côté du rectangle symbolisant le circuit de sélection, le circuit d'entrée de données "étiqueté" de façon correspondante est couplé avec le circuit de sortie du 25 circuit de sélection. Par exemple, le circuit de sélection DS1 comporte des circuits de commande le long du côté du cadre rectangulaire symbolique, désignés par "M1 et T" et les entrées de données dans le circuit de sélection DS1 s'effectuent à partir du compteur d'adresse M1 et du registre S. Un signal vrai à 30 l'entrée M1 provoque le couplage de la sortie du compteur d'adresse Mi avec la sortie du circuit de sélection DS1 et un signal vrai appliqué au circuit d'entrée P provoque le couplage par le circuit de sélection DS1 du registre I avec la sortie. Le module "concordantiel" comprend encore les bascules 35 suivantes : 3FIRST, BLA3T, PLG, FF, PI à P36, GT, LT et ET. Chacune de ces bascules est du type identifié ci-dessus d'après l'ouvrage "TTL" ci-dessus cité. Les bascules P1 à P36 forment un compteur de commande 1113 qui commande et ordonne en séquence -310- 2334148 le fonctionnement du module "concordantiel". En outre, le module "concordantiel" comprend une horloge généralisée 700 du même type que celle qui a été décrite ci-dessus. Comme décrit plus loin de façon plus détaillée, l'horloge généralisée 700 est 5 commandée par la logique de suspension d'horloge 1132. le module "concordantiel" comprend également une unité arithmétique (ALU) qui est du type déjà décrit ci-dessus à propos du module "codage". L'unité ALU forme un signal vrai aux sorties G- ou L lorsque la valeur représentée par le signal appli-10 qué à l'entrée de données de gauche est > ou c , respectivement à la valeur du signal appliqué à l'entrée de données de droite. La sortie E reçoit un signal vrai lorsque les valeurs respectives des deux entrées de données sont égales entre elles. Une porte OU 1150 est connectée aux sorties G et E de l'unité 15 ALU et forme un signal vrai lorsque l'une ou l'autre de ces sorties reçoit un signal vrai. Une porte OU 1152 est connectée aux sorties L et E de l'unité ALU et forme un signal vrai à la sortie LE chaque fois que des signaux vrais sont formés aux sorties L ou E. Un circuit inverseur de signal 1140 inverse 20 le signal de la sortie L et forme un signal vrai à la sortie E chaque fois qu'un signal faux est formé à la sortie L. La Fig. 46 représente les lignes d'entrée/sortie de commande et les entrées/sorties d'information pour le module "concordantiel". Les flèches tournées vers la droite indiquent 25 des signaux de départ, tandis que les flèches tournées vers la gauche indiquent des signaux d'arrivée. Les lignes d'entrée/ sortie de commande de départ portent chacune, sur la tête de flèche associée, un symbole qui l'identifie et, entre parenthèses après ce symbole, des symboles supplémentaires correspon-30 dant à la partie du reste du système à laquelle aboutissent les lignes de commande. Des lignes en trait renforcé représentent des conducteurs multiples propres à transmettre des bits multiples d'information en parallèle à travers l'ensemble du schéma de câblage en partie symbolique du module "concordan-35 tiel". Des commutateurs 1130, 1132 et 1134 sont également inclus. Ces commutateurs sont des commutateurs mécaniques classiques ou des circuits électroniques équivalents, qui -311- 2334148 forment un signal codé "binaire de huit bits continu à leur sortie. Les commutateurs 1132 et 1134- forment des signaux représentant un "-1" tandis que le commutateur 1130 forme des signaux représentant la valeur 255* 5 Des équations logiques sont utilisées partout dans le schéma de câblage en partie symbolique du module "concordantiel" pour représenter des portes qui commandent à leur tour le fonctionnement des circuits indiqués. Il est à noter que les sorties des bascules ne sont 10 pas toutes représentées dans le module "concordantiel", mais on adopte la même convention que celle qui a été décrite dans le chapitre I.F "Conventions et composants utilisés sur les figures". C. Description détaillée 15 On va maintenant donner un court exposé du fonctionne ment général du module "concordantiel" en se référant à l'organigramme de ce module représenté sur les Fig. 4-7 à 50. L'organigramme du module "concordantiel" décrit dans, ses grandes lignes l'opération d'établissement de concordance au moyen 20 d'une séquence de pavés interconnectés ou "pas" désignés par les références B1 à B58. A l'intérieur des pavés ou cases sont inscrites des mentions indiquant des actions qui se produisent à l'intérieur des registres et des bascules, des modules "décodage" I et II, du module "mémoire" et de la "mémoire P/B"j 25 ainsi qu'entre ces organes. Aux désignations B sont également associées des lettres P suivies chacune d'une référence numérique. Ces suffixes numériques de la lettre P correspondent aux bascules du compteur de commande du module "concordantiel" qui sont à l'état 1 aux points particuliers du fonctionnement 30 considérés. On va tout d'abord décrire ce fonctionnement; initialement, le "minicalculateur", sous la commande du programme, obtient le vecteur d'apparition d'événement de demande "S" et le vecteur d'apparition de délimiteur correspondant à partir 35 cle la mémoire auxiliaire,, sous la forme de "raccourci" et provoque leur repermutation par le module "sortie" à la ligne d'entrée de leurs iso-entropicogrammes respectifs. Le vecteur d'apparition d'événement "S" et le vecteur d'apparition de -512- 2334148 délimiteur en code hybride sont respectivement stockés dans les zones 1 et 2 du module "mémoire" comme indiqué dans la table 4-1. Le "minicalculateur" charge également le dispositif IPRF avec la longueur de la demande (LNRQ), la longueur du premier vecteur d'apparition d'événement de la demande (LN1), la longueur du vecteur d'apparition de délimiteur (LN2) et met les bascules FIRST et LAST respectivement à 1 et à 0. En outre, le "minicalculateur" choisit des valeurs de centre de cadre parmi celles qui sont stockées par le module "cadrage" dans la "mémoire P/B" en vue de les utiliser au cotirs de l'opération "concordantielle" (c'est-à-dire de détermination de concordance) et stocke ces valetirs dans la zone 1 de la "mémoire P/B". Ces conditions sont représentées à titre d'exemple dans la partie 1 de la table 4-1. Au cours de la suite du fonctionnement, le module "décodage" II lit et décode toujours à partir du vecteur d'apparition de délimiteur contenu dans la zone 2 du module "mémoire" en allant du délimiteur le plus grand au délimiteur le plus petit.*D'une manière analogue, le module "décodage" I lit et décode toujours à partir du vecteur d'apparition d'événement contenu dans la zone 1 du module "mémoire" en partant de la première valeur d'apparition d'événement (la plus grande) jusqu'à la dernière valeur d'apparition d'événement (la plus petite). On voit donc qu'un vecteur d'apparition d'événement et un vecteur d'apparition de délimiteur contiennent normalement plusieurs valeurs d'apparition d'événement et plusieurs valeurs d'apparition de délimiteur respectivement. D'une manière analogue, la "mémoire P/B" est lue à partir de la première valeur de centre de cadre (la plus grande) jusqu'à la dernière valeur de centre de cadre (la plus petite). Le pas B1 de 1'organigramme du module "concordantiel" est tout d'abord attaqué, pas au cours duquel ce module est initialisé, au cours duquel le compteur d'adresse de lecture M1 et le compteur d'adresse d'écriture M2 de la "mémoire P/B" sont remis à 0, et au cours duquel le module "décodage" II forme un délimiteur de début à partir du vecteur de délimiteurs dans son registre D02. Le délimiteur de début constitue en même temps un délimiteur final. -313- 2334148 Pendant B2, -une valeur de centre de cadre est lue dans la zone 1 de la "mémoire P/B" en utilisant le compteur d'adresse M1, le registre MIN est mis à 255 (une valeur forcée égale à la plus grande valeur de centre de cadre possible pour un mot de 5 huit bits) et le registre T est mis à une valeur minimale de 0. Pendant B3, le délimiteur de début est stocké dans le registre DI et le module "décodage" I fournit une valeur d'apparition d'événement à partir du vecteur d'apparition d'événement stocké. S'il ne s'agit pas de la dernière extrémité du fichier de vec-10 teur d'apparition d'événement (E0F1 / 1), alors le pas B7 est attaqué, pas au cours duquel la valeur d'instant d'événement est stockée dans le registre RI. Pendant le pas B8 de l'organigramme du module "concordantiel" la valeur du centre de cadre contenue dans le registre 15 RII est comparée avec le délimiteur de début contenu dans le registre DI pour déterminer si le centre de cadre est compris entre les délimiteurs de début et final, respectivement contenus dans les registres DI et DII. En vertu de la séquence de fonctionnement et en raison du fait que le premier centre de cadre LC a*est jamais plus grand que le délimiteur de fin d'un vecteur d'apparition de délimiteur, il suffit de comparer le centre de cadre avec le délimiteur de début contenu dans le registre DI pour déterminer si le centre de cadre est compris entre les deux délimiteurs. Si le centre de cadre n'est pas compris entre 25 les deux délimiteurs, il est de façon qu'il explore chacune des valeurs d'apparition d'événement du vecteur d'apparition d'événement pour l'entrée indiquée par le délimiteur de début du registre DI. Toutefois, la plus petite valeur d'apparition d'événement est préservée dans le 35 registre RI. A cet effet, au pas B14-, les contenus respectifs des registres RI et DI sont comparés et si la valeur d'apparition d'événement du registre RI est ^ au délimiteur de début du registre DI, alors B15 est attaqué et, au cours de ce pas, -314- 2334148 le module "décodage" I fournit la valeur d'apparition d'événement suivante à partir du vecteur d'apparition d'événement. Cette opération se poursuit par une lecture des valeurs d'apparition d'événement, de la plus grande à la plus petite, jusqu'à 5 ce que pendant B14 la valeur d'apparition d'événement du registre RI devienne plus petite que le délimiteur de début du registre DI. Le pas B16 est alors attaqué. Pendant B16, le délimiteur de valeur inférieure suivant est fourni par le module "décodage" II et stocké dans le 10 registre DI et le délimiteur inférieur précédemment stocké dans le registre DI est transféré dans le registre DU. Le pas B8 est alors repris. Cette opération se poursuit en passant par les pas B8, B14, B15 et B16 jusqu'à ce que lodélimiteur contenu dans le registre DI devienne plus petit que la valeur de centre 15 de cadre contenue dans le registre RII. Lorsque cela se produit, le module "décodage" II a été ajusté de telle façon que le centre de cadre du registre RII soit contenu dans l'événement convenable, comme spécifié par le délimiteur du registre DI et le pas B9 est attaqué. 20 Pendant B9, la valeur d'apparition d'événement du vec teur d'apparition d'événement contenue dans le registre RI est comparée avec le délimiteur de début du registre DI et si la première est supérieure ou égale au second, c'est qu'il existe une valeur d'apparition d'événement entre les limites de l'en-25 trée désignée par le délimiteur de début du registre DI. Les pas B10 à B13 sont alors attaqués. Pendant B10, la différence entre la valeur d'apparition d'événement du registre RI et le centre de cadre du registre RII est calculée et sa valeur absolue est stockée dans le re-30 gistre D. Pendant B11, la valeur de différence contenue dans le registre D est comparée avec le contenu du registre MIN et, si la première est la plus petite, alors B12 est attaqué, pas au cours duquel la valeur de différence du registre D est transférée au registre MIN, tandis que la valeur d'apparition d'événe-35 ment correspondante du registre RI est transférée au registre T. De cette manière, la valeur d'apparition d'événement du vecteur d'apparition d'événement présentant le plus petit déplacement par rapport au centre de cadre correspondant (contenu dans le -315- 2334148 , registre EII) est stockée dans le registre T en vue de son utilisation ultérieure. On admettra aisément que la plus petite valeur d'apparition d'événement de tous les vecteurs d'apparition d'événement d'une réponse comprise dans une unique entrée 5 (c'est-à-dire entre deux délimiteurs adjacents) est la valeur "min" de l'équation 9 ci-dessus. Pendant B13* le module "décodage" I fournit la valeur d'apparition d'événement inférieure suivante en vue de son stockage dans le registre El. La boucle comprenant les pas B9 à 10 B13 est alors répétée jusqu'à ce que chaque valeur d'apparition d'événement de l'entrée située au-dessus du délimiteur du registre DI ait été traitée et jusqu'à ce qu'on ait trouvé celle qui est la plus voisine du centre de cadre actuel et stocké cette dernière dans le registre T. 15 Lorsqu'une valeur d'apparition d'événement est trouvée et stockée dans le registre El et que cette valeur est plus petite que le délimiteur de début contenu dans le registre DI, la dernière apparition d'événement de l'entrée spécifiée par le délimiteur du registre DI a été traitée. Le pas B17 de l'organi-20 gramme du module "concordantiel" est alors attaqué. Pendant B17, le registre MIF est à nouveau initialisé à la valeur maximale forcée de 255 et le centre de cadre contenu dans le registre EII est incrémenté d'une unité, de sorte qu'il devient égal à la valeur d'apparition d'événement de l'événement 25 supérieur suivant de la réponse. La valeur incrémentielle, comme décrit plus loin de façon plus détaillée, est stockée dans la "mémoire P/B" et est ultérieurement sortie par lecture en vue du traitement du vecteur d'apparition d'événement suivant de la réponse. L'incrémentation du centre de cadre est analogue 30 à une "justification" ou déplacement de la demande d'une position d'événement vers la droite par rapport à la réponse, comme décrit précédemment. Pendant B18, la bascule BFIBST est vérifiée. La bascule BPIESï est à l'état 1 lors du traitement du premier vec-35 teur d'apparition d'événement et à l'état 0 lors du traitement du second vecteur d'apparition d'événement et des vecteurs d'apparition d'événement suivants. En conséquence, pour le premier vecteur d'apparition d'événement, B19 est tout d'abord attaqué -316- 2334148 et au cotirs de ce pas les registres N et NP sont remis à 0, après quoi B22 est attaqué. Si, pendant B18, la "bascule BFIRST est à 0, ce qui indique que le second vecteur d'apparition d'événement, ou un 5 vecteur d'apparition d'événement suivant de la réponse est en cours de traitement, les pas B20 et B21 sont attaqués, pas au cours desquels la valeur d'apparition d'événement minimale actuelle et le compte de correspondances précédemment stockés dans la "mémoire P/B" sont lus et stockés dans les registres 10 MIN, N (et NP), respectivement. En conséquence, le registre MIN contient maintenant la valeur d'apparition d'événement jusqu'à présent minimale pour une entrée particulière déterminée (correspondant à une valeur de délimiteur particulière dans le registre DI) et les registres N et NP contiennent le nombre de 15 correspondances qui est égal au nombre de valeurs ô pour ladite entrée jusqu'à ce stade. Le pas B22 de l'organigramme du module "concordantiel" est alors attaqué. En conséquence, le plus petit des deux paramètres comprenant le centre de cadre (RII) èt le délimiteur 20 de fin "-1" (c'est-à-dire DU -1) est stocké dans la "mémoire P/B". Le but de ce choix est d'assurer qu'une valeur de centre de cadre (CP) est bien stockée dans la "mémoire P/B" au début d'une liste d'informations relatives à une entrée particulière. Cette valeur, comme décrit précédemment, identifie la valeur 25 d'apparition d'événement supérieure suivante à traiter pour le vecteur d'apparition d'événement suivant de la réponse. Toutefois, il existe une limitation en ce qui concerne les instants d'événement possibles et cette limitation est le délimiteur de fin (DU -1) pour l'entrée en cotirs de traitement. En consé-30 quence, 1'avant-dernier délimiteur DU -1 est la valeur d'apparition d'événement la plus grande pouvant être obtenue pour l'entrée considérée et la valeur d'apparition d'événement la plus grande stockée pendant B22. Le pas B23 du module "concordantiel" est alors attaqué, 35 pas au cours duquel le registre T est vérifié pour déterminer s'il contient une valeur d'apparition d'événement. Si une valeur d'apparition d'événement est contenue dans le registre T (^ 0), ceci indique qu'il existe tme valeur d'apparition d'évé -317- 2334148 nement dans l'entrée actuelle, désignée par le délimiteur de début contenu dans DI et les pas B26 et B27 sont attaqués. Pendant B26, la nouvelle valeur d'apparition d'événement minimale du registre T est comparée avec la valeur d'apparition minimale lue dans la "mémoire P/B" à partir d'un vecteur d Apparition d'événement précédemment traité de la réponse. Si c'est la nouvelle valeur d'apparition d'événement minimale (T) qui est la plus petite, alors est attaqué le pas B27 pendant lequel la nouvelle valeur d'apparition d'événement minimale (T) est stockée dans le registre MIN et devient la grandeur "min" des équations 2 et 3 ci-dessus. Si la valeur "min" antérieurement stockée dans le registre MIN est plus petite ou égale, alors B28 est directement attaqué en sautant B27, ce qui préserve la valeur "min" dans le registre MIN. Pendant 328, le compte de nombre de correspondances du compteur N, correspondant au nombre total d'événements concordants comptés jusqu'à ce stade est incrémenté d'une unité. En outre, la valeur de la'longueur de demande, qui correspond à la valeur de DECALAGE mentionnée ci-dessus, est contenue dans le registre LNRQR et est ajoutée à.la nouvelle valeur d'apparition actuellement en cours de traitement dans le registre T et le résultat est rangé dans celui-ci. Pour revenir à la théorie, on remarquera que ce processus correspond à t. + DECALAGE = ô i dans l'équation de la valeur de dispersion (S). A ce stade, une nouvelle valeur ô a donc été formée et stockée dans le registre T et le nombre total de valeurs ô contenues dans l'entrée actuelle a été compté par le compteur N. Après B28, B29 est attaqué. S'il n'y a pas de valeur d'apparition d'événement dans l'entrée actuelle pour le vecteur d'apparition d'événement actuel en cotirs de traitement (compris entre DI et DII) le registre T ne contient pas de nouvelle valeur d'apparition d'événement minimale (T = 0) pendant B23 et après ce pas, les pas B24 et B25 sont alors attaqués. Pendant B24 et B25, une valeur ô précédemment stockée éventuelle, relative à l'entrée spécifiée par DI et provenant de vecteurs d'apparition d'événement précédemment traités, est lue dans la "mémoire P/B" et stockée dans le registre T. Le compteur NP garde trace du nombre de valeurs ô stockées dans la "mémoire P/B" -318- 2334148 pour l'entrée en cours de traitement. S'il existe des valetirs ô, le compteur NP n'est pas à "0" et le pas B25 est attaqué après B24- et, pendant ce pas B25, une valeur ô est lue dans la "mémoire P/B" et stockée dans le registre T et le compteur NP 5 est décrémenté d'une imité. Après B25, B29 est attaqué. Si le compteur NP avait été à "O", alors B29 aurait été directement attaqué après B24-. Pendant B29 et B30, la valeur d'apparition d'événement minimale de l'entrée actuelle spécifiée par DI est transférée 10 du registre MIN à la "mémoire P/B" et le compte de nombre de correspondances est transféré du compteur N à la "mémoire P/B". Après B30, le pas B31 de l'organigramme du module "concordantiel" est attaqué. Pendant B31, le compteur NP est vérifié pour détermi-15 ner s'il est ou non à "O". Dans l'affirmative, alors toutes les valeurs ô de l'entrée actuelle (spécifiées par DI) et contenues dans la "mémoire P/B" sont classées par ordre. Par contre, si le compteur NP n'est pas à "O", une valeur ô subsiste dans la "mémoire P/B" et doit être classée dans l'ordre de grandeur 20 croissant, comme décrit précédemment. A cet effet, pendant B32, une valeur ô est sortie par lecture de la zone "lecture" de la "mémoire P/B", et stockée dans le registre EII et le compteur NP est décrémenté d'une unité. Pendant B33» la grandeur de la valeur ô du registre RII 25 est comparée avec celle de la valeur ô du registre T. Si c'est la valeur ô du registre T qui est la plus grande, alors est attaqué le pas B34- au cotirs duquel la valeur ô plus petite du registre RII est stockée dans la "mémoire P/B". Si, au contraire, c'est la valeur ô de RII qui est la plus grande, alors est atta-30 qué le pas B35 au cours duquel la valeur ô du registre T est stockée dans la "mémoire P/B", tandis que la valeur Ô plus grande du registre RII est transférée au registre T. De cette manière, les valeurs ô sont stockées par ordre de grandeur croissant dans la zone "écriture" de la "mémoire P/B". 35 Une fois que toutes les valeurs incrémentielles de la "mémoire P/B" ont été traitées par les pas B31 à B35» le compteur NP est réduit à 0 et les pas B36 à B38 sont attaqués. -319- 2334148 Si, pendant B36, la bascule 3TLG est à 1, état dans lequel elle a été mise pendant B28, une nouvelle valeur Ô aura été formée dans le registre T et cette valeur doit être stockée dans la zone correspondante de la "mémoire P/B". A cet effet 5 est attaqué le pas B37 au cours duquel le contenu du registre T " est stocké dans la "mémoire P/B". Si la bascule FLG est à 0, B37 est sauté étant donné qu'il n'y a pas de valeur Ô à stocker. Pendant B38, la valeur de centre de cadre suivante (CP) est sortie par lecture de la "mémoire P/B" dans le registre RII, 10 la valeur maximale forcée 255 est stockée dans le registre MIN et le registre T est mis à 0. Si, pendant B39, la valeur de centre de cadre contenue dans le registre RII est ^ 0, on en déduit qu'elle contient une autre valeur de centre de cadre à traiter (lue pendant B38 15 dans la "mémoire P/B"). En conséquence, le pas B16 est repris et, au cours de cette reprise, les modules "décodage" I et II traitant respectivement le vecteur d'apparition d'événement et le vecteur d'apparition de délimiteur sont réajustés pour la nouvelle entrée qui correspond au centre de cadre (CP) du re-20 gistre RII. Ce processus se poursuit en reprenant à B16, jusqu'après la lecture de la dernière valeur de centre de cadre (CP) dans la "mémoire P/B". La valeur de fin de zone -1 est alors lue dans la "mémoire P/B" et stockée dans le registre RII au cours 25 de B38. Ensuite, pendant B39, EII contient la valeur -1 (fin de zone) et B4-0 est attaqué. Pendant B4-0, un "-1" est écrit dans la "mémoire P/B" à la fin de la zone à pour indiquer la fin de zone de-l'entrée correspondante. En outre, la valeur de longueur de demande con-30 tenue dans le registre LNRCiR est décrémentée de 1 pour refléter le fait que l'un des vecteurs d'apparition d'événement de la réponse a été traité. Le registre LKRQR contient maintenant la valeur de DECALAGE pour le vecteur d'apparition suivant de la réponse. 35 Pendant B4-1, la bascule BLAST est vérifiée. La bascule BLAST indique si le dernier vecteur d'apparition d'événement de la réponse a été traité. Si la bascule BLAST est à 0, le dernier vecteur d'apparition d'événement n'a pas été traité et le module -320- 2334148 "concordantiel" suspend son fonctionnement. Si la bascule BLAST est à 1, le dernier vecteur d'apparition d'événement a été traité et B42 est attaqué. Les pas B1-B41 constituent la phase I au cours de laquelle les valeurs S^ et min sont 5 calculées. Les pas B42-B58 ne sont attaqués qu'après le traitement de toutes les entrées et ils effectuent la sommation pour calculer D et D . . o mm A ce stade, la "mémoire P/B" contient un ensemble de données tel que celui qui est représenté dans la partie 6 de .10 la table 41. On va maintenant examiner la seconde moitié du fonctionnement du module "concordantiel" qui commence en B42. Lorsque le dernier vecteur d'apparition d'événement delà réponse a été traité et que la bascule BLAST est mise à 1 par le 15 "minicalculateur", le pas B42 est attaqué après B41. Pendant B41, la bascule de commutation ÇSM) de la "mémoire P/B" change d'état, ce qui provoque une interversion des zones "lecture" et "écriture". En d'autres termes, le module "concordantiel" va maintenant lire dans la zone 2 dans laquelle, précédemment, 20 il écrivait et écrire dans la zone 1, dans laquelle, précédemment, il lisait. En outre, les compteurs d'adresse M1, M2, M3 sont remis à 0 et le module "décodage" II est remis en son état initial de fonctionnement, ou "rétabli" de sorte qu'il commence à lire dans le plus grand ou dernier délimiteur du vecteur 25 d'apparition de délimiteur; En outre, pendant B42, le module "décodage" II lit et rejette le dernier délimiteur. Pendant B43, le module "décodage" II lit l'avant-dernier délimiteur qui est le délimiteur de début de la dernière entrée et ce délimiteur est stocké dans le registre DI. 30 Plusieurs itérations des pas B47 à B58 sont ensuite effectuées jusqu'à cè que chacune des valetirs CP et leurs valeurs min (nombre de correspondances) et Ô associées aient été traitées. Plus précisément, le but des pas B49 à B58 est de traiter chaque CP et la zone de valeurs associée et de ranger 35 dans la zone 3 du module "mémoire" le délimiteur de début de l'entrée correspondante suivi du nombre d'événements concordants entre la demande et la réponse (nombre de correspondances) et des valeurs dL. et dn qui entrent dans le calcul de la va-mxn ° leur de dispersion (5)« -321- 2334148 A cet effet, pendant B44-, la valeur CP d'une entrée est lue dans la "mémoire P/B" et stockée dans le registre EII. Pendant B4-5, le contenu du registre EII est contrôlé pour vérifier si la valeur de fin de zone (-1) a été atteinte. Si une 5 valeur de fin de zone a été atteinte, le module "concordantiel" suspend son fonctionnement. Si la fin de zone n'a pas été atteinte, alors B46 est attaqué. Pendant B46 et B4-7, le module "décodage" II est ajusté de façon qu'il transfère dans le registre DI le délimiteur de 10 début de la valeur CP actuellement stockée dans le registre EII. Une fois que ce transfert a été accompli, la valeur CP de EII est ^ au délimiteur du registre DI et le pas B4-8 est attaqué. Pendant les pas B4-8 et B49, les registres S et Dq sont mis à 0 la "mémoire P/B" sort par lecture la valeur d'instant d'événe-15 ment minimale (min) en vue de son stockage dans le registre MIN, puis cette mémoire sort par lecture la valeur de nombre de correspondances en vue de son stockage dans les compteurs N et NP. Pendant B50, la valeur binaire représentée par le contenu du registre NP est déplacée vers la droite par rapport 20 aux entrées correspondantes de l'unité ALU à raison d'une position binaire en divisant ainsi le nombre par 2 et le résultat est ajouté à l'adresse contenue'dans le compteur d'adresse M1, ce nouveau résultat étant ensuite stocké dans le registre ï. Le déplacement vers la droite est assuré par une connexion 25 de câblage entre le registre NP et le circuit de sélection DS10. De cette manière, l'adresse du point -milieu des valeurs ô de la "mémoire P/B" est calculée et stockée dans le registre T. La valeur ô spécifiée par l'adresse du registre T est ensuite sortie par lecture de la "mémoire P/B" et stockée dans le re-30 gistre EII. La valeur ô du registre EII est la valeur ô mid discutée ci-dessus. Pendant B51, un contrôle est effectué pour vérifier si la "mémoire P/B" contient ou non des valeurs Ô restant à traiter en ce qui concerne l'entrée actuellement en cours de traitement. 35 Si le compteur NP est à 0, il ne reste plus de valeur Ô à traiter et B55 est ensuite attaqué. Par contre, si le compteur NP n'est pas à 0, alors il reste unoéu plusieurs valeurs ô dans la "mémoire P/B" pour l'entrée actuelle et les pas B52 à B54- sont attaqués. -322- 2334148 Pendant B52, la valeur ô est sortie par lecture de la "mémoire P/B" et est stockée dans le registre RI et le compteur HP est décrémenté de 1 pour refléter le fait que l'une des valeurs ô a été retirée de la mémoire. Pendant B53» la valeur 5 absolue de la différence entre la valeur ô mid contenue dans RII et la valeur ô contenue dans RI est déterminée et est stockée dans le registre D. En outre, pendant B53» le registre S est utilisé comme accumulateur ou totalisateur pour mémoriser la souree des valetirs de différence précédente et actuelle 10 stockées dans le registre D. Le registre S contient donc la somme des valeurs de différence, somme qui correspond à la valeur d . _. mm Pendant B54-, la différence entre chaque valeur & et la valeur min respectivement stockées dans les registres RI et 15 MIîï est calculée et le résultat est stocké dans le registre D. Le registre DQ est utilisé comme accumulateur pour totaliser les valeurs de différence actuelle et précédente stockées dans le registre D pendant B^. En conséquence, le registre DQ contient la somme des valeurs de différence "ô -min", somme qui 20 correspond à la valeur dQ. Des itérations répétées de la boucle comprenant les pas B51 à B54- sont effectuées jusqu'à ce que toutes les valeurs ô aient été traitées. Pour chaque valeur ô lue dans la "mémoire P/B", le compteur NP est décrémenté de 1 et lorsqu'il atteint 0 les pas B55 à B58 sont attaqués. 25 Pendant B55» le délimiteur de début de l'événement ac tuel, stocké dans le registre DI, est tout d'abord transféré dans la zone 3 du module "mémoire". Pendant B56, le nombre de correspondances (nombre d'événements concordants entre la demande et la réponse) est transféré du compteur N à l'emplacement 30 suivant de la zone 3 du module "mémoire". Pendant B57» la valeur ^min est transférée du registre S à l'emplacement suivant de la zone 3 du module "mémoire". Pendant B58, la valeur dQ du registre Dq est stockée à l'emplacement suivant de 3azone 3 du module "mémoire". 35 Après B58, B44 est repris, reprise au cours de laquelle la valeur CP, la valeur min, la valeur de nombre de correspondances, et les valeurs ô de l'entrée suivante sont traitées. -323- 2334148 Enfin, une fois que les valetirs de la dernière entrée ont été traitées, une valeur -1 de fin de zone est stockée dans le registre RII pendant B50 et est détectée lors de la reprise de B4-5, ce qui provoque une suspension du fonctionnement du 5 module "concordantiel". Après la dernière suspension du module "concordantiel", la zone 3 du module "mémoire" contient une zone d'information telle que celle qui est représentée dans la partie 7 de la table 41. Cette zone d'information est alors lue par le "mini-10 calculateur", qui calcule la valeur de dispersion en utilisant la formule discutée plus haut. La discussion qui va suivre se réfère aux appels des modules "décodage" I et II, appels à la suite desquels ces modules décodent une valeur, du code hybride au code absolu. 15 Un certain temps est nécessaire au module pour assurer sa conversion. En conséquence, la logique de suspension d'horloge 1132 forme un signal vrai à l'entrée CS de la commande de rythme généralisée 700, qui a été également désignée ici sous le nom d'horloge généralisée, chaque fois qu'un appel des mo-20 dules "décodage" I et II est effectué et ceci provoque une suspension des impulsions CLK et CLK, et, par conséquent, une suspension "du fonctionnement du module "concordantiel" jusqu'à ce que le module appelé ait achevé son opération de décodage. Les sorties D1ME1TD et D2MEND respectives des modules "décodage" I 25 et II sont normalement vraies et deviennent fausses momentanément lorsque le module de décodage correspondant termine une opération de décodage. En conséquence, lorsque le module "décodage" I est appelé par le module "concordantiel", la sortie B5 de celui-ci est vraie, ce qui provoque un état vrai de la logique 30 B5•B1MEHB et, par conséquent, un état vrai de la logique de suspension d'horloge 1132. Cet état vrai rend également vraie l'entrée CS et^ par conséquent, l'horloge généralisée 700 interrompt la génération des impulsions CLK et CLK. Une fois que le module "décodage" I a terminé son opé-35 ration de décodage et que la valeur décodée est dans le registre D01 prête à être lue, D1M3ND devient fausse, ce qui détermine un état faux de la logique B5.D1MEND et, paréonséquent, de la logique de suspension d'horloge 1132. Ceci provoque une reprise -324- 2334148 de la génération des impulsions CLK et CLK et le module "concordantiel" recommence à fonctionner en P6 du compteur de commande 1113. La sortie B6 du module "concordantiel" reçoit tm signal 5 vrai chaque fois que le module "décodage" II est appelé. En conséquence la logique B6.D2MEND assure pour le module "décodage" II une fonction analogue à celle que la logique B5.D1KEÏFD assure pour le module "décodage" I. On va maintenant considérer le fonctionnement réel du 10 module "concordantiel" en prenant le même exemple que celui qui a été utilisé pour le module "cadrage". La réponse de la hase de données est la phrase "THIS IS A TEST" indiquée dans la table 1 du module "cadrage". La demande est le mot "SIT". Initialement, le module "jonction du système DEM" forme 15 un signal de commande à la sortie MINIT et le signal MINIT est transmis au circuit d'horloge généralisée 700, ce qui fait passer MR au niveau haut en remettant ainsi à 0 l^éompteur de commande 1113. La table 41 représente les données stockées dans le 20 module "mémoire", dans la "mémoire P/B" et dans le dispositif IPRF au cours du fonctionnement du module "concordantiel". La partie 1 de la table 41 représente l'information stockée dans le dispositif IPBF et dans le module "mémoire" pour traiter l'événement "S" du mot de demande "SIT". En conséquence, le 25 "minicalculateur", sous la commande du programme, mémorise initialement 3, nombre d'événements de la demande (longueur de demande) dans le registre LNEQ du dispositif IPBF; il enregistre 3» nombre de mots (au sens ordinaire de ce terme) du vecteur d'apparition d'événement (longueur du vecteur d'appa-30 ri tion d'événement) dans le registre LN1 du dispositif IPRF; enfin, il mémorise 4, nombre de mots matériels nécessaires pour stocker le vecteur d'apparition d'événement délimiteur (longueur du vecteur d'apparition de délimiteur) dans le registre LN2 du dispositif IPBF. Toutes ces opérations sont représentées 35 dans la partie 1 de la table 41. En outre, le "minicalculateur" stocke initialement le vecteur d'apparition d'événement "S" sous la forme codée hybride dans la zone 1 du module "mémoire"; stocke le vecteur d'apparition de délimiteur relatif à la ré -325- 2334148 ponse "THIS IS A TEST" dans la zone 2 du module "mémoire"; et stocke les valetirs de centre de cadre (choisies parmi celles qui sont fournies par le module "cadrage") dans la zone 1 de la "mémoire P/B", le tout comme représenté dans la partie 1 5 de la table 41. En outre, également comme indiqué dans la partie 1 de la table 41, les bascules FIRST et LAST sont respectivement mises à 1 et à 0. L'état 1 de la bascule FIRST indique que le premier vecteur d'apparition d'événement de la demande est en cours de traitement et l'état 0 de la bascule LAST in-10 dique que le dernier vecteur d'apparition d'événement n'est pas en train d'être traité. Le module "jonction du système DPM" forme alors un signal vrai à la sortie BMGO et ce signal est transmis à l'entrée IN de l'horloge généralisée 700, de sorte que celle-ci 15 commence à appliquer des impulsions d'horloge OLE et ÔLE. Etant donné que toutes les bascules PI du compteur de commande 1113 sont initialement à l'état 0, la première impulsion OLE met la bascule FI à 1, ce qui provoque l'attaque du pas B1 du module "concordantiel". 20 Pendant B1, un signal vrai est formé à la sortie PI de la bascule PI, ce qui provoque une remise à 0 des compteurs d'adresse de lecture et d'écriture M1 et M2 de la'iaémoire P/B" et la génération de signaux vrais aux sorties B3 et B4 du module "concordantiel" (voir Fig. 50). Le signal vrai aux sorties 25 B3 et B4 provoque la mise à 1 de la bascule D1FST du module "décodage" I et de la bascule D2FST du module "décodage" II, ce qui indique que le premier appel est sur le point d'être adressé aux décodeurs correspondants. Le signal vrai à la sortie Pi rend également vraie la logique P1.CLE, ce qui provoque 30 l'apparition d'un signal vrai à la sortie B6 du module "concordantiel". Le signal vrai à la sortie B6 provoque la mise à 1 du multivibrateur D2G0 en appelant ainsi l'intervention du module "décodage" II. Celui-ci entre alors par lecture le délimiteur de début 15 du mot "TEST", à partir de la zone 2 du module 35 "mémoire" (voir partie 1 de la table 41) dans son registre D01. Ultérieurement, le signal vrai en P2 stocke la valeur du registre D01 dans DI. Le signal vrai ultérieur en P3 provoque le transfert de cette valeur, de DI dans le registre DU. -326- 2334148 Le signal vrai à la sortie P1 provoque la mise à 1 de la bascule P2 et la remise à 0 de la bascule PI à l'impulsion CLK suivante, ce qui entraîne l'attaque du pas B2 de l'organigramme . 5 Le signal vrai à la sortie PI provoque également la génération d'un signal vrai à la sortie B1 du module "concordantiel", signal qui parvient dans divers modules du "système en validant ainsi des valeurs pour les modules suivants : "matrice de commutateurs", module "décodage" I et module "déco-10 dage" II. L'état vrai de la logique P1.CLK détermine un état vrai correspondant à la sortie B2 du module "concordantiel", en appliquant ainsi un rythme de système aux modules du système et en provoquant le stockage des valeurs ci-dessus, validées par la sortie B1, dans les modules respectifs. 15 Pendant le pas B2 de l'organigramme, le signal vrai à la sortie P2 de la bascule P2 fait apparaître des signaux vrais correspondants aux sorties B5 et B6 du module "concordantiel", signaux qui, à leur tour, appellent l'intervention du module "décodage" I. Celui-ci opère maintenant sur l'entrée "TEST" 20 (voir module "cadrage" table 1). A la suite de l'appel du module "décodage" I, celui-ci fournit la plus grande valeur d'apparition d'événement 13 du vecteur d'événement "S" stocké dans la zone 1 du module "mémoire" (voir partie 1 de la table 41). En outre, le signal vrai de la sortie P2 provoque le transfert, 25 par le circuit de sélection DS7, des signaux représentant la valeur maximale forcée 255» des commutateurs 1030 à l'entrée du registre MIN. Le circuit de sélection DS1 reçoit un signal vrai de la sortie P25, ce qui provoque le couplage de la sortie du registre M1 avec l'adresse d'entrée de la "mémoire P/B". 30 Le signal vrai de la sortie B7 provoque la sortie par lecture, par la "mémoire P/B" de la première valeur de centre de cadre 13 (voir partie 1 de la table 41), en utilisant l'adresse 0 contenue dans le compteur d'adresse de lecture M1. L'état vrai de la logique P2.CLK provoque le stockage dans le registre EII 35 de la valeur de centre de cadre 13 à partir de la "mémoire P/B" et le stockage dans le registre MIN de la valeur maximale forcée 255* Le signal vrai de la sortie P2 provoque en outre la mise à 1 dé la bascule P3 et la remise à 0 de la bascule P2 à -327- 2334148 ' l'impulsion CLK suivante, ce qui détermine l'attaque du pas B3 de 11 organigramme. Pendant le pas B3 de l'organigramme, des signaux vrais sont formés aux sorties P3 et P22 respectives des bascules P3 5 et P22. La logique P3:CLK devient vraie en formant ainsi un signal vrai à la sortie B6 du module "concordantiel", ce qui provoque l'actionnement de la bascule D2G0 du module "décodage" II et, par conséquent, l'appel de l'intervention de celui-ci, qui sort alors par lecture le délimiteur de début 10 du mot 10 de réponse "TEST". La logique P4- provoque le stockage du délimiteur de début 10 dans le registre DI. La bascule E0F1 du module "décodage" I est maintenant à l'état 0 en raison du fait que la fin de la zone du vecteur "d'apparition d'événement "S" n'a pas été atteinte. La bascule 15 P22 est à 0 et le pas B7 de l'organigramme est attaqué. En conséquence, la logique E0F1.P22 est vraie, ce qui provoque le transfert par le circuit de sélection DS6 de la valeur d'apparition d'événement 13 du registre D01 du module "décodage" I à l'entrée du registre RI. En outre, la logique P3.CLK provoque 20 le stockage dans le registre RI de la valeur d'apparition d'événement "S" 13 a partir du module "décodage" I. Le signal vrai à la sortie P3 de la bascule P3 provoque en outre la mise à 1 de la bascule P4- et la remise à 0 de la bascule P3 à l'impulsion CLK suivante, ce qui provoque l'attaque du pas B8 de l'organi-25 gramme du module "concordantiel". Pendant ce pas B8, un signal vrai est formé à la sortie P4 de la bascule P4-. Le signal vrai de la sortie P4- provoque le couplage, par les circuits de sélection DS9 et DS10, des sorties respectives des registres RII (13) et DI (10) avec 30 l'entrée de l'unité ALU, ainsi que la formation d'un signal vrai à l'entrée C (de comparaison) de l'unité ALU. Dans la phrase indiquée ci-dessus et dans la discussion qui va suivre, des parenthèses ( ). faisant suite à un label de registre indiquent la valeur contenue dans celui-ci. Par exemple, le re-35 gistre RII contient une valeur 13 et le registre DI une valeur 10. L'unité ALU détecte que le contenu du registre RII (13) est plus grand que celui du registre DI (10) et, par conséquent, fait partie de l'événement désigné par le délimiteur du registre -328- 2334148 DI. En conséquence, l'unité ALU forme un signal vrai à la sortie G, ce qui provoque la formation, par la porte OU 50, d'un signal vrai à la sortie GE. Ce signal vrai à la sortie GE rend vraie la logique P4.GE et l'impulsion suivante à la sortie CLK 5 provoque la mise à 1 de la "bascule P6 et la remise à 0 de la bascule P5 et, par conséquent, l'attaque du pas B9 de l'organigramme. Pendant ce pas B9, le signal vrai à la sortie P6 provoque lecouplage du registre RI (13) et du registre DI (10), 10 respectivement, par l'intermédiaire des circuits de sélection DS9 et DS10, aux deux entrées de l'unité ALU et l'apparition d'un signal vrai à l'entrée C de celle-ci. L'unité ALU compare les deux valeurs et trouve que la valeur d'instant d'événement 13 du registre RI est la plus grande et, par conséquent, fait 15 partie de l'entrée désignée par le délimiteur 10 du registre DI et ladite unité forme alors un signal vrai à la sortie G, ce qui provoque la formation par la porte OU 50 d'un signal vrai à la sortie GE. La logique P6.GE devient alors vraie et l'impulsion suivante à la sortie CLK met à 1 la bascule P7 et remet à 20 0 la bascule P6. B10 est maintenant attaqué. Le signal vrai à la sortie P7 provoque le transfert de l'instant d'événement 13 du registre El, par l'intermédiaire du circuit de sélection DS9, à l'une des entrées de l'unité ALU et le transfert de la valeur de 25 centre de cadre 13 du registre RII, par l'intermédiaire du circuit de sélection DS10, à l'autre entrée de l'unité ALU. En outre, l'entrée S (soustraction) de l'unité ALU reçoit un signal vrai et ladite unité effectue une soustraction des deux valeurs qui a pour résultat des signaux représentant un 0 à la sortie 30 OP. La logique P7.CLK devient vraie et provoque le stockage dans le registre D de la sortie 0 de OP. Il est à noter à ce stade que, si la soustraction avait donné un résultat négatif, comme c'est le cas lorsque le contenu de RI est -329- 2334148 couplent à nouveau les registres RI et RII avec l'unité ALU, mais cette fois avec interversion, de sorte qu'un nombre positif est obtenu, ce nombre positif étant alors rangé dans le registre D« De cette manière, une valeur positive ou absolue se retrouve toujours finalement dans le registre D comme indiqué dans le pavé B10 de l'organigramme. Dans l'exemple pour lequel la différence est O, un signal vrai est fomé à la sortie TI de l'inverseur de signal 1140 et, en conséquence, la logique P7«L est vraie ce qui provoque la mise à 1 de la bascule P9« On notera maintenant soigneusement ce qui s'est produit pendant B10. La différence entre le centre de cadre 13 et la première valeur d'apparition d'événement 13 a été calculée et trouvée égale à O. En conséquence, le déplacement entre ces deux grandeurs est le plus petit possible, à savoir 0. La valeur d'apparition d'événement 13 constitue alors la valeur min pour l'entrée "TEST" désignée par le délimiteur 10 du registre DI. Le pas B11 est alors attaqué et, au cours de ce pas, le signal vrai de la sortie P9 provoque le transfert, par les circuits de sélection DS9 et DS10, de la différence 0, à partir du registre D, et de la valeur maximale forcée 255» à partir du registre MIN, aux deux entrées de l'imité ALU et un signal vrai à l'entrée C déclenche une comparaison de ces deux valeurs par l'unité ALU. Etant donné que la valeur de déplacement 0 du registre D est la plus petite, un signal vrai est formé à la sortie L. Le signal vrai en P9 provoque le couplage, par le circuit de sélection DS7, de la sortie du registre D avec l'entrée du registre MIN et la logique P9.L est vraie, ce qui fait que le registre MIN enregistre la valeur 0. En outre, le signal vrai en F9 provoque le couplage, par le circuit de sélection DS8, de la sortie du registre RI avec l'entrée du registre de mémorisation temporaire T et la logique P9.L.CLK provoque le stockage par le registre T de la valeur d'apparition d'événement minimale 13 à partir du registre RI. Le pas B13 de l'organigramme est maintenant attaqué. Le signal vrai à la sortie P9 détermine un signal vrai à la sortie B5 du module "concordantiel", ce qui actionne le multi- -330- 2334148 vibrateur D1G0 du module "décodage" I et appelant ainsi l'intervention de celui-ci. Le module "décodage" I décode alors la valeur d'apparition d'événement suivante 7 à partir du vecteur d'apparition d'événement "S" (voir partie 1 de la table 41) 3 et la stocke dans son registre D01. Par ailleurs, la bascule E0F1 est à 0. En conséquence, le circuit de sélection DS6 couple la sortie du registre D01 du module "décodage" I avec l'entrée du registre RI et la logique P6.FLG provoque le stockage de la valeur d'apparition d'événement 7 dans le registre 10 RI. Le signal vrai à la sortie P9 provoque la mise à 1 de la bascule P6 et la remise à 0 de la bascule P9 à l'impulsion CLK suivante, ce qui détermine une reprise du pas B9 de l'organigramme . En so^éférant au module "cadrage", table 1, on voit que 15 la valeur d'apparition d'événement 7 du vecteur d'apparition d'événement "S" est dans l'entrée "IS" et non dans l'entrée "TEST" spécifiée par le délimiteur 10. Pendant B9, les registres RI et DI sont à nouveau couplés avec l'entrée de l'unité ALU et, cette fois, on trouve que la valeur d'apparition d'événement 20 7 contenue dans le registre RI est plus petite que le délimiteur 10 contenu dans le registre DI et, par conséquent, ne fait pas partie de l'entrée désignée par ce dernier. En conséquence, m un signal vrai est formé à la sortie L de l'unité ALU et le pas B17 de l'organigramme est attaqué. Le signal vrai à la sortie P6 25 provoque le transfert de la valeur maximale forcée 255 5 à partir des commutateurs 1030, à l'entrée du registre MIN. La logique P6.L.CLK est vraie, ce qui provoque un nouveau stockage dans le registre MIN de la valeur 255. En outre, le fait que la logique P6.L.CLK est vraie provoque une incrémentation de la valeur de 30 centre de cadre initiale 13 à une valeur OP 14 dans le registre RII. L'état vrai de la logique P5.L provoque tme mise à 1 de la bascule P10 et une remise à 0 de la bascule P6 à l'impulsion CLK stiivante, ce qui détermine l'attaque du pas B18. Le 35 vecteur d'apparition d'événement "S" est le premier à traiter et la bascule BFIRST est à 1. En conséquence, le pas B19 de 1'organigramme est attaqué. -331- 2334148 Pendant B19, la logique P10.BFIRST est vraie, ce qui provoque la mise à 0 des compteurs N et HP. Le pas B22 de l'organigramme est maintenant attaqué. Le pas B22 est le seul moment pendant lequel le conte-5 nu du registre DU est utilisé. En outre, DU est décrémenté de 1 par l'horloge pendant l'impulsion P4. En conséquence, lorsque la comparaison est effectuée pendant l'impulsion P10, elle porte sur RII et sur DU -1. Le signal vrai à la sortie P10 provoque le transfert, 10 par les circuits de sélection DS9 et DS10, de la valeur de centre de cadre 14 du registre RII et de la valeur de délimiteur supérieure 14• du registre DII à l'entrée de l'unité ALU et un signal vrai est formé à l'entrée C. L'unité ALU compare les deux valeurs et détermine que la valeur de centre de cadre 15 14 du registre RII est égale à la valeur de délimiteur 14; l'unité ALU forme alors un signal vrai à la sortie E. Ce signal provoque à son tour la formation par la porte 1152 d'un signal vrai à la sortie LE, ce qui rend vraie la logique P10.LE. En réponse, le circuit de sélection DS4 couple la sortie du re-20 gistre RII avec l'entrée de la "mémoire P/B". En outre, le signal vrai en P10 détermine un signal vrai à la sortie B8 du module "concordantieltt, ce qui provoque l'écriture par la "mémoire P/B" de la valeur de centre de cadre 14 provenant du circuit de sélection DS4 à son prop—re emplacement de mémoire 0 25 spécifié par le compteur d'adresse d'écriture M2. La logique B8.CLK incrémente l'adresse du registre M2 d'une adresse, c'est-à-dire la rend égale à l'adresse 1. L'état vrai de la "bascule P10 rend vraie la logique P10.BPIRST et l'impulsion CLK suivante met à 1 la bascule PI3 et remet à 0 la bascule 30 P10, ce qui provoque l'attaque du pas B23 de l'organigramme. Pendant B23, le contenu du registre T est vérifié pour déterminer s'il est ou non 0. En fait, il n'est pas 0, étant donné qu'une valeur d'apparition d'événement minimale 13 7 a été stockée pendant B12 et, en conséquence, un signal vrai 55 est formé à la sortie du registre T. Ceci rend vraie la logique P13»TQ et provoque la mise à 1 de la bascule IT. Le pas B26 de l'organigramme est maintenant attaqué. -332- 2334148 Pendant B26, un signal vrai est formé à la sortie P15 de la bascule P13, ce qui provoque le couplage, par les circuits de sélection DS9 et DS10, des registres T et MUT, par l'intermédiaire desdits circuits avec l'unité ALU et l'appli-5 cation d'un signal vrai à l'entrée C de celle-ci. Le registre T contient maintenant la valeur d'apparition d'événement minimale 13 qui est 15 Pendant B28, l'état vrai de la logique P13.T^ provoque en outre le comptage dans le sens positif d'un état par le compteur N pour refléter le fait qu'une valeur ô élémentaire est sur le point d'être formée pour le vecteur d'apparition d'événement "S" en cours de traitement. Le compteur N a été 20 mis à 0 au cours de B19 et, par suite, il est maintenant à 1, ce qui indique qu'il y a eu une correspondance ou entrée. En outre, le compteur NP est maintenant à 0 et un signal vrai est formé à la sortie NPQ. La logique P15.T^ est vraie, ce qui provoque la mise à 1 de la bascule FLG. La bascule FF est mainte-25 nant "vraie"; en conséquence, la logique P13.FF devient également vraie et l'impulsion CLK suivante met la bascule P14 à 1 et remet la bascule P13 à 0. Le signal vrai à la sortie P14 de la bascule P14 provoque le transfert, par les circuits de sélection DS9 et DS10, 50 des contenus respectifs des registres T et LNRQR à l'entrée de l'unité ALU et l'application d'un signal vrai à l'entrée A de celle-ci. Le registre T contient maintenant la valeur d'apparition d'événement minimale 13 et le registre LNRQJR contient la longueur effective de la demande, soit 3. Cette valeur 3 est la 55 valeur de DECALAGE mentionnée ci-dessus. En conséquence, la somme à la sortie de OP est maintenant 16 (13 +3). Le signal vrai en P14 provoque le transfert, par le circuit de sélection DS8, de la valeur 16 présente en OP à l'entrée du registre T et -555- 2334148 la logique FI4.CLK devient alors vraie, ce qui provoque le stockage de la valeur 16 dans le registre T. Le signal vrai en P14 provoque en outre la mise à 1 de la bascule P15 et la remise à 0 de la bascule P14. En conséquence le pas B29 est atta-5 qué. Pendant B29, la valeur d'apparition minimale de l'événement correspondant à la valeur "CP" 14 écrite pendant B22 est maintenant contenue dans le registre MIN et est écrite dans la "mémoire P/B". A cet effet, le signal vrai en P15 détermine 10 un signal vrai dans le circuit de sortie B8 du module "concordantiel", ce qui provoque une opération d'écriture dans la zone 2 de la "mémoire P/B" à l'emplacement spécifié par l'adresse d'écriture contenue dans le compteur M2. Le signal vrai à la sortie P15 provoque le transfert, par le circuit de sélec-15 tion DS4, de la valeur d'apparition d'événement minimale 13 (min) du registre MIN à l'entrée de la "mémoire P/B", ce qui permet l'écriture de cette valeur à l'adresse 1 à la suite de la valeur CP écrite pendant B22. En outre, l'état vrai de la logique B8.CLK provoque une incrémentation d'une adresse du 20 compteur d'adresse^M2 qui passe ainsi à l'adresse 2. Les contenus des adresses 0 et 1 de la zone 2 de la "mémoire P/B" sont représentés dans la partie 2 de la table 41. Le signal vrai à la sortie P15 provoque la remise à 0 de la bascule P15 et la mise à 1 de la bascule P16 à l'impulsion >5 CLK suivante, ce qui détermine l'attaque du pas B50 de l'organigramme . Pendant B30, le nombre de correspondances stocké dans le compteur d'adresse N est transféré dans la"mémoire P/B" à l'emplacement qui suit immédiatement la valeur min. A cet effet, 50 le signal vrai en P16 provoque le transfert, par le circuit de sélection DS4, de la valeur du nombre de correspondances, du compteur N jusqu'à l'entrée de la "mémoire P/B" et provoque la réception par la sortie B8 du module "concordantiel" d'un signal vrai. En outre, la logique B8.CLK est à nouveau vraie. Par 55 suite, la "mémoire P/B" stocke la valeur 1 du nombre de correspondances provenant du compteur N à l'adresse 2 (comme spécifié par le compteur d'adresse M2) et celui-ci est incrémenté de 1 de sorte qu'il contient maintenant l'adresse 5. -334- 2334148 Les adresses 0-2 de la zone 1 de la "mémoire P/B" contiennent maintenant les valeurs indiquées dans la partie 2 de la table 41. Au cours de B31, le compteur BP est à 0, ce qui provoque la génération d'un signal vrai à la sortie NPQ du 5 compteur NP. En conséquence, la logique P16.NFo est vraie, ce qui met à 1 la bascule PI9 et ce qui remet à 0 la bascule P16 lors de l'impulsion CLE suivante, en provoquant l'attaque du pas B36 de l'organigramme. Pendant B36, la bascule FLG est à 1, état dans lequel 10 elle a été mise au cotirs de B28 et, en conséquence, le pas B37 est maintenant attaqué. Pendant B37» la logique P19.FLG est vraie, ce qui provoque le transfert, par le circuit de sélection DS4, de la valeur 5 contenue dans le registre T à l'entrée de la "mémoire P/B", ce qui détermine l'apparition d'un signal 15 vrai à la sortie B8 du module "concordantiel". Il en résulte que la "mémoire P/B" écrit la valeur à, 16, à l'adresse 3» comme spécifié par le compteur d'adresse M2. L'état vrai de la logique B8.CLE provoque une nouvelle incrémentation de 1 du compteur d'adresse M2 qui passe ainsi à l'adresse 4. En consé-20 quence, les adresses 0 à 3 de la zone 1 de la "mémoire P/B" contiennent les valeurs indiquées dans la partie 2 de la table 41. Pendant B38, des signaux vrais sont formés aux sorties P19 et P26 des bascules P19 et P26 respectivement. En consé-25 quence, le signal vrai à la sortie P26 provoque le transfert, par le circuit de sélection DS1, de l'adresse 1 contenue dans le compteur d'adresse M1, à l'entrée de la "mémoire P/B" et la réception d'un signal vrai par la sortie B7 du module "concordantiel". Il en résulte que la "mémoire P/B" sort par lecture 30 la seconde valeur de centre de cadre 6 contenue dans l'adresse 1 de la zone 1 de la "mémoire P/B" (voir partie 1 de la table 41). L'état vrai de la logique P19.CLE provoque le stockage dans le registre EII de la seconde valeur de centre de cadre 6 lue dans la "mémoire P/B". Si l'on se réfère au module "cadrage", 35 table 1, on peut voir que la valeur de centre de cadre 6 correspond à l'entrée "IS". En outre, la logique B7.P26.CLE devient vraie, ce qui provoque l'incrémentation du compteur d'adresse M1 à l'adresse 2. Le signal vrai à la sortie P19 provoque en -335- 2334148 outre le transfert, par le circuit de sélection DS7, des signaux représentant la valeur 255s des commutateurs 1030 à l'entrée du registre MIN. L'état vrai de la logique PI9.CLK provoque le stockage de la valeur 255 dans le registre MIN 5 et la remise à 0 du registre T. Le signal vrai à la sortie PI9 de la bascule PI9 provoque la mise à 1 de la bascule P20 et la remise à 0 de la bascule PI9 lors de l'impulsion CLK suivante, ce qui détermine l'attaque du pas B39 de l'organigramme. Pendant B395 un signal vrai est formé à la sortie P20 10 et le registre EII contient maintenant la nouvelle valeur de centre de cadre 6 et, par conséquent, ne contient pas une quantité négative. SEII est le bit de signe du registre EII. (SRII = OXXXXXXX —> nombre positif ou 0, SEII = 1XXXZZZZ —>• nombre négatif). En conséquence, un signal vrai est formé à la 15 sortie SEII du registre RII, ce qui rend vraie la logique P20.SRII et, à l'impulsion CLK suivante, la bascule P4 est mise à 1 et la bascule P20 est remise à 0. Pendant B16, l'état vrai de la sortie P20 de la bascule P20 provoque le stockage dans le registre DII, en tant que nou-20 veau délimiteur supérieur, du délimiteur inférieur 10 provenant du registre de délimiteur inférieur DI. En outre, l'état vrai de la logique P20.SRII.CLK rend vraie la sortie B6 du module "concordantiel", met D2G0 à 1 et appelle l'intervention du module "décodage" II, en provoquant ainsi la transmission de la 25 valeur de délimiteur inférieure suivante 8 (voir partie 1 de la table 41) au registre de délimiteur inférieur DI. La logique B6.D2MEHD est vraie dans la logique de suspension d'horloge 1132 et le fonctionnement du module "concordantiel" est suspendu jusqu'à ce que le module "décodage" II ait terminé et remette 30 en action le module "concordantiel" en formant un signal faux à la sortie D2MEND. La logique P2C.SRII est maintenant vraie et la bascule P4 est mise à 1. La logique P4 provoque le stockage dans le registre DI de la nouvelle valeur de délimiteur inférieur 8. Après B16, 35 la logique P20.SRII provoque le retour, dans l'organigramme du module "concordantiel", du pas B16 au pas B8. Le délimiteur inférieur 8 du registre DI concerne l'entrée "A" (voir table 1). En conséquence, le vecteur d'apparition d'événement "S" ne contient aucune valeur d'apparition d'événement pour cette entrée. -336- 2334148 Pendant le pas B8 de l'organigramme, le signal vrai est à nouveau formé à la sortie P4 de la bascule P4. Sn conséquence, comme décrit précédemment, l'unité ALU compare la nouvelle valeur de centre de cadre 6 contenue dans le registre 5 EU avec la nouvelle valeur de délimiteur inférieur 8 contenue dans la logique DI et trouve que la première de ces deux valeurs est la plus petite. Ceci indique que le centre de cadre contenu dans le registre EII concerne une entrée inférieure à l'entrée "A" spécifiée par le délimiteur inférieur 8. En consé-10 quence, il est nécessaire que le délimiteur inférieur suivant soit lu par le module "décodage" II. A cet effet, les pas B14 et B16 sont repris, pas au cotirs desquels le délimiteur inférieur 8 du registre DI est transféré dans le registre de délimiteur supérieur DU tandis que le module "décodage" II fournit 15 le délimiteur inférieur suivant 5 (voir partie.2 de la table 41). Le délimiteur inférieur 5 concerne l'entrée "IS" (voir module "cadrage", table 1). Après B16, le pas B8 de l'organigramme est repris, reprise au cours de laquelle la valeur de centre de cadre 6 du 20 registre EII est à nouveau comparée avec le nouveau délimiteur inférieur 5 du registre DI. Cette fois, c'est le centre de cadre 6 qui est trouvé le plus grand, ce qui indique qu'il fait partie de l'entrée: spécifiée par le registre DI et, en conséquence, le pas B9 est attaqué. 25 Pendant B9, l'instant d'événement 7 tiré du vecteur d'apparition d'événement "S" (qui est stocké dans le registre RI au cours de la boucle précédente B13) est comparé avec le délimiteur inférieur 5 du registre DI et l'on trouve que ledit instant d'événement est plus grand que ledit délimiteur. En 30 conséquence le pas B10 de l'organigramme du module "concordantiel" est attaqué. Pendant B10, l'unité ALU calcule la valeur absolue de la différence entre la valeur d'apparition d'événement 7 du registre El et le centre de cadre 6 contenu dans le registre RII. Ladite valeur absolue de la différence est 1 et 35 est stockée dans le registre D. On notera soigneusement que cette valeur de différence concerne l'entrée "IS", tandis que la différence précédemment formée au cours de B10 est relative à l'entrée "TEST". -337- 2334148 Pendant B11, la différence stockée dans le registre D est comparée avec le contenu du registre KIN. Le registre MIN contient la valeur maximale forcée 255• En conséquence, la valeur de différence 1 du registre D est la plus petite, ce qui 5 provoque l'attaque du pas B12. Pendant B12, la nouvelle valeur de différence 1 est transférée du registre D au registre MIN et la nouvelle valeur d'apparition d'événement 7 est transférée du registre SI au registre T en tant que valeur min éventuelle. 10 Pendant B15, le module "décodage" I est rappelé et provoque le décodage de la nouvelle valeur d'apparition d'événement inférieure 4- à partir du vecteur d'apparition d'événement "S" et son stockage dans le registre SI (voir partie 1 de la table 4-1). Ceci n'est pas la fin du vecteur d'apparition d'évé-15 nement "S". En conséquence, la bascule E0F1 est à O, Pendant B9, la valeur d'apparition d'événement 4- du registre 4 concerne l'entrée "THIS" (voir module "cadrage", table 1 et, par conséquent, cette valeur est trouvée plus petite que la valeur de délimiteur de début 5 du registre BI. En consé-2C quence, 317 est attaqué. Pendant B17, la valeur forcée maximale 255 est stockée dans le registre MIN et la valeur de centre de cadre 6 du registre EII est incrémentée de 1, ce qui forme une valeur GP de 7* Pendant B18, la bascule BFIRST est à 1, étant donné 25 que le module "concordantiel" est encore en train d'opérer sur le premier vecteur d'apparition d'événement ou vecteur d'apparition d'événement "S". En conséquence, B19 est attaqué et, au cours de ce pas, les compteurs N et NP sont remis à 0. Pendant B22, la valeur CP de test 7 est écrite dans la"mémoire P/B" 30 à l'adresse 4, comme spécifié par le compteur d'adresse K2 et celui-ci est incrémenté à l'adresse 5» Le contenu des adresses 0 à 4 de la zone 2 de la "mémoire P/B" est représenté dans la partie 2 de la table 41. Pendant B23, le registre T ne contient pas un "0" mais 55 il contient la valeur d'apparition d'événement minimale 7« En conséquence, B26 est attaqué. Pendant B26, la valeur d'apparition d'événement minimale 7 du registre T est comparée avec la valeur maximale forcée 255 du registre MIN et est trouvée plus -338- 2334148 petite que celle-ci. Sri conséquence, le pas B27 est attaqué, pas au cours duquel la valeur d1apparition d'événement minimale 7 du registre T est transférée dans le registre MIN. Pendant B28, le compteur N est incrémenté de 1 pour refléter le fait 5 qu'une nouvelle valeur ô est sur le point d'être formée. En outre, la valeur d'apparition d'événement minimale 7 du registre T est ajoutée à la valeur de longueur de demande 3 contenue dans le registre LNRQP, ce qui forme une valeur ô de 10, qui est rangée dans le registre T. En outre, la bascule FLG est 10 mise à 1. Pendant les pas suivants B29 et B30, la valeur d'apparition d'événement minimale 7 du registre MIN est écrite à l'adresse 5 de la zone 1 de la "mémoire P/B" (voir partie 2, table 41) et la valeur de nombre de correspondances 1 du comp-15 teur N est stockée à l'adresse 6 de la zone 1 de la "mémoire P/B" (voir partie 2, table 41). En outre, le compteur d'adresse M2 est incrémenté d'une unité pour chaque écriture, de sorte qu'il contient maintenant l'adresse 7« Après B30, le pas B31 de l'organigramme est attaqué. 20 Le compteur HP est maintenant à 0 et, en conséquence, les pas B36 et B37 sont attaqués. La bascule FLG est, à 1 et, en conséquence, la valeur ô, 10, du registre T est stockée à l'adresse 7 de la zone 1 de la "mémoire P/B" (voir partie 2, table 41) et le compteur d'adresse M2 est incrémenté à l'adresse 8. 25 Pendant B38, la "mémoire P/B" sort par lecture la va leur de centre de cadre suivante 3 de la zone 1 et cette valeur est stockée dans le registre EII. Gomme on peut le voir en se référant au module "cadrage", table 1, la valeur de centre de cadre 3 est associée au mot de réponse "THIS". En outre, pendant 30 B38, le registre MIN est mis à la valeur maximale forcée 255 et le registre I est remis à 0. Pendant le pas B39 de l'organigramme, le registre EII contient le nouveau centre de cadre 3 et, par conséquent, n'est pas -1, de sorte que le pas B16 est repris. Le fonctionnement 35 se-poursuit maintenant avec les pas B16, B8, B9, B10, B11 et B12 de l'organigramme d'une manière analogue à celle qui a été décrite ci-dessus. Ce processus est représenté ci-après sous forme symbolique. -339- 2334148 B16 DI(5)__^DII ;mettre un nouveau délimiteur fi nal tiré du module "décodage" II; appeler module "décodage" II 5 DO 2(0)—» DI ; obtenir nouveau délimiteur de dé but; B8,B9 RII(3) DI(0) ;le centre de cadre estjéompris dans l'entrée actuelle du vecteur d'apparition d'événement "S" 10 RI(4) > DI(0) ;le centre de cadre est compris dans l'entrée actuelle du vecteur d'apparition d'événement "S" B10 D = j RI(4) - RII(3)| = 1 ;calculer valeur absolue de la dif- 15 férence; B11,B12 D(1) MIN 4c~ D ;préserver contenu de D comme nou veau minimum T 20 c orre sp ondant; Après B12 décrit ci-dessus, le pas B13 est à nouveau attaqué et, au cours de ce pas, le module "décodage" I est rappelé. Cependant, cette fois, on trouve que la dernière valeur d'apparition d'événement 4 a été lue et que la bascule 25 E0E1 du module "décodage" I a été mise à 1 pour indiquer la fin du vecteur d'apparition d'événement "S". A ce stade, la bascule P9 est à 1, ce qui rend vraie la sortie P9 et la sortie P22 est également vraie. En conséquence, la logique E0F1.P22 est vraie, ce qui provoque le transfert, par le circuit de sélection 30 DS26, de la valeur de fin de zone -1, des commutateurs 1032 à l'entrée du registre RI. La logique P6.FLG provoque le stockage dans le registre RI des signaux de valeur -1 provenant des commutateurs 1032. Le pas B9 est alors repris et au cours de cette reprise, 35 on trouve que la valeur de fin de zone -1 du registre RI est au délimiteur 0 contenu dans le registre DI. La suite du fonctionnement au cours des pas B18 à B37 est analogue à ce qui a été décrit ci-dessus, comme indiqué ci-après en notation symbolique. -340- 2334148 10 15 20 or O 30 55 B18 FIRST = 1 »% B19 N, NP tf- 0 B22 écrire RII(4) dans "mémoire P/B" B23 ï(4) ^ 0 B26 T(4) B27 T(4)-> MIN B28 N(0) + 1 T(4) + LNRQR (3)-»T(7) FLGc—1 B29,B30 écrire MIN = 4 et DI « 1 dans "mémoire P/B" NP « 0 . FLGr^—1 écrire T = 7 dans "mémoire P/B" initialiser nombre de correspondances à 0; MIN (RII, DU -1) = MIN (4,4) = 4; mettre à jour nombre de correspondances calculer valeur d'apparition d'événement + DECALAGE sortir minimum actuel et nombre de correspondances actuel; B31 B37 sortir dernière valeur Au cours du pas B38 suivant de 1'organigramme, la valeur de fin de zone -1 est sortie par lecture de la "mémoire P/B" et est stockée dans le registre RII et le compteur d'adresse de lecture M"1 est incrémenté d'une adresse, tandis que le registre MIN est mis à la valeur maximale forcée 255 et que le registre T est remis à 0. Au cours du pas suivant B39 de l'organigramme, on trouve que le contenu du registre RII est 0, ce qui fait apparaître un signal vrai à la sortie L de l'unité ALU en provoquant l'attaque du pas B40. Pendant le pas B40 de 1'organigramme, un signal vrai est formé à la sortie P20 de la bascule P20, ce qui provoque la génération d'un signal vrai correspondant à la sortie B8 du modulf "concordantiel". Le signal vrai à la sortie P20 provoque le transfert, par le circuit de sélection DS4, de la valeur -1, des commutateurs 1134 à l'entrée de la "mémoire P/B". Le signal -34-1- 2334148 vrai à la sortie B8 du module "concordantiel" provoque l'écriture pa± la "mémoire P/B" de la valeur de fin de zone -1 à l'adresse 12 de la zone 2 de cette mémoire. A ce stade temporel, les contenus des adresses 0 à 12 de la zone 2 de la "mémoire 5 P/B" sont tels qu'indiqués dans la partie 2 de la table 4-1. La logique B8.CLK devient vraie en provoquant une incrémentation d'une adressedu compteur d'adresse d'écriture M2. Le "-1" stocké dans le registre RII rend vrai son bit de signe qui, à son tour provoque l'apparition d'un signal vrai à la sortie SRII du re-10 gistre RII. En conséquence, la logique P20.SRII est vraie, ce qui provoque une décrémentation d'une adresse du registre LNRQP en réduisant la valeur de DECALAGE de 1 à partir de 3. Le pas B4-1 de l'organigramme est maintenant attaqué. La bascule BLAST est maintenant à 0, ce qui indique qu'il ne 15 s'agit pas du dernier vecteur d'apparition d'événement de la réponse et, en conséquence, le module "concordantiel" suspend son fonctionnement. L'exemple de fonctionnement donné ici suppose une demande "SIT" et la réponse "THIS IS A TEST". Le vecteur d'appari-20 tion d'événement "S" a été traité et le "minicalculateur" établit maintenant les conditions du second appel du module "concordantiel" pour l'événement "I" de "SIT" comme indiqué dans la partie 3 de la table 4-1. A cet effet, le "minicalculateur" stocke dans le dispositif IPRF les paramètres suivants : longueur du ^5 vecteur d'apparition d'événement "I" (valeur 2) dans LIT1 et longueur du vecteur d'apparition de délimiteur (valeur 4-) dans LÏÏ2.LNRQP n'est chargé que pour le premier vecteur d'apparition d'événement. En conséquence, le registre LNRQ du dispositif IPRF n'a pas besoin d'être rempli. Le "minicalculateur" stocke égale-30 ment le vecteur d'apparition d'événement "I" (6, 3) dans la zone 1 du module "mémoire" et met à 0 la bascule BLAST pour indiquer qu'il ne s'agit pas actuellement du traitement du dernier vecteur d'apparition d'événement. La zone 2 du module "mémoire" contient le même vecteur d'apparition de délimiteur indi-35 qué dans la partie 1 de la table 4-1 et la zone 2 de la "mémoire P/B" contient l'information stockée par le module "concordantiel" au cours du premier appel de celui-ci. Pendant le second appel du module "concordantiel", une lecture est effectuée dans -342- 2334148 la zone 2 de la "mémoire P/B" et une écriture est effectuée dans la zone 1. La partie 4- de la table 4-1 représente le contenu de la zone 1 de la "mémoire P/B" après le second appel et la seconde 5 "suspension" du module "concordantiel" et il faudra tenir compte de ce contenu dans la discussion qui va suivre. Le module "concordantiel" est appelé pour la seconde fois par le "minicalculateur" et par le module "jonction du système DPM", comme décrit précédemment, ce qui provoque l'at-10 taque du pas B1. Pendant B1, le module "concordantiel" provoque l'initialisation des modules "décodage" I et II en les remettant en leur état initial de façon qu'ils commencent à décoder à la valeur de début ou la plus grande dans les vecteurs d'apparition 15 d'événement correspondants. En outre, les compteurs d'adresse M1 et M2 sont remis à 0 de façon qu'une lecture et une écriture se produisent, en partant de l'adresse 0 des zones de la "mémoire P/B" et la matrice de commutation (SM) de la "mémoire P/B" est "basculée", ce qui provoque une interversion des zones de 20 lecture et d'écriture dans la "mémoire P/B". Il en résulte que l'écriture s'effectue maintenant dans la zone 1 de la "mémoire P/B" en utilisant le compteur d'adresse M2, tandis que la lecture s'effectue maintenant dans la zone 2 de la "mémoire P/B" en utilisant le compteur d'adresse M1. La manière dont la ma-25 trice de commutation de la "mémoire P/B" est basculée" ou commute les zones sera décrite de façon plus détaillée ci-après. En outre, le module "décodage" II est appelé, ce qui le contrsint de sortir par lecture le dernier délimiteur 15 en vue de son stockage dans le registre DII. 30 Pendant B2, l'adresse 0 de la zone 2 de la "mémoire P/B" est lue en utilisant le compteur d'adresse M1, ce qui provoque la lecture de la valeur CP, 14 (voir partie 2, table 41) et le stockage de cette valeur dans le registre EII. Cette valeur correspond à la valeur de centre de cadre incrémentée 35 stockée pendant le premier appel. En outre, le registre M1 est incrémenté à l'adresse 1, la valeur maximale forcée 255 est stockée dans le registre MIN et le registre T est remis à O. De plus, le module "décodage" I est appelé, ce qui provoque la -343- 2334148 lecture de la première valeur d'apparition d'événement 6 du vecteur d'apparition d'événement "I" et le stockage de cette valeur dans le registre D01 du moduie "décodage" I. Pendant B3, le module "décodage" II est appelé, ce qui 5 provoque la lecture du délimiteur de début 10 et son stockage dans le registre DI. Pendant B5, la bascule E03P1 du module "décodage" I est à "0" du fait que la dernière valeur d'apparition d'événement n'a pas été décodée. En conséquence, B7 est attaqué. 10 Pendant B7, la valeur d'apparition d'événement 6 du vecteur d'apparition d'événement "I" est transférée du registre D01 dans le registre El. Pendant B8, on trouve que la valeur de centre de cadre 14- du registre RII est plus grande que la valeur du délimiteur de début 10 contenue dans le registre DI. 15 En conséquence, le centre de cadre est contenu dans le délimiteur désigné par le contenu du registre DI et B9 est attaqué. Pendant B9, la valeur d'apparition d'événement 6 du registre RI est comparée avec le délimiteur de début 10 du registre DI et l'on trouve que c'est ce délimiteur qui est le plus 20 grand. En conséquence, B17 est attaqué. Pendant B17, la valeur maximale forcée 255 est stockée dans le registre MIN et la valeur de centre de cadre du registre EII est incrémentée de 14 à 15* Pendant B18, la bascule BFIRST est trouvée à l'état "0" 25 et, en conséquence, les pas B20 et B21 sont attaqués. Pour entrer davantage dans les détails du fonctionnement, on peut préciser qu'au cours du pas B18 la bascule P10 est à 1 et la bascule BFIRSÏ à 0, ce qui rend vraie la logique P10.BFIRST. Ceci provoque la mise à 1 de la bascule P11 et la remise à 0 30 de la bascule P10 à l'impulsion CLK suivante, en provoquant ainsi l'attaque du pas B20 de l'organigramme du module "concordantiel". Un état vrai à la sortie P11 de la bascule P11 provoque la réception d'un signal vrai par la sortie B7 du module "concordantiel". En outre, la bascule P26 est maintenant à 0 et l'é-35 tat vrai de la sortie P26 de la bascule P26 provoque le transfert, par le circuit de sélection DS1 de l'adresse 1 contenue dans le compteur d'adresse M1 à la "mémoire P/B". Le signal vrai à la sortie B7 provoque la lecture par la "mémoire P/B" de la -344- 2334148 valeur min, 13, à l'adresse 1 de la zone 2 de ladite mémoire (voir partie 2 de la table 41). Le signal vrai à la sortie P11 provoque le transfert, par le circuit de sélection DS7, de la valeur min, 13, de la "mémoire P/B" à l'entrée du registre MIN 5 et la logique P11.CLK provoque le stockage dans le registre MIN de la valeur min, 13. En outre, la logique B7.P26.CLK provoque l'incrémentation du compteur d'adresse M1 à l'adresse 2. L'impulsion CLK suivante provoque la mise à 1 de la bascule PI2 et la remise à 0 de la bascule P11, ce qui détermine l'attaque du 10 pas B21 de l'organigramme. Pendant B21, un signal vrai est formé à la sortie P12, ce qui provoque l'apparition d'un autre signal vrai à la sortie B7 du module "concordantiel" en contraignant à nouveau la "mémoire P/B" à effectuer une sortie par lecture, mais cette fois 15 à partir de l'adresse 2. Comme indiqué dans la partie 2 de la table 41, la valeur du nombre de correspondances 1 est sortie par lecture et est transférée à l'entrée des compteurs N et NP. La logique P12.CLK devient vraie, ce qui provoque le stockage de la valeur du nombre de correspondances 1 dans les compteurs 20 N et NP. En outre, le compteur d'adresse M1 est incrémenté à l'adresse 3« Un signal vrai étant formé à la sortie P12, ce signal provoque la mise à 1 de la bascule P13 et la remise à 0 de la bascule P12 à l'impulsion CLK suivante, ce qui détermine l'attaque du pas B22 de l'organigramme. 25 Pendant B22, une valeur de centre de cadre mise à jour ou incrémentée 15 est contenue dans le registre EII tandis que le délimiteur supérieur moins 1 (15-1 = 14) est contenu dans le registre DU. DU a été décrémenté de 1 pendant la présence du signal vrai en, P4. Etant donné que la valeur de cadre incrémen-30 tée ne peut pas franchir le délimiteur supérieur 15, un délimiteur supérieur 15-1, ou 14, est maintenant stocké dans la "mémoire P/B" en utilisant le compteur d'adresse M2. En conséquence l'adresse 0 de la zone 1 de la "mémoire P/B" contient maintenant la valeur CP, 14, indiquée dans la partie 4 de la 35 table 41. Après B22, B23 est attaqué. Pendant B23, le contenu du registre T est vérifié et l'on constate qu'il contient maintenant un "0". La raison en est qu'aucune valeur d'apparition d'événement du vecteur d'ap -345- 2334148 parition d'événement "I" n'est présente dans l'entrée "TEST (voir module "cadrage", table 1) définie par le délimiteur de début 10 du registre DI. En conséquence, B24 est attaqué. Les pas B24 et B25 sont utilisés pour vérifier les valeurs ô stoc-5 kées dans la "mémoire P/B" tout en traitant le vecteur d'apparition d'événement précédent "S". Pendant B25, le compteur NP contient une valeur 1 et, par conséquent, ne contient pas 0. En conséquence, sa sortie NP est vraie. En outre, le registre T contient un 0, et, en "$0 conséquence, sa sortie est vraie. Par suite, la logique P15.To.HPo est maintenant vraie, ce qui provoque l'apparition d'un signal vrai à la sortie B7. En outre, la sortie P26 de la bascule P26 est encore vraie, ce qui provoque le transfert, par le circuit de sélection DS1, de l'adresse 2, du compteur d'à-15 dresse M1 à la "mi-moire P/B". Le signal vrai en B7 provoque la sortie par lecture par la "mémoire P/B" de la valeur ô, 16, à partir de l'adresse 5 (voir partie 2 de la table 4-1). La logique P15.Tq provoque le transfert, par le circuit de sélection DS8, de la valeur ô, 16, à l'entrée du registre T et l'état vrai de 2G la logique P13.Tq.CLE provoque le stockage de la valeur ô, 16, dans le registre T. En outre, le compteur d'adresse M1 est incrémenté à l'adresse 4 et l'état vrai de la logique P13„To.xïPo provoque une décrémentation à 0 du compteur NP. On remarquera que le .^5 compteur NP garde trace du nombre de valeurs ô contenues dans la zone CP correspondante de la "mémoire P/B" qui ont été traitées. En outre, pendant B25 de l'organigramme, la logique PI3.TqÏ'ÎPq provoque la mise à 1 de la bascule FLG. Après B25, les pas B29 et B30 de l'organigramme sont 30 repris, reprise au cours de laquelle la valeur à minimale, 13» contenue dans le registre MIN est stockée à l'adresse 1 de la zone 1 de la "mémoire P/B", au cours de laquelle la valeur du nombre de correspondances 1 du compteur N est stockée à l'adresse 2 de la zone 1 de la "mémoire P/B" (voir partie 4 de la 35 table 41) et au cours de laquelle le compteur d'adresse M2 est incrémenté à l'adresse 3. Les pas B31, B36 et B37 de l'organigramme sont maintenant attaqués et, au cours de ces pas, la valeur ô, 16, contenue -346- 2334148 dans le registre T est écrite à l'adresse 3 de la zone 1 de la "mémoire P/B", tandis que le compteur d'adresse M2 est incrémenté à l'adresse 4. 5 (voir partie 2, table 41) est lue à l'adresse 4 de la zone 2 de la "mémoire P/B" et est stockée dans le registre RII, tandis que le compteur d'adresse M1 est incrémenté à l'adresse 5. La valeur maximale forcée 255 est stockée dans le registre MIN et le registre T est remis à 0. Pendant B39, la valeur CP, ô, 1.0 du registre RII n'est pas 0 et, en conséquence, le pas B16 de l'organigramme est repris. jusqu'à ce que le marqueur de fin de zone -1 soit détecté dans la zone 2 de la "mémoire P/B". Ceci se produit lorsque, pendant 15 B39» on trouve que le registre RII contient un "-1" (inférieur à 0), ce qui provoque la reprise de B40. Le déroulement des opérations pour l'exemple décrit, à partir du point où la description ci-dessus s'arrête après l'attaque du pas B40 est indiqué symboliquement ci-dessous. B16 DII — DI (10) ; prendre un nouveau délimiteur Pendant B38, la valeur de aentre de cadre suivante 7 Ce processus décrit par 1'organigramme se poursuit final appeler module "décodage" II DI D02 (8) ; lire un nouveau délimiteur de début B8 RII (7) ; prendre un nouveau délimiteur final Appeler module "décodage" II DI ; prendre nouveau délimiteur final B8 RII(7) > DI (5) B9 RI (6) > DI (5) B10 D = |RI (6) - RII (7)| D = 1 -347- 2334148 B11,B12 B13 B9 B17 B18 B20,B21 B22 B31 B32 D (1) MIN 2M—El (6) Appeler module "décodage" I E0F1 = 0 EI^- D01 (3) RI (3) RII = 8 ; BFIRST = 0 MIN«— P/B MM (7) N, NP-é-P/B MM (1) 9 D est inférieur ; préserver D et ; préserver position dans ï rétablir MIN mettre à jour RII Ecrire DU-1(7) dans "mémoire P/B" sortir par écriture centre de cadre - ne pas lui permettre de franchir les (définies) limites B23 B24 B27 B28 B29,B30 T / 0 T (6) MIN N (1) » I + 1 =2 ï (6) + LNRQR (2) = T (8) FLG 1 Ecrire MIN (6) N (2) dans "mémoire P/B" NP = 1 4 o Lire RU*- P/B MEM0RY(10) NP(1)^NP—1 = NP (0) B33 B35- B31.B36 B37 B38 IP (8) écrire 8 dans "mémoire P/B" —RII (10) NP = 0 & FLG = 1 «\ écrire T (10) dans "mémoire P/B" Lire RII^P/B MEMORY (4) sortir par écriture le minimum actuel et le nombre de correspondances NP n'est pas 0 ; introduire par lecture la ; valeur suivante ; décrémenter nombre de ; correspondances T faire T = nouvelle valeur plus rien à lire écrire T ï lire le centre de cadre suivant -348- 2334148 B39 B16 B8 B9 B10 B11,B12 B13 B9 B1? B18 B20, 21 B22 MIN «-255 0 EII (4) > 0 B16 DII«— DI (5) appeler "module décodage" II DI*— D02 (0) ; prendre nouveau délimiteur final prendre nouveau délimiteur de début EII (4) > DI (0) El (3) > DI (0) D = I El - EII| = 13-41 = 1 D (1) MIN-É— D (1) T-fc-RI (3) Appeler module "décodage" I E0F1 = 1 EI MIN-é— 255 ; rétablir MIN EII (4) + 1 = BII(5) i déplacer centre de cadre ; calculer écart ; son minimum ; préserver valeur ; préserver position FIRST 0 lire MIN = 4 et N = 1 dans "mémoire P/B" Ecrire DII-1 (4) dans "mémoire P/B" il ne s'agit pas de la première boucle, lire MIN et nombre de correspondances dans AM-II écrire centre de cadre ajusté - ne pas lui permettre de franchir la limite B23 T 4 0 B26 T (3) B27 MIN B28 N(1) N+1=N (2) ; mettre à jour le nombre de c orre sp ondanc e s T = T (3) + LREQR (2); ajouter DECALAGE à la position = ® (5) mettre drapeau FLGV-1 -349- 2334148 E29,B30 écrire MIÎT (3) et H"(2) ; sortir par écriture le nouveau dans "mémoire P/B" ; minimum B31 HP / 0 B32 Lire EIIP/B MEMORY (7) ; introduire par lecture nou- 5 velle valeur HP(0).t-HP-1 = HP (O) ; décrémenter compte B33 T (5) B35 Sortir par écriture T = 5 dans "mémoire 10 P/B" T (7) dans "mémoire P/B" B31 ,B34- HP = 0 FLG = 1 B37 Sortir par écriture T (7) 15 dans "mémoire P/B" B38 Lire RII-1 ; lire fin de zone MIN«- 255 T«— 0 B39 EII LERQ (2) = LERQ - 1 = ; abaisser le compte de décalage LERQ (1) B41 BLAST =0 *\ SUSPENSION 25 Après B41 de l1 organigramme, les adresses 0 à 14 de la zone 1 de la "mémoire P/B" se présentent comme représenté dans la partie 4 de la table 41. Le vecteur d'apparition d'événement "I" a été traité et le "minicalculateur" établit maintenant les conditions indi-30 quées dans la partie 3 de la table 41 pour le troisième appel du module "concordantiel" et pour l'événement "T" du mot de demande "SIT". A cet effet, le "minicalculateur" stocke dans le dispositif IPRF les paramètres suivants : longueur du vecteur d'apparition "T" (valeur 3) dans LH1; longueur du vectetœ 35 d'apparition de délimiteur (valeur 4) dans LÊT2. LERQ n'est pas modifié. Le "minicalculateur" stocke en outre le vecteur d'apparition d'événement "T" (14, 11, 1) dans la zone 1 du module "Mémoire". La zone 2 du module "mémoire" contient le même vectetœ -350- 2334148 d'apparition de délimiteur que celui qui est indiqué dans la partie 1 de la table 41 et la zone 1 de la "mémoire P/B" contient l'information stockée par le module "concordantiel" lors du second appel de celui-ci, comme représenté dans la partie 4 5 de la table 41. En outre, le module "jonction du système DPM" forme un signal vrai à la sortie BLAST «— 1 en provoquant la mise à 1 de la bascule BLAST du module "concordantiel", ce qui indique que le dernier vecteur d'apparition d'événement du dernier événement de la demande est sur le point d'être traité. 10 L'intervention du module "concordantiel" est à nouveau appelée par formation d'un signal en BMGO, ce qui provoque une reprise de l'exécution des pas B1 à B42 de l'organigramme. Toutefois, il est à noter que pendant B1, la matrice de commutation de la "mémoire P/B" est à nouveau "basculée", ce qui 15 provoque une interversion des zones de lecture et d'écriture. En conséquence, l'écriture s'effectue maintenant dans la zone 2 de la "mémoire P/B" tandis que la lecture s'effectue dans la zone 1 de cette mémoire. Le fonctionnement du module "concordantiel" est ensuite analogue à celui qui a été décrit 20 ci-dessus et ne sera pas répété de façon détaillée, mais simplement indiqué ci-après en notation symbolique. B1 initialiser modules "décodage" I et II appeler module "décodage" II DII^—D02 (15) » prendre délimiteur final B2 Lire Rll-é— "mémoire ; lire valeur de centre de cadre P/B" (14) (CP) MIN 255 j remettre MIN et T à 0 T — 0 Appeler "décodage" I B3 Appeler module "décodage" II, prendre une valeur de dé limiteur de début DI D02 (10) B5-B7 E0F1 = 0 DI (10) ; la valeur CP est comprise dans l'entrée désignée par le délimiteur de DI -351- 2334148 B9 RI (14) > DI (10) ; l'instant d'événement est compris dans l'entrée désignée par le délimiteur de DI B10 D = | RI (14) - RII (14)1 = 0" B11 ,B12 D MIN D (0) ; préserver MIN T —RI(14) ; préserver instant d'événement B13 appeler module "décodage" I E0F1 = 0 /.BI4-D01 (11) B9 RI (11) >DI (10) B10 D *-|RI(11) - RII(14)1 = D(3) B11 D(3) >MIN(0) B13 appeler module "décodage" I E0F1 = 0 RI B9 RI(1 ) B17 MIN A:— 255 ; rétablir MIN RII RII(14) + 1 = RII (15) ; déplacer centre de cadre B18 BFIRST = 0 A B20,B21 lire MIN "mémoire P/B (13) Lire N, NP.ç—"mémoire P/B" (1) B22 Lire DII-1 (14)—^"mémoire P/B" ; sortir par écriture le centre de cadre déplacé B23 T / 0 B26 0? (14) > MIN(13) B28 N ÎD-4—1(14) + LNRQR(1 ) = ; ajouter DECALAGE T (15) Faire FLG «— 1 B29,B30 Sortir par écriture MIN(13) —> "mémoire P/B" Sortir par écriture N (2)—^"mémoire P/B" B31 NP ^ 0 B32 Lire RII ^— "mémoire P/B" (16) ; introduire par lecture nouvelle valeur NP -352- 2334148 B33 B35 B31 B36 B37 B38 B39 B16 B8 B14 B16 B8 B9 B17 B18 B20 B21 B22 B23 B24 B25 T(15) Ecrire T(15)—^"mémoire P/B" QK—EII(16) BP = O FLG = 1 *. Sortir par écritiare T(16) —>"mémoire P/B" Lire RII«— "mémoire P/B" ; introduire par lecture valeur de centre de cadre suivante MIN «—255 O RII (7) > O B16 DII Appeler module "décodage" II DI D02 (8) prendre nouveau délimiteur final ; prendre nouveau délimiteur de début RII(8) RI(1) DII Appeler module "décodage" II DI*- D02 (5) RII (7) > DI(5) RI (1) MIN RII RII (7) + 1 = RU (8) BFIRST = O Lire MIN Lire N, ÏÏP T = O BP yi 0 Lire T Paire PLG 1 écrire centre de cadre ajusté -353- 2334148 B29,B30 écrire MIN (6)—>"mémoire P/B" écrire N(2) —>• "mémoire P/B" B31 NP ^ O B32 Lire EII NP^— NP(1 ) -1=0 B33 T(8) B35 Ecrire T(8) —^''mémoire P/B" I = RII (10) B31 NP = 0 B36 PLG- = 1 B37 Ecrire T (10)-» "mémoire P/B" B38 Lire RII MIN255 ; rétablir MIN T0 ; rétablir T B39 RII (4) > O B16 DU DI (5) ; prendre nouveau délimitetir de début Appeler module ; délimiteurs "décodage" II DI B8 RII (4) > DI (O) ; CP est compris dans l'entrée dési gnée par le délimiteur de début de DI B9 RI (1) > DI (0) ; instant d'événement B10 D | RI (1) - RII (4)| = D(3) B11,B12 D(3) MIN RII (1) ; préserver valeur Ô B13 Appeler module "décodage" I EOP1 = 1 RI B8 RI (-1) B17 MIN RII B18 BFIR3T = O •*-> B20,B21 Lire MIN Lire N, NP-e- "mémoire P/B" (2) Ecrire DU -1 (4)—> "mémoire P/B" ; sortir par écriture centre de cadre ajusté -354- 2334148 B2J T / 0 B26 1(1) B27 MIN ^— T(1) préserver nouveau ô min B28 N 5 pondances Œ«-T(1) + LNRQE(1) =T(2) ; ajouter le DECALAGE B29,B30 Ecrire MIN(1) "mémoire P/B" N(3)^> "mémoire P/B" NP ^ 0 Lire EII«— "mémoire P/B" (5) NP T(2) Ecrire T(2)—v "mémoire P/B" T«—RII (5) HP / O Lire EII 4— "mémoire P/B" (7) NP-e-NP(l) - 1 = NP(O) T(5) Ecrire —^"mémoire P/B" (5) T NP » 0 FLG = 1 Ecrire T(7) •> "mémoire P/B" Lire EII^— "mémoire P/B" (-1) ; lire valeur fin de zone MIN 255 T«- 0 EU (-1) Ecrire -1 —^"mémoire P/B" LKEQE^- LNEQR (1) - 1 = LNRQR (0) BLAST = 1 Il est à noter qu'au pas B4-1 du processus décrit ci-dessus sous forme symbolique, la bascule BLAST est à 1 (voir partie 5 de la table 4-1). En conséquence, le pas B42 est attaqué. A ce stade, la bascule P20 est à 1, ce qui provoque la présence 35 d'un signal vrai à la sortie P20. En conséquence, la logique P20.BLAST est vraie, ce qui engendre un signal vrai à la sortie B4- du module "concordantiel", signal qui, à son tour, remet le module "décodage" II en son état initial, de sorte qu'il commence B31 10 B32 B33 B35 15 B31 B32 B33 B35 20 B31 B36 B37 B38 25 -B39 B40 30 B41 -355- 2334148 à lire au début du vecteur d'apparition de délimiteur représenté dans la partie 1 de la table 41. En outre, le registre EII contient maintenant le marqueur de fin de zone -1, ce qui rend Vrai le bit de signe du registre EII en provoquant ainsi la 5 génération d'un signal vrai à la sortie SEII. La logique P20.BLAST.SEII est maintenant vraie, ce qui provoque la remise à 0 du compteur d'adresse M2. La logique P20.BLAST.OIE est vraie, ce qui engendre un signal vrai à la sortie B6 du module "concordantiel", signal qui à son tour appelle l'intervention 10 du module "décodage" II en le contraignant à lire le délimiteur final 15. Le délimiteur final 15 est simplement lu et rejeté, car il n'est pas nécessaire dans la suite des opérations. L'état vrai de la logique P20.BLAST.SEII provoque en outre, à l'impulsion CLK, suivante la mise à 1 de la bascule 15 P21 et la remise à 0 de la bascule P20. L'état vrai de la sortie P21 de la bascule P21 provoque la remise à 0 des compteurs d'adresse M2 et M3- Pendant le pas B1 de l'organigramme, l'état vrai de la logique P1.CLK provoque le transfert de la longueur du vecteur d'apparition d'événement délimiteur, du registre LN2 20 du dispositif IPRF au registre BSAV du module "concordantiel". La longueur 3 est retenue en vue de la remise en l'état initial du module "décodage" II. Pendant le pas B42 de l'organigramme, l'état vrai de la logique P20.SRII.BLAST provoque l'apparition d'un signal vrai à la sortie B10 du module "concordantiel", 25 signal qui, à son tour, permet le transfert de la longueur 3 contenue dans le registre BSAV à l'entrée du registre ML1T2 du module "décodage" II. La logique B10.CLK engendre un signal vrai à la sortie B11 du module "concordantiel", signal qui à son tour provoque le stockage de la longueur 3 dans le registre 30 MLN2 à partir du registre BSAV. B43 est maintenant attaqué. L'état vrai de la logique P21.CLK provoque l'apparition d'un signal vrai à la sortie B6 du module "concordantiel", signal qui, à son tour, appelle l'intervention du module "décodage" II, en lui faisant sortir 35 par lecture le délimiteur de début 10 (voir partie 1 de la table 41). La logique P22 provoque le stockage du délimiteur 10 contenu dans le registre D02 du module "décodage" II, dans le registre DI. -356- 2334148 Pendant le pas B44 de l'organigramme, un signal vrai est formé à la sortie P21 de la bascule P21 et provoque à son tour l'apparition d'un signal vrai à la sortie B7 du module "concordantiel". Le signal vrai de la sortie B7 provoque la 5 sortie par lecture du contenu de l'adresse 0 de la zone 2 de la "mémoire P/B", comme spécifié par le compteur d'adresse M1. En se référant à la partie 6 de la table 41, on voit que l'adresse 0 contient la première valeur CP, 14. La logique P21.CLK devient vraie, ce qui provoque le stockage de la valeur CP, 14, 10 dans le registre EII. En outre, la logique B7.P26.CLK est vraie, ce qui provoque l'incrémentation du compteur d'adresse M1 à l'adresse 1. Le signal vrai de la sortie P21 provoque la mise à 1 de la bascule P22 et la remise à 0 de la bascule P21 à l'impul-'■5 si on CLK suivante, en déterminant ainsi l'attaque du pas B45 de l'organigramme. Pendant ce pas B45, le registre EII ne contient pas la valeur de fin de zone (-1). En conséquence, B46 est attaqué. Pendant B46, la sortie P22 est vraie, ce qui provoque 20 le transfert, par les circuits de sélection DS9 et DS10, des contenus des registres EII et DI à l'entrée de l'unité ALU et l'apparition d'un signal vrai à l'entrée C de celle-ci. La valeur CP (14) du registre EU est plus grande que le délimiteur de début 10 du registre DI et, en conséquence, un signal 25 vrai est formé à la sortie L de l'inverseur de signal 1140. La logique P22.L est maintenant vraie, ce qui provoque la mise à 1 de la bascule P23, et la bascule P22 est remise à 0 à l'impulsion CLK suivante, en provoquant ainsi l'attaque du pas B48 de l'organigramme. 30 Pendant B48, un signal vrai est formé à la sortie P23 de la bascule P23. Ce signal vrai de la sortie P23 provoque la remise à 0 des compteurs DO et S. Ces registres, on s'en souvient, mémorisent les valeurs dQ et d^.^. Le signal vrai de la sortie P23 provoque également l'apparition d'un signal vrai à la 35 sortie B7 du module "concordantiel". Le signal vrai de la sortie B7 provoque la sortie par lecture du contenu de l'adresse 1 de la zone 2 de la "mémoire P/B" en utilisant le registre d'adresse M1. En se référant à la partie 6 de la table 41, on voit que -557- 2334148 l'adresse 1 contient la valeur min, 13» En conséquence, la valeur min, 13» est sortie par lecture de la "mémoire P/B" et le circuit de sélection DS7 la transfère à l'entrée du registre MIN. L'état vrai de la logique P23.CLK provoque le stockage de 5 la valeur min, 13, dans le registre MHS" et l'incrémentation du compteur d'adresse M1 à l'adresse 2. Le signal vrai de la sortie P23 provoque la remise à 0 de la bascule P25 et la mise à 1 de la bascule P24- à l'impulsion CLK suivante, ce qui détermine l'attaque du pas B4-S de l'organigramme. 10 Pendant ce pas B49, un signal vrai est formé à la sor tie P24- de la bascule P24-, ce qui provoque l'apparition d'un signal vrai à la sortie B7 du module "concordantiel". Il en résulte une sortie par lecture du contenu de l'adresse 2 de la zone 1 de la "mémoire P/B", sortie qui s'effectue en utilisant 15 le compteur d'adresse M1. Sn se référant à la partie 6 de la table 4-1, on voit que l'adresse 2 contient la valeur du nombre de correspondances 1. En conséquence, cette valeur est sortie par lecture à l'entrée des compteurs H et HP. La logique P24-.CLK est maintenant vraie, ce qui provoque le stockage de la 20 valeur du nombre de correspondances 1 dans les compteurs H et HP. Le compteur K1 est alors incrémenté à l'adresse 5. L'état vrai de la sortie P24- provoque la mise à 1 de la "bascule P25 et la remise à 0 de la bascule P24 à l'impulsion CLK suivante, ce qui détermine l'attaque du pas B50 de l'organigramme. ^.5 Pendant le pas B50 de l'organigramme, la valeur "ô mid" est lue dans la zone 1 de la "mémoire P/B" et est stockée dans le registre ï. L'adresse de la valeur ô mid est localisée en ajoutant à 1'adresse contenue dans M1 le nombre de valeurs ô nécessaires pour atteindre la valeur ô mid dans la zone des va-30 leurs ô. A ce stade, le compteur HP contient la valeur du nombre de correspondances 2 qui représente le nombre total de valeurs ô de la zone. En prenant la moitié du nombre de correspondances, on obtient le nombre d'adresses au bout duquel se trouve à mid en partant du début de la zone ô» Pour assurer la 35 division par 2 de la valeur du nombre de correspondances contenue dans le registre HP, celui-ci est connecté au circuit de sélection DS10 de manière à assurer un déplacement d'un citiffre vers la droite, en négligeant le bit déplacé au delà de la virgule -358- 2334148 décimale. On sait qu'en notation binaire, un déplacement d'une position binaire vers la droite revient à diviser le nombre par 2. En conséquence, la sortie P25 provoque le couplage, par le circuit de sélection DS10, de la sortie du compteur NP, 5 moyennant un bit 1 câblé pour assurer un déplacement vers la droite, avec l'une des entrées de l'unité ALU et provoque en outre le couplage, par le circuit de sélection DS9, du compteur d'adresse M"1 avec l'autre entrée de l'unité ALU. A ce stade, le compteur NP contient la valeur 2 et le compteur d'adresse M1 10 contient l'adresse 3. I>a moitié de la valeur 2 est 1. En conséquence, l'unité ALU forme maintenant à la sortie OP des signaux' p représentant la valeur 4 (»y + 3)» Le signal vrai à la sortie P25 provoque le couplage de l'adresse de ô mid, par 1'intermédiaire du circuit de sélection DS8, à l'entrée du registre ï. L'état 15 vrai de la logique P25.CLK provoque le stockage de l'adresse 4 dans le registre T. Le signal vrai de la sortie P25 provoque la mise à 1 de la bascule P26 et la remise à 0 de la bascule F25 à l'impulsion CLK suivante. Le signal vrai en P26 provoque le transfert, par le 20 circuit de sélection DS1, de l'adresse 4 de ô mid, du registre T à l'entrée de la "mémoire P/B" et la réception d'un signal vrai par la sortie B7. Le signal vrai de la sortie B7 provoque la sortie par lecture par la "mémoire P/B" de la valeur ô mid, 16, (voir partie 6 de la table 41). L'état vrai de la logique P26.CLÉ. 25 provoque le stockage dans le registre EII de la valeur ô mid, 16. Le pas B51 de l'organigramme est maintenant attaqué et, au cours de ce pas, le contenu du compteur NP est vérifié pour , déterminer s'il est 0. Le compteur EP contient maintenant la valeur 2 correspondant à la valeur du nombre de correspondances 30 et un signal vrai est formé à la sortie NPQ. La logique P26.NPQ est maintenant vraie, ce qui provoque la mise à 1 de la bascule P27 et la remise à 0 de la bascule P26 à l'impulsion CLK suivante, en déterminant ainsi l'attaque du pas B52 de l'organigramme. En outre, pendant B52, le signal vrai de la sortie P27 35 provoque la réception d'un signal vrai par la sortie B7 du module "concordantiel", ce qui détermine la sortie par lecture par la zone 2 de la "mémoire P/B" de la valeur ô, 15, à partir de l'adresse 3, en utilisant le compteur d'adresse M1. La valeur -359- 2334148 ô, 15j est transmise, par l'intermédiaire du circuit de sélection DS6, à l'entrée du registre El. L'état vrai de la logique P27.CLE provoque le stockage de la valeur ô, 15, dans le registre El et le compteur d'adresse Mi est incrémenté à l'adresse 5 4-, En outre, le signal vrai de la sortie P27 de la bascule P27 provoque une décrémentation du compteur EP de 2 à 1, ce qui indique qu'il reste une seule valeur ô à traiter dans la zone 2 de la "mémoire P/B". Le signal vrai de la sortie P27 provoque la mise à 1 de la bascule P28 et la remise à 0 de la bascule 10 P27 à l'impulsion CLE suivante, ce qui détermine l'attaque du pas Bp3. Pendant B53s le signal vrai de la sortie P28 provoque le couplage, par les circuits de sélection DS9 et DS10, des registres EII et SI, respectivement, avec les entrées de l'uni-15 té ALU. Ceci provoque l'application d'un signal vrai à l'entrée S de 1'unité ALU. Le registre EII contient maintenant la valeur ô mid, 16, tandis que le registre El contient la plus petite valeur ô, 15. En conséquence, l'unité ALU forme en OP la différence (1) entre ces deux valeurs. Etant donné que c'est le 20 contenu du registre EII qui est le plus grand, un signal vrai est formé à la sortie E de l'inverseur de signal 114-0 et la logique P28.L.CLE est vraie, ce qui provoque le stockage dans le registre D de la valeur de différence 1. Le registre D contient maintenant l'une des valeurs d'écart à utiliser pour for- 25 mer d . _. ■ mm Le signal vrai à la sortie p30 provoque le couplage, par les circuits de sélection DS9 et DS10 respectivement, des registres D et S aux entrées de l'unité ALU et provoque la réception d'un signal vrai à l'entrée A de celle-ci. Le registre 30 D contient la valeur de différence 1, tandis que le registre S contient un 0. En conséquence, l'unité ALU forme la somme de ces deux valeurs, c'est-à-dire 1, à la sortie OP. La logique P30.CLE devient vraie, ce qui provoque le stockage de la valeur 1 de la somme recueillie à la sortie OP, dans le registre 35 S. En outre, la bascule P31 est mise à 1 et la bascule P30 est remise à 0 à l'impulsion CLE suivante. Il y a lieu de remarquer maintenant que la valeur d. est en train d'être formée ^ mm dans le registre S par l'action qui se déroule pendant le pas B53- -360- 2334148 Si la valeur ô mid du registre RII s'était avérée plus petite que la valeur ô du registre RI, on aurait obtenu un résultat négatif. Etant donné que c'est la valeur absolue qu'on désire obtenir, la bascule P29 aurait alors été mise à 1 au 5 - lieu de la bascule P30 et en conséquence, la valeur de différence à la sortie OP n'aurait pas été stockée dans le registre D. le signal vrai en P29 provoquerait alors le couplage des registres RII et RI avec l'unité ALU, mais avec une interversion par rapport au couplage assuré pendant-P28 et, par conséquent, 10 on obtiendrait une valeur positive à la sortie OP, valeur qui serait alors stockée dans le registre D et ultérieurement totalisée avec le contenu du registre S pendant la présence du signal vrai en P30. On supposera maintenant que la bascule P31 a été mise 15 à l'état vrai et que le pas B54- est attaqué. Pendant B54-, un signal vrai est formé à la sortie P31. En conséquence, les registres RI et MIN sont couplés, par l'intermédiaire des circuits de sélection DS9 et DS10, avec l'entrée de l'unité ALU. Le registre RI contient la plus petite valeur Ô, 20 15» tandis que le registre MIN contient la valeur d'apparition min, 13» Le signal vrai de la sortie P31 provoque l'application d'un signal vrai à l'entrée S de l'unité ALU, de sorte que celle-ci retranche la valeur min, 13» de la valeur ô, 15, ce qui donne une valeur de différence 2 à la sortie OP. La logique 25 P31.OLE devient vraie, ce qui provoque le stockage de la valeur 2 recueillie à la sortie OP, dans le registre D. Le signal vrai de la sortie P31 provoque la mise à 1 de la bascule P32 et la remise à 0 de la bascule P3/l à l'impulsion CLK suivante. En conséquence, à ce stade, le registre D contient maintenant l'écart 30 entre le plus petit instant d'événement de la demande et la première valeur ô, écart qui représente la première valeur d'écart constituant dQ. Le signal vrai formé à la sortie P32 provoque le transfert de la valeur de différence 2 du registre D et du contenu 0 du registre DQ, respectivement, par l'intermédiaire des 35 circuits de sélection DS9 et DS10, aux entrées de l'unité ALU et l'application d'un signal vrai à l'entrée A de celle-ci. Le registre D contient la différence 2, tandis que le registre DQ contient un 0. En conséquence, l'unité ALU forme la valeur 2 -361- 2334148 à sa sortie OP. L'impulsion suivante en P32.CLK provoque le rangement de la valeur de différence 2 apparaissant à la sortie OP dans le registre DQ. Par suite, le registre Dq contient maintenant l^aleur de la première somme de décalages dQ. 5 Le compteur HP contient maintenant un w1" et, par con séquent, n'est pas 0. Par suite, un signal vrai est formé à la sortie HPQ du compteur HP. La logique P32.NPQ est maintenant vraie et, par conséquent, l'impulsion OLE suivante met à 0 la "bascule P32 et met à 1 la bascule P27, ce qui provoque une re-10 prise du pas B51 de 1* organigramme. Pendant ce pas B51, le compteur registre NP contient un "1" et, par conséquent, n'est pas 0 et le pas b52 est attaqué. Pendant le pas B52 de l'organigramme, la valeur sui-15 vante, 16, est lue à l'adresse 4- de la zone 2 de la "mémoire P/B" (voir partie 6 de la table 4-1) et cette valeur est stockée dans le registre El. Le compteur d'adresse M1 est incrémenté à l'adresse 5 et le compteur SP est décrémenté à 0. Le pas B53 de l'organigramme est maintenant attaqué. 20 La valeur ô mid, 16, est encore stockée dans le registre EII et, comme décrit précédemment, l'unité ALU forme la différence entre les contenus respectifs des registres El et EII (16-16) et cette différence, 0, est stockée dans le registre D et est ultérieurement ajoutée au "1" contenu dans le registre S. En 25 conséquence, le registre S contient maintenant dm.n, somme des écarts. Pendant B54, l'unité ALU détermine la différence entre la valeur ô, 16, du registre El et la valeur d'instant d'événement min, 13) du registre MIN. La valeur de différence, 3, est 30 ensuite stockée dans le registre D puis ultérieurement ajoutée à la valeur 2 déjà contenue dans le registre DQ, ce qui provoque le stockage de la valeur 5 dans ce dernier registre. En conséquence, ledit registre D0 contient à ce moment la valeur de la somme d'écarts dQ pour la valeur CP, 14, stockée à l'adresse 0 35 de la zone 2 de la "mémoire P/B,f (voir partie 6, table 41). A ce stade, le pas B51 de l'organigramme est repris. Le compteur NP a été décrémenté à 0, ce qui indique que toutes les valeurs à de l'entrée contenues dans les adresses 0 à 4 ont -362- 2334148 été traitées. En conséquence, un signal vrai est maintenant formé à la sortie du compteur HP et un signal vrai est formé à la sortie P32. A l'impulsion CLK suivante, la logique P32.HPq est vraie, ce qui provoque la mise à 1 de la bascule 5 P33, puis la remise à 0 de la bascule P32, ce qui détermine l'attaque du pas B55* Le délimiteur de début 10 est maintenant stocké dans le registre DI. Le signal vrai de la sortie P33 provoque l'apparition d'un signal vrai à la sortie B13 du module "concordan-10 tiel", signal qui à son tour appelle l'intervention du module "mémoire". Le module "mémoire" écrit le délimiteur de début 10 dans sa zone 3 à l'emplacement spécifié par l'adresse 0 contenue dans le compteur d'adresse M3 comme indiqué dans la partie 7 de la table 41. Un signal vrai est maintenant formé à la sor-15 tie B13.CLK, ce qui provoque l'incrémentation du compteur d'adresse M3 à l'adresse 1. Le signal vrai de la sortie P33 provoque en outre la mise à 1 de la bascule P34 et la remise à 0 de la bascule P33 lors de l'impulsion CLK suivante. Pendant B56, la valeur du nombre de correspondances, 2, 20 est contenue dans le compteur N. Le signal vrai de la sortie P34 provoque la génération d'un autre signal vrai à la sortie B13 du module "concordantiel", en déterminant ainsi un rappel du module "mémoire" et l'écriture de la valeur du nombre de correspondances 2 à l'adresse 1 de la zone 3, comme spécifié par 25 le compteur d'adresse M3. L'état vrai de la logique B13.CLK provoque un nouveau réglage du compteur d'adresse M3 à l'adresse 2. Le signal vrai de la sortie P34 de la bascule P34 provoque la mise à 1 de la bascule P35 et la remise à 0 de la bascule P34 à l'impulsion CLK suivante, en déterminant ainsi 30 l'attaque du pas B57 de l'organigramme. Le registre S contient maintenant la somme des écarts aboutissant à Ô mid, somme également désignée sous le nom de " "valeur d cette valeur étant 1. Le signal vrai de la sor- min tie P35 provoque l'apparition d'un signal vrai à la sortie B13 35 du module "concordantiel", ce qui détermine l'écriture par le module "mémoire" de la valeur d . , 2, à l'adresse 2 de la zone min7 3 (en utilisant le compteur d'adresse M3) et celui-ci est incrémenté à l'adresse 3. Le signal vrai de la sortie P35 de la -363- 2334148 "bascule P35 provoque la mise à 1 de la bascule P36 et la remise à 0 de la bascule P35 à l'impulsion CLE suivante, ce qui détermine l'attaque du pas B58 de l'organigramme. La somme des écarts jusqu'au premier événement de la réponse, d0, est maintenant 5 stockée dans le registre DQ. Le signal vrai de la sortie P36 provoque à nouveau l'apparition d'un signal vrai à la sortie B13, ce qui assure l'écriture par le module "mémoire" de la valeur dQ, 5, à l'adresse 3 en utilisant le registre M3, cependant que le compteur d'adresse M3 est incrémenté à l'adresse 4. 10 À ce stade, la zone 3 du module "mémoire" contient les valeurs indiquées pour les adresses 0 à 3, voir partie 7, table 41. Pendant B44, de la manière décrite ci-dessus, la zone 2 de la "mémoire P/B" effectue une sortie par lecture à partir de l'adresse 5 (en. utilisant le compteur d'adresse M1) et la 15 nouvelle valeur CP, 7, est stockée dans le registre RII. En outre, le compteur d'adresse M1 est incrémenté à l'adresse 6. Pendant B45, le registre RII ne contient pas la valeur de fin de zone -1 et, en conséquence, le pas B46 est attaqué. Pendant cette passe à travers le pas B46, la valeur CP, 7» du 20 registre RII est trouvée Pendant ce pas B47, la logique P22.L.CLE devient vraie, 25 ce qui provoque la génération d'un signal vrai à la sortie B6 du module "concordantiel". Ce dernier signal provoque à son tour une sortie par lecture par le module "décodage" II de la valeur de délimiteur de début inférieure suivante. Le signal vrai de la sortie P22 provoque le transfert de la valeur de délimiteur 8 30 à travers le registre DI jusqu'à la sortie de celui-ci. Le pas B6 de l'organigramme est repris, reprise au cours de laquelle la valeur CP, 7, du registre RII est comparée avec la valeur de délimiteur de début 5 du registre DI, cette comparaison montrant que la première de ces deux valeurs est 35 plus grande que la seconde. En conséquence, l'unité ALU provoque la génération d'un signal vrai à la sortie L de l'inverseur 1140, ce qui rend vraie la logique P22.L, comme décrit précédemment, en provoquant ainsi une reprise du pas B48 de l'organigramme du module "concordantiel". -364A 2334148 Le fonctionnement du module "concordantiel" se poursuit ensuite de la manière précédemment décrite comme indiqué ci-après en notation symbolique. B48 S, DO O Lire MIN*— "mémoire P/B" (6) B4-9 Lire N, HP*- "mémoire P/B" (2) B50 T'e— M1(8) + NP/2 (1) = T(9) ; calculer adresse point - milieu ô Lire EII^- "mémoire P/B" (10);lire valeur ô point - milieu B51 HP ^ 0 A B52 Lire EI NP B53 D = |EII (10) - El (8)| = D(2) S = S(0) + D(2) = S(2) B54 D EI(8) - MIN (6) = D(2) DO = D0(0) + D(2) = D0(2) B51 NP ^ 0 B52 Lire EII NP B53 D = |EII (10) - El (10)| = D(0) S^~ S(2) + D(0) . S(2) B54 D DO « D0(2) + D(4) = D0(6) B51 NP = 0 B55-B58 Ecrire ce qui suit aux adresses 4-7 de la zone 3 du module "mémoire" : DI = 5 N = 2 S = 2 B5 Dq =6 B44 Lire EII B45 EU (4) > 1 C. B46 EII (4) B47 Appeler module "décodage" II DI -365- 2334148 B46 RII (4) > DI (5) ms S, DO0 lire MIN B4-9 Lire N, NP B50 ï M1 (13) + HP/2 (1) = 2(14) Lire RII B52 Lire RI4- "mémoire P/B" (2) BP«- NP(1) - 1 = HP(2) B53 D-^— ]RII (5) - RI (2)] S"*— S(0) + D(3) = s(3) B54 D(1) D04— DO(O) + D(1) = D0(1) B51 HP j4 0 B52 Lire RI HP B53 D = —|RII(5) - RI(5) l = D(O) S B54 D D0 B51 HP t 0 Lire RI NP+- NP(1) - 1 = NP(O) B53 D«- lRII(5) - RI(7)i = D(2) S B54 D D0^- 3)0(5) + D(6) = D(11) B51 HP = 0 B55-B48 Ecrire ce qui suit aux adresses 8-11 de la zone 3 du module "mémoire" : DI = 0 N = 3 S - 5 DQ = 11 lire RII-ç— "mémoire P/B" (-1); fin de zone. Après le pas B44 de l'organigramme, le pas B4-5 est attaqué. Pendant B4-5, le registre RII contient le délimiteur de -366- 2334148 fin de zone -1. En conséquence, la logique B9 (P22.SRII) provoque la suspension du fonctionnement du module "concordantiel". A ce stade, la zone 3 du module "mémoire" contient la 5 zone d'information représentée aux adresses 0 à 11, partie 7 de la table 41. Le module "concordantiel" forme un signal vrai à la sortie PC (BMEND) ce qui signale au "minicalculateur" qu'il a terminé sa fonction concordantielle. Le "minicalculateur" prend alors la zone d'information représentée dans la partie 7 10 de la table 41 et calcule les valetirs de dispersion suivantes pour chaque entrée comme indiqué ci-après sous forme d'équations, entrée S = 1 dQ - dinin =5-1 = o,50 15 (TEST) (IS) (THIS) dQ + (LNRQ - N) LERQ 5 + (3-2) 3 = 2 6 - 2 = 0,444 6 + (3-2) 3 » 3 11 ■ - 5 = 0,5454 20 11 + (3-3) 3 D'après ce qui précède, on peut voir que la valeur de dispersion de l'entrée 3 correspondant au mot "THIS" est la' plus voisine de l'unité et, par conséquent, serait le plus probablement choisie en tant que réponse au mot de demande "SIT". 25 Le "minicalculateur" calcule également le facteur de longueur L en utilisant les équations indiquées ci-dessus conjointement à la longueur de demande LKRQ stockée dans le dispositif IPEF et à la longueur de la réponse pour chaque entrée, comme suit : entrée L = 1 =1 - ( (TEST) 0 , = 1 - (0,63 | Y = 0,99 entrée L = 2 = 1 - (0,63 ^ 3 ^ (IS) = 1 - (0,63 - 1/3)5 = 0,99 -36?- 2334148 entrée L = 3 = 1 - (0,63 ^ ^ ^ (THIS) M , = 1 - (0,63 f )3 = 0,99 5 Le "minicalculateur", sous la commande du programme, calcule alors la valeur de concordance B pour chacune des entrées, comme suit ? 10 Bxj = L1 S^ = 0,99 x 0,50 = 0,495 (TEST) B2 = L2 S2 = 0,99 x 0,444 » 0,437 (IS) 15 b3 = l3 s5 = 0,99 x 0,5454 = 0,5499 (THIS) D'après l'exemple ci-dessus, on peut voir que le mot 20 "THIS11 est celui qui comporte la valeur de concordance b la plus élevée (0,5499) et, en conséquence, ce mot serait choisi dans la "base de données comme le meilleur mot constituant une réponse au mot de demande "SIT". XVII. MODULE "JONCTION DU SYSTEME DPM" 25 Le module "jonction du système DPM" de la Fig. 1 se comporte à la manière d'un périphérique I/O (d'entrée/sortie) conventionnel à l'égard du "minicalculateur". Le module "jonction du système DPM" est initialisé par lë"minicalculateur". Le module "jonction du système DPM" stocke alors de l'informa-30 tion provenant du "minicalculateur" ou bien, après achèvement d'une fonction désirée par la machine de traitement de "delta" (DEM), les résultats sont lus par le "minicalculateur" dans le module "jonction du système DPM". Trois groupes d'information sont nécessaires pour 35 faire fonctionner le système DPM, à savoir : (1) une information d'entrée telle que la largeur de 1'iso-entropicogramme (HW); la longueur des données contenues dans les zones de mémoire (c'est-à-dire LN1, LN2), la longueur de la demande (LNRQ); -368- 2334148 le numéro de ligne (N° DE LIGUE); la limite supérieur (TL) et la limite inférieure (BL), la largeur interne (IR) et la largeur de cadre (FW). Cette information d'entrée est placée dans le dispositif IPRF représenté sur la Fig. 52 par le "minicalcu-5 lateur". (2) Une information de sortie telle que le nouveau numéro de ligne du raccourci, la longueur du raccourci, etc. toutes ces données ayant été décrites ci-dessus à propos de chaque module. (3) Une information de mémoire qui est écrite ou lue dans le module "mémoire" ou dans la "mémoire P/B" par 10 le "minicalculateur". Le module "jonction du système DpM" comprend le montage nécessaire pour assurer la fonction de jonction (interface) d'entrée/sortie entre le "minicalculateur" et le système DPM. On va maintenant se référer aux Fig. 51 à 53qui représentent 15 ensemble un schéma de câblage en partie symbolique du module "jonction du système DPM". Des traits renforcés sont utilisés pour représenter des conducteurs multiples capables de transmettre des bits de données multiples en parallèle (ou en simultané). Des équations logiques sont utilisées pour représenter 20 les portes assurant la commande du fonctionnement du système. Un bus I/O (d'entrée/sortie) en parallèle 1210 assure l'interconnexion voulue entre le "minicalculateur" et le reste du montage du module "jonction du système DPM". A mesure de la description de celui-ci, les connexions nécessaires seront présen-25 tées pour montrer comment ce module "jonction du système DPM" pourrait être utilisé comme interface associé à un ordinateur PDP-11 de la Digital Equipaient Corporation. Le bus I/O 1210, comme représenté sur la Fig. 54, est formé de trois groupes de lignes respectivement dénommées 30 "lignes de données", "lignes d'adresse" et "lignes de commande de bus". On considérera tout d'abord les lignes d'adresse; le "minicalculateur" place des adresses sur ces lignes. Les signaux d'adresse correspondent aux adresses d'unités périphériques extérieures au "minicalculateur" et avec lesquelles celui-ci 35 doit communiquer. Les adresses du module "jonction du système DPM" sont du type suivant : XXXXXYYY où X X X X X identifie de façon univoque le périphérique désiré -369- 2334148 avec lequel le "minicalculateur" doit communiquer, tandis que Y Y Y identifie le registre du périphérique avec lequel le "minicalculateur" doit communiquer. Si l'on se réfère à nouveau à la Fig. 1, on voit que 3 le module "jonction du système DPM" contient une unité logique de jonction (interface) 1204. Les détails de cette unité qui ont une importance pour la présente invention sont décrits ci-après en référence aux Fig. 51 à 53. Essentiellement, la logique de jonction 1204 est responsable de la transmission condition-10 nelle de données vers le bus I/O 1210 et à partir de celui-ci. L'unité 1204 assure également les opérations de "colloque" permettant de former les signaux sur les lignes KEADY (prêt) et BDONE faisant partie des lignes de commande de bus, comme décrit par ailleurs de façon, plus détaillée. En outre, l'unité 15 1204 contrôle un registre STATUS (état) représenté sur la Fig. 53 et, en fonction de l'état des diverses bascules du registre STATUS, il alerte un module de commande d'interruption 1206 lorsque des opérations d'interruptions doivent être effectuées. Dans le système décrit, le seul périphérique intéres-20 sant est le module "jonction du système DPM". Les registres spécifiques de ce module avec lesquels une communication a lieu sont décrits de façon plus détaillée en référence à la Fig. 51. Les lignes de données transmettent les données qui sont communiquées entre le "minicalculateur" et le module "jonction 25 du système DEM". Des données peuvent être placées sur ces lignes soit par le "minicalculateur" soit par le module "jonction du système DPM". Les lignes de commande de bus transmettent des signaux de commande destinés à commander le transfert d'information entre le "minicalculateur" ët le module "jonction du sys-30 tème DPM". On va maintenant considérer la séquence de fonctionnement et la temporisation d'une opérations ortie" du bus I/O, opération qui s'effectue entre le "minicalculateur" et le module "jonction du système DPM". La Fig. 55 représente un diagramme de 35 temporisation mettant en évidence la séquence de fonctionnement. Tout d'abord, le "minicalculateur" applique des signaux d'adresse sur les lignes d'adresse, comme indiqué en 1. Ensuite, le "minicalculateur" applique des signaux de données sur les lignes de -370- 2334148 données, comme indiqué en 2. Après stabilisation des conditions transitoires sur les lignes d'adresse et de données (par exemple après un délai prédéterminé), le "minicalculateur" forme un signal vrai sur la ligne EEADY qui fait partie des lignes de com-5 mande de bus. Un signal vrai sur la ligne IN/OUT (entrée/sortie) " indique un transfert de sortie du "minicalculateur" au module "jonction de système DEM", tandis qu'un signal faux sur cette ligne indique un transfert d'entrée dans le "minicalculateur''. Sensiblement pendant le temps au cours duquel des données sont 10 appliquées aux lignes de données, le "minicalculateur" applique un signal vrai sur la ligne Iïï/OUT pour indiquer que le transfert qui va avoir lieu est un transfert de sortie. Après l'apparition du signal vrai sur la ligne de commande READY, le module "jonction du système DPM" lit les données appliquées aux lignes 15 de données. Une fois que le module "jonction du système DP!!" a terminé son opération de lecture, il applique un signal vrai à la ligne BDONE qui fait partie deslignes de commande de bus. Le signal vrai de la ligne BDONE signale au "minicalculateur" que l'opération de sortie est terminée et, par conséquent, le 20 "minicalculateur cesse alors d'appliquer des signaux à la ligne EEADY, à la ligne d'adresse, aux lignes de données et à la ligne IN/OUT. Ensuite, le module "jonction du système DPM" supprime le signal vrai de la ligne BDONE. Cette signalisation mutuelle d'états "prêt" et "fait" sur les lignes EEADY et BDONE est dé-25 signée en informatique sous le nom de "colloque" et constitue line technique bien connue qui n'exige aucune autre explication. On va maintenant considérer la séquence de fonctionnement et la temporisation pour une opération "entrée" du bus I/O, opération qui consiste en une entrée dans le "minicalculateur'1 30 à partir du module "jonct i on du système DPîi" et qui est représentée par le diagramme de temporisation de la Fig. 56. Initialement, comme indiqué en 1, le "minicalculateur" applique des adresses, sur les lignes d'adresse du bus 1210. En outre, le "minicalculateur" maintient le signal de la ligne IN/OUT à l'état 35 faux, ce qui indique qu'il s'agit d'une opération d'entrée dans le "minicalculateur" à partir du module "jonction de système DPM". Le "minicalculateur" forme alors un signal vrai sur la ligne EEADY faisant partie des lignes de commande de bus une -371- 2334148 fois que les signaux de ligne d'adresse se sont stabilisés (par exemple après un délai fixé à l'avance). Le module "jonction du système DPM" répond alors en appliquant des signaux de données sur les lignes de données comme indiqué en 2. Le module "jonction du système DPM" forme alors un signal vrai sur la ligne BDONE faisant partie des lignes de commande de bus pour signaler que l'opération est achevée. Ensuite, après un délai fixé à l'avance, le "minicalculateur" lit les données sur les lignes de données. Le "minicalculateur" répond au signal vrai de la ligne BDONE en supprimant les signaux sur la ligne EEADY et sur les lignes d'adresse comme indiqué en 1, 2 et 3. Ensuite, le module "jonction du système DPM" supprime le signal vrai sur la ligne BDONE et sur les lignes de données, ce qui termine l'opération d'entrée. Les séquences d'entrée et de sortie décrites ci-dessus se répètent pour chaque transfert de données entre le "minicalculateur" et le module "jonction du système DPM". On va maintenant se référer à nouveau-au schéma symbolique d'ensemble de la Fig. 1. Le module "jonction du système DPM" comprend un sélecteur d'adresse 1202. Le sélecteur d'adresse 1202 présente des entrées connectées aux lignes d'adresse et à la ligne de commande IN/OUT du bus I/O 1210. Le sélecteur d'adresse 1202 comprend des circuits de reconnaissance d'adresse (non représentés) bien connus en informatique, qui permettent de reconnaître la portion ï X X X X du signal d'adresse présent sur les lignes d'adresse qui désigne le module "jonction du système DHî". En outre, un décodeur d'adresse (non représenté) est prévu dans les sélecteurs d'adresse 1202 pour convertir les signaux codés de la portion Y Y Y de l'adresse présente sur les lignes d'adresse en un signal vrai sur l'une des lignes de sortie SO, S1 et S2. Comme décrit plus loin de façon plus détaillée en référence à la Fig. 51, des signaux vrais sur le sélecteur de sortie SO, soit sur une porte de sortie DATAO, soit sur un registre d'entrée DATAI, et des signaux vrais aux sorties S1 et S2 assurent respectivement la sélection des registres AI et STATUS (voir Fig. 51)• En conséquence, le décodeur d'adresse (non représenté) du sélecteur d'adresse 1202 forme un signal vrai sur l'une, et sur l'une seulement, des lignes de sortie SO, -372- 2334148 S1 et S2 selon le signal codé contenu dans la portion "adresse" Y Y Y des signaux présents sur les lignes d'adresse. Le sélecteur d'adresse 1202 comprend également un décodeur (non représenté) capable, en réponse à lap?ésence d'un 5 signal vrai sur la ligne de commande de bis IN/OUT, de former un signal vrai sur une ligne de sortie IN et capable, en réponse à un signal faux présent sur la ligne de commande de bus IN/OUT, de former un signal vrai sur une ligne de sortie OUT. La ligne IN et la ligne OUT sont des sorties représentées pour le sélec-10 teur d'adresse 1202. Bien entendu, le sélecteur d'adresse 1202 contient d'autres éléments logiques, de temporisation et de commande, mais comme ceux-ci ne sont pas importants pour la compréhension de l'invention, il n'est pas nécessaire de les décrire ici. -15 On va maintenant examiner de façon plus détaillée les parties du montage du sélecteur d'adresse 1202 et de la logique de jonction 1204 qui sont représentées sur les Fig. 51 à 53. Sur la Fig. 51 » on a représenté trois registres qui sont adressables par le "minicalculateur".Ces registres et leurs fonctions 20 sont décrits ci-après. Le registre MTAO est un registre de sortie capable, en réponse à la logique SO.OUT de stocker huit bits d'information à partir des lignes de données du bus I/O 1210. Le registre " DATAO assure le transfert d'information du "minicalculateur" au 25 dispositif IPRF, au module "mémoire" ou à la "mémoire P/B". Le registre DATAO peut être constitué par un registre de jonction de PDP-11 en utilisant une jonction de sortie de bus M1502 comme décrit page 198 du manuel de la Digital Equipment Corporation intitulé "PDP-11 interface manual". Les 30 connexions suivantes doivent être établies. On remarquera que seuls huit bits d'ordre inférieur de la liaison UNIBUS sont utilisés. Les signaux de bus B00/B07 sont connectés aux broches M1502, BEI, BF2, BH2, BD2, BE2, BF1, BH1 et BD1, respectivement, pour établir la liaison entre le bus I/O et le registre. Par 35 ailleurs, pour assurer la liaison entre le registre et le sélecteur de données DS3, les broches M1502, BU1, BR2, BS2, BS1, BR1, BM1, BL1 et BL2 sont connectées aux bits 0-7 du sélecteur de données DS3. En outre, le signal de bus INIT est connecté à la -373- 2334148 "broclie M1502» AE1, tandis que la broche API est mise à la masse. Le signal SO de la "jonction" est associé à AM1 et, de là, est sortie sur AA1, qui constitue une entrée de l'horloge de DATAO. Le registre AI est un registre de sortie qui est ca-5 pable, en réponse à la logique P2.CLK.S1, de stocker une adresse de huit bits en provenance des lignes de données du bus I/O 1210 et fournie par le "minicalculateur". Ce registre est utilisé exclusivement comme registre de sortie et est conçu comme décrit ci-après. Ce registre 10 "capte" exclusivement les huit bits d'ordre inférieur de l'UNIBUS et reçoit des impulsions d'horloge lorsque les signaux S1.0UT sont "affirmés" par le sélecteur d'adresse. Ce registre peut être rétabli par "affirmation" de la ligne de commande IlïIT sur l'UNIBUS. On remarquera que le registre AI est un 15 compteur. En conséquence, le chargement de AI est normalement un processus comprenant deux opérations. Pendant la première opération, l'information est transmise sous le contrôle de l'horloge à partir du bus à un registre. Cette opération est considérée sur la représentation graphique comme une impulsion de "déverrouil-20 lage". En second lieu, après la stabilisation de l'information dans le registre, cette information est chargée dans le compteur AI. Cette opération est considérée sur la représentation graphique comme correspondant à l'impulsion "de chargement". Le signal d'horloge contrôlant le registre de la jonction est re-25 tardé pour permettre aux informations de sortie du registre M1502 de se stabiliser. Ensuite, le compteur Al est chargé avec la valeur contenue dans le registre M1502. Le reste du processus est tel que décrit à propos du module "jonction du système DPM". Les connexions d'entrée de 1'UUIBUS dans le module M1502 du re-30 gistre AI, sont les mêmes que celles qui sont décrites ici en ce qui concerne le registre DATAO. Toutefois, les broches de connexion de sortie associées au registre M1502 sont, maintenant seulement, reliées aux bits 0-7 du compteur AI. En outre, le signal INIT de l'unibus est appliqué à la broche AE1 de M1502, 35 tandis que la broche AP1 est mise à la masse. Le signal S1 est appliqué à la broche AA1 tandis que le signal OUT est appliqué à la broche AMI. Ces signaux forment ce qu'on a désigné ici sous le nom d'"impulsion d'échantillonnage" qui échantillonne -374- 2334148 l'information et la transmet au M1502. Ce signal est retardé jusqu'à ce que les lignes du M1502 se stabilisent. Ensuite, le contenu de "1502" est chargé dans le compteur AI. Le registre AI est un registre d'adresse utilisé pour la sélection d'un re-5 gistre particulier du système DEM pour adresser le module "mémoire" ou pour adresser la "mémoire P/B" où de l'information doit être écrite ou bien à laquelle de l'information doit être lue. A cet effet, le registre AI est connecté à un décodeur DC1 et à un sélecteur de données DS4. A partir de DS4, l'infor-10 mation est transmise conditionnellement aux sélectevirs de données DS1-DS3 du module "mémoire" ou aux sélecteurs de données DS1-DS2 de la"mémoire P/B". Le fonctionnement du registre AI dans sa fonction de commande des circuits de sélection DS1 à DS3 du module "mémoire", 15 ou des circuits de sélection DS1-DS2 de la "mémoire P/B" sera décrit plus loin de façon plus détaillée conjointement au module "mémoire". Le décodeur DC1 est un décodeur conventionnel capable, en réponse aux quatre bits de droite d'une information d'adresse codée binaire contenue dans le registre AI, de former un signal 20 de sortie sur l'une de dix lignes de sortie désignées respectivement par D1 à D10, sous le contrôle d'un signal de déverrouillage vrai apparaissant en S. Bien que ces quatre bits permettent seize combinaisons, dix combinaisons seulement sont utilisées. De cette manière, le registre AI assure la sélection et la géné-25 ration d'un signal vrai sur l'une des-lignes de sortie D1 à D10. En outre, à un moment différent, les signaux des lignes D1 à D6 sont utilisés pour commander un circuit de sélection DS2, qui couple la sortie des registres du module "raccourcissement" et du module "sortie" avec le module "jonction du système DPM". 30 De plus, à un moment encore différent, les sorties D1 à D9 du décodeur DC1 interviennent pour assurer la sélection de l'un des registres du dispositif IPRF en vue d'y stocker de l'information provenant du registre DATAO. Le registre STATUS est un registre d'entrée/sortie 35 capable, en réponse à la logique (IN+0UT).S2 de stocker une information de commande appliquée aux lignes de données du bus I/O 1210 par le "minicalculateur". L'information stockée dans le registre STATUS assure un certain nombre de fonctions, y -375- 2334148 ÎO 15 20 30 35 compris l'établissement de certaines conditions de bascule nécessaires pour assurer le fonctionnement des divers modules du système DPM, dits ici également "modules DPM" et la sélection de modules destinés à être utilisés pour diverses opérations. Le registre STATUS est un registre I/O et, par conséquent, sa conversion en UKIBUS d'un PDP-11 exigerait une paire de registres M1501/M1502. M1501 serait utilisé comme partie "entrée" du registre et M1502 comme partie "sortie" de celui-ci. Les seize bits de données de l'UIîIBUS sont tous utilisés. La connexion des broches s'effectuerait alors comme indiqué ci-dessus. PARTIS "SORTIE" DU M1502 Le bit de BUS BOO est connecté à la broche BE1 B01 B02 B03 B04-B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 BP2 BH2 BD2 BE2 BF1 BH1 H1 du M1501 BK1 BJ1 BC1 BB1 BV1 AG1 AD1 BT2 En outre, le signal IHIT provenant de l'UNIBUS est appliqué à la broche AE1 du module M1502, tandis que la broche AP1 est mise à la masse. Le signal S2 provenant du sélecteur d'adresse est appliqué aux broches AA1 et AB1, tandis que le signal OUT est appliqué à la broche AM1 assurant l'échantillonnage de charge du registre M1502. On remarquera que le bit de bus B07 a été connecté à la broche d'entrée H1 du module d'entrée M1501. Ce bit (BDONE) comme décrit plus loin, doit être tel qu'il puisse être actionné et rétabli de façon asynchrone. La partie "entrée" du registre STATUS est adaptée à l'UNIBUS du PDP-11 en utilisant une "jonction d'entrée de bus -376- 2334148 M1501" comme décrit pages 196 et 197 du manuel ci-dessus cité, la connexion avec l'UNIBUS nécessaire pour réaliser cette construction serait la suivante : la broche 12 du bit de registre STATUS O est connectée au bit d'UNIBIE BOO 5 N2 1 B01 M1 2 B02 L1 3 BC-3 K1 4 B04 J1 5 B05 10 L2 6 B06 M2 7 B07 51 8 B08 R1 9 B09 U2 10 B10 15 T2 11 B11 52 12 B12 R2 13 B13 ÏÏ1 14 B14 PI 15 B15 20 En outre, les signatix S2 et IN provenant du sélecteur d'adresse sont appliqués aux broches X2 et J2, respectivement, et forment des signaux de transmission conditionnelle de l'information contenue dans le registre STATUS à l'UNIBUS. Ici encore, le bit 7 doit être traité spécialement en ce sens qu'il conduit de la 25 broche A1 du module M1501 à la broche DD et, de là, à l'UNIBUS. La Fig. 53 représente un schéma de câblage en partie symbolique du registre STATUS ainsi qu'un schéma symbolique du décodeur 1218 qui est connecté à la sortie du registre STATUS. Le registre STATUS comprend trois bascules désignées par f^, f2, 30 f^ qui sont connectées à l'entrée d'un décodeur DC2. Le décodeur DC2, en réponse à la combinaison de bits stockée dans les bascules f^, f2, f^, forme à un instant donné quelconque, un signal de commande sur l'un, et sur l'un seulement, des circuits de sortie D1G0, SMGO, CMGO, OMGO, PMGO et BMGO. On rémarquera 35 que les sorties ci-dessus correspondent aux lignes de commande qui appellent l'intervention des modules "décodage" I, "raccourcissement", "modification", "sortie", "cadrage" et "concordantiel" . -377- 2334148 Le registre STATUS comprend deux bascules identifiées par et m2 qui sont connectées à l'entrée d'un décodeur DC3 et à l'entrée d'une porte OU 1220. Les bascules et m2 ont un total de quatre combinaisons d'états possibles. Lorsque l'une 5 quelconque des bascules m^, m2 est à 1, la porte OU 1220 forme un signal vrai à la sortie M. Ceci indique que la zone du module "mémoire" ou de la "mémoire P/B" est en train d'être choisie par les bascules m^ et m2. Le registre STATUS comporte également une bascule PBM et, lorsque celle-ci est à 0, les sorties ''O du décodeur DC3 sont utilisées pour adresser le module "mémoire", tandis que lorsqu'elle est à 1, les sorties du décodeur DC3 sont utilisées pour adresser la "mémoire P/B". La table 42 représente l'état des bascules m^ et et les sorties correspondantes M1e, M2e et M3e qui reçoivent un 15 signal vrai lorsque la bascule PBM est à 0. La table 45 représente également l'état des bascules et a^ et les sorties correspondantes Mie et M2e qui reçoivent des signaux vrais lorsque la bascule PBM est à 1. Les portes ET 1232, 1234 et 1236 ont l'une de leurs entrées couplée avec une sortie du décodeur DC3 20 et avec l'entrée du module "mémoire" lorsque la bascule PBM est à 0. Les portes ET 1238 et 1240 couplent les seules sorties Mie et M2e à la "mémoire P/B" lorsque la bascule PBM est à 1. Les sorties M1e, M2e et M3e commendent à leur tour les circuits de sélection JDS1, DS2 et DS3 du module "mémoire" pour les zones 25 1, 2 et 3, respectivement ou DS1, ou DS2 de la ''mémoire P/B". Le décodeur DC3 comporte une entrée de déverrouillage qui est connectée à la sortie M de la porte OU 1220. Le décodeur DC3 ne forme un signal vrai à l'une quelconque de ses trois sorties que si le signal de la sortie M est vrai. La porte OU 1220 est 30 également connectée par sa sortie et par l'intermédiaire d'un inverseur de signal logique 1222 à la sortie M. La sortie M émet un signal complémentaire du signal engendré à la sortie M. Le registre STATUS comporte en outre cinq bascules respectivement identifiées par DELOP, FIRST, LAST, PBM, D1IHIT 35 et DPM. Ces cinq bascules sont utilisées pour transmettre des signatix de commande, du module "jonction du système DPM" aux autres modules du système DPM. En utilisant le même système de notation que celui qui a été décrit ci-dessus, les sorties sur -378- 2334148 lignées et non surlignées des "bascules sont représentées comme sorties en bas de la Fig. 53. Si l'on examine ces bascules de façon plus détaillée, on voit que les bascules FIRST et LAST sont utilisées pour déterminer les états "1" et "O" des 5 bascules BFIRST et PFIRST des modules "concordantiel" et "cadrage". La sortie non surlignée de la bascule PBM est utilisée comme l'une des entrées d'une porte ET 1231 pour former le signal PBWE, qui est un signal de déverrouillage ou d'autorisation d'écriture dans la "mémoire P/B". Si la bascule PBM est 10 à 1, une opération d'écriture s'effectue dans la "mémoire P/B". Si la bascule PBM est à 0, aucune opération n'a lieu dans la "mémoire P/B". La bascule DELOP a sa sortie non surlignée connectée au module "sortie". Le module "sortie" comporte, lui aussi, 15 une bascule DELOP. La première bascule DELOP mentionnée est utilisée pour actionner la bascule DELOP du module "sortie". La bascule D1INIT a sa sortie non surlignée connectée au module "décodage" I. Cette bascule est utilisée pour "amorcer" le module "décodage" I avant l'appel de celui-ci par le 20 module "jonction du système DPM". La bascule DPM a sa sortie non surlignée connectée en tant qu'entrée de commande au décodeur DC2 (Fig. 53), comme décrit plus loin de façon plus détaillée. Deux bascules sont prévues dans le registre STATUS 25 pour commander les mouvements d'information le long du bus I/O 1210 et ces bascules vont maintenant être décrites. La bascule d'autorisation d'interruption (bit 6 de la partie "sortie" du registre STATUS) est mise à l'état vrai (ou 1) si, après achèvement du fonctionnement du module appelé, une interruption doit 30 intervenir. Si une interruption n'est pas désirée, alors l'achèvement du fonctionnement du module appelé peut être contrôlé par un test de la seconde bascule, à savoir la bascule BDONE (bit 7 du registre STATUS). Tant que BDONE est à 0, ceci indique que le module appelé n'a pas terminé son fonctionnement. 35 Lorsqu'il a terminé son fonctionnement, le module appelé met la bascule BDONE à la valeur "1" en indiquant ainsi au "mini-calculateur" que l'opération est terminée. La bascule BDONE peut être adaptée à une jonction de PDP-11, comme représenté sur la Fig. 56A. -379- 2334148 BDONE est incorporé aux modules de jonction de PDP-11 précédemment décrits en connectant la ligne de données B07 de l'UNIBUS à la broche H1 du M1501 ; l'entrée d'actionnement asynchrone (S) est connectée à la broche B1; l'entrée d'horloge, 5 à la broche D2; le rétablissement asynchrone (R) aux broches 01 et F1; enfin la broche de sortie A1 est reliée à la broche DD. Toutes les broches mentionnées ci-dessus sont relatives à la bascule désignée par RQE du module M1501. Un circuit logique et de commande 1252 est prévu pour 10 déterminer l'état de la bascule BDONE et pour assurer des interruptions. Si le circuit P2.CLK+SMEND+CMEND+0MEND+D1END+ BMEND+PIPEND est mis à 1 et si le bit d'autorisation d'interruption est actionné, le module 1252 transmet un signal d'interruption au "minicalculateur". Le module de commande d'interrup-15 tion peut être adapté à un PDP-11 en utilisant lè"Module de commande d'interruption M782" décrit pages 317 et 318 du manuel ci-dessus cité. Sur la Fig. 53, ceci signifierait que le circuit "d'achèvement" serait relié à la broche U1 du.module tandis que le signal d'autorisation d'interruption serait appliqué à la 20 broche U1. Le module M782 procéderait alors de manière à obtenir la commande de l'UNIBUS et à produire une interruption à partir de la broche M1. L'adresse du vecteur d'interruption contenue dans le module M782 serait transmise conditionnellement à l'UNIBUS par l'intermédiaire des broches E2, L1, N2, F1, F2 et 25 H1. Pour revenir à la Fig. 51, on peut voir que le registre I est connecté à la sortie d'un circuit de sélection DS1 qui comprend trois entrées de données connectées respectivement à la sortie du circuit de sélection DS5 du module "mémoire", à la 30 sortie du circuit de sélection DS2 du module "jonction du système DPM" et à la sortie du circuit de sélection DS6 de la "mémoire P/B". Le circuit de sélection DS2 comporte à son tour six circuits d'entrée de données connectées aux sorties des registres SLINE, SLN, ONOC et OAR du module "raccourcissement", 35 des registres OAR et OLN du module "sortie", du registre DOI du module "décodage" I et du registre STATUS. Le circuit de sélection DS2 est du même type que celui qui a été décrit ci-dessus à propos du module "codage" et comprend six circuits -380- 2334148 de commande portant des références numériques correspondant à celles qui sont utilisées pour les circuits d'entrée "données". Lorsque l'un des circuits d'entrée de commande (par exemple 1) reçoit un signal vrai, le circuit d'entrée de données portant 5 la même référence numérique (en l'occurrence 1) est connecté, par l'intermédiaire du circuit de sélection DS2, à l'entrée du circuit de sélection DS1. Le circuit de sélection DS1 est du même type que le circuit de sélection DS2 et comporte des entrées de commande qui sont désignées sur ses côtés par les 10 mêmes références que les entrées de données correspondantes. Le circuit de sélection DS1 couple une entrée de données avec sa sortie lorsque l'entrée de commande correspondante, représentée le long de son côté, reçoit un signal vrai. Le sélecteur d'adresse 1202 est représenté dans 15 l'angle inférieur de gauche de la Fig. 51. Comme représenté, l'adresse d'un registre DP1 désirée est transmise conditionnellement à partir du bus au sélecteur d'adresse. Le sélecteur décode l'adresse et "affirme" l'un des trois signaux SO, S1, S2. En outre, les lignes de commande provenant du bus sont 20 également reliées conditionnellement au sélecteur d'adresse. Elles sont décodées en un signal IN si des données doivent être introduites dans le "minicalculateur"; un signal OUT est engendré si des données doivent être sorties du "minicalculateur" dans le système DPM. Enfin l'impulsion P2.CLK est utilisée pour 25 transmettre le signal DOUE au bus I/O 1210 pour indiquer que l'opération demandée est terminée. Le sélecteur d'adresse 1202 représenté sur la Fig. 51 peut être adapté à un PDP-11 en utilisant le sélecteur d'adresse M105 décrit pages 311 et 312 du manuel ci-dessus cité. Les li-30 gnes de bus A01-A017 sont reliées aux broches H2, H1, F1, V2, U2, U1, P2, N2, R1, PI, L1, C1, K2, K1, D2, E2 et D1, respectivement. En outre, les lignes de commande CO, C1 de l'UNIBUS sont connectées aux broches F2, J2 du module M105. Les broches M2 et NI sont soumises à une opération logique OU pour donner le 35 signal OUT, tandis que la broche M1 donne le signal IN. De plus, les broches S1, T2 et R2 donnent les signaux SO, S1 et S2, respectivement. Le signal SSYN du module M105 est transmis à la masse et P2.CLK transmet le signal SSYN(DONE) à l'UNIBUS. -381- 2334148 Un compteur de commande 1213 comporte deux bascules PI et P2. Ces bascules sont elles aussi des bascules à déclenchement par flanc d'impulsion du type décrit ci-dessus. Une porte OU 1226 est connectée aux entrées de remise à 0 non contrôlées 5 par l'horloge des bascules PI et P2, Les deux entrées de la porte OU 1226 sont respectivement connectées à MIUIT et au circuit P2.CLK. Le compteur de commande 1213 comporte également une porte ET 1228. L'une des entrées de la porte ET 1228 est connec-10 tée à la sortie DPM de la bascule DPM, et l'autre entrée de cette porte est connectée à la sortie CLK d'une source d'impulsions d'horloge CLK et CLK. Une source d'impulsions d'horloge forme une série d'impulsions vraies récurrentes à ses sorties CLK et CLK, comme représenté sur la Fig. 51. 15 La Fig. 52 est un schéma symbolique du dispositif IPRF. Le dispositif IPRF comprend un groupe de neuf registres, comportant chacun huit bascules pour stocker huit bits d'information codée. Les registres du dispositif IPRF ont chacun une entrée de données, et leurs entrées de données respectives sont re-20 liées en parallèle à la sortie de données du circuit de sélection DS3 de la Fig. 51. Chacun des registres du dispositif IPRF est du type SN74175 décrit dans l'ouvrage "TTL" ci-dessus cité et comporte une entrée L connectée à l'une des portes 1230-1 à 1230-9. Lorsque l'une de ces entrées L reçoit Tin signal vrai, 25 le registre correspondant stocke les données codées binaires provenant de la sortie du circuit de sélection DS3. Les portes 1230-1 et 1230-9 sont des portes ET, dont l'une des entrées est connectées à la sortie d'une porte ET 1232, tandis que leur autre entrée est connectée à l'une des sorties D1 à D9 du déco-30 deur DC1 de la Fig. 51. La porte ET 1232 comporte trois entrées respectivement reliées aux sorties PI de la bascule P1, CLK de la source d'impulsions d'horloge et OUT de la commande I/O 1216, le tout comme représenté sur la Fig. 5i« La table 4-3 représente les cinq sorties de la commande I/O 1216 conjointement à l'indi-35 cation de la signification d'un signal vrai à la sortie correspondante. En gardant présente à l'esprit la discussion générale ci-dessus du module "jonction du système DPM", on va maintenant -382- 2334148 examiner le fonctionnement réel. Le compteur de commande 1213 comporte trois états. Lorsque le module "jonction du système DPM" n'est pas en fonctionnement, les deux bascules P1 et P2 sont à O. Ces deux bascules PI et P2 deviennent "vraies", suc-5 cessivement, lorsque des données sont en train d'être stockées dans le registre DATAO à partir du bus I/O 1210 ou lorsque des données sont en train d'être sorties par lecture du registre I sur le bus I/O 1210. Dans tous les autres cas, seule la bascule P2 devient "vraie". Le compteur de commande 1213 est toujours 10 remis à 0 chaque fois qu'une opération se termine après la sélection de la jonction du module "jonction du système DPM" par le "minicalculateur" ou chaque fois qu'un signal MINIT a été formé pour indiquer un déclenchement du système. La sortie de la porte OU 1223 est mise à 1 chaque fois que le module "jonc-15 tion du système DPSÏ" est demandé, c'est-à-dire chaque fois que SO, S1 ou S2 est actionné. Il est à noter que la sortie de la porte OU 1223 constitue la commande de la porte 1228 qui permet l'application des impulsions d'horloge, par l'intermédiaire de cette porte, aux bascules PI et P2 du compteur de 20 commande 1213» On va décrire ci-après un exemple de la séquence d'une opération de sortie permettant d'écrire un mot d'information à partir du "minicalculateur" dans le dispositif IPRF. Une séquence de fonctionnement analogue à celle qui 25 est représentée sur la Fig. 55 se déroule. On va maintenant considérer l'opération d'écriture d'un mot "d'état dans le registre STATUS. A cet effet, le "minicalculateur" forme une adresse sur les lignes d'adresse du bus I/O 1210 et le mot "d'état est appliqué sur les lignes de données. Comme exposé 30 ci-dessus, un signal vrai est ensuite formé à la sortie de la porte 1223, ce qui provoque le déverrouillage de l'horloge. L'adresse convenable est décodée par le sélecteur d'adresse 1202 qui forme un signal vrai à la sortie S2. La logique (IN+OUT),S2 est maintenant vraie, ce qui provoque l'application 35 d'un signal vrai à l'entrée de chargement du registre STATUS pour stocker le mot de commande appliqué aux lignes de données du bus I/O 1210 par le "minicalculateur". Le signal vrai de la sortie 1223 provoque le transfert -383- 2334148 par la porte 1228 des impulsions CLK aux entrées d'horloge des "bascules PI et P2. Etant donné que les deux bascules PI et P2 sont à 0, les signaux aux sorties P1 et P2 sont faux. De même, étant donné qu'un signal vrai n'est pas formé à la sortie SO, 5 un signal vrai est par conséquent formé à la sortie SÔ. Par suite, la logique (P1+Pè).SÏÏ est vraie, ce qui provoque la mise à 1 de la bascule P2 à..l'impulsion CLK suivante. La logique P2.CLK devient vraie et agit sur le circuit logiquoét de commande 1206 en le contraignant à mettre la bascule BDOKE (bit 7 10 de STATUS) à 1 en provoquant ainsi l'apparition d'un signal vrai sur la ligne BDOKE. P2.CLK est également appliqué au sélecteur d'adresse 1202, ce qui provoque la libération du bus pour d'autres opérations. Lorsque P2.CLK est mis à 1, la porte 1226 forme un signal vrai et les bascules P1 et P2 sont rétablies. 15 On va maintenant considérer la séquence de fonctionne ment qui permet la sortie d'information dans le registre AI. Cette séquence de fonctionnement est assez analogue à celle qui a été décrite pour le registre STATUS. Initialement, l'adresse du registre AI est placée sur 20 le bus 1210 par le ,'minicalculateurn. Cette adresse est reçue et décodée par le sélecteur d'adresse 1202 et, en conséquence, les lignes S1 et OUT du circuit sont affirmées. Le signal S1 provoque le déclenchement de la porte 1223 en initialisant ainsi la porte de déverrouillage d'horloge 1228. Etant donné que S1 25 est affirmé, le circuit (P1+P2)est vrai et, lors de la première impulsion CLK, la bascule P2 est mise à 1. Initialement, on se rappelle que les lignes S1 et OUT ont été affirmées. Ces lignes sont soumises à une opération OU et forment une impulsion vraie à l'entrée de déverrouillage du 30 registre AI. On se rappelle aussi que cette impulsion de déverrouillage transmet l'information sous le contrôle de l'horloge du bus à un registre de stockage. L'impulsion P2.S1.OUT.CLK charge l'information de ce registre dans le compteur AI. Le signal P2.CLK provoque la remise à 0 du compteur de commande 1213. 35 En outre, l'impulsion P2.CLK est appliquée au sélecteur d'adresse 1202 qui, à son tour, transmet un signal "fait" au bus. Le "minicalculateur" répond en libérant le bus en vue d'opérations futures. -384- 2334148 Il est à noter ici que la sortie du registre AI est utilisée comme adresse dans le dispositif IPRF, dans le module "mémoire" du système DPM, ou dans le module "mémoire P/B". Une fois que le registre AI a été initialement chargé, toutes 5 les opérations de sortie ultérieures vers le registre DATAO provoquent une incrémentation de t du compteur AI. Il en est ainsi du fait que le circuit P2.CLK.S0 est alors vrai. Cette conception est simplement destinée à constituer un moyen grâce auquel une séquence d'emplacements de mémoire consécutifs 10 peuvent être remplis, en plaçant une adresse initiale dans AI et en écrivant ensuite de façon répétée dans le registre DATAO. Ensuite, le "minicalculateur" fournit un mot de données qui doit être stocké dans le registre DATAO et ultérieurement transféré dans le dispositif IPRF. A cet effet, le "minicalcu-15 lateur" "suit" à nouveau la séquence de fonctionnement représentée sur la Fig. 55. En conséquence, le "minicalculateur" applique une adresse sur les lignes d'adresse, un mot de données sur les lignes de données et un signal vrai sur la ligne IN/OUT pour indiquer qu'une opération de sortie est en train 20 d'être effectuée par lui. L'adresse présente sur les lignes d'adresse provoque la formation par le sélecteur d'adresse 1212 d'un signal vrai à la sortie SO et le signal vrai de la ligne IN/OUT provoque la génération d'un signal vrai à la sortie OUT du sélecteur d'adresse 1202. En conséquence, la logique 25 (P1+P2).SO devient vraie. Par suite, au cours du fonctionnement du compteur de commande 1213, la bascule P1 est mise à 1 au lieu de la b.ascule P2. La logique SO.OUT devient également vraie, ce qui provoque le stockage dans le registre DATAO du mot de données appliqué au bus I/O 1210 par le "minicalculateur". 30 Si l'on se réfère maintenant au registre STATUS, on peut voir que les deux bascules m^ et mg sont à 0 étant donné qu'aucune information n'est en train d'être écrite dans le module "mémoire" ou dans la "mémoire P/B". En conséquence, un signal vrai est formé à la sortie M de l'inverseur 1222. Par 35 suite, la logique P1.M est maintenant vraie, ce qui provoque le transfert par le circuit de sélection DS3 du contenu du registre DATAO jusqu'à l'entrée des registres du dispositif IPRF représentés sur la Fig. 52. Le mot d'adresse stocké dans le -385- 2334148 registre AI provogue la formation,par le décodeur DG1, d'un signal vrai â l'une des sorties D1 à 3)9, signal gui, à son tour, assure la sélection de celui des registres du dispositif IPRF dans leguel le mot contenu dans le registre DATAO doit être 5 stocké. On supposera pour les "besoins de l'explication que l'adresse contenue dans le registre AI provoque la génération d'un signal vrai à la sortie DI qui correspond au registre TL. Un signal vrai est en train d'être formé à la sortie OUT -et la source de signaux d'horloge forme un signal vrai à la sortie 10 CLK. Des signaux vrais sont maintenant formés aux sorties PI, CLK et OUT, ce qui provoque la formation d'un signal vrai par la porte ET 1232. Le signal vrai de la sortie de la porte ET 1232, en combinaison avec le signal vrai de la sortie DI dû .décodeur DC1, provoque l'application par la porte ET 1230-1 15 d'un signal vrai au registre TL, ce qui détermine le chargement du contenu de DATAO dans ce registre TL. Lors de l'impulsion CLK suivante, la bascule P1 est remise à 0 et la bascule P2 est mise à 1. Lorsque l'impulsion P2.CItK est formée, le sélecteur d'adresse transmet une impulsion DOUE au bus pour indiquer au 20 "minicalculateur" que le fonctionnement du module "jonction du système DPM" est achevé.Le "minicalculateur" répond au signal vrai du conducteur de commande DONE et abandonne la commande du bus. Une opération d'entrée permettant de lire de l'informa-25 tion à partir du système DPM dans le "minicalculateur" va maintenant être décrite. L'information est lue à partir de l'un des registres SLINE, SLN", OHOC, OAR du module "raccourcissement" ou à partir de l'un des registres OAR et 0I»N du module "sortie" ou encore 30 à partir du registre DOI du module "décodage" I ou à partir du registre STATUS. Initialement, le "minicalculateur" stocke un. mot de commande dans le registre STATUS comme décrit ci-dessus. En outre, un mot d'adresse est stocké dans le registre AI, comme décrit ci-dessus. 35 Ensuite, un mot doit être transmis sur les lignes de données du bus I/O 1210, à partir du module "jonction du système D3~M" au "minicalculateur11. A la suite des opérations représentées sur la Pig. 56, le "minicalculateur" applique initialement une adresse aux lignes d'adresse et une fois que les si -386- 2334148 gnaux se sont stabilisés, il forme un signal vrai sur la ligne IN et sur la ligne SO. Le signal vrai de SO provoque un déclenchement de la porte OU 1223 qui provoque l'application par la porte ET 1228 d'impulsions CLK à l'entrée d'horloge des bas-5 cules FI et,P2. La logique (ÏH+3?2).SO est vraie, ce qui provoque la mise à 1 de la bascule PI en formant ainsi un signal vrai à la sortie Pl. Le mot de commande stocké dans le registre STATUS met à 0 les deux bascules m^ et et, en conséquence, un signal vrai est formé par l'inverseur 1222 à la sortie M. 10 Le signal vrai de la sortie M permet au décodeur DC1 de former un signal vrai à l'une des sorties D1 à D6, à savoir à celle qui correspond à l'adresse contenue dans le registre AI. En outre,, le sélecteur d'adresse 1202 forme un signal vrai à la sortie IN. Le signal vrai de la sortie IN, en combinaison avec le signal 15 vrai de l'une des sorties D1 à D7 provoque le couplage par le circuit de sélection DS2 de l'un des registres du module "raccourcissement", du module "sortie" ou du module "décodage" I , ou encore du registre STATUS, avec l'entrée du circuit de sélection DS1. En outre, la logique P1.M est vraie, ce qui pro-20 voque le couplage par le circuit de sélection DS1 du même registre avec l'entrée du registre I. La logique P1.CLK devient vraie, ce qui provoque le chargement par le registre I des données provenant du registre choisi dans ledit registre I. Le signal vrai maintenant formé à 25 la sortie PI de la bascule PI et l'impulsion CLK suivante provoquent la mise à 1 de la bascule P2 et la remise à 0 de la bascule PI, ce qui détermine l'apparition d'un signal vrai à la sortie P2. Le signal vrai de la sortie P2 rend vraie la logique P2.CLK. La logique S0.P2.CLK.IN est maintenant vraie, ce qui 30 provoque la transmission conditionnelle par la porte DATAI des données contenues dans le registre I aux lignes de données du bus I/O 1210. En outre, les circuits de logique et de commande 1206 mettent à 1 la bascule BDONE, ce qui provoque la génération d'un signal vrai sur la ligne de commande BDONE du bus I/O 1210, 35 en signalant ainsi au "minicalculateur" qu'un mot de données est disponible en lecture. Le signal vrai de la sortie P2.CLK provoque la remise à 0 des bascules P1 et P2 par la porte OU 1226, ce qui termine le fonctionnement du module "jonction du système DPM". -387- 2334148 On va maintenant considérer la manière dont l'information est écrite dans le module "mémoire" par le "minicalculateur". De la manière exposée ci-dessus , le "minicalculateur" provoque le stockage d'un mot de commande dans le registre 5 STATUS, d'un mot d'adresse dans le registre AI et d'un mot de données dans le registre DATAO. Il est à noter que le mot de commande maintenant stocké dans le registre STATUS entraîne un état 0 de la bascule DPM, un état 0 de la bascule PBM (assurant la sélection du module "mémoire") et un état 1 de l'une au moins 10 des bascules m^, (ce qui assure la sélection d'une zone de mémoire 1, 2 ou 3 du module "mémoire"). En conséquence, la porte OU 1220 forme un signal vrai à la sortie M. Le signal vrai de la sortie M provoque le déverrouillage du décodeur DC3 et forme un signal vrai à l'une des sorties M1e, M2e, ou.M3e, 15 selon les états des bascules et comme représenté dans la table 42. Une fois que le "minicalculateur" a stocké un mot de données dans le registre DATAO, la bascule Pl.est mise à 1 de la manière décrite ci-dessus, ce qui provoque l'apparition 20 d'un signal vrai à la sortie Pl. La logique P1.M.PBM est maintenant vraie, ce qui provoque le couplage, par le circuit de sélection DS3, du registre DATAO avec l'entrée du circuit de sélection DS4 du module "mémoire". En outre, le "minicalculateur" applique un signal vrai sur la ligne IîT/OUT du bus I/O, 25 ce qui fait apparaître un signal vrai à la sortie OUT. En conséquence, chacun des signaux PI, M.PBM et OUT est maintenant vrai, ce qui provoque la formation par la porte ET 1230 d'un signal vrai à la sortie IWE. Le signal vrai de la sortie IWE est une impulsion d'autorisation d'écriture pour le module 30 "mémoire". Le signal vrai de la sortie IWE provoque l'écriture du mot de données du registre DATAO à l'adresse et dans la zone de mémoire du module "mémoire" spécifiées par le registre AI. La bascule P2 est ensuite mise à 1, comme décrit pré-35 cédemment, ce qui provoque une nouvelle incrémentation du registre AI permettant la sélection pour écriture de l'emplacement de mémoire suivant du module "mémoire". De cette manière, il est possible d'écrire à des adresses adressées consécutive -388- 2334148 ment dans l'une des zones de mémoire du module "mémoire" avec line seule écriture pour le registre AI et une série d'écritiares pour le registre DATAO. 5 On va maintenant examiner la manière dont se déroule une opération d'entrée dans le "minicalculateur" à partir du module "mémoire". La séquence de fonctionnement est telle que représenté sur la Fig. 56. Le registre STATUS et le registre AI sont chargés avec un mot de commande et avec un mot d'adresse, 10 respectivement, comme décrit précédemment. L'une au moins des "bascules et est maintenant "vraie", ce qui détermine la présence d'un signal vrai à la sortie M de la porte OU 1220. En conséquence, le décodeur DC3 et le montage associé (Fig. 52) sont également mis à même de former un signal vrai à l'une des 15 sorties M1e (DS1, module "mémoire"), M2e (DS2, module "mémoire") ou M3E (DS3, module "mémoire11), ce qui assure la sélection de DS1, DS2 ou DS3 pour les zones de mémoire 1, 2 et 3 du module "mémoire". Il est à noter que, si une lecture se produisant dans la "mémoire P/B", un signal vrai serait formé en PBM, 20 tandis que, contrairement à ce qui vient d'être décrit, un signal serait formé à l'une des sorties 111e (DS2, "mémoire P/B") ou M2e (DS1, "mémoire P/B"). Pour revenir à l'exemple, une fois qu'il est déverrouillé, le module "mémoire" effectue une sortie par lecture à 25 partir de l'emplacement de mémoire spécifié par l'adresse contenue dans le registre AI. La logique PI .M.PBM est maintenant vraie, ce qui provoque le transfert, par le circuit de sélection DS1, de l'information sortie par lecture à partir de l'emplacement adressé du module "mémoire", à l'entrée du registre I« 30 La logique P1.CLK devient vraie, ce qui provoque le stockage dans le registre I du mot provenant du module "mémoire". Le signal vrai de la sortie PI provoque la mise à 1 de la bascule P2 et la remise à 0 de la bascule P1 lors de l'impulsion CLK suivante, ce qui détermine l'apparition d'un 35 signal vrai à la sortie P2. La logique P2.CLK redevient vraie, ce qui provoque l'apparition de signaux vrais à la sortie BDOKE et l'achèvement de l'opération d'entrée. -389- 2334148 Le sélecteur d'adresse est en train de former un signal vrai à la sortie SO, ce qui rend vraie la logique S0.P2.CLS.IN et ce qui provoque la transmission conditionnelle par la porte DATAI des données stockées dans le registre I sur les lignes de 5 données du bus I/O 1210. Le signal vrai de la ligne de commande BDONE provoque la lecture des données par le "minicalculateur". Ensuite, les bascules P2, BDONE et P1 aont rétablies, comme décrit précédemment, ce qui détermine l'achèvement de l'opération. 10 Ici encore, des emplacements de mémoire consécutifs peuvent être "lus" dans le module "mémoire" en utilisant une seule écriture dans le registre AI par simple incrémentation de l'adresse, comme décrit précédemment. Des fonctions "DPM" spécifiques telles que les opéra-15 tions du module "raccourcissement", du module "modification", du module "sortie", du module "décodage" I, du module "cadrage" et du module "concordantiel" sont également déclenchées et commandées par le module "jonction du système DPM". Ces opérations sont déclenchées (1) en écrivant l'information convenable dans 20 le module "mémoire", (2) en écrivant une informât!on appropriée dans les registres du dispositif IPEî1; et (3) en écrivant un mot de commande dans le registre STATUS, ce qui établit la combinaison convenable de bascules de foncfc ion f1, f2 et f3 et la mise à l'état 1 de la bascule DïM permettant au décodeur 25 DC2 de former un signal vrai à l'une des sorties SMGO, CMGO, D1G0, CMGO, PKGO et BMGO, en appelant ainsi l'intervention du module correspondant "raccourcissement", "modification", "sortie", "cadrage" ou "concordantiel". Ceci déclenche alors la fonction appropriée et le fonctionnement désiré dans le système 30 DIM. Le "minicalculateur" contrôle les opérations en attendant qu'un signal "terminé" soit formé à l'une des sorties SMEND, CMEND, D1MENL, OMEND, PIPEND ou BMEND, par les modules "raccourcissement", "modification", "décodage" I, "sortie", "cadrage" ou "concordantiel", respectivement. 35 En considérant la commande I/O 1216, on peut voir qu'un signal vrai à l'une quelconque de ces sorties provoque l'application par cette commande d'un signal vrai au "minicalculateur" par l'intermédiaire du bus I/O 1210, signal qui, à son -390- 2334148 tour, contraint le "minicalculateur" à interrompre son fonctionnement et à lire ensuite les résultats appropriés à partir du système DPM. Cette lecture des résultats dans le système DPM implique une lecture des données à partir des registres 5 SLINE, SLN, ONOC et OAR du module "raccourcissement", ou des registres OAR et OLN du module "sortie", comme décrit précédemment. Selon une variante, ou en plus, une information peut être lue à partir de la zone appropriée du module "mémoire". Il y a lieu de souligner que le module "jonction du 10 système DEM" décrit ci-dessus ne constitue pas le seul moyen de construire un module de jonction et n'est indiqué qu'à titre d'exemple. XVIII. MODULE "MEMOIRE" La Fig. 57 est un schéma de câblage du module "mémoire". 15 Sur la partie de droite de la Fig. 57 sont représentées les lignes de commande entrée/sortie utilisées pour commander le module "mémoire" et les lignes entrée/sortie d'information. Des traits renforcés sont utilisés pour indiquer des lignes de données à signaux multiples. 20 Le module "mémoire" comprend trois mémoires à accès direct 1310, 1312 et 1314 formant, respectivement, ses zones 1, 2 et 3. Les zones 1, 2 et 3 du module "mémoire" sont constituées par des mémoires à accès direct (RAM) TTL (tout transistors) du type SN7489, décrit page 220 de l'ouvrage "TTL précédemment 25 mentionné. Chaque mémoire comprend 256 emplacements de mémoire, contenant chacun 8 bits codés binaires. Le type de mémoire ci-dessus mentionné n'est indiqué ici qu'à titre d'exemple et, dans le cadre de l'invention, les mémoires peuvent être de différentes capacités et de différents types, selon l'application particu-30 lière envisagée. Dans la plupart des applications, il peut être désirable de remplacer les mémoires RAM TTL par un ou plusieurs fichiers à disques pour leur assurer une plus grande capacité de stockage. Des décodeurs d'adresse 1316, 1318 et 1320 sont res-35 pectivement associés aux mémoires 1310, 1312 et 1314. Chaque décodeur d'adresse reçoit un signal codé binaire composite et le décode en signaux convenant pour l'adressage des mémoires 1310, 1312 et 1314. -391- 2334148 En outre, à l'intérieur de chacune des mémoires 1310, 1312 et 1314 est disposé tin registre d'information de mémoire (MIR). Chaque registre d'information de mémoire a son entrée connectée à la sortie d'un circuit de sélection DS4, dont il 5 reçoit huit bits d'information destinés à être stockés à l'un des emplacements de mémoire de la mémoire RAM correspondante. Chacun des registres MIR fait partie de la mémoire RAM décrite dans l'ouvrage "TTL" ci-dessus cité. Est également incorporé à chacune des mémoires 1310, 1312 et 1314 un circuit MLR qui forme 10 la sortie d'information de la mémoire RAIC correspondante. Huit bits codés binaires sont appliqués en tant que bits de sortie à chacun des circuits MDR lors de la sortie d'information par lecture de la mémoire correspondante. L'écriture s'effectue dans l'une des mémoires 1310, 15 1312 et 1314 en appliquant un mot d'information au MIR correspondant et un mot d'adresse au décodeur d'adresse correspondant. Une fois que les signaux se sont stabilisés aux entrées précédemment mentionnées, un signal d'autorisation d'écriture vrai est appliqué à l'entrée "autorisation d'écriture" de la 20 mémoire, ce qui provoque l'écriture par celle-ci, du mot d'information appliqué à l'entrée MIR, à l'adresse spécifiée par le mot d'adresse appliqué au décodeur d'adresse. La lecture s'effectue dans une mémoire par simple application de l'adresse de l'emplacement désiré au décodeur d'adresse de la mémoire, appli-25 cation qui provoque la sortie par lecture du mot situé à l'adresse correspondance et sa transmission à la sortie MDR de la mémoire. Des circuits de sélection DS1 à DS5 sont utilisés pour transmettre conditionnellement l'adresse et les données au mo-30 dule "mémoire" ou à partir de celui-ci. Les circuits de sélection DS1 à DS5 sont des sélecteurs de données du type précédemment décrit. A chacun de ces sélecteurs de données sont connectées des lignes représentées en trait renforcé qui désignent des lignes d'information et des lignes représentés en trait fin 35 qui désignent des lignes de signal de commande. Chaque ligne en trait renforcé ou "épaisse" (information) est numérotée et est associée à une ligne en trait fin ou "mince" (de commande) numérotée de façon correspondante. Un signal vrai sur la ligne d'en -392- 2334148 trée de commande provoque la transmission conditionnelle de signaux appliqués aux lignes, d'information correspondantes jusqu'à la sortie du sélecteur de données. Ainsi, par exemple, le circuit de sélection DS1 couple l'entrée d'information 1 5 avec sa sortie en réponse à un signal de commande vrai appliqué à l'entrée de commande 1 représentée sur le côté gauche. Un circuit "autorisation d'écriture" 1322 engendre des signaux d'autorisation d'écriture à.sa sortie WE. Le circuit "autorisation d'écriture" 1322 comporte une ligne d'entrée 10 de commande MEMGO connectée à un circuit de transmission conditionnelle OU 1324 et une autre entrée connectée à la sortie MINIT du "minicalculateur". Des multivibrateurs monostables M1 et M2 comportent des sorties utilisant les mêmes symboles que le multivibrateur correspondant. La sortie surlignée reçoit un 15 signal vrai lorsque le multivibrateur monostable est à 0 et la sortie non surlignée reçoit un signal vrai lorsque le multivibrateur est à 1. Les multivibrateurs monostables sont normalement à 0 et lorsqu'un signal vrai est appliqué sur la ligne MEMGO, les multivibrateur| sont déclenchés ou mis à 1, état 20 dans lequel le signal vrai disparaît de la sortie surlignée tandis qu'un signal vrai est appliqué à la sortie non surlignée. Comme décrit plus loin de façon plus détaillée, les multivibrateurs monostables reprennent automatiquement leur état 0 au bout d'un intervalle de temps fixé à l'avance, après leur mise à 1. 25 Ce délai.est plus long pour le multivibrateur monostable K2 que pour le multivibrateur monostable M1, pour les raisons qui seront expliquées plus loin. Dans le circuit "autorisation d'écriture" 1322, est également prévue une bascule PP. La bascule FF est du type SN7474 décrit dans l'ouvrage" TTL" ci-dessus cité. 30 La bascule FF comporte des états "1" et "0" avec des sorties correspondantes FF et FF' (cette dernière n'étant pas représentée) qui reçoivent des signaux vrais, respectivement, lorsque la bascule est à 1 et est à 0. La bascule FF comporte deux entrées pour commander son actionnement et son rétablissement et 35 une entrée d'horloge. L'entrée d'horloge est représentée en bas sur le côté gauche de- la bascule FF. L'entrée de la bascule FF représentée en haut sur son côté gauche est reliée à une source de tension (Vcc) non représentée, qui applique toujours -393- 2334148 un signal vrai à l'entrée correspondante en permanence. L'entrée supérieure de gauche de la bascule FF provoque la mise à 1 de celle-ci lorsqu'un signal d'horloge est appliqué à son entrée inférieure de gauche. L'entrée représentée le long du 5 côté inférieur de la bascule FF rétablit celle-ci, c'est-à-dire la remet à 0 sans horloge. Au circuit "autorisation d'écriture" 1322 sont également incorporées des portes ET 1326 et 1328 et une porte OU 1330. Les portes ET 1330, 1332 et 1334- appliquent les signaux 10 de commande à l'entrée "autorisation d'écriture" des mémoires 1310, 1312 et 1314, respectivement. Les modules qui communiquent avec le module "mémoire" de la Fig. 57 sont indiqués ci-après avec une mention indiquant si l'information est sortie par lecture du module "mémoire" et/ 15 ou écrite dans le module "mémoire" : Module "décodage" I -lecture Module "décodage" II -lecture Module "codage" -écriture (EWI) Module "cadrage" -écriture (PI9) 20 Module "concordantiel" -écriture (B13) Module "jonction du système DEM" -lecture et écriture (IWE) Les circuits de transmission conditionnelle sont représentés par des équations logiques utilisant les soirties d'autres modules, bascules, etc., comme termes explicites. 25 Là séquence de fonctionnement du module "mémoire" pendant .une opération d'écriture dans'l'une des mémoires 1310, 1312, 1314 va maintenant être décrite en se référant au diagramme de temporisation de la Fig. 58. Une opération d'écriture est déclenchée ou appelée par le "module jonction du système 30 DPM", ou par le module "cadrage", ou encore par le module "concordantiel", ou enfin par le module "codage". Le signal d'appel est appliqué à la ligne de commande de sortie représentée entre parenthèses aprfls le nom de chaque module situé juste au-dessus et indiquée en tant qu'entrée de la porte OU 1324. 35 Le module appelant applique un signal d'appel à la porte OU 1324. Celle-ci applique à son tour un signal vrai à la sortie MEMGO qui déclenche les multivibrateurs monostables M1 et M2, c'est-à-dire qui les met à l'état 1. En outre, le signal vrai -394- 2334148 de la sortie M1 du multivibrateur M1 provoque l'application d'un signal vrai à l'entrée d'horloge de la bascule FF et ce signal, qui joue le rôle de signal d'horloge, provoque la mise à 1 de cette bascule. Le retardateur incorporé au multivibrateur 5 M1 introduit un délai suffisant pour permettre aux signaux présents sur les lignes d'adresse aboutissant aux circuits de sélection DS1 - DSJ et sur les lignes d'information aboutissant au circuit de sélection DS4, de se stabiliser. Une fois que le multivibrateur monostable M1 est remis à 0, un signal vrai est 10 formé à sa sortie MÏ". En outre, la bascule FF est encore à 1, et, par conséquent, les deux entrées de la porte ET 1328 reçoivent un signal vrai et forment un signal vrai à la sortie WE. Le signal vrai de la sortie WE est appliqué aux entrées des portes ET 1330-1334. Chacune des portes ET 1330-1334 comporte 15 une seconde entrée qui détermine, parmi les zones 1, 2 et 3 de la mémoire, la zone particulière dans laquelle une information doit être écrite à partir du circuit de sélection DS4-. Comme exposé plus loin de façon plus détaillée, les signatix provenant de la "matrice de commutateurs" de la Fig. 59 ou du 20 module "jonction du système DPM" déterminent la zone RÂM dans laquelle de l'information doit être écrite. En conséquence, un signal vrai à la sortie IWE du module "jonction du système DPM" rend vraie la seconde entrée de chacune des portes EE 1330-1334, ce qui provoque l'applica-25 tion par chacune de ces portes ET d'un signal "autorisation d'écriture" à la mémoire RAM correspondante. Par suite, le mot d'information appliqué à la sortie du circuit de sélection DS4-est écrit dans chacune des zones 1, 2 et 3 de la mémoire. Normalement, l'écriture dans les zones 1, 2 et 3 de la 30 mémoire est commandée par la "matrice de commutateurs". Comme décrit plus loin de façon plus détaillée, la zone dans laquelle l'écriture doit avoir lieu à partir du module "codage" est déterminée par des signaux vrais aux sorties S31, S32 et S33 des bascules désignées par des références correspondantes de la 35 "matrice de commutateurs". En conséquence, un signal vrai à la sortie S31 provoque la réception par la porte ET 1330 de signaux vrais à ses deux entrées et, par conséquent, l'établissement d'une liaison entre un circuit "autorisation d'écriture" et la -395- 2334148 zone 1 de la mémoire, ce qui assure une opération d'écriture exclusivement dans cette zone. D'une manière analogue, des signaux vrais aux sorties S32 et S33 de la "matrice de commutateurs" provoquent une écriture dans les zones de mémoire 2 et 5 3, respectivement. Toutefois, il est à noter qu'une opération d'écriture, à partir du module de jonction n'utilise pas la "matrice de commutateurs". Ceci est mis en évidence par l'adjonction de IWE aux portes "autorisation d'écriture" 1330, 1332 et 1334. 10 En résumé, on comprendra maintenant que les sorties de EOP du module "codage", de DS3 du module "cadrage", de DS3 du module "concordantiel" et de DS3 du module "jonction du système DPM" sont couplées avec les entrées du circuit de sélection DS4-. Un signal vrai aux sorties EW1, P19 , B13 ou IWE des 15 modules "codage", "cadrage", "concordantiel" et "jonction du système DPM", respectivement, provoque le couplage, par le circuit de sélection DS4, des sorties des modules correspondants avec l'entrée MIR des zones 1, 2 et 3 de la mémoire, respectivement. Les circuits de sélection DS1, 2 et 3 transmettent les 20 adresses aux entrées des décodeurs d'adresse correspondants 1316, 1318 et 1320. Par exemple, un signal vrai à la sortie DM11 du module "décodage" I et un signal vrai à la sortie S11 de la "matrice de commutateurs" provoquent le couplage, par le circuit de sélection DS1, de la sortie du registre MAR1 du 25 module "décodage" I avec l'entrée du décodeur d'adresse 1316. Le circuit de sélection DS5 transmet l'information sortie par lecture des zones de mémoire 1, 2 et 3 aux entrées des modules "décodage" I, II et "jonction du système DPM". Par exemple, un signal vrai provenant de la sortie M1E du module 30 "jonction du système DPM" ou de la sortie DM11 du module "décodage" I, en combinaison avec un signal vrai à la sortie S11 de la "matrice de commutateurs", ou bien un signal vrai à la sortie DS21 du module "décodage" II, en combinaison avec un signal vrai à la sortie S21 de la "matrice de commutateurs" provoque 35 un transfert de l'information à partir de MDR de la zone 1 de la mémoire jusqu'à la sortie du circuit de sélection DS5. Après un temps suffisant pour que les signaux appelés à être appliqués à la sortie du circuit de sélection DS5 soient -396- 2334148 stabilisés à l'entrée des modules qui les reçoivent, le multivibrateur M2 reprend automatiquement son état 0 en provoquant l'apparition d'un signal vrai à la sortie 55?, signal qui rend à son tour vraies les deux entrées de la porte ET 1326 en assurant 5 ainsi l'application d'un signal vrai à l'une des entrées de la porte OU 1330. La porte OU 1330 applique à son tour un signal vrai à l'entrée de rétablissement de la bascule FF en provoquant sa remise à 0, ce qui supprime le signal vrai à la sortie FF. Il en résulte que la porte ET 1328 supprime à son tour son si-.. 10 gnal vrai à la sortie WE, ce qui interrompt l'application du signal "autorisation d'écriture" aux zones de mémoire 1, 2 et 3. XIX. "MATRICE DE COMMUTATEURS" La "matrice de commutateurs" de la Fig. 59 comporte neuf bascules désignées par S11-S13, S21-S23 et S31-S33. Ces 15 bascules sont actionnées pour permettre aux modules "décodage" I, "décodage II et "codage" de lire et d'écrire dans les zones appropriées du module "mémoire" (Fig. 57)* les bascules sont étiquetées comme suit : Si3, où i = 1 désigne "décodage" I, i = 2 "décodage" II et i =3, "codage" et où j =1 identifie 20 la zone 1 du module "mémoire"; j =2, la zone 2 du module "mémoire" et j = 3 la zone 3 du module "mémoire". En se référant à la "matrice de commutateurs" de la Fig. 59 et à la description des modules "décodage" I, "décodage" II et "codage" on se rappellera que les modules "décodage" I et II lisent toujours dans la 25 mémoire, tandis que le module "codage" écrit toujours dans la mémoire. En conséquence, lorsque la bascule S11 est à 1, cela indique que le module "décodage" I doit lire dans la zone 1 du module "mémoire". Si la bascule S21 est à 1, cela indique que le module "décodage" II doit lire dans la zone 1 du module"mé-30 moire" et si la bascule S31 est à 1, cela indique que le module "codage" doit écrire dans la zone 1 du module "mémoire". En plus des bascules en question, la "matrice de commutateurs" comprend des portes 1410 à 1440, des inverseurs de signal 1442 et 1444 et une bascule SP qui commande l'actionnement et le ré-35 tablissement des bascules précédemment mentionnées en réponse à des signaux de commande provenant du reste du système. Les signaux de commande entrée/sortie qui commandent le fonctionnement de la "matrice de commutateurs" sont représentés le long -397- 2334148 du côté droit de la Fig. 59 conjointement aux modules d'où les signaux émanent. Les bascules sont toutes du type SN7474 présentant les caractéristiques décrites précédemment. On va maintenant consi-5 dérer dans ses grandes lignes le fonctionnement de la "matrice de commutateurs". Comme décrit précédemment, la "matrice de commutateurs" est utilisée pour commander le, fonctionnement du module "mémoire". Normalement, le module "mémoire" est utilisé pour la manipulation des raccourcis. Un raccourci doit être lu, 10 traité et sorti par écriture, étant donné qu'on ne dispose d'aucune garantie assurant que la longueur de sortie d'un nouveau raccourci sera inférieure à la longueur d'entrée du raccourci actuel. On doit disposer d'au moins deux zones de mémoire pour la lecture et l'écriture des raccourcis. En outre, confor-15 mément au mode de réalisation préféré de la présente invention, le "meilleur raccourci" (c'est-à-dire celui qui présente la longueur matérielle la plus petite possible) est toujours retenu pendant le processus de localisation du raccourci. Cette particularité est avantageuse étant donné qu'elle économise du temps 20 de régénération après achèvement du processus de recherche de raccourci. En vertu de la dernière caractéristique qui vient être mentionnée, une troisième zone de mémoire a été ajoutée au système du module "mémoire". Pendant le fonctionnement du système DPM, le procédé normal de lecture et d'écriture dans la 25 zone de mémoire s'effectue par 1'intermédiaire des modules "décodage" I et "décodage" II et du module "codage". L'établissement des liaisons entre ces modules et les zones convenables de la mémoire est assuré sous la commande de la "matrice de commutateurs". 30 On va maintenant examiner plus spécifiquement la "ma trice de commutateurs" en continuant toutefois à considérer son fonctionnement sous une forme générale. Initialement, les bascules convenables S11-S13, S21-S23 et S31-S33 sont actionnées par les modules appelants ("raccourcissement", "modification", 35 "sortie", "cadrage", "permutation" et "concordantiel"). La "matrice de commutateurs" est réglée de telle façon que, lorsqu'elle reçoit une commande d'horloge (par un signal appliqué par l'intermédiaire des portes 14-10 et 1412-1416) la dernière -398- 2334148 zone du module "mémoire" écrite à partir du module "codage" soit mise à même de sortir de l'information par lecture dans les modules "décodage" I et "décodage" II. Ce résultat est obtenu par un actionnement de la bascule appropriée parmi les bas-5 cules S11-S13, S21-S23 et S31-S33» les bascules S31, S32 et S33 qui commandent l'écriture à partir du module "codage" sont munies d'un montage de commande permettant de les actionner de façon appropriée afin que, si la zone d'écriture actuelle contient le meilleur raccourci, elle ne soit pas surchargée 10 ultérieurement. La bascule SP indique si la zone qui vient d'être lue contient ou non le raccourci. Si cette bascule est à 0, elle indique que la zone qui vient d'être lue ne contient pas le raccourci et peut être surchargée. Si la bascule SP est à 1, 15 cela indique que la zone qui.vient d'être lue contient le raccourci et ne peut pas être surchargée. A titre d'exemple, on supposera que la bascule SP est à 0 et qu'une lecture est en cours dans la zone 2 du module "mémoire", simultanément à une opération d'écriture dans la zone 1 de celui-ci. Les bascules 20 S31, S12 et S22 sont à 1. L'impulsion d'horloge suivante de la porte 1410 met à 1 les bascules S32, S11 et S21 (et remet à 0 les bascules S31, S12 et S22), ce qui provoque une lecture dans la zone 1 du module "mémoire" et une écriture dans la zone 2 de celui-ci. On supposera maintenant par exemple, que la bas-25 cule SP est à 1 et qu'une lecture est en cours dans la zone 2 du module "mémoire" simultanément à une opération d'écriture dans sa zone 1. Les bascules S31, S12 et S22 se trouvent encore à l'état "1". L'impulsion suivante de la porte 1410 n'atteint plus maintenant la bascule S32, du fait qu'elle est bloquée 30 par les portes 1430 et 1438 en raison de la présence du signal faux en SP. Par contre, l'impulsion de la porte 1410, en combinaison avec des signaux vrais présents aux sorties SP, S33 et S23, provoque la mise à 1 de la bascule S33 par les portes 1426 et 1436, ce qui déclenche une écriture, non pas dans la zone 2 35 du module "mémoire", mais dans sa zone 3. En outre, les bascules S11 et S21 sont mises à 1, ce qui provoque à nouveau une lecture dans la zone 1. Le résultat de tout ce processus est qu'une écriture se produit dans la zone 3 du module "mémoire" et que le -399- 2334148 raccourci contenu dans la zone 2 de ce module n'est pas surchargé mais est préservé. En résumé, les modules "décodage" I et II lisent dans une zone du module "mémoire" (par exemple la zone 2); le module "codage" écrit dans une autre zone du 5 module "mémoire" (par exemple la zone 1) et les zones respectives dans lesquelles cette lecture et cette écriture ont lieu sont déterminées par les états des bascules S11-S31, S12-S32, S13-S33. Les circuits de transmission conditionnelle sont sym-10 bolisés par des équations logiques utilisant les sorties d'autres modules, bascules, etc. comme termes explicites des équations. On va maintenant considérer un exemple réel du fonctionnement de la "matrice de commutateurs" de la Fig. 59 et du 15 module "mémoire" de la Fig. 57» La table 44- représente un exemple d'un iso-entropicogramme et sera utilisée ci-après pour mettre en évidence le fonctionnement du système. La table 45 indique la séquence de fonctionnement pendant l'exécution de l'opération de permutation indiquée le long du côté droit 20 de la table 44. Initialement, le "minicalculateur" et le module "jonction du système DPM" stockent la ligne 0 de 1'iso-entropicogramme dans la zone 1 du module "mémoire", comme décrit précédemment. La ligne 0 est représentée au début de la. table 44. Le module 25 "raccourcissement" est alors appelé par le "minicalculateur". Un signal vrai est formé à la sortie SM1 du module "raccourcissement", ce qui provoque la mise à 1 des bascules S11, S31 et S22 de la "matrice de commutateurs". Le module "raccourcissement" demande alors l'intervention du module "décodage" I. 30 Celui —ci forme un signal vrai à la sortie DM11, ce qui rend vraie la logique DM11 .S11 en provoquant ainsi le/Souplage, par " le circuit de sélection DS1, de la sortie du circuit de sélection DS4 avec l'entrée du décodeur d'adresse 1316 et le couplage, par le circuit de. sélection DS5, de la sortie MDR de la 35 zone 1 du module "mémoire" avec sa propre sortie. En conséquence, le circuit de sélection DS1 transmet conditionnellement l'adresse contenue dans le registre MAR1, du module "décodage" 1 au décodeur d'adresse de la zone 1 du module "mémoire" et le -400- 2334148 circuit de sélection DS5 renvoie conditionnellement de l'information, de la zone 1 du module "mémoire" au module appelant (en l'occurrence le module "décodage" I). Etant donné qu'une opération de permutation d'une seule ligne a lieu, le module 5 "raccourcissement" forme un signal vrai à la. sortie SM5 (c'est-à-dire qu'il affirme SM5), en indiquant ainsi que la zone 1 du ï module "mémoire" contient le meilleur raccourci trouvé jusqu'à présent, puis le module "raccourcissement,, appelle l'intervention du module "permutation". 10 Le module "permutation" forme alors un signal vrai à sa sortie RM8, ce qui provoque la génération, par les portes 14-10 et 14-12-14-16 de la "matrice de commutateurs", d'une impulsion d'horloge qui met les bascules S11, S21 et S32 à l'état vrai et qui remet à 0 les bascules S22 et S31. Le module "per-15 mutation" forme alors un signal vrai à la sortie KM12, cependant que le signal vrai de la sortie SM5 persiste. Ceci provoque la mise à 1 de la bascule SP. Le module "permutation" forme alors la ligne 1 de 1'iso-entropicogramme, comme représenté dans la table 44-, puis au cours de cette opération, le module 20 "décodage" I et le module "décodage" II lisent tous deux dans la zone 1 du module "mémoire" sous la commande des bascules S11 et S21 de la "matrice de commutateurs" tandis que le module "codage" écrit dans la zone 2 du module "mémoire" sous la commande de la bascule S32. Une fois que cette opération est ter-25 minée, le module "raccourcissement" reprend la commande. Le module "raccourcissement" forme alors un signal vrai à la sortie SM11, ce qui provoque l'application, par l'inverseur de signal 144-2 de la "matrice de commutateurs", d'un signal faux ou. d'inhibition aux portes d'horloge 1412-1416. 30 Le module "raccourcissement" forme également un signal vrai à la sortie SM12, ce qui provoque l'application par la porte OU 1410 de son signal d'horloge aux portes 1412-1416, mais ce signal est à ce moment sans effet en raison de la présence du signal d'inhibition appliqué par l'inverseur 1442. Etant donné 35 que la ligne 1 de 1'iso-entropicogramme (table 44) est plus courte que la ligne 0, le module "raccourcissement" forme à nouveau un signal vrai à la sortie SM5, en indiquant ainsi que la ligne 1 de la zone 2 du module "mémoire" doit être préservée. -401- 2334148 Le module "raccourcissement1* forme maintenant un signal vrai à la sortie SM12 mais, étant donné que les portes 1412-1416 sont inhibées, seules les bascules S11, S12 et S13 reçoivent un signal d'horloge. En outre, étant donné que la bas-5 cule S32 est à 1, le signal d'horloge provoque la mise à 1 de la bascule S12 et la remise à 0 de la bascule S11. En conséquence, à ce stade, les bascules S12, S21 et S32, ainsi que la bascule SP, sont à 1, comme indiqué sur la Fig. 45. Le module "raccourcissement" lit maintenant en utili-10 sant le module "décodage" I, dans la zone 2 du module "mémoire" et détermine que le système doit effectuer une permutation vers le bas de deux lignes dans 1'iso-entropicogramme et, par conséquent, il appelle le module "permutation". Le module "permutation" forme alors un signal vrai à la sortie EM8, ce qui pro-15 voque l'application par la porte 1410 d'un signal d'horloge aux bascules S11, S12 et S13 et aux portes 1412-1416. A ce stade, la bascule SP est encore à 1, du fait que, pendant ce dernier cycle, il a été établi que la zone 1 ne devait pas être surchargée. Un signal vrai est alors formé en SM5, en raison du fait 20 que la ligne 1 de la zone 2 est la plus courte et constitue actuellement un raccourci possible et, par conséquent, ne doit pas être surchargée. En conséquence, le signal d'horloge provoque la mise à 1 des bascules S12, S22 et S33. Le module "permutation" forme maintenant un autre si-25 gnal à la sortie RM12 et, étant donné qu'un signal vrai est encore formé à la sortie SM5, la bascule SP reste encore à 1. Cette fois, l'état 1 de la bascule SP indique que la zone 2 du module "mémoire" qui contient la ligne 1 doit être préservée du fait que cette ligne constitue actuellement la meilleure ligne 30 de raccourci. Le module "permutation" procède alors à une permutation vers le bas de deux lignes dans 1'iso-entropicogramme. Une fois que cette permutation est terminée, la zone 3 du module "mémoire" contient la ligne 3 de l'iso-entropicogramme. La commande repasse maintenant au module "raccourcissement". Celui-35 ci fonae alors des signaux vrais aux sorties SM11 et SM12, ce qui provoque l'inhibition des portes 1412-1416 et, par conséquent, seules les bascules S11, S12 et S13 reçoivent des signaux d'horloge. Ceci provoque la mise à 1 de la bascule S13« Le mo -4-02- 2334148 dule "raccourcissement" détermine alors qu'une permutation de deux lignes doit avoir lieu. Il détermine aussi que la ligne 3 de 1'iso-entropicogramme maintenant contenue dans la zone 3 du module "mémoire" n'est pas plus courte que la ligne 1 et, 5 par conséquent, le signal vrai de la sortie SJ!5 est supprimé par le module "raccourcissement". Le module "permutation" est alors appelé, ce qui déclenche l'opération de permutation. Le module "permutation" forme un signal vrai à la sortie EM8, ce qui a pour effet que la porte 01114-10 applique des 10 signaux d'horloge à toutes les bascules de la "matrice de commutateurs". En conséquence, les bascules S13, S23 et S31 sont mises à 1 et les bascules S22 et S33 sont remises à 0. Il en résulte que la zone 2 du module "mémoire" contenant la ligne 1 de 1'iso-entropicogramme est préservée. Le module "permutation" 15 forme également un signal vrai à la sortie EM12 et, étant donné qu'un signal vrai n'est pas formé à la sortie SM5, la bascule SP est remise à 0. Le module "permutation" permute maintenant la ligne 3 vers le bas jusqu'à la ligne 5 de 1'iso-entropicogramme et la ligne 5 est stockée dans la zone 1 du module "mémoire". 20 Pendant cette opération de permutation, le module "permutation" appelle le module "décodage" I, qui appelle à son tour le module "mémoire" et qui forme un signal vrai à la sortie DM11. Etant donné que la bascule S13 est à 1, la logique S13.DM11 est vraie, ce qui provoque la transmission de l'adresse par les 25 circuits de sélection DS3 et DS5 à la zone 3 du module "mémoire" et le renvoi au module appelant de l'information sortie par lecture de la zone 3 du module "mémoire", par l'intermédiaire du circuit de sélection DS5. En outre, le module "permutation" appelle le module "décodage" II, qui forme à son tour un signal 30 vrai à la sortie DM21. Etant donné que la bascule S23 est à 1, la logique S23.DM21 est vraie, ce qui provoque le transfert de l'adresse, par la porte DS3, du registre MAR2 du module "dé-" codage" II à la zone 3 du module "mémoire" et ce qui provoque le renvoi au module "décodage" II de l'information sortie par 35 lecture de l'emplacement d'adresse, par l'intermédiaire du circuit de sélection DS5. Enfin, pendant son opération de sortie, le module "permutation" appelle le module "codage" qui écrit dans la -403- 2334148 zone 1 du module "mémoire". A cet effet, le module "codage" forme un signal vrai à la sortie EWI et, étant donné que la bascule S31 de la "matrice de commutateurs" est à 1, la logique S31.EWI est maintenant vraie, ce qui provoque le transfert, par 5 le circuit de sélection DS1, de l'adresse du registre MAR3 du module "codage" à la zone 1 du module "mémoire". En outre, le signal vrai en EWI provoque le couplage, par le circuit de sélection DS4, et par son propre intermédiaire, de la sortie du module "codage" avec l'entrée MIE de la zone 2 du module "mé-10 moire". Le circuit d'autorisation d'écriture 1322 forme un signal vrai à la sortie EW, comme décrit précédemment, et la présence de signaux vrais en WE et en IWE provoque l'application par la porte ET 1330 d'un signal d'autorisation d'écriture à la zone 1 du module "mémoire", ce qui provoque l'écriture par 15 celle-ci de l'information de sortie du module "codage". La commande repasse alors au module "raccourcissement". Le reste du fonctionnement, pendant la permutation à travers 1*iso-entropicogramme de la table 44 peut être aisément suivi en se référant à la table 45. 20 - XX. "MEMOIRE P/B" La "mémoire P/B" représentée sur la Fig. 60 comporte deux zones de mémoire 1 et 2, respectivement désignées par les références 1514 et 1516. Ces zones sont constituées par des mémoires du type RAM du même genre que celles qui ont été dé-25 crites ci-dessus à propos du module "mémoire". Ces zones de mémoire sont utilisées comme mémoire bloc-note lecture/écriture lors de l'exécution des fonctions des modules "cadrage" et "concordantiel". Les» seuls modules du système avec lesquels la "mémoire P/B" doit communiquer sont les modules "cadrage", 30 "concordantiel" et "jonction du système DPM". La "mémoire P/B" comporte une bascule de commutation SM qui désigne, entre les zones 1 et 2, celle qui doit servir de zone de lecture et celle quidoit servir de zone d'écriture. Par exemple, lorsque la bascule SM est à 1, une lecture s'effec-35 tue dans la zone 1 et une écriture dans la zone 2. Les circuits de transmission conditionnelle sont représentés par des équations logiques utilisant les sorties d'autres modules, bascules, etc. comme termes explicites. -404- 2334148 Les circuits de sélection DS1 et DS2 sont des sélecteurs de données du même type que celui qui a été décrit ci-dessus à propos du module "mémoire", qui acheminent les signaux du module "cadrage" et du module "concordantiel" vers les dé-5 codeurs d'adresse de mémoire appropriés 1515 et 1517» En ce qui concerne les circuits de sélection DS1 et DS2, on remarquera que chacune des logiques indiquées contient un terme provenant soit du module "cadrage", soit du module "concordantiel", et que chacune des entrées de commande, à l'exception de l'entrée 10 de commande 5 du circuit de sélection DS1, comporte un second terme provenant de l'une des sorties de la bascule SM. De cette manière, la bascule SM est capable de commuter les zones 1 et 2 selon la fonction (lecture ou écriture) à réaliser, en fonction de son état. Si la bascule SM est à 1, les portes OU 1510 et 15 1512 provoquent une lecture par les modules "cadrage" et "concordantiel" dans la zone 1 de la "mémoire P/B" et une écriture par ces mêmes modules dans la zone 2 de la "mémoire P/B". Si la bascule SM est à 0, les portes OU 1510 et 1512 provoquent une écriture par les modules "cadrage" et "concordantiel" dans la 20 zone 1 de la "mémoire P/B" et une lecture par ces mêmes modules dans la zone 2 de ladite mémoire. A cet effet, les adresse de lecture sont"émises" par DS1 et DS2 à partir du circuit de sélection DS1 du module "concordantiel" et à partir du registre M1 du module "cadrage", tandis que les adresses d'écriture sont 25 reçues du registre M2 du module "concordantiel" et du registre M2 du module "cadrage" ainsi que du circuit de sélection DS4 du module "jonction du système DHS". Le sélecteur de données DS5 transmet conditionnellement les données à écrire à l'entrée MIE des zones 1 et 2 de la "mé-30 moire P/B". Le sélecteur de données DS6 de la "mémoire P/B" transmet conditionnellement l'information sortie par lecture des zones de mémoire 1 et 2 aux modules "cadrage" et "concordantiel". 35 Le circuit d'autorisation d'écriture 1522 est identique au circuit d'autorisation d'écriture 1522 précédemment décrit pour le module "mémoire", Fig. 58. Comme dans le cas du module "mémoire", le circuit d'autorisation d'écriture 1522 comprend -405- 2334148 une porte OU 1524 (correspondant à la porte 1324) qui forme un signal vrai à l'entrée P/B GO du circuit d'autorisation d'écriture 1522. L'entrée nP/B G0M correspond à l'entrée étiquetée MEMGO du module "mémoire". La porte OU 1524 comporte les en-5 trées indiquées alimentéeg£ar les modules "cadrage", "concordantiel" et "jonction du système DPM", entrées qui demandent 1'intervention de la "mémoire P/B" et qui sont analogues à celles qui ont été décrites ci-dessus à propos de la porte 1324 du module "mémoire". 10 La fonction de la "mémoire P/B" est analogue à celui qui a été décrit précédemment en ce qui concerne le module "mémoire" et il n'est pas nécessaire de décrire ici ce fonctionnement de façon détaillée pour la compréhension totale de l'invention. 15 Les signaux de commande d'entrée et de sortie utilisés pour commander le fonctionnement de la "mémoire P/B" ainsi que les entrées/sorties d'information (désignées par des traits renforcés) sont représentés le long du côté droit de la Fig. 60. Les flèches tournées vers la gauche indiquent des signaux 20 d'arrivée et les flèches tournées vers la droite indiquent des signaux de départ, par rapport à la "mémoire P/B". XXI. ORGANISATION GENERALE DU SYSTEME DPM DE VARIANTE 2 A. Exposé général L'organisation générale du système DPM de variante de 25 la Fig. 61 implique la mise en oeuvre du procédé de recherche rapide de raccourci précédemment décrit. Le système DPM de variante de la Fig. 61 comprend le "minicalculateur", le module "jonction du système DPM", les modules "décodage" I et II et le module "codage", qui ont tous été décrits ci-dessus. 30 Pour ce mode de réalisation préféré de l'invention, on prévoit en outre spécialement les nouveaux modules suivants : module "delta" 2, module "permutation" 2, module "permutation" 3, module "raccourcissement" 2, module "sortie" 2, module "mémoire" 2, module "mémoire auxiliaire" II et module "matrice 35 de commutateurs" 2. Le module "permutation" 2, conjointement à d'autres parties du système représenté sur la Fig. 61, forme un permutateur capable d'engendrer diverses lignes d'un iso-entropicogramme, à partir d'une ligne d'entrée donnée, sans -4-06- 2334148 engendrer les lignes intermédiaires de 1*iso-entropicogramme. Le module "permutation" 3 est tme version modifiée du module "permutation" 2, qui engendre seulement les deux plus grandes (ou les deux dernières) valeurs d'apparition effectives pour 5 une ligne de 1'iso-entropicogramme. On se souvient de ce que les deux plus grandes valeurs d'apparition sont celles qui sont nécessaires pour déterminer la ligne suivante de l'iso-entropicogramme devant être engendrée au cours du processus de localisation du raccourci. Comme décrit plus loin de façon plus 10 détaillée, le module "delta" 2 diffère du module "delta" en ce qu'il est capable d'engendrer n'importe quelle ligne du "Delta" représenté à titre d'exemple dans la table 6. Le module "delta" 2 déplace en outre vers la droite des lignes du "Delta" en assurant ainsi la formation de valeurs de "Delta" déplacées. Ces 15 valeurs de "Delta" déplacées sont appliquées en tant qu'entrées au module "permutation" 2 et au module "permutation" 3 et sont utilisées par ces modules dans le cadre de leur processus de génération de lignes suivantes de 1'iso-entropicogramme. La réalisation spécifique de ces modules sera décrite de façon plus 20 détaillée ci-après à propos de chacun d'eux. Toutefois on peut d'abord brièvement résumer comme suit le mode de fonctionnement assurant la recherche rapide d'un raccourci : 1. Lire les deux plus grandes valeurs d'apparition effectives 25 (N1, N2). 2. Calculer T = MAX (HW-ïLj, Î^-Ng) où HI = largeur de l'iso-entropic ogramme . 3. Si le système a. effectué une permutation complète à travers 1'iso-entropicogramme, alors passer à l'opération 6 ci-des- 30 sous ; sinon, passer à l'opération 4- ci-dessous. 4-, Appeler le module "permutation" 3 en le faisant retourner à , IL, de la ligne suivante de 1'iso-entropicogramme. Le module "permutation" 3 permute une ligne d'un iso-entropicogramme du nombre de lignes spécifié par la valeur T, 35 mais renvoie seulement N1 et N2 de cette ligne et non la ligne entière. 5. Si ÏLj est inférieur à la plus grande valeur d'apparition de la ligne de raccourci actuelle, stocker une identification -407- \ 2334148 de la ligne de raccourci actuelle et revenir à l'opération 2. 6. Appeler le module "permutation" 2 pour provoquer une permutation du nombre de lignes spécifié par T et la génération de la ligne de raccourci résultante complète. 5 7. Arrêt. On comprendra plus complètement cette partie de l'invention à.la lecture de l'exposé qui va suivre. les modules "décodage" I et II et le module "codage" utilisés pour cette réalisation de variante sont essentiellement 10 identiques, en ce qui concerne leur construction, aux modules "décodage" et "codage" de la première variante. Toutefois, en raison de la nature de la seconde construction, les séquences d'appel de ces modules sont différentes de celles qui ont été précédemment décrites. La version modifiée de ces modules se 15 présente comme représenté sur les Fig. 61A - 61H. Comme décrit précédemment, cette réalisation de variante impose une séquence d'appel différente des modules "décodage" et "codage". On peut dire que cette réalisation de variante engendre des lignes de 1'iso-entropicogramme directement 20 au prix de l'utilisation d'une mémoire auxiliaire, tandis que la première réalisation engendrait une nouvelle ligne par permutation vers le bas suivant les puissances de 2 composantes, mais sans utiliser aucune mémoire auxiliaire. Etant donné que les nouvelles lignes sont engendrées directement, il n'y a pas 25 d'alternance de la commande entre les modules "décodage" I et II. En conséquence, les circuits de chargement ou d'initialisation de ces modules sont quelque peu raccourcis. En outre, le module "modification" 2 doit assurer le mélange de la ligne de modification permutée avec la ligne de raccourci. Ceci contraint ce 30 module à appeler les trois autres. En outre, le module "sortie" 2 écrit son information de sortie directement dans la zone 3 du module "mémoire". En conséquence, il n'appelle pas "codage". Enfin, il est à noter que, dans cette variante, la situation dans laquelle les deux modules "décodage" I et "décodage" II 35 lisent dans la même zone du module "mémoire" du système DFM ne se produit pas. Ce qui va suivre est une brève description des trois modules en question et des modifications de câblage qu'ils nécessitent. -408- 2334148 B. MODULE "CODAGE" révisé Dans le premier système décrit, le module "codage" était appelé par les modules "raccourcissement", "permutation" et "sortie". Dans le module "codage" révisé de la variante dé-5 crite maintenant, seul le module "permutation" 2 et le module "modification" 2 appellent le module "codage". Le module "permutation" 2 doit appeler le module "codage" lors de la génération d'une ligne de 1'iso-entropicogramme; le module "modification" 2 appelle le module "codage" au cours du processus de mélange de 10 la ligne de modification permutée et de la ligne de raccourci. Etant donné que le module "sortie" 2 n'appelle pas le module "codage", la fonction d'écrêtage n'est pas exécutée. En conséquence, les sélecteurs de données EDS4 et EDS5 ne sont pas nécessaires-. On peut voir d'ailleurs que sur la Fig. 61A 15 ces sélecteurs ont été omis. Dans la variante, les registres appropriés du dispositif IPRF alimentent directement EBL et ETL. On remarquera que les circuits de chargement initial des registres EBL, ETL et EHW ont été modifiés et sont devenus A2R2+A2C5. Les impulsions correspondantes émanent respective-20 ment du module "permutation" 2 et du module "modification" 2. Sur la Fig. 61B, on peut voir que la première entrée du sélecteur de données EDS6 a été transférée du module "sortie" à la sortie DS1 du module "modification" 2. La seconde entrée est maintenant alimentée par le registre RI du module "permuta-25 tion" 2. Les lignes de déverrouillage de EDS6 ont été modifiées et sont devenues A2R8 et A2C9. D'une manière analogue, les entrées de la porte OU 109 ont été modifiées pour refléter les impulsions d'horloge provenant des modules "permutation" 2 et "modification" 2. L'entrée de chargement (L) du registre EIR a 30 été modifiée et est devenue A2R2 + A2C5. En outre, sur la Fig. 61B, les signaux d'entrée/sortie ont été modifiés pour ne plus refléter que les signaux de commande et de données nécessaires. On remarquera que ces signaux proviennent seulement des modules "permutation" 2 et "modification" 2. 35 Sur la Fig. 61C, les circuits suivants du module "co dage" ont eu leurs circuits d'entrée modifiés : les portes OU 105, 106 et 107 ont été modifiées pour refléter les signaux convenables provenant des modules "permutation" 2 et "modifica- -409- 2334148 tion" 2. En outre, l'entrée de la bascule P1 est maintenant mise à la masse. Ceci indique que la partie "P1-B4" du compteur n'est pas utilisée. Les bascules P1-P4- assuraient la fonction d'écrêtage du module "sortie". Cette fonction n'est pas néces-5 saire dans la réalisation de variante. Ceci termine la description du module "codage" révisé de la réalisation de variante. Les révisions ci-dessus concernent le module "codage" lorsque celui-ci est appelé par les modules "permutation" 2 et "modification" 2. 10 C. MODULE "DECODAGE" I révisé Le module "décodage" I révisé est appelé par les modules "jonction du système DFM", "permutation" 2, "permutation" 3, "raccourcissement" 2, "modification" 2 et "sortie" 2. Seuls les circuits d'initialisation ont été modifiés pour refléter 15 les signaux de commande et de données provenant de ces modules de variante. Le circuit de sélection d'entrée du registre MLN1 a été révisé pour refléter le fait que la commutation d'alternance entre les zones du module "mémoire" ne s'effectue dans cette 20 variante qu'en liaison avec le module "modification". En conséquence, la porte ET 222 est supprimée dans le montage. Le circuit de déverrouillage de la porte ET 220 qui permet la liaison entre MLN3 du module "codage" et MLffl comprend le circuit A2S10.CNG+A2V5. Le signal A2C5 provient du module "modification" 25 2 etr est utilisé pour permettre le transfert de la longueur de la ligne de modification permutée à MLN1. Le signal A2S10.CNG provient du module "raccourcissement" 2 lorsque ce module est appelé par le module "modification" 2. Une porte ET assure encore la transmission conditionnelle d'information, du dispositif 30 IPRF à MLN1. Le circuit de déverrouillage est essentiellement le même que celui du module "décodage" I original; seuls les noms des signaux ont été modifiés. On remarquera que si le module "raccourcissement" 2 est appelé directement, le signal A2S10.CNG transmet l'information à MLN1 à partir de OFRF et 35 non plus à partir de MLN3. La porte OU 228, dont la sortie initialise la bascule D1FST reçoit à ses entrées des signaux provenant des modules de variante en plus de ceux qui émanent des modules "jonction", "cadrage" et "concordantiel". -410- 2334148 Sur la Fig. 61E, les signaux d'entrée/sortie ont été modifiés pour refléter les signaux provenant des réalisations de variante de chacun des nouveaux modules. En outre, la porte d'excitation 230 a eu ses entrées modifiées pour re-5 fléter les appels provenant des nouveaux modules. D. MODULE "DECODAGE* II révisé Le module "décodage" II révisé représenté sur les Fig. 61F-61H reflète le fait que, dans la réalisation de variante, ce module n'est appelé que par les modules "modification" 2, 10 "sortie" 2, "cadrage" et "concordantiel". En conséquence, certaines parties des circuits d'initialisation du module "décodage" II ont été considérablement réduites. Sur la Fig. 61F, l'entrée du sélecteur de données DDS1 a été réduite de sept entrées à trois entrées. Dans le module 15 révisé, seules les entrées alimentées par OERF, "cadrage" et "concordantiel" sont nécessaires. Les circuits de déverrouillage ont été modifiés d'une manière analogue pour refléter ces modifications. De même, le circuit de chargement a été modifié pour refléter le fait que les modules "modification" 2 et "sortie" 2 20 sont les seuls modules de la variante qui appellent "décodage" II. En outre, sur la Fig. 61F, les entrées du circuit d'actionnement asynchrone de la bascule D2FST ont été modifiées, c'est-à-dire que les entrées de la porte OU 228' ont été changées. Sur la Fig. 61G, seules les entrées de signaux de mise 25 en action des modules (entrées de la porte 230') sont modifiées. Enfin, sur la Fig. 61H, les signaux de commande d'entrée et de données ont été modifiés pour refléter les signatix et les données émanant démodulés de variante "modification" 2 et "sortie" 2. 30 Telles sont les révisions qui doivent être apportées aux modules "décodage" I et II et au module "codage" pour permettre leur incorporation à la réalisation de variante. On remarquera que les circuits modifiés comprennent principalement des circuits d'initialisation et d'excitation, c'est-à-dire les 35 circuits qui communiquent directement avec les modules appelants. E. MODULES "CADRAGE" et "CONCORDANTIEL" Les modules "cadrage" et "concordantiel" sont incorporés à la réalisation de variante, mais ils sont légèrement -411- 2334148 révisés. Cette révision réside essentiellement en ce que les signaux qui sont maintenant utilisés entre les modules "cadrage" et "concordantiel" et le module "mémoire P/B" sont maintenant appliqués au module "mémoire auxiliaire" II. Le module "mémoire 5 P/B" n'est pas utilisé dans cette réalisation de variante. On remarquera également que les signaux sont modifiés "chacun à chacun". En d'autres termes, aucun signal n'est ajouté et aucun signal n'est supprimé dans les modules en question. XXII. MODULE "DELTA" 2. 10 A. Description générale Le module "delta" 2 diffère du module "delta" du système DPM des fig. 1-60. Le module "delta" décompose simplement un nombre qui lui est fourni et qui désigne le nombre de lignes à permuter en ses puissances de 2 composantes. Le module "delta" 15 2 diffère du module "delta" en ce qu'il engendre une ligne quelconque du delta représenté à titre d'exemple dans la table 6. Le module "delta" 2 est en outre capable de déplacer vers la droite une ligne quelconque du delta d'un nombre spécifié quelconque de valeurs d'apparition possibles. Ces deux caracté-20 ristiques du module "delta" 2 permettent la génération d'une. ligne quelconque de 1'iso-entropicogramme à partir d'une ligne donnée sans qu'il soit nécessaire d'engendrer les lignes intermédiaires de 1'iso-entropicogramme. Cette technique a été exposée précédemment dans ses grandes lignes dans le chapitre. 25 I. B. Techniques iso-entropicographiques. En outre, le module "delta" 2 utilise une technique spéciale pour engendrer une rangée quelconque du delta. On remarquera cu'un delta de la même largeur que 1'iso-entropicogramme est nécessaire pour la ligne donnée. 30 La table 6 représente un delta comprenant huit valeurs d'apparition possibles. La technique spéciale en question est la suivante : Si un iso-entropicogramme a une largeur de N, une ligne M quelconque du delta peut être engendrée en utilisant la fonction "implique" dite ici "fonction implicite" de la co-35 lonne (valeurs d'apparition possibles) en allant de 0 à N, puis en utilisant également le numéro de ligne M. Cette fonction est décrite par les formules suivantes : -412- 2334148 F = "G implique R" équivaut à (C-^R). ï = C ou E . La fonction implicite est en conséquence appliquée entre une valeur de colonne C quelconque (valeur d'apparition possible) et une valeur de ligne R quelconque, C étant le numéro de la colonne (ou de la valeur d'apparition possible) du delta et R étant le numéro de la ligne du Delta qui doit être engendrée. Le résultat de l'équation F = ÏÏ ou R est calculé et les bits sont soumis en série à des opérations logiques "ET". Si le résultat est un "1", c'est qu'il existe une valeur d'apparition dans la colonne intéressante (valeur d'apparition possible) et sur la ligne intéressante du delta. Par contre, si le résultat est "0", c'est que la colonne intéressante de la ligne intéressante du delta ne contient pas de valeur d'apparition. On comprendra plus aisément le concept ci-dessus en se référant à l'exemple de la table 48. Comme décrit plus loin de façon plus détaillée à propos du module "delta" 2, la valeur d'apparition possible intéressante est stockée dans un registre DELCOL, tandis que la valeur de numéro de ligne intéressante est stockée dans le registre DELRO. A titre d'exemple, on supposera que 1'iso-entropicogramme a huit valeurs de largeur et qu'on désire engendrer la ligne de delta 5* En se référant à la table 48, on voit que la valeur de numéro de ligne est constante à 5 (101) tandis que la valeur d'apparition possible varie entre 0 (000) et 5 (101). Si l'on établit une fonction implicite pour la valeur d'apparition possible 0 (000) en utilisant la fonction implicite P = ÏÏ + R on obtient le résultat suivant : P = 0 0 0 + 101 =1 1 1 +1 01 =1 1 1. Ce qui précède est représenté en 0 sur la table 48. En répétant la fonction implicite pour chacune des valetirs d'apparition possibles 1 à on obtient l'équivalent binaire des valetirs décimales 775577 indiquées dans la table 48. L'exécution d'une opération logique ET par bit comme indiqué ci-dessus, sur cet équivalent binaire, donne le résultat 110011 indiqué dans l'avant-dernière colonne de la table 48. Ceci représente les valeurs d'apparition possibles 0, 1, 4 et 5, ce qui correspond à la ligne de delta 5 (voir table 6). "413~ 2334148 En résumé, le point important de cette réalisation du module "delta" 2 réside en ce que chaque fois que le résultat d'une opération logique ET entre deux bits est 1, alors la valeur d'apparition possible correspondante est sortie, car ce 5 résultat indique la présence de cette valeur d'apparition dans la ligne désirée du delta. Si le résultat est 0, alors la valeur d'apparition possible n'est pas sortie car il n'y a pas de valeur d'apparition dans cette colonne. On comprendra en outre clairement d'après l'exposé qui va suivre relatif au module "delta" 2 10 qu'il est nécessaire de déplacer les valeurs d'apparition possibles des valeurs de delta vers la droite d'un certain nombre de rangs spécifié N. Ce déplacement s'effectue simplement en ajoutant la valeur U à la valeur d'apparition possible et en sortant le résultat. Par exemple, la liste de droite de valeurs 15 d'apparition représentée sur la table 48 est déplacée vers la droite de trois rangs, simplement en ajoutant 3 à chaque valeur. Plusieurs caractéristiques supplémentaires du module "delta" de variante 2 sont à noter. Tout d'abord, il n'est pas nécessaire de former les valeurs du delta en allant de gauche 20 à droite au-delà du point où les valeurs restantes avant le bord de 1'iso-entropicogramme sont des "0". Par exemple, si la largeur de 1*iso-entropicogramme est de 256 valeurs d'apparition et si l'on est en train d'engendrer la ligne 2 du delta, il n'est pas nécessaire d'engendrer des valeurs au-delà de la va-25 leur d'apparition possible 2, étant donné que toutes les valeurs situées au-delà de cette valeur d'apparition possible sont des "0". A ce propos, on peut remarquer qu'une fois que la valeur d'apparition possible a dépassé le numéro de ligne auquel on s'intéresse, toutes les valeurs d'apparition sui-30 vantes sont des "0". Il est donc possible à ce stade de former simplement une indication précisant que toute la ligne du delta a été engendrée. En outre, le module "delta" 2 déplace des lignes du delta d'un nombre spécifié de rangs vers la droite. En consé-35 quence, il est possible que la ligne déplacée vienne à s'étendre au-delà de la largeur de 1'iso-entropicogramme. Les valeurs situées au-delà du bord de 1'iso-entropicogramme n'ont pas besoin d'être engendrées. A cet effet, une indication de -414- 2334148 débordement est engendrée chaque fois qu'au cotirs du processus " de déplacement une valeur est formée au-delà de la largeur de 1'iso-entropicogramme. B. Composants 5 Le module "delta" 2 est représenté sur la Fig. 62 sur laquelle on peut voir qu'il comprend les registres DELCOL, DELRO, DELV et DELHW. Le but de chacun de ces registres est représenté dans la table 49. Chacun de ces registres comprend huit bits de stockage et est du type indiqué ci-après. Un signal vrai appli-10 que à l'entrée L de l'un quelconque des registres DELRO, DELV et DELHW provoque le stockage dans le registre considéré des huit bits appliqués à son entrée. Les registres DELCOL et DELV comptent un état dans le sens positif en réponse à chaque signal vrai appliqué à leur entrée C. Le registre DELCOL est remis à 0 15 en réponse à un signal vrai appliqué à son entrée CLR. En outre, le module "delta" 2 comporte des circuits de sélection DS1, DS2. Ces circuits de sélection sont du même type que ceux qui ont été précédemment décrits. Sont également prévues des bascules PI à ?5 qui forment 20 un compteur de commande 1613. Des bascules de drapeau DELFST, DELEND et DELOVL sont en outre prévues et leur but est indiqué dans la table 49. Toutes ces bascules sont du type à déclenchement par flanc avant d'impulsion précédemment décrit. En outre, des circuits de transmission conditionnelle 25 OU 620, 622 et 624 conventionnels sont prévus. Un circuit inverseur de signal logique conventionnel 1626 forme an LT une inversion logique du signal apparaissant à la sortie LT. 11 Les sorties non surlignées des huit bascules de chacun des registres DELCOL et DELRO sont représentées sur la Fig. 64 30 par des lignes marquées 0 à 7. Seules les lignes 0 et 7 correspondant aux bascules de plus faible poids et de plus fort poids sont effectivement représentées sur la Fig. 64, les autres étant indiquées en trait interrompu. Huit circuits inverseurs de signal logique 1640 sont 35 respectivement connectés aux sorties non surlignées 0 à 7 du registre DELCOL. Plus précisément, les circuits inverseurs 1640-0 à 1640-7 (seuls les circuits-,.1640-0 et 1640-7 sont effectivement représentés) sont connectés aux sorties O à 7 -415- 2334148 du registre DELCOL. Sept circuits de transmission conditionnelle OU 1642 respectivement désignés par 1642-0 à 1642-7 (seuls 1642-0 et 1642-7 étant effectivement représentés) sont associés aux sorties portant les numéros correspondants des registres 5 DELCOL et DELRO. Par exemple, la porte OU 1642-0 est reliée par l'une de ses entrées à la sortie de l'inverseur de signal 1640-0, lequel est à son tour connecté à la sortie 0 du registre DELCOL, tandis qu'une seconde entrée de ladite porte OU est directement connectée à la sortie 0 du registre DELRO. 10 Chacune des autres portes OU 1642-1 à 1642-7 comporte également deux entrées, dont l'une est connectée, par l'intermédiaire du circuit inverseur 1640 portant le numéro correspondant, à la sortie portant le numéro correspondant du registre DELCOL et dont l'autre est directement connectée à la sortie portant le 15 numéro correspondant du registre DELRO. Les sorties de chacune des portes OU 1642-0 à 1642-7 sont connectées chacune à une entrée de la porte ET 44. La sortie de la porte ET 44 est connectée à l'entrée d'horloge représentée sur le côté supérieur de la bascule S. 20 L'entrée d'horloge de la bascule S, située dans la partie inférieure de gauche de sa représentation, est connectée à une porte représentée par la logique P4.CLK. En outre, l'entrée de rétablissement est connectée à la sortie VCC du module "jonction du système DPM" et l'entrée supérieure de mise à 1 25 sans horloge est connectée à la sortie P3 de la bascule P3 du compteur de commande 1613 (Fig. 62). La commande rythmée du module "delta" 2 est assurée par l'horloge généralisée 700 précédemment décrite. Il est à noter que l'entrée CS est mise à la masse, ce qui assure une 30 entrée "fausse" permanente en CS, ce qui rend inopérante la caractéristique de suspension d'horloge. Sont également prévus des comparateurs C-1 et C-2. Le comparateur C-1 compare les contenus respectifs des registres DELCOL et DELRO et forme des signaux vrais aux sorties GT ou LT 35 selon que le contenu du registre DELCOL est plus grand ou plus petit, respectivement, que celui du registre DELRO. Le comparateur C-2 compare les contenus respectifs des registres DELV et DELffiï et forme des signaux vrais aux sorties G, L ou E, selon -416- 2334148 que le contenu du registre DELV est supérieur, inférieur ou égal, respectivement, à celui du registre DELHW. Le circuit 1628 forme un circuit "implique", dit ci-après "circuit d'implication". Le circuit d'implication est un 5 circuit de transmission conditionnelle logique, qui soumet à des opérations logiques OU respectives des bits correspondants des registres DELCOL et DELRO et qui effectue une opération logique ET par bit sur le résultat pour produire un signal vrai aux sorties S ou S selon que le résultat est "1" ou "0", respec-10 tivement. La Fig. 64 représente les détails du circuit d'implication 1628 représenté dans ses grandes lignes sur la Pig. 62. Comme indiqué, il est prévu des inverseurs de signal logique 1640-0 à 1640-7, des portes OU 1642-0 à 1642-7 et une porte ET 15 1644. Une bascule à déclenchement par flanc avant d'impulsion S est également incluse; elle est du type précédemment décrit. Les lignes entrée/sortie d'information sont représentées en trait renforcé et les lignes entrée/sortie de commande sont représentées en trait fin le long du côté droit de la 20 Fig. 62. C. Description détaillée On considérera tout d'abord la séquence générale de fonctionnement du module "delta" 2 en se référant à l'organigramme de la Fig. 63. Les divers pavés de l'organigramme sont 25 identifiés par le symbole DM suivi d'un nombre (par exemple BM1) et l'état correspondant du compteur de commande 1613 est indiqué par un P suivi d'un nombre (par exemple P1) identifiant celle des bascules du compteur de commande 1613 qui se trouve alors à l'état "1". Initialement, chacune des bascules de dra-30 peau DELFST, DELEND et DELOVL est remise à 0, de même que les bascules du compteur de commande 1613, puis le module "delta" 2 est appelé. Initialement, un signal vrai est formé à l'une des sorties A201 par le module "raccourcissement" 2 bu à la sortie A2S1 de ce module, ce qui provoque le transfert d'une valeur 35 de largeur de 1'iso-entropicogramme, du registre HW du dispositif IPRF dans le registre DELHW. En outre, un signal vrai est formé à la sortie A2R4 ou A3R4 par le module "permutation" 2, ce qui provoque l'application d'une valeur de déplacement à -417- 2334148 l'entrée du registre DELV à partir de la sortie D01 du module "décodage" I ou la formation d'un signal vrai à la sortie A208 du module "sortie" 2 et, par conséquent, l'application d'une valeur de déplacement formée à la sortie OP de ce module, à l'entrée du registre DELV par le circuit de sélection DS2. Ensuite, un signal vrai est formé à l'entrée C du registre DELV à partir de l'une des sorties suivantes : A2R5 ou A3R5 du module "permutation" 2 ou encore A209 du module "sortie" 2, Le signal vrai appliqué à l'entrée C du registre DELV provoque le stockage de la valeur de déplacement dans ce registre. En outre, initialement, un signal vrai est formé à l'une des sorties suivantes : A3R1 ou A2R1 du module "permutation" 2 ou encore A205 du module "sortie" 2, ce qui provoque l'application d'un signal vrai aux entrées 1, 3 et 2 du circuit de sélection DS1. Des signaux vrais aux entrées "1, 3 et 2 du circuit de sélection DS1 provoquent le transfert de la valeur de ligne, à partir de la sortie RIL du module "permutation" 3, de la sortie RIL du module "permutation" 2 et de la sortie OP du module "sortie" 2 respectivement, à l'entrée du registre DELRO. Un signal vrai à la sortie A2R2 du module "permutation" 2, ou à la sortie A206 du module "sortie" 2, ou encore à la sortie A3R2 du module "permutation" 3» provoque le stockage de la valeur de ligne dans le registre DELRO. La porte OU 1622 déclenche, c'est-à-dire met à 1, la "bascule DELFST lors du premier appel du module "delta" 2 en réponse à un signal vrai apparaissant à l'une quelconque des sorties suivantes : A3R1 et A3R10 du module "permutation" 3» A2R1 et A2R10 du module "permutation" 2 et A201 du module "sortie" 2. Avec le stockage de l'information ci-dessus, le module "delta" 2 a maintenant été initialisé. Le module "delta" 2 est appelé par formation d'un signal vrai à l'une quelconque des sorties suivantes : A2012 du module "raccourcissement" 2; A3R6 du module "permutation" 3 et A2R6 du module "permutation" 2. Un signal vrai apparaissant à l'une quelconque de ces sorties provoque la formation par la porte OU 1620 du module "delta" 2 d'un signal vrai à la sortie de ce module, ce qui déclenche le fonctionnement de l'horloge généralisée et, par conséquent, -4-18- 2334148 l'application d'impulsions d'horloge en CLK et CLK au module "delta" 2, ce qui détermine sa séquence de fonctionnement. La "bascule DELFST étant à 1, l'appel du module "delta" 2 provoque l'attaque du pas HI2 après DM1. 5 Pendant DM2, la "bascule DELFST est remise à 0. En outre, la "bascule DELEBD est également remise à 0. DM10 est attaqué après DM2. Pendant DM10, la valeur d'apparition (éventuellement une valeur d'apparition déplacée) doit être transférée à partir de DELV dans le registre DELO 10 en vue de sa sortie. Après DM10, le fonctionnement du module "delta" 2 est suspendu en attendant un appel suivant. Tous les appels ultérieurs du module "delta" 2 ne produisent rien d'autre que le simple appel de ce module et celui-ci utilise les autres valeurs 15 qui y ont été précédemment placées, comme décrit ci-dessus. Le second appel du module "delta" 2 se produit lorsque la bascule DELFST est à l'état zéro. En conséquence, DM3 est attaqué après DM2. Pendant DIS3, un contrôle est effectué pour déterminer si le module a engendré comme désiré une ligne com-20 plète du delta. A cet effet, la valeur d'apparition possible actuelle contenue dans le registre DELCOL est vérifiée pour déterminer si elle est supérieure ( y ) ou égale ( = ) à la valeur de ligne initialement stockée dans le registre DELRO. Si elle est supérieure, la bascule DELEND est mise à 1 pour 25 indiquer que le module a achevé son fonctionnement et l'horloge généralisée 700 interrompt les opérations de sortie vers le module appelant. Si la valeur d'apparition possible actuelle du registre DELCOL est inférieure (L) à la valeur de numéro de ligne du re-30 gistre DELRO, DM5 est attaqué. Pendant DM5» la valeur d'apparition possible actuelle de DELCOL et la valeur d'apparition possible du registre DELV sont incrémentées de 1. Après DM5 est attaqué le pas DM6, au cotirs duquel un contrôle est effectué pour déterminer si le déplacement représenté par 1'incrémenta-35 tion de la valeur d'apparition possible du registre DELV s'est traduit par l'obtention d'une valeur située au-delà de la largeur de 1*iso-entropicogramme. A cet effet, la valeur de largeur de 1'iso-entropicogramme contenue dans le registre DELHW -419- 2334148 est comparée avec le contenu du registre DELV. Si la valeur d'apparition possible de DELV est plus grande que la largeur de 1'iso-entropicogramme, le pas DM7 est attaqué, pas au cours duquel la bascule DELOVL est mise à 1 et au cours duquel le fonctionnement de l'horloge généralisée 700 assure une sortie vers le demandeur. Si, par contre, la comparaison effectuée pendant DM6 révèle que la valeur d'apparition possible du registre DELV est plus petite que la valeur de largeur de 1'iso-entropicogramme du registre DELHW, M8 est attaqué. Pendant DM8, la fonction implicite est appliquée aux contenus des registres DELCOL et DELRO. La relation précédemment indiquée est P = (J + R et, en remplaçant les termes de cette relation par la valeur d'apparition possible du registre DELCOL et par la valeur de ligne du registre DELRO, cette relation peut être récrite sous la forme 3? = S = DELC0L+ DELRO. Si la fonction implicite donne un résultat "O", alors après DM9 le pas DM5 est repris et les valeurs d'apparition possibles des registres DELCOL et DELV sont incrémentées d'une valeur "'l", comme décrit précédemment. La boucle comprenant les pas DM6 et DM8 est répétée (itération) jusqu'à ce que la valeur d'apparition possible du registre DELV devienne plus grande que la largeur de 1'iso-entropicogramme du registre DELHW ou jusqu'à ce que la fonction implicite effectuée pendant 1358 donne un résultat "1" (S = 1). Lorsque cela se produit, un signal vrai est formé à la sortie S et le pas DM10 est attaqué, pas au cours duquel la valeur d'apparition possible du registre DELV est transférée dans le registre de sortie DELO en vue de sa sortie vers le demandeur. En résumé, on voit que la valeur d'apparition possible (ou colonne) a été déplacée. Le registre DELV contrôle ce processus de déplacement en incrémentant de 1 la valeur qu'il contient pour chaque déplacement élémentaire. Chaque fois qu'un 1 est rencontré (S = 1) dans la fonction implicite, la valeur d'apparition possible de DELV est chargée dans le registre DELO en vue de sa sortie. En gardant présente à l'esprit la description générale de l'organigramme de la Fig. 63, on va maintenant examiner de -420- 2334148 façon plus détaillée le module "delta" 2 tel qu'il est représenté sur la Fig. 62. On supposera que le module "delta" 2 a été initialisé comme décrit précédemment. Le compteur de commande 1613 ainsi que toutes les bascules PI à P5, sont remis à 0 par un signal vrai apparaissant à la sortie MR de l'horloge généralisée 700. Des signaux d'horloge sont alors formés en CLK par l'horloge généralisée 700. Etant donné que les bascules PI à P5 sont toutes initialement à 0, la logique PT.P5.P3 est vraie..En conséquence, la première excursion positive de l'impulsion en CLK provoque la mise à 1 de la bascule PI, ce qui détermine l'attaque du pas DM1 de 1'organigramme. A ce stade, les bascules PI et DELFST sont toutes deux à 1, ce qui détermine un signal vrai à la logique P.DELFST. En conséquence, l'impulsion CLK suivante provoque la mise à 1 de la bascule P5 et la remise à 0 de la bascule Pl. La logique P5»DELFST.CLK est maintenant vraie étant donné que la bascule P5 est à 1 et, par conséquent, à l'impulsion CLK la bascule DELFST est remise à 0. En outre, l'état vrai de la logique P5-CLK provoque le transfert de la valeur d'apparition possible contenue dans le registre DELV, au registre DELO. Cette môme logique provoque l'application d'un signal vrai à la sortie MT de l'horloge généralisée 700, ce qui provoque la formation d'un signal vrai à la sortie FC de ladite horloge, signal qui provoque à son tour l'apparition d'un signal vrai à la sortie DMEND du module "delta" 2 en interrompant ainsi le fonctionnement de ce module, c'est-à-dire en provoquant sa "suspension". Lors de l'appel suivant du module "delta" 2, c'est-à-dire lors de la formation du signal vrai suivant par la porte OU 1620, la bascule Pi est remise à 1. Toutefois, étant donné que DELFST a maintenant été remis à 0, rien ne se produit pendant que la bascule PI est à 1. L'impulsion CLK suivante provoque la mise à 1 de la bascule P2 et la remise à 0 de la bascule PI, ce qui permet l'attaque du pas DM3 de l'organigramme. L'état "1" de la bascule P2 provoque la génération d'un signal vrai à la sortie P2, ce qui assure le déverrouillage du comparateur C-1, qui compare alors le contenu de la valeur d'apparition possible du registre DELCOL avec le numéro de ligne contenu dans le registre DELRO. Si la valeur d'apparition possible -4-21- 2334148 du registre DELCOL n'est pas inférieure au numéro de ligne du registre DELRO, le comparateur C-1 forme un signal faux à la sortie LT, ce qui provoque la formation d'un signal vrai par l'inverseur 1626 à la sortie LT. En conséquence, lors de l'im-5 pulsion CLK suivante, la logique P2.LT.CÎLE devient vraie, ce qui met à 1 la bascule DELEND pour indiquer que toute la ligne désirée du delta a été engendrée par le module "delta" 2. En outre, le comparateur C-1 forme un signal vrai à la sortie GT et la logique P2.GT est vraie, ce qui provoque l'application 10 d'un signal vrai à l'entrée MT de l'horloge généralisée 700, qui forme alors un signal vrai à la sortie DHEND pour signaler que le fonctionnement du module "delta" 2 a été terminé et est maintenant suspendu. Si, par contre, la valeur d'apparition possible du 15 compteur DELCOL est inférieure au numéro de ligne du registre DELRO, alors le comparateur C-1 forme un signal vrai à la sortie LT, ce qui rend vraie la logique LT.P2, ce qui provoque la mise à 1 de la bascule P3 et la remise à 0 de la bascule P2 à l'impulsion CLK suivante. Ceci détermine l'attaque du pas DM5 20 de l'organigramme du module "delta" 2. Le signal vrai à la sortie P3 provoque l'incrémentation d'une unité par les compteurs DELCOL et DELV des valeurs d'apparition possibles qu'ils contiennent. Le signal vrai à la sortie P3 de la bascule P3 provoque la mise à 1 de la bascule P4- et la mise à 0 de la bascule 25 P3 à l'impulsion CLK suivante, ce qui détermine l'attaque du pas DM6.de l'organigramme. Un signal vrai est maintenant formé à la sortie P4 de la bascule P4-, ce qui provoque la comparaison par le comparateur C-2 de la valeur d'apparition possible du compteur DELV avec la valeur de largeur de 1'iso-entropicogramme 30 contenue dans le registre DELHI. Si la valeur d'apparition possible de DELV est la plus grande ou si elle est égale à la valeur de. largeur, le comparateur C-2 forme, respectivement, des signaux vrais aux sorties G ou E; l'un ou l'autre de ces signaux provoque la formation par la porte OU 1624- d'un signal vrai à 35 la sortie GE. Lors de l'impulsion CLK suivante, la logique P4-.GE.CLK devient alors vraie, ce qui provoque la mise à 1 de la bascule DELOVL et l'application d'un signal vrai à l'entrée MT de l'horloge généralisée 700, ce qui termine le fonctionne -422- 2334148 ment du module "delta" 2 en provoquant l'apparition d'un signal vrai à la sortie DMMD. Par contre, si la valeur de largeur du registre DELHW est plus grande que le contenu de DELV, le comparateur C-2 forme 5 un signal vrai à la sortie L lors de l'impulsion CLK suivante. La logique F4.CLK devient vraie, ce qui contraint le circuit d'implication 1628 à effectuer sa fonction. Si la fonction implicite telle qu'elle est appliquée aux registres DELCOL et DELRO donne "1" (S =1) un signal vrai est formé à la sortie S, 10 tandis que si le résultat est "0",. un signal vrai est formé à la sortie S. Un signal vrai en S rend vraie la logique P4.L.S, ce qui met la bascule P5 à 1 et ce qui penmet la remise à 0 de la bascule P5 à l'impulsion CLK suivante, en provoquant ainsi l'attaque du pas DM5 de l'organigramme. Par contre, si la sortie 15 S du circuit d'implication 1628 reçoit un signal vrai, la logique P4.L.S devient vraie, ce qui provoque la mise à 1 de la bascule P5 et la remise à 0 de la bascule P4 à l'impulsion CLK suivante en déterminant ainsi l'attaque du pas DM10 de l'organigramme . 20 Pendant DM10, un signal vrai est formé à la sortie P5. En conséquence, l'impulsion suivante en CLK rend vraie la logique P5-CLK. L'état vrai de cette logique provoque le stockage dans le registre DELO de la valeur possible provenant de DELV en tant qu'information de sortie et l'interruption par l'hor-25 loge généralisée 700 du fonctionnement du module, ainsi que la formation d'un signal vrai à la sortie DMEND, ce qui renvoie la commande au module appelant. D. Exemple de fonctionnement On va maintenant examiner un exemple réel de fonction-50 nement du module "delta" 2 en se référant à l'organigramme de la Fig. 65 et au schéma de câblage en partie symbolique de la Fig. 62. Comme premier exemple, on supposera que la ligne 5 du delta doit être engendrée. On supposera également qu'il doit 55 se produire tin déplacement de G. En raison de ce déplacement de 0, une valeur de nombre de déplacements 0 est stockée dans le registre DELV et une valeur de numéro de ligne 5 est stockée dans le registre DELRO. -423- 2334148 En outre, initialement, la bascule DELEND est mise à 1, ce qui indique que ce qui va se produire maintenant est le premier appel du module "delta" 2. Le premier appel du module "delta" 2 provoque l'attaque 5 des pas DM1 et DM2 de l'organigramme. Pendant DM2, les bascules DELEND et DELOV sont remises à 0. En outre, le registre DELCOL est mis à 0, ce qui correspond à une valeur d'apparition possible (colonne) égale à 0. Le pas DM10 de l'organigramme est attaqué et la va-10 leur d'apparition possible 0 du registre DELIT est transférée dans le registre DELO en vue de sa sortie et le module "delta" 2 suspend son fonctionnement. Lors du second appel du module "delta" 2, la commande passe de DM1 à DM3 de l'organigramme étant donné que la bascule 15 DELEND est maintenant à 0. Pendant DM3, la valeur d'apparition possible 0 contenue dans le registre DELCOL est comparée avec la valeur de numéro de ligne 5 du registre DELRO par le comparateur C-1. Etant donné que le contenu du registre DELCOL est plus petit que celui du registre DELRO, le pas DM5 de l'organigramme 20 est attaqué. Pendant DM5* les valeurs d'apparition possibles 0 respectivement stockées dans les registres DELV et DELCOL sont in-crémentées de 1. Pendant le pas DM6 de l'organigramme, la largeur d'iso-25 entropieogramme 8 stockée dans le registre DELHW est comparée avec la valeur d'apparition possible 1 stockée dans le registre DELV. Etant donné que c'est la largeur d'iso-entropicogramme du registre DELHW qui est la plus grande, le pas DM8 de l'organigramme est attaqué. 30 Pendant le pas DM8 de l'organigramme, la fonction im plicite est maintenant effectuée sur les contenus respectifs des registres DELCOL et DELRO. En partant de la relation S = DELC0L+ DELRO = T+5 = 6+5 = 7 et en procédant par bit et sur l'équivalent binaire du nombre décimal 7» °n. obtient le 35 résultat "1". En conséquence S = 1. Par suite-, le module "delta" 2 passe de DM9 à DM10. Pendant DK10, la valeur d'apparition possible 1 du registre DELV est transférée dans le registre DELO en vue de sa sortie et le fonctionnement du module est à nouveau suspendu. -424- 2334148 Lors du troisième appel du module "delta" 2, les pas DM1 à DM3 sont attaqués, La valeur d'apparition possible du registre DELCOL est encore inférieure à la valeur de numéro de ligne du registre DELRO et, par conséquent, DM5 est attaqué. 5 Pendant DM5s les valeurs d'apparition possibles 1 respectives des registres DELV et DELCOL sont toutes deux incréaentées de 1, c'est-à-dire portées à des valeurs 2. Le pas DM6 de l'organigramme est alors attaqué, pas au cours duquel la valeur d'apparition possible 2 du registre DELV est comparée avec la valeur 1C de largeur 8 du registre DELETw, et l'on trouve que la première est la plus petite. En conséquence est attaqué le pas DLI8 au cours duquel la fonction implicite est répétée, ce qui se traduit par le calcul suivant : 2+5 = 6+5, soit un résultat "0" (S = 0). En conséquence, la commande retourne en DM5» Pendant 15 DM5, les registres DELV et DELCOL sont tous deux incrémentés de 1, c'est-à-dire qu'on obtient des valeurs d'apparition possibles 3. DM8 est repris et, au cours de cette reprise, la fonction implicite est appliquée aux valeurs 3 et 5 respectives des registres DELCOL et DELRO, ce qui donne comme résultat 20 S = 0, En conséquence, DM5 est repris. Les valeurs d'apparition possibles des compteurs DELV et DELCOL sont incrémentées de 3 à 4. Pendant 118, la fonction implicite est à nouveau appliquée aux valeurs respectives 4 et 5 des registres DELCOL et 25 DELRO, ce qui donne comme résultat S =1, En conséquence, DM10 est attaqué et, au cours de ce pas, la valeur d'apparition possible 4 du registre DELV est transférée dans le registre DELO en vue de sa sortie. Lors du quatrième appel du module "delta" 2, les pas 30 DM1 et DM3 sont attaqués. La valeur d'apparition possible 4 du registre DELCOL est encore plus petite que le numéro de ligne 5 du registre DELRO. En conséquence, DM5 est attaqué. Pendant DM5, les valeurs d'apparition possibles respectives des registres DELV et DELCOL sont incrémentées de 4 à 5* 35 Pendant BM6, la valeur de largeur 8 du registre DELHI est encore plus grande que la valeur d'apparition possible 5 du registre DELV. En conséquence, le pas DM8 est repris et, au cours de cette reprise, la fonction implicite est effectuée et -425- 2334148 donne comme résultat S = 1. En conséquence, DM10 est repris et, au cours de cette reprise, la valeur d'apparition possible 5 de DELV est transférée dans le registre DELO en vue de sa sortie et une suspension est effectuée. 5 Lors du cinquième appel du module "delta" 2, les pas DM1 à DM3 sont attaqués. Pendant DM3, la valeur d'apparition possible 5 du registre DELCOL est trouvée égale à la valeur de ligne 5 du registre DELRO. En conséquence est attaqué le pas DM4 au cours duquel la bascule DELEND est mise à 1, tandis 10 que le fonctionnement du module "delta" 2 est suspendu. On voit maintenant que les valeurs qui ont été sorties dans le registre DELRO sont les valeurs d'apparition possibles 0, 1, 4 et 5. Ce sont les valeurs d'apparition possibles (ou colonnes) dans lesquelles une apparition-est rencontrée sur la 15 ligne 5 du delta (table 6). On va maintenant considérer un second exemple du fonctionnement du module "delta" 2. Dans cet exemple, on supposera qu'on désire déplacer la ligne de delta de trois rangs vers la droite. On supposera en outre que la ligne du delta à engen-20 drer est comme précédemment 5* Dans ces conditions, antérieurement à l'appel du module "delta" 2 le registre DELFST est mis à 1. Le registre DELRO est chargé avec la valeur de numéro de ligne 5 et le registre DELV avec la valeur de déplacement 3. Lors du premier appel, DELFST est à 1. En conséquence, 25 le pas DM2 est attaqué, pas au cours duquel DELFST, DELEND et DELOVL sont tous remis à 0. En outre, le registre DELCOL est rétabli de sorte qu'il représente une valeur d'apparition possible 0. Ensuite est attaqué le pas DM10 au cours duquel le registre DELO est chargé avec la valeur d'apparition possible 30 (égale à la valeur de déplacement) 3 du registre DELV. En conséquence, la valeur d'apparition possible 3 est sortie dans le registre DELO et le fonctionnement du module "delta" 2 est suspendu. Lors du second appel du module "delta" 2, le registre 35 DELFST est à 0. En conséquence, les pas BM1 à DM3 sont attaqués. Pendant BM3, la valeur d'apparition possible 0 du registre DELCOL est comparée avec le numéro de ligne 5 du registre DELRO et l'on trouve que la première n'est pas la plus grande. En -426- 2334148 conséquence, le pas DM5 de l'organigramme est attaqué. Pendant DM5» le registre DELV est incrémenté de la valeur d'apparition 3 à la valeur d'apparition 4, tandis que le registre DELCOL est incrémenté de la valeur d'apparition 5 possible 0 à la valeur d'apparition possible 1. Pendant le pas DM6 de l'organigramme, la valeur de largeur du registre DELHW est comparée avec la valeur d'apparition possible 4 du registre DELV et l'on trouve que la première est la plus grande. En conséquence est attaqué le pas DM8 au 10 cours duquel la fonction implicite est effectuée, ce qui donne comme résultat S = 1. Par suite, un signal vrai est formé à la sortie S, ce qui provoque l'attaque du pas DM10. Pendant DM10, la valeur d'apparition incrémentée 4 est chargée dans le registre DELO en vue de sa sortie et une suspension est effectuée. 15 Le troisième appel du module "delta" 2 provoque une reprise des pas DM1 à DM3. Pendant DM3, la valeur d'apparition 1 du registre DELCOL est comparée avec le numéro de ligne 5 du registre DELRO et l'on trouve que la première est la plus petite. En conséquence, DM5 est attaqué. Pendant DM5, la valeur d'appa-20 rition 1 du registre DELCOL est incrémentée de 1 à 2 et la valeur d'apparition possible 4 du registre DELV est incrémentée d'une unité, c'est-à-dire portée à 5. Pendant DM6, la valeur d'apparition possible incrémentée 5 du registre DELV est trouvée plus petite que la valeur de largeur de DELHW. En conséquence 25 sont attaqués les pas DM6 à DM8 au cours desquels la fonction implicite est effectuée, ce qui donne comme résultat S = 0. Par suite est repris le pas DM5 au cours duquel les valeurs d'apparition possibles 5 et 2 respectives des registres DELV et DELCOL sont respectivement incrémentées à 6 et à 3« La valeur 30 d'apparition possible 3 du registre DELCOL n'est pas supérieure à la valeur de largeur du registre DELHW. En conséquence, DM8 est attaqué. Pendant DM8, la fonction implicite est appliquée aux valeurs respectives 3 et 5 des registres DELCOL et DELRO, ce qui donne comme résultat S = 0. En conséquence, DM5 est re-35 pris. Pendant DM5, les valeurs d'apparition respectives des registres DELV et DELCOL sont respectivement incrémentées de 6 à 7 et de 3 à 4. Pendant DM6, on trouve que la valeur de largeur 8 du registre DELHW est supérieure à la valeur d'apparition -427- 2334148 7 du registre DELV. En conséquence, DM8 est repris et, au _ cours de cette reprise, la fonction implicite est à nouveau appliquée aux valeurs 4 et 5 respectives des registres DELCOL et DELRO, ce qui donne S = 1, ce qui provoque l'attaque de 5 DM10. La valeur d'apparition 7 du registre DELY est chargée dans le registre DELO en vue de sa sortie et le fonctionnement du module est suspendu. Le quatrième appel du module "delta" 2 provoque l'attaque des pas DM1 à DM3- La valeur d'apparition 4 du re-10 gistre DELCOL est comparée avec la valeur de numéro de ligne 5 du registre DELRO et l'on trouve que la première est la plus petite. En conséquence DK5 est attaqué. Pendant DM5»'les valeurs d'apparition 7 et 4 respectives des registres DELY et DELCOL sont respectivement incrémentées à 8 et à 5» et le pas 15 DM6 est attaqué. Pendant DM6, la valeur d'apparition 8 du registre DELV est trouvée égale à la valeur de largeur du registre DELHW. En conséquence est attaqué le pas DM7 au cours duquel la bascule DELOVL est mise à 1, ce qui indique qu'il n'est pas nécessaire d'engendrer d'autres valeurs d'apparition 20 déplacées dans le registre DELV étant donné que ces autres valetirs dépasseraient le bord de 1'iso-entropicogramme et, par conséquent, seraient sans signification. En conséquence, ce qui a été engendré à partir du registre de sortie DELO, ce sont les valeurs d'apparition 3, 4 25 et 7* En se référant à la table 6, on peut voir que la ligne 5 du delta, déplacée de trois rangs vers la droite, donnerait précisément les valeurs d'apparition 3, 4 et 7. 2X111• MODULE "PERMUTATION" 2 A. Description générale 30 Le module "permutation" 2, conjointement à l'autre partie des systèmes représentés sur la Fig. 61 constitue un permutateur permettant d'engendrer diverses lignes d'un iso-entropicogramme, à partir d'une ligne donnée, sans engendrer les lignes intermédiaires de 1*iso-entropicogramme. Dans ses grandes 35 lignes, ce processus, en valeurs binaires, implique ce qui suit: 1. Détermination du nombre de lignes N séparant la ligne donnée (dite "ligne d'entrée") de la ligne désirée de l'iso-entro-picogramme; -4-28- 2334148 2. Génération au moins partielle de la ligne N du delta à raison d'une fois pour chaque valeur d'apparition effective de la ligne d'entré e; 3. Déplacement des valeurs de chaque ligne N de delta engendrée 5 dans la mesure indiquée par la grandeur de la valeur d'apparition effective correspondante de la ligne d'entrée et combinaison logique "OU exclusif" des valeurs d'apparition déplacées résultantes. La table 51 donne un exemple d'un iso-entropicogramme 10 correspondant à la ligne donnée indiquée sur la ligne 0. En conséquence, il existe des valeurs d'apparition (ou des "1" dans les colonnes 1, 2, 3, 5)- On supposera qu'on désire engendrer la ligne 3 de 1'iso-entropicogramme de la table 51* La mise en oeuvre du procédé décrit ci-dessus se traduit par une séquence 15 de fonctionnement telle qu'indiqué dans la table 52. Il est à noter que, bien que les grandeurs de la valeur d'apparition soient choisies de droite à gauche dans le mode de réalisation de l'invention décrit ici et que ceci constitue un ordre préféré de sélection des valeurs d'apparition, 20 le processus pourrait être inversé, les valeurs d'apparition étant alors choisies dans l'ordre inverse, c'est-à-dire de la plus petite à la plus grande, sans qu'on s'écarte pour cela des concepts essentiels de l'invention. Plusieurs caractéristiques permettant la réalisation 25 de l'invention doivent être notées en ce qui concerne l'exemple des tables 5^ et 52 et, par conséquent, cet exemple va maintenant être examiné de façon plus détaillée conjointement à ces caractéristiques. D'abord, comme décrit précédemment, les valeurs d'apparition de la ligne d'entrée sont analysées et choi-30 sies de la plus grande à la plus petite, c'est-à-dire de droite à gauche dans la table 52. La première valeur d'apparition choisie est 5 et le module "delta" 2 est alors appelé et engendre la ligne 3 du delta déplacée (ou incrémentée) de cinq rangs vers la droite, ce qui donne un résultat intermédiaire 35 comprenant les valeurs d'apparition possibles 5, 6 et 7- La dernière valeur d'apparition déplacée possible est 8, mais elle est égale à la largeur de 1'iso-entropicogramme et est ignorée. En conséquence, seules les valeurs 5» 6 et 7 forment la premier -429- 2334148 résultat intermédiaire et sont stockées dans une zone 2 de la "mémoire AM II". L'opération suivante consiste à "prélever" la valeur d'apparition 3 de la ligne d'entrée et à engendrer ensuite la ligne 3 du delta avec un "écart" 3> ce qui donne des 5 valeurs d'apparition 3, 4-, 5 et 6. L'opération suivante est une opération XOE entre la ligne stockée et la ligne nouvellement engendrée 3 du delta affectée d'un écart ce qui donne un second résultat intermédiaire comprenant les valeurs d'apparition 3, 4- et 7. le second résultat intermédiaire est stocké 10 dans la zone 1 de là "mémoire AM II". Ultérieurement, la valeur d'apparition suivante de la ligne d'entrée, à savoir la valeur d'apparition 2, est "prélevée" et la ligne 3 du delta déplacée de 3 vers la droite est engendrée et soumise à une opération XOR avec le second résultat intermédiaire 3, 4 et 7s ce qui 15 donne un troisième résultat intermédiaire 2, 5 et 7» Le troisième résultat intermédiaire est stocké dans la zone 2 de la "mémoire AM II". Enfin, la ligne de "delta" 3 non déplacée est soumise à une opération XOR avec le troisième.résultat intermédiaire, ce qui se traduit par l'obtention de la ligne finale 3 20 de 1'iso-entropicogramme, comme représenté en bas de la table 52. On va revenir maintenant à la première opération décrite dans la table 52; une fois que toutes les valeurs d'apparition situées à droite de l'apparition possible 6 ont été trai-25 tées, ces valeurs d'apparition peuvent être sorties. Par exemple, la valeur d'apparition 7 peut être sortie, valeur qui, dans le mode de réalisation décrit est sortie dans le module "codage" qui à son tour code cette valeur sous la forme hybride en vue de son stockage dans le module "mémoire". En conséquence, les 30 résultats intermédiaires qui sont stockés dans la "mémoire AM II" peuvent être réduits au minimum en stockant les valeurs d'apparition qui ont été complètement traitées en mémorisation permanente dans le module "mémoire" sans qu'il soit nécessaire de les stocker en mémorisation intermédiaire dans la "mémoire 35 AM II". A cet égard, on peut encore noter que, pendant le cycle III, toutes les valeurs d'apparition situées à droite de la valeur d'apparition possible 3 ont été complètement traitées et, par conséquent, peuvent être stockées dans la mémoire permanente -4-30- 2334148 du module "mémoire" sans qu'il soit nécessaire de les stocker dans la mémoire intermédiaire de la "mémoire AM II". Ce concept peut être défini dans ses grandes lignes en disant qu'une fois qu'on a déterminé que la ligne de delta déplacée ne s'étend 5 pas au-delà de la largeur de 1*iso-entropicogramme, toutes les valeurs d'apparition possibles situées entre la fin de la valeur d'apparition provenant du module "delta" 2 et la fin du résultat intermédiaire précédent sont "passées au module appelant", ou plus précisément transmises au module "mémoire" pour stockage 10 permanent par l'intermédiaire du module "codage". B. Composants Comme on peut le voir en se référant aux Fig. 65 et 66, le module "permutation" 2 comprend les registres à huit bits suivants : RI, RII, Y/AP, WAS, WAT et RIL. En outre, le module 15 "permutation" 2 comprend les bascules suivantes : GT, ET, LT, HIT et P1 à P10. Chacune de ces bascules est du type déclenché par flanc avant d'impulsion décrit précédemment. La fonction des bascules et des registres dont la liste est donnée ci-dessus est indiquée dans la table 53 et l'on s'y référera pour une 20 meilleure compréhension de cette fonction. Des circuits de sélection DS1 à DS5 sont prévus pour transmettre conditionnellement huit bits d'information codés binaires à partir des entrées représentées le long du côté supérieur jusqu'à une unique sortie à huit bits prévue le long du 25 côté inférieur. Ces circuits de sélection sont du type précédemment décrit et il n'est pas nécessaire de les examiner de façon plus détaillée à ce stade. Un circuit de transmission conditionnelle OU conventionnel 1726 est prévu. En outre, on utilise une logique pour repré-30 senter les circuits de transmission logiques comme décrit précédemment de façon plus détaillée. Un circuit logique de suspension d'horloge 1722 applique des signaux à l'entrée CS d'une horloge généralisée 700 pour "suspendre" le fonctionnement d'une manière qui sera décrite plus loin de façon plus détaillée. 35 Des commutateurs 174-0 et 174-2 sont prévus pour former un code binaire de signaux représentant la valeur 255» Les commutateurs 174-0 et 174-2 peuvent être des commutateurs mécaniques ou électroniques classiques qui fournissent ces signaux en per- -431- 2334148 manence à leur sortie ou un autre montage bien connu à cet effet dans la technique des ordinateurs. Des lignes de commande entrée/sortie et des entrées/sorties d'information sont représentées le long du côté droit des Fig. 65 et 66. Des lignes à un 5 seul conducteur sont représentées en trait fin tandis que des lignes à conducteurs multiples transmettant huit bits d'information sont représentées en trait renforcé. C. Description détaillée On va maintenant examiner de façon plus détaillée le 10 module "permutation" 2 en se référant au schéma de câblage en partie symbolique des Fig. 65 et 66 et à l'organigramme de la Fig. 67. En outre, on comprendra mieux le module "permutation" 2 en se référant aux tables 53 et 54- qui indiquent les principaux registres, compteurs et bascules et les principales entrées 15 et sorties de ce module. Au départ, il est à noter que le système traite essentiellement des vecteurs d'apparition d'événement en partant de leur plus grande valeur jusqu'à la plus petite. Toutefois, on remarquera que le module "delta" 2 fournit les valeurs d'apparition des lignes du delta dans l'ordre in-20 verse, c'est-à-dire de la plus petite valeur à la plus grande ou encore, de gauche à droite. De même, les résultats intermédiaires mentionnés à propos de la table 52 sont stockés de la plus petite valeur à la plus grande. Toutefois, lors de la sortie par écriture des valeurs d'apparition représentant la nou-25 velle ligne de 1'iso-entropicogramme, ces valeurs d'apparition sont avantageusement sorties par lecture dans le module "mémoire" par l'intermédiaire du module "codage" de la plus grande valeur à la plus petite, afin d'assurer la compatibilité avec le reste du système. 30 A noter à ce propos que le module "permutation" 2 com porte deux registres WAP et WBP qui constituent les pointeurs de lecture et d'écriture respectivement, pour la "mémoire AM II". Un registre de lecture inverse WAS est prévu pour stocker l'adresse de la plus grande valeur d'apparition écrite dans la 35 "mémoire AM II11 une fois qu'une ligne complète du delta a été fournie par le module "delta" 2. En outre un registre WAT est prévu pour stocker le nombre d'entrées, c'est-à-dire de valeurs d'apparition, dans la zone correspondante de la "mémoire AM II". -432- 2334148 Lors du cycle suivant, les valeurs d'apparition provenant du résultat intermédiaire contenu dans la "mémoire AM II" sont lues de l'apparition la plus petite à l'apparition la plus grande (de gauche à droite) et chaque fois, le registre WAT 5 est décrémenté d'une valeur au moment où le module "delta" 2 fournit sa valeur au module "permutation" 2. Lorsque le module "delta" 2 atteint la valeuçd'apparition d'une ligne de delta, il forme un signal vrai à la sortie DELEED qui constitue l'une des entrées du module "permutation" 2. En utilisant le registre WAS 10 comme pointeur de la zone de la "mémoire Aï.! II" qui contient le reste du résultat intermédiaire, le résultat intermédiaire précédemment stocké est sorti par lecture, de la valeur d'apparition la plus grande à la plus petite. Chaque fois qu'une valeur est sortie par lecture, le compteur WAT est également incrémenté 15 d'une valeur jusqu'à ce qu'il atteigne 0. Chaque valeur d'apparition du résultat intermédiaire sorti par lecture est transmise au module "mémoire" en vue de son stockage par l'intermédiaire du module "codage". De cette manière le module "permutation" 2 fournit les valeurs d'apparition finales pour la ligne désirée 20 de 1'iso-entropicogramme au module "mémoire" en vue de leur stockage par ordre de grandeur décroissant. On va maintenant se référer plus particulièrement au schéma de câblage en partie symbolique et à l'organigramme du module "permutation" 2, respectivement représentés sur les 25 Fig. 65 et 66 et sur la Fig. 6?. En considérant le fonctionnement général, on peut préciser qu'initialement l'un des modules appelants "raccourcissement" 2 ou "sortie" 2 provoque le transfert de la valeur du nombre de lignes à permuter à l'entrée du registre RIL. La valeur du nombre de lignes à permuter est 30 reçue, soit à partir du registre SLINE du module "raccourcissement" 2, soit à partir de la sortie OP du module "sortie" 2. Pendant le pas RM2-1 de l'organigramme, le registre DELRO du module "delta" 2 stocke la valeur du nombre de lignes à permuter à partir du registre RIL du module "permutation" 2. En outre, 35 pendant RM2-1, les registres pointeurs WAT, WBF, WAP et WS sont tous remis à 0 et les bascules d'initialisation du module "décodage" I, du module "delta" 2 et du module "codage" sont toutes remises à 1. Plus précisémént, la bascule D1F3T du module "déco- -433- 2334148 dage" I, la bascule EFIKST du module "codage" et la bascule DELFST du module "delta" 2 seront toutes mises à 1. En outre, la bascule SM de la "mémoire AU II" est mise à 1, ce qui provoque la sélection de la zone 2 de cette mémoire en tant que 5 zone initiale d'écriture dans celle-ci. Pendant BM2-2, le registre pointeur WAS est décrémenté de 1. Le but de cette opération va maintenant être expliqué. A la première exécution de l'organigramme, cette opération n'a pas de but utile. Par contre, au cours de stades ultérieurs du 10 fonctionnement, le registre WAS est chargé avec le contenu du registre pointeur d'écriture WBP. Le registre pointeur d'écriture WBP pointe maintenant vers l'adresse suivante de la "mémoire AM II" à "écrire" après la fin de l'écriture de l'un des résultats intermédiaires dans cette mémoire. En conséquence, il 15 est nécessaire de réduire de 1 la valeur contenue dans ce registre de façon qu'il contienne effectivement l'adresse de la dernière valeur d'apparition d'un résultat intermédiaire écrite dans la "mémoire AM II". En outre, pendant EM2-2, le module "décodage* I est 20 appelé et fournit la valeur d'apparition suivante, dans l'ordre allant de la plus grande valeur d'apparition à la plus petite, du vecteur d'apparition d'événement représentant la ligne d'entrée à permuter. Le module "décodage" I fournit cette valeur i d'apparition en code absolu et elle est tout d'abord stockée dans 25 le registre D01 du module "décodage" I, puis transférée dans le registre DELV du module "delta" 2. Cette valeur contenue dans DELV devient alors la valeur de déplacement spécifiant le nombre de valeurs d'apparition dont chacune des valeurs d'apparition provenant de la ligne du delta doit être incrémentée ou dépla-30 cée. La bascule E0F1 lorsqu'elle est à 0 indique que le module "décodage" I n'a pas atteint la fin de la zone de la ligne d'entrée. En supposant que la bascule E0F1 soit à 0, les pas BM2-3 à EM2-6 sont alors attaqués. Pendant les pas RM2-3 à BM2-6, on détermine s'il y a 35 quelque ehose à lire dans la zone de lecture actuelle de la "mémoire AM II". Si le registre pointeur WAT, qui est une indication du nombre de valeurs d'apparition restant à lire est à 0 (WQ), comme c'est le cas lors de la première passe à travers -434- 2334148 le module "permutation" 2, le pas EM2-4 est attaqué. Si le pointeur WAT n'est pas à O c'est le pas EM2-6 qui est atta qué, pas au cours duquel la valeur d'apparition du résultat intermédiaire contenu dans la "mémoire AM II" à l'emplacement spé-5 cifié par le registre pointeur de lecture WAP est sortie par lecture et stockée dans le registre EX, tandis que le registre pointeur de lecture WAP est décrémenté d'une adresse; le pas BM2-7 de l'organigramme est alors attaqué. Si le pointeur WAT est à *0*, ce qui indique que toutes 10 les valeurs d'apparition ont été lues à partir du résultat intermédiaire, ce qui provoque l'attaque du pas EM2-4, la bascule DELOVL est vérifiée pour déterminer si un débordement s'est p^pduit dans le module "delta" 2. Si un débordement s'est produit, c'est-à-dire si une valeur d'apparition déplacée dépas-15 sant la largeur de 1* iso-entropic ogramme a été formée, la bascule DELOVL est à 1 et le pas BM2-19 cLe l'organigramme est attaqué ce qui déclenche un autre cycle de fonctionnement. Cet autre cycle de fonctionnement est déclenché par une attaque du pas BM2-19 chaque fois que toutes les valeurs intermédiaires 20 stockées dans une zone de lecture de la "mémoire AM II" ont été lues et que toutes les valeurs déplacées (dans les limites de la largeur de 1*iso-entropicogramme) ont été fournies par le module "delta" 2. Pour en revenir au pas BM2-4, si la bascule de déborde-25 ment DELOVL est à 0, ce qui indique qu'aucun débordement ne s'est produit dans le module "delta" 2, le pas RM2-5 est attaqué, pas au cours duquel la valeur d'apparition possible maximale pour la structure de registres de huit bits de largeur de la machine est stockée dans le.registre El. Comme décrit plus 30 loin de façon plus détaillée, lors de la suite du fonctionnement, la valeur maximale 255 est utilisée pour établir une séquence convenable du fonctionnement de la machine. Le pas EM2-7 est alors attaqué. Pendant BM2-7» le module "delta" 2 est appelé par le 35 module "permutation* 2 et, pendant ce temps, le fonctionnement du module "permutation" 2 est suspendu. Si le module "delta" 2 détecte une condition de débordement et actionne la bascule DELOVL, la valeur maximale 255 est stockée dans le registre EII. -4-35- 2334148 Si aucune condition de débordement n'est détectée, si la bascule DELOVL n'est pas à A et enfin si la dernière valeur d'apparition de la ligne de delta en coursde formation par le module "delta" 2 n'est pas effectivement actuellement formée, la bascule 5 DELEND est à O, ce qui-provoque la génération d'un signal vrai à la sortie DELEND et le transfert de la valeur d'apparition suivante de la ligne de delta en cours de formation dans DELO, sous l'action du module "delta" 2, dans le registre EII du module "permutation" 2, cependant que le pas EM2-8 de l'organigramme 10 est attaqué. Pendant les pas BM2-8 à EM2-13 de l'organigramme, l'opération "OU exclusif" (XOE) est effectuée par le module "permutation" 2. A cet effet, pendant BM2-8, les contenus respectifs des registres El et EII sont comparés. A ce stade, le registre 35 El mémorise la valeur d'apparition intermédiaire provenant de la "mémoire iï II", tandis que le registre EII mémorise normalement la valeur d'apparition de ligne de delta provenant du module "delta" 2. Si c'est la valeur d'apparition intermédiaire du registre El qui est la plus grande, étant donné que l'infor-20 mation est lue par ordre croissant, le pas EM2-9 de l'organigramme est attaqué, pas au cours duquel la valeur d'apparition de ligne de delta provenant du registre EII est stockée dans la zone d'écriture de la "mémoire Ail II" à l'emplacement spécifié par le registre pointeur d'écriture et ce registre (WBP) est 25 incrémenté d'une adresse. Alors, après EM2-9, le pas BM2-7 de l'organigramme est repris, reprise au cours de laquelle le module "delta" 2 est rappelé et fournit la valeur d'apparition supérieure suivante à partir de la ligne de delta. Pour en revenir au pas EM2-8, on supposera maintenant 30 que la comparaison indique que les contenus respectifs des registres El et EII sont égaux entre eux. Il est rappelé ici que, dans ces conditions, la fonction "OU exclusif" exige que les deux valeurs soient supprimées dans le résultat. A cet effet, le pas EM2-14- de 1 'organigramme est attaqué, pas au cours du-35 quel le registre pointeur WAT est décrémenté de 1 pour refléter le fait qu'une unique valeur a été lue dans la "mémoire AM II" et le pas EM2-3 de l'organigramme est attaqué, après quoi la suite du processus de l'organigramme se répète. -4-36- 2334148 Pour revenir à Nouveau à RM2-8, on supposera maintenant que le contenu du registre RI est plus petit que celui du registre RII. Ceci indique que la valeur d'apparition provenant du résultat intermédiaire contenu dans la "mémoire AM II" est 5 inférieure à la nouvelle valeur d'apparition obtenue à partir de la ligne de delta et, en conséquence, la valeur d'apparition du registre RI est écrite dans la zone d'écriture de la "mémoire AM II' tandis que le registre pointeur d'écritiare WBP est incrémenté de 1, de sorte qu'il pointe maintenant vers l'emplacement 10 de mémoire suivant de la zone d'écriture de la "mémoire AM II", emplacement auquel une valeur d'apparition doit être écrite. Le pas RM2-11 de l'organigramme est maintenant attaqué et, au cours de ce pas, l'état du registre pointeur WAT est vérifié pour déterminer s'il reste encore des entrées à lire à 15 partir de la zone de lecture de la "mémoire AM II". Si le registre pointeur WAT n'est pas à O, un signal vrai est formé à sa sortie ce qui provoque l'attaque du pas RM2-13 de l'organigramme, pas au cours duquel la valeur d'apparition plus grande suivante est lue dans la zone de lecture de la "mémoire 20 AM II" tandis que le registre pointeur WAP est incrémenté de 1. Pour revenir au pas RM2-11, si le pointeur WAT est "0", un signal vrai est formé à la sortie WQ, ce qui indique que toutes les valeurs d'apparition du résultat intermédiaire ont été lues dans la zone de lecture de la "mémoire AM II" et le 25 pas RM2-12 de l'organigramme est alors attaqué, pas au cours duquel la valeur maximale 255 est stockée dans le registre RI. Après, soit RM2-12, soit RM2-13, le pas RM2-8 de l'organigramme est repris, reprise au cours de laquelle le processus "OU exclusif" est répété. La boucle comprenant RM2-3 à RM2-14- est répé-30 tée, jusqu'à ce que l'une de deux sorties possibles à partir de cette boucle se produise. La première sortie possible est située en RM2-4-. S'il n'existe dans la ligne de delta aucune autre valeur d'apparition tombant entre les limites de la largeur de 1'iso-entropicogramme, 35 il existe une condition de débordement, la bascule DELOVL est à 1 et, dans ces conditions, le pas RM2-19 de l'organigramme est attaqué, pas au cours duquel l'état actuel du pointeur d'écriture WBP est transféré aux registres pointeurs WAS et WAT dans -437- 2334148 le but déjà mentionné. En outre, les contenus respectifs des registres pointeurs WAP et WBP sont remis à O et la bascule Slî de la "mémoire AU II* est complémentée, de sorte que la zone de lecture précédente devient la zone d'écriture actuelle, tandis 5 que la zone de lecture précédente devient la zone de lecture actuelle. Ensuite, le pas BM2-2 de 1'organigramme est repris. Pour revenir sur un point établi au début du présent exposé, pendant EM2-2, le pointeur WAS est maintenant décrémenté de 1 de façon qu'il contienne l'adresse effective de la dernière 10 valeur d'apparition écrite dans la zone d'écriture précédente de la "mémoire AU II". On va maintenant examiner l'autre sortie possible de la boucle BM2-3 à RM2-14. Cette seconde sortie s'effectue à partir de BM2-7 lorsque le module "delta" 2 a formé sa dernière valeur 15 d'apparition déplacée d'une ligne de delta. Lorsque cela se produit, un signal vrai est formé à la sortie DELEND de la bascule DELEND, ce qui provoque l'attaque du pas BM2-15 de l'organigramme, au cours duquel un contrôle est effectué pour déterminer s'il reste des valeurs d'un résultat intermédiaire.à lire 20 dans la zone de lecture de la "mémoire AU II". Dans l'affirmative, ces valeurs sont alors situées au-dessus ou à droite de la dernière valeur d'apparition engendrée par le module "delta" 2 et, comme décrit précédemment, elles doivent être transmises en tant qu'information de sortie au module "mémoire" par l'intermé-25 diaire du module "codage". A cet effet, si le registre pointeur WAT n'est pas à 0, le pas RM2-16 de l'organigramme est attaqué et la valeur d'apparition de la "mémoire AU II" spécifiée par le registre pointeur WAS est sortie par lecture et stockée dans le registre RI. En outre, le nombre d'entrées restant à lire 30 spécifié par le pointeur WAT est décrémenté de 1 et le registre pointeur de lecture inverse WAS est décrémenté de 1 et pointe maintenant vers la valeur d'apparition inférieure suivante du résultat intermédiaire devant être lue dans la "mémoire AM II". Le module "codage" prend la valeur d'apparition qui a été sortie 35 et la convertit sous la forme codée hybride en vue de son stockage le module "mémoire", comme décrit précédemment à propos du système DPM. La boucle HM2-15 à RM2-17 fait l'objet d'itérations tant qu'il reste à lire des valeurs du résultat inter -4-38- 2334148 médiaire contenu dans la "mémoire AM II" (c'est-à-dire tant que le registre WAT n'est pas à "0"). Lorsque toutes les valeurs du résultat intermédiaire provenant de la zone de lecture de la "mémoire 1M II"ont été lues, le registre pointeur WAT est à O et ion signal vrai est formé à la sortie WQ. Ceci provoque une attaque du pas RM2-18 à la suite de RM2-15 et» pendant ce pas RM2-18, un contrôle est effectué pour déterminer si le module "décodage" I a atteint la dernière valeur d'apparition du vecteur d'apparition d'événement représentant la ligne d'entrée. Si la dernière valeur d'apparition a été atteinte, la bascule E0F1 est à 1, ce qui provoque la génération d'un signal vrai à la sortie E0F1 et la bascule ELAST du module "codage" est mise à 1 pour indiquer qu'il s'agit de la dernière valeur d'apparition à coder, après quoi le module "codage" est appelé, ce qui provoque l'écriture par ce module de la dernière valeur d'apparition du résultat dans le module "mémoire" sous la forme codée hybride. Ensuite, le fonctionnement du module "permutation" 2 est suspendu. Toutefois, si pendant RM2-18 la bascule E0F1 n'est pas à 1, ce qui indique que la dernière valeur d'apparition du vecteur d'apparition d'événement représentant la ligne d'entrée n'a pas été fournie par le module "codage", le pas EM2--19 de l'organigramme est repris pour un autre cycle. Compte tenu de la description générale précédente fonctionnement du module "permutation" 2, on va maintenant examiner les détails du système représenté sur les Fig. 65 èt 66 en se référant en même temps à l'organigramme de la Fig. 67» Initialement, avant que le fonctionnement ne commence, le module "jonction du système DPM" foime un signal vrai à la sortie MINIT, ce qui provoque l'application d'un signal vrai à l'entrée IN de l'horloge généralisée 700. Ce signal provoque à son tour l'apparition d'un signal vrai à la sortie MR de l'horloge généralisée 700, ce qui remet à 0 chacune des bascules PI à P10 du compteur de commande 17*13• En outre, initialement, la zone 1 du module "mémoire*' est chargée avec un vecteur d1apparition d'événement sous la forme codée hybride, vecteur qui représente la ligne d'entrée à permuter. -4-39- 2334148 L'intervention du module "permutation" 2 est alors demandée par le module "raccourcissement" 2 ou par le module "sortie" 2 par formation d'un signal vrai, respectivement, à la sortie A2S6 ou à la sortie A207. Dans les deux cas, la porte 5 OU 1720 forme un signal vrai à l'entrée IIS" de l'horloge généralisée 700, ce qui déclenche les signaux d'horloge aux sorties CLK et CLK de cette horloge et de l'inverseur 1730, respectivement» Etant donné que toutes les bascules P1 à P10 sont à O, la logique P1+t2+... P10 provoque la mise à 1 de la bascule PI à 10 l'impulsion CLK suivante, ce qui détermine l'attaque du pas RM2-1 de l'organigramme. En outre, le module "raccourcissement" 2 (ou le module "sortie" 2) forme un signal vrai à la sortie A2S6 (ou à la sortie A203), ce qui provoque le transfert, par le circuit de sélection DS3, de la valeur du nombre de lignes 15 à permuter, du registre SLINE du module "raccourcissement" 2, ou de la sortie OP du module "sortie" 2, à l'entrée du registre RIL. Le signal vrai aux sorties A2S7 et A2S4- du module "raccourcissement" 2 et A204- du module "sortie" 2, respectivement, ont provoqué le stockage dans le registre RIL de la valeur du 20 nombre de lignes à permuter à partir du module "raccourcissement" 2 et du module "sortie" 2, respectivement. Le signal vrai à la sortie PI provoque la génération d'un signal vrai, à la sortie A2R1 des lignes de commande entrée/sortie, ce qui met à 1 la bascule D1FST du module "décodage" I et la bascule / 25 ÊFBST du module "codage", en indiquant ainsi le premier appel de ces modules. En outre, le signal vrai en A2R1 met à 1 la bascule SM de la "mémoire AM II", ce qui provoque l'exécution de l'écriture suivante dans la zone 2 de cette mémoire. Le signal vrai à la sortie A2R1 provoque le transfert, par le cir-30 cuit de sélection DS1 du module "delta" 2, de la valeur du nombre de lignes à permuter, du registre RIL du module "permutation" 2 à l'entrée du registre DELRO du module "delta" 2 et, à l'impulsion CLK suivante, la logique PI.CLK devient vraie, ce qui provoque l'apparition d'un signal vrai à la sortie A2R2 des 35 lignes de commande entrée/sortie du module "permutation" 2 et, par conséquent, le transfert de la valeur du nombre de lignes à permuter, du registre RIL au registre DELRO. En outre, l'état vrai de la logique P1.CLK provoque l'apparition d'un signal -440- 2334148 vrai à la sortie A2R3 du module "permutation" 2, signal qui, à son tour déclenche le multivibrateur D1G0 du module "décodage" I en demandant ainsi pour la première fois son intervention. Chaque fois que le module "décodage" I, ou le module 5 "delta" 2, ou le module "codage", sont appelés, la logique de suspension d'horloge "1722 applique un signal vrai à l'entrée CS de l'horloge généralisée 700 en provoquant une inhibition temporaire par celle-ci de ses impulsions d'horloge et, par conséquent, une suspension du fonctionnement du module "permu-10 tation" 2 jusqu'à ce que le module appelé ait terminé ses opérations. A cet effet, le signal D1MEND du module "décodage" I est maintenant vrai et, en conséquence, lorsque l'impulsion CLK apparaît, la logique D1MEHD.P1.CLK devient vraie, ce qui applique 15 un signal vrai à l'entrée CS de l'horloge généralisée 700 en suspendant ainsi le fonctionnement de cette horloge jusqu'à ce que le module "décodage" I ait fourni la première valeur d'apparition du vecteur d'apparition d'événement de la ligne d'entrée en cours de permutation. Lorsque le module "décodage" I a 20 formé la première valeur d'apparition dans D01, la sortie D1MEND du module "décodage" I devient fausse, ce qui provoque l'application d'un signai faux à l'entrée CS de l'horloge généralisée 700 et, par conséquent, la reprise de la formation des impulsions d'horloge aux sorties CLK et CLK. 25 En outre, le signal vrai à la sortie PI de la bascule P1 rend vraie l'entrée CLR de chacun des registres pointeurs WAP, WBP, WAS et WAT et, par conséquent, la remise à 0 de chacun d'eux. Si la sortie E0F1 du module "décodage" I est vraie, 30 cela indique que la fin de fichier n'a pas encore été atteinte par ce module. Dans ces conditions, la logique P1.E0F1 est maintenant vraie et l'impulsion CLK suivante provoque la mise à 0 et à 1, respectivement, des bascules PI et P2. Si, par contre, la fin de fichier a été atteinte par le module "décodage" I, 35 un signal vrai est formé à sa sortie E0F1, ce qui rend vraie la logique P1.E0F1 qui rend à son tour vraie la sortie P8, de sorte que la bascule P8 ou la bascule P10 est mise à 1 au lieu de la bascule P2, selon que le registre WAT a été ou non -441- 2334148 décrémenté à 0. Toutefois, ce fonctionnement sera décrit plus loin de façon plus détaillée. On supposera maintenant que la bascule P2 a été mise à 1, et que le pas BM2-2 de l'organigramme est attaqué; le 5 signal vrai de la sortie P2 de la bascule P2 provoque alors l'application d'un signal vrai à l'entrée C du registre WAS, ce qui détermine une décrémentation de 1 de la valeur d'apparition possible (valeur de déplacement) contenue dans ce registre et la remise à 0 de la bascule HPF. Le signal vrai à la sortie 10 P2 provoque la génération d'un signal vrai à la sortie A2R4 reliée au circuit de sélection DS2 du module "delta" 2, ce qui détermine le transfert de la valeur d'apparition possible, de la sortie D01 du module "décodage" I à l'entrée du registre DELV. En outre l'impulsion CLK rend vraie la logique P2.CLK, 15 ce qui provoque la génération d'un signal vrai à la sortie A2R5, signal qui assure la transmission contrôlée par l'horloge de la valeur d'apparition dans le registre DELV du module "delta" 2. Le registre DELV contient maintenant le nombre qui spécifie le nombre de déplacements nécessaires dans le delta qui sera 20 ultérieurement formé. En supposant qu'un débordement ne s'est pas produit dans le module "delta" 2 et que le registre pointeur de lecture WAT n'a pas été décrémenté à 0, des signatix vrais sont formés aux sorties DELOVL et T- ce qui rend vraie la logique DELOVL.W^.P2 et l'impulsion CLK suivante déclenche 25 la mise à 0 et à 1, respectivement, des bascules P2 et P3» ce qui a pour effet que les actions prévues pendant les pas RM2-3 et RM2-6 se déroulent. La logique P3devient maintenant vraie, ce qui provoque l'apparition d'un signal vrai à la sortie A2R7 du module "permutation" 2, ce qui détermine une opé-30 ration de lecture. En outre, le signal vrai de la sortie P3 provoque le transfert, par le circuit de sélection DS5, du pointeur d'adresse contenu dans le registre pointeur WAT jusqu'à l'entrée d'adresse de la "mémoire AM II". En outre, l'état vrai de la logique P3.W^.CLK provoque une incrémentation d'une 35 adresse du registre pointeur de lecture WAP. Il est à noter toutefois que si le registre WAP était à 0, cela indiquerait que la dernière valeur d'apparition d'événement a été lue dans la zone de lecture de la "mémoire AM II* -442- 2334148 et que, par conséquent, un signal faux est formé à la sortie 1F. Dans ce cas, un signal de lecture n'est pas appliqué à la sortie A2R7 du module "permutation" et le pointeur d'adresse WAP n'est pas non plus incrémenté. Le pas RM2-7 de l'organi-5 gramme du module "permutation" 2 est attaqué. L'état vrai de la logique P3.CLK provoque également l'apparition d'un signal vrai à la sortie A2R6 du module "permutation" 2, ce qui appelle l'intervention du module "delta" 2. Le module "delta" 2 forme à ce moment un signal vrai 10 à la DMEHD, ce qui rend vraie la logique DMEND.P3.CLK dans la logique de suspension d'horloge 1722 en suspendant ainsi le fonctionnement du module "permutation" 2, comme décrit précédemment jusqu'à ce que le module "delta" 2 fournisse la valeur d'apparition suivante correspondant à la ligne du delta en 15 cours de formation. Lorsque le module "delta" 2 fournit cette valeur d'apparition, le signal DMEÏrt) devient faux, ce qui contraint l'horloge généralisée 700 à commencer de former ses impulsions d'horloge en CLK et CLK. En supposant que la fin de la ligne du delta ne soit pas en cours de formation, la logique 20 P3.DELEND devient vraie, ce qui provoque la mise à 1 de la bascule P4 et la remise à 0 de la bascule P3 à l'impulsion CLK suivante. Si le module "delta" 2 n'a pas détecté un débordement, c'est-à-dire l'existence d'une valeur d'apparition déplacée plus grande que la largeur de 1*iso-entropicogramme, un 25 signal vrai est formé à la sortie DELOVL, ce qui provoque le transfert, par le circuit de sélection DS2, de la valeur d'apparition provenant du registre DELO du "module "delta" 2 à l'entrée du registre RII, tandis que le signal vrai à la sortie P4 provoque le chargement de cette valeur d'apparition dans 30 ledit registre RII. Par contre, si une condition de débordement s'était produite, le signal vrai serait formé à la sortie DELOVL et le circuit de sélection DS2 transférerait la valeur maximale 255 des commutateurs 1742 à l'entrée du registre RII en provoquant ainsi le stockage de cette valeur. 35 On va maintenant revenir aux pas RM2-4 et RM2-5 de l'organigramme. Si, pendant la présence du signal vrai-à la sortie P3 du compteur de commande 1713, le registre pointeur de lecture WAT contient un "0", un signal vrai est formé à la -443- 2334148 sortie WQ pour indiquer qu'il ne reste plus aucune valeur intermédiaire à lire dans la zone de lecture de la "mémoire AM. II". En conséquence, le pas RM2-4 est attaqué. Si le module "décodage" II ne détecte pas un débordement et si, par conséquent, 5 un signal vrai est formé à la sortie DELOVL, le pas RM2-5 est attaqué après RM2-4 et, au cours de ce pas RM2-5, comme décrit précédemment, la valeur maximale 255 est transférée des commutateurs 174-2 dans le registre EII. Par contre si, pendant la présence du signal vrai à la sortie P3, une condition de débor-*10 dement est détectée dans le module "delta" 2, et si, par conséquent, un signal vrai est formé à la sortie DELOVL, le compteur de commande met à 1 la bascule P10 en provoquant l'attaque du pas RM2-19. On va maintenant revenir au pavé RM2-7 de l'organigramme 15 du module "permutation" 2 et l'on va supposer que la fin de la ligne de delta n'a pas été atteinte et que, par conséquent, le pas EM2-8 de l'organigramme doit être attaqué. Pendant les pas RM2-8 à RM2-14, la fonction "OU exclusif" est exécutée par le module "permutation" 2. A cet effet, la sortie P4 de la bas-20 cule P4 du compteur de commande 1713 reçoit un signal vrai et l'impulsion CLK suivante met à 0 et à 1, respectivement, les bascules P4 et P5. Le signal vrai de la sortie P5 met en action le comparateur 1750, qui compare alors la valeur d'apparition intermédiaire provenant de la "mémoire AM II" et la valeur d'ap-25 parition de delta fournie par le module "delta" 2, valeurs qui sont stockées respectivement dans les registres RI et RII. Selon le résultat de la comparaison, l'une des bascules GT, ET ou LT est actionnée. Plus précisément, selon que la valeur intermédiaire contenue dans le registre RI est supérieure, 30 égale, ou inférieure à la valeur du registre RII, des signaux vrais sont formés aux sorties G, E ou L, respectivement et I l'impulsion CLK suivante, les bascules GT, ET ou LT, respectivement, sont mises à 1. On remarquera qu'après RM2-8, que ce soit le pas RM2-10 ou le pas EM2-14 qui est attaqué, le registre 35 pointeur de lecture WAP est décrémenté de 1 si la valeur intermédiaire contenue dans RI n'est pas supérieure à la valeur du registre EII. En conséquence la logique P5.G,W^.CL£ provoque une décrémentation d'une adresse du registre WAT. 444- 2334148 Si les contenus respectifs des registres RI et RII ne sont pas égaux entre eux, un signal vrai est formé à la sortie S de 1*inverseur 1733. le signal logique P5.5 est vrai et provoque la mise à 0 et à 1, respectivement, des bascules 5 P5 et P6 du compteur de commande 1713, ce qui détermine l'attaque du pas RM2-10 de l'organigramme. Le signal vrai de la sortie P6 rend vraie la sortie A2R11 des lignes de commande entrée/sortie, ce qui provoque une opération d'écriture de la "mémoire AM II". 10 Toutefois, il est à noter en outre que, du fait que, pendant le pas RM2-10, le contenu du registre RI est plus petit que celui du registre RII, le contenu du registre RI doit être écrit dans la "mémoire AM II" et, en conséquence, la bascule LT est maintenant à 1, ce qui rend vraie la logique P6.LT. Ceci 15 provoque le transfert, par le circuit de sélection DS4, du contenu du registre RI à l'entrée de la "mémoire AM II" et, en conséquence, celle-ci écrit la valeur d'apparition intermédiaire du registre RI à l'emplacement spécifié par le registre pointeur d'écriture WBP. En outre * le signal vrai en P6.CLK provoque 20 une incrémentation de 1 du registre d'adresse d'écriture WBP, de sorte que ce registre contient maintenant l'adresse de l'emplacement de mémoire suivant disponible pour une écriture. Pour revenir à RM2-8, on supposera maintenant que la comparaison a indiqué que la valeur d'apparition intermédiaire 25 du registre RI est plus grande que celle de RII; dans ce cas, la bascule GT est à 1 pendant RM2-9 et, en conséquence, la logique P6.GT est vraie, ce qui provoque l'extraction de la valeur d'apparition provenant du module "delta" 2 hors du registre RII et son transfert pour écriture dans la "mémoire AM II". On 30 remarquera que, si le résultat de la comparaison effectuée par le comparateur 1750 pendant RM2-8 se traduit par une détection du fait que les valeurs de RI et de RII sont égales entre elles, alors ces valeurs doivent être supprimées et, par conséquent, ne doivent pas être écrites dans la zone d'écriture de la "mémoire 35 AM II". En conséquence, la logique DELOVL..P5.E est vraie, ce qui provoque la mise à 1 et à 0, respectivement, des bascules P3 et P5 lors de l'impulsion CLK suivante et l'attaque du pas RM2-3 de l'organigramme. -445- 2334148 On va maintenant revenir au pas EM2-9 et noter qu'après le transfert de la valeur d'apparition provenant du module "delta" 2, du registre EII à la "mémoire AM II", la logique P5.G-T.DEÏÊËD est vraie (DELEHD indique que la fin de la ligne 5 de delta n'a pas été atteinte). En conséquence, la bascule 3?4 est mise à 1 et la bascule P5 est remise à 0 à l'impulsion CIK suivante, ce qui provoque une reprise du pas EM2-7, reprise au cours de laquelle le module "delta" 2 est rappelé et fournit la valeur d'apparition suivante de la ligne. 10 On va maintenant considérer le pas RM2-10 en supposant que la comparaison effectuée pendant EM2-8 a indiqué que la valeur d'apparition intermédiaire du registre El est la plus petite. La bascule LT est maintenant à 1. En conséquence, la logique P6.LT est vraie, ce qui provoque la mise à 1 et à 0 respective-15 ment, des bascules P6 et P7 et, par conséquent, l'attaque du pas EM2-11. Pendant BM2-11, l'état du registre WAT est vérifié pour déterminer s'il reste quelque chose dans la zone de lecture de la "mémoire AM II". Si le registre pointeur WAT est à "O", rien ne reste à lire, et un signal vrai est formé à la sortie WQ. Par 20 contre, si le registre WAT n'est pas à "0", un signal vrai est formé à la sortie W^. On supposera maintenant que le registre pointeur WAT n'est pas à 0 et qu'un signal vrai est formé à la sortie ce qui signifie qu'il ne reste plus de valeurs d'apparition intermédiaires supplémentaires à lire dans la zone de 25 lecture de la "mémoire AM II". Le pas EM2-13 de l'organigramme est attaqué, 3alogique P7est maintenant vraie, ce qui provoque l'apparition d'un signal vrai à la sortie A2E7 du module "permutation" 2 et, par conséquent, l'exécution par la "mémoire AK II" d'une opération de lecture utilisant l'adresse contenue 50 dans le registre WAP. A cet effet, le signal vrai de la sortie P7 provoque le transfert, par le circuit de sélection DS5, de l'adresse, du registre WAP à l'entrée d'adresse de la "mémoire AM II". La logique P7.W^.CLK devient vraie et provoque l'incrémentation de 1 par le registre pointeur WAP de l'adresse qu'il 35 contient, de sorte que ce registre identifie l'emplacement suivant auquel une lecture doit être effectuée à partir de la "mémoire AM II". En même temps, le signal vrai à la sortie provoque le transfert, par le circuit de sélection DS1, de la va- -446- 2334148 leur d'apparition sortie par lecture de la "mémoire AM II" à l'entrée du registre El et l'état vrai de la logique P7.CLK provoque le stockage de cette valeur d'apparition dans le registre El. Si, par-contre, le registre pointeur WAT était 5 déjà à 0, ce qui signifierait qu'aucune valeur d'apparition ne reste plus dans la zone de lecture de la "mémoire AM II", un signal vrai serait formé à la sortie WQ et provoquerait l'application par le circuit de sélection DS1 des signaux représentant la valeur 255 à l'entrée du registre El au lieu de 10 l'information de sortie provenant de la "mémoire AM II"; en conséquence, dans ce cas la valeur maximale 255 est stockée dans le registre El. Le signal vrai de la sortie P7 provoque la mise à 1 de la bascule P5 et la bascule P7 est remise à 0 à l'impulsion CLE suivante, ce qui provoque l'attaque du pas 15 EM2-8 après BM2-12 ou BM2-13. On va maintenant examiner le fonctionnement qui se déroule au cours des pas RM2-15 et EM2-16. La bascule P8 est mise à 1 pendant que l'une quelconque des bascules suivantes du compteur de commande est à 1 : PI, P3» P6, P9 ou P10. Le "ô 8" re-20 présente la transmission conditionnelle de fin logique indiquée en haut et à gauche sur la Fig. 66. On remarquera que le pas EM2-15 est attaqué et que la bascule P8 est mise à 1, soit si la fin de la ligne du delta a été atteinte par le module "delta" 2 comme indiqué par la présence d'un signal vrai à la 25 sortie DELEND du module "delta" 2, soit si le module "décodage" II a atteint la fin de zone du vecteur d'apparition d'événement représentant la ligne d'entrée comme indiqué par la présence d'un signal vrai à la sortie E0P1. Le but des pas BM2-15 à EM2-20 est de déterminer s'il 30 reste des valeurs d'apparition dans la zone de lecture de la "mémoire AM II" à coder par le module "codage" et à sortir par écriture dans le module "mémoire". Si le registre pointeur de lecture WAT n'est pas à 0, un signal vrai est formé à la sortie ce qui indique qu'il reste des valeurs d'apparition sup-" 35 plémentaires dans la zone de lecture de la "mémoire AM II" à transmettre au module "codage". Dans ces conditions, le pas EM2-16 est attaqué et, au cotirs de ce pas, une lecture est effectuée dans la zone de lecture de la "mémoire AM II". A cet -447- 2334148 effet, le signal vrai de la sortie P8 provoque la génération d'un signal vrai à la sortie A2R7 du module "permutation" 2, ce qui détermine l'exécution par la "mémoire AM II" d'une opération de lecture à l'emplacement spécifié par le registre 5 pointeur WAS. A noter à ce propos que le circuit de sélection DS5 répond au signal vrai de la sortie P8 et transfert l'adresse du registre pointeur WAS à l'entrée d'adresse de la "mémoire AM II". Si outre, la logique P8.CLK devient vraie, ce qui provoque une décrémentation par le registre pointeur WAS de l'a-10 dresse qu'il contient. En outre, la même logique décrémente le registre pointeur WAT d'une unité pour indiquer qu'une valeur supplémentaire a été lue dans la zone de lecture de la "mémoire AM II11. Gomme décrit précédemment, le circuit de sélection DS1 transmet la valeur d'apparition intermédiaire de la "mémoire 15 AM II" à l'entrée du registre El où elle est stockée. La logique 3^9 provoque la mise à 1 de la "bascule P8 et la bascule P7 est remise à 0 à l'impulsion CLK suivante, ce qui provoque l'attaque du pas BM2-17. La logique P9.CLK devient maintenant vraie, ce qui provoque l'apparition d'un signal vrai 20 à la sortie A2R9 du module "permutation" 2, en mettant ainsi le multivibrateur ENGO à 1, et en appelant l'intervention du module "codage". En outre, la valeur d'apparition est transférée du registre El à l'entrée du module "codage" et celui-ci la convertit en code hybride en vue de son stockage dans le module 25 "mémoire w. On va maintenant revenir au pas EM2-15 et supposer que le registre pointeur WAT est à 0, ce qui indique qu'il ne reste plus de valeur d'apparition intermédiaire dans la zone de lecture de la "mémoire AM II". Un signal vrai est maintenant formé 50 a la sortie WQ. En conséquence, la logique P9«*0 met la bascule P10 à 1 et remet la bascule P9 à 0, ce qui provoque l'attaque du pas BM2-18. Si la bascule E0F1 est à 0, ce qui indique que la fin du vecteur d'apparition d'événement représentant la ligne . d'entrée n'a pas encore été atteinte, alors le pas RM2-19 est 55 attaqué. Pendant RM2-19, la logique P10.E0F1.CLÉ est vraie, ce qui fait apparaître un signal vrai à la sortie A2R5 du module "permutation" 2, signal qui met à son tour à 1 le multivibrateur D1G0 du module "décodage" I en provoquant la génération de la -448- 2334148 valeur d'apparition d'événement suivante de la ligne d'entrée. En outre, le signal vrai de la sortie P10.ÊÔFT provoque le stockage, par les registres pointeurs WAS et WAT, de l'adresse contenue dans le registre d'adresse d'écriture WBP. La logique 5 P10.E0F1.CLE devient vraie, ce qui provoque la remise à 0 des registres d'adresse d'écriture et de lecture WBP et WAP. Le signal vrai à la sortie P10 provoque en outre tme complémentation de l'état de la bascule SM dans la "mémoire AM II", ce qui détermine une intervention des zones de lecture et d'écriture de 10 cette mémoire au cours de l'opération suivante. D. Exemple de fonctionnement On va maintenant considérer l'exemple de fonctionnement du module "permutation" 2 représenté dans les tables 51 et 52 en se référant au schéma de câblage en partie symbolique des 15 Fig. 65 et 66 et à l'organigramme de la Fig. 67. On supposera initialement que le vecteur d'apparition d'événement 0, 2, 3, 5 représenté dans la table 52 est stocké dans la zone 1 du module "mémoire" par le "minicalculateur". De la manière précédemment décrite, le signal vrai de la sortie A2S7 du module "raccourcis-20 sement" 2 ou celui de la sortie A204- du module "sortie" 2 provoque le stockage par le registre RIL du nombre de lignes à permuter à partir du registre SLIKE du module "raccourcissement" 2 ou de la sortie OP du module "sortie" 2. L'intervention du module "permutation" 2 est maintenant demandée et le pas RM2-1 de l'organi-25 gramme est initialement attaqué; au cours de ce pas : la valeur du nombre de lignes à permuter est transférée du registre RIL du module "permutation" 2 au registre DELRO du module "delta" 2; les registres pointeurs d'adresse WAT, WAP, WBP et WAS sont initialisés à 0 et les bascules DELFST, D1FST et EFIRST du 30 module "delta" 2, du module "décodage" I et du module "codage" sont remises à 0; enfin la bascule SM de la "mémoire AM II" est actionnée de sorte que la zone 2 devient la zone d'écriture et la zone 1 la zone de lecture. Le pas RM2-1 de l'organigramme est alors attaqué, pas 35 au cours duquel le module "décodage" I est appelé. En outre, le registre d'adresse WAS est décrémenté d'une valeur; toutefois, ceci n'a aucune conséquence à ce stade du fonctionnement. Le module "décodage" I revient alors à la première et plus -449- 2334148 grande valeur d'apparition du vecteur d'apparition d'événement. Il s'agit d'une valeur 5 et celle-ci est transférée du registre D01 du module "décodage" I au registre DELV du module "delta" 2. Il est rappelé ici que la valeur 5 stockée dans le registre 5 DELV du module "delta" 2 indique un déplacement de 5 rangs vers la droite de la ligne de delta. Ensuite est attaqué le pas HM3 au cours duquel on trouve que le registre WAT contient un "0". En conséquence, le pas RM2-4 de l'organigramme est à son tour attaqué. 10 Pendant HM4-, le module "delta" 2 n'a rencontré aucun débordement et, en conséquence, l'entrée DELOVL n'est pas vraie, ce qui provoque l'attaque du pas RM2-5. Pendant RM2-5, la valeur maximale 255 est transférée par l'intermédiaire du circuit de sélection DS1 et est stockée dans le registre RI pour indi-15 quer qu'il n'y a rien à lire dans la zone de lecture actuelle de la "mémoire AM II". Puis est attaqué le pas RM2-7 au cotirs duquel le module "delta" 2 est appelé. Le module "delta" 2 calcule la première valeur de la ligne de "delta" 3 (voir table 6) déplacée de cinq rangs vers la droite. En se référant au cycle 1 20 de la table 52, on peut voir que ce calcul donnera une valeur d'apparition 5 et, en conséquence, la valeur d'apparition 5 est stockée dans le registre RII. Le pas RM2-8 est maintenant attaqué et la fonction "OU exclusif" est sur le point d'être effectuée. Pendant RM2-8, 25 le comparateur 1750 compare les contenus respectifs des registres RI et RII et trouve que la valeur maximale 255 du registre RI est la plus grande. En conséquence est attaqué le pas RM2-9 au cours duquel la valeur de ligne de delta 5 plus petite est stockée dans la zone 2 de la "mémoire AM II" à l'emplacement 0 30 comme spécifié par l'adresse contenue dans le registre pointeur WBP. En outre, l'adresse du registre WBP est incrémentée à l'adresse 1. Le pas RM2-7 est maintenant attaqué et, au cours de ce pas, l'intervention du module "delta" 2 est demandée et ce 35 module fournit alors la seconde valeur d'apparition de delta déplacée 6 relative à la ligne 3» La valeur 6 est stockée dans le registre RII. Les pas RM2-8 et la suite sont repris pour l'opération "OU exclusif". Ici encore, le comparateur 1750 dé -450- 2334148 tecte que la valeur maximale 255 du registre RI est plus grande que la valeur 6 du registre RII. En conséquence les pas RM2-9 et RM2-7 sont repris et au cours de cette reprise, la valeur d'apparition 6 est sortie par écriture à l'adresse 1 de la zone 5 2 de la "mémoire AM II" adresse qui est spécifiée psLçle registre d'adresse WBP. En outre, ce dernier est incrémenté à l'adresse 2. Le module "delta" 2 sort par lecture la valeur d'apparition de delta déplacée suivante 7 de la ligne de delta 3. Cette valeur est stockée dans le registre RII et ensuite sont attaqués 10 les pas RM2-8 et RM2-9 au cours desquels la valeur 7 est transférée par écriture, du registre RII dans la "mémoire AM II". tandis que le compteur WBP est incrémenté à l'adresse 3. Pendant RM2-7, le module"delta" 2 détecte que la valeur d'apparition suivante de la ligne de delta déplacée est 8 15 et est situéejen dehors de la largeur de 1'iso-entropicogramme. En conséquence, ce module forme un signal vrai ou de débordement à la sortie DELOVL, signal qui provoque le transfert, par le circuit de sélection DS2, de la valeur maximale 255» des commutateurs 1742 à l'entrée du registre RII où ladite valeur maxi-20 maie est stockée. Le pas RM2-8 est maintenant attaqué. Etant donné qu'un signal vrai est présent en DELOVL, le registre RII stocke la valeur maximale 255 et les contenus respectifs des registres RI et RII sont trouvés égaux entre eux (chacun d'eux contient 255)» 25 ce qui provoque l'attaque des pas RM2-14 et RM2-3» Etant donné que le registre WAT contient maintenant un "0", ce qui indique qu'il n'y a rien à lire dans la "mémoire AM II", le signal vrai de la sortie WQ empêche le compteur WAT d'être décrémenté pendant RM2-14. 30 Pendant RM2-4, la sortie DELOVL est encore vraie. En conséquence, le pas RM2-19 est attaqué. Pendant RM2-19, l'adresse 3 contenue dans le registre d'adresse d'écriture WBP est transférée dans les registres WAT et WAS, les registres WBP et WAP sont remis à 0 et la bascule 35 SM de la"mémoire AM II" est complémentée, ce qui provoque une interversion des zones de lecture et d'écriture et la mise à 1 ou actionnement du monostable DELFST dans le module "décodage" I en appelant ainsi l'intervention de celui-ci. -4-51- 2334148 A ce stade temporel, le contenu de la "mémoire AM II", les contenus des registres WAS et WAT et 1'information de sortie du module "codage" sont les suivantes : "Mémoire AM II" - zone 2 5 Adresse Contenu Information de sor tie vers module "codage"'1' 0 5 1 6 WAS = 3 aucune 2 7 WAT = 3 10 En conséquence, le registre WAS contient maintenant l'adresse 3 dont le numéro est supérieur d'une unité à la dernière adresse dans laquelle une écriture s'est produite dans la "mémoire AM II" et le registre WAT indique que trois valeurs intermédiaires ont été écrites dans la zone d'écriture de la "mémoire AM II" 15 au cours du cycle précédent. Le pas RM2-2 est maintenant attaqué et, au cours de ce pas, l'adresse du registre WAS est décrémentée de 1, de sorte que ce registre contient maintenant l'adresse 2 qui correspond à la dernière valeur d'apparition des valeurs intermédiaires stockées dans la zone intéressée de 20 la "mémoire AM II". La zone de mémoire qui était précédemment la zone d'écriture devient la zone de lecture. Le second cycle de fonctionnement est maintenant attaqué. Pendant EM2-2, le module "décodage" I renvoie la va-23 leur d'apparition inférieure suivante 3 du vecteur d'apparition d'événement et cette valeur 3 est stockée dans le registre DELV du module "delta" 2. Le pas RM2-3 est ensuite attaqué et, étant donné que le registre WAT contient maintenant un "3", il n'est donc pas 30 à "0" et, en conséquence, un signal vrai est formé à la sortie Ensuite est attaqué le pas RM2-6 au cours duquel un signal , sort vers la "mémoire AM II" en provoquant la sortie par lecture par celle-ci de la valeur 5 contenue à l'adresse 0 spécifiée par le registre d'adresse WAP et ensuite ce dernier est incrémenté 35 d'une adresse, c'est-à-dire amené à l'adresse 1. La valeur 5 est stockée dans le registre RI et ensuite le pas RM2-7 de l'organigramme est attaqué. -452- 2334148 Pendant RM2-7, le module "delta" 2 est appelé et, comme représenté dans la table 52, il fournit la valeur d'apparition de delta déplacée 3. La valeur d'apparition intermédiaire 5 du registre RI provenant de la zone de lecture de la "mémoire 5 M II" est plus grande que la valeur de ligne de delta déplacée 3 du registre RII. En conséquence, la commande passe en R1Î2-9 par l'intermédiaire de RM2-8 et pendant RM2-9, la valeur 3 plus petite du registre RII est écrite à l'adresse O de la zone d'écriture de la "mémoire AM II". 10 Le pas RM2-7 est maintenant repris et, pendant cette reprise, la valeur d'apparition 4 de la ligne 3 du delta est engendrée par le module "delta" 2 et est stockée dans le registre RII. Le pas RM2-8 est repris et la fonction "OU exclusif" est à nouveau exécutée. On trouve alors que la valeur d'appari-15 tion intermédiaire 5 du registre RI est plus grande que la valeur de ligne de delta déplacée 4 du registre RII. En conséquence est attaqué le pas RM2-10 au cours duquel la valeur 4 plus petite est écrite dans la "mémoire AM II" à l'adresse 1 comme spécifié par le registre d'adresse d'écriture WBP. En-20 suite, le registre d'adresse d'écriture WBP est incrémenté de 1, c'est-à-dire qu'il contient ensuite l'adresse 2. Après RM2-9 est repris le pas RM2-7 au cours duquel le module "delta" 2 engendre la valeur d'apparition de delta déplacée suivante 5 et au cours duquel cette valeur est stockée 25 dans le- registre RII. Cette fois, pendant RM2-8, lors de l'exécution de la fonction "OU exclusif", on trouve que la valeur intermédiaire 5 du registre RI est égale à la valeur d'apparition de delta déplacée 5 du registre RII. En conséquence est attaqué le pas 30 RM2-14 au cours duquel ces valeurs sont tout simplement supprimées du fait qu'on ne les écrit pas dans la zone d'écriture de la "mémoire AM II" et du fait que le compteur WAT est décrémenté d'une valeur 1 pour indiquer que le nombre d'entrées a maintenant été réduit d'uno&nité. 35 Le pas RM2-3 est maintenant attaqué alors que WAT contient maintenant l'adresse 2. Etant donné que de ce fait le contenu de WAT n'est pas 0, un signal vrai est formé à la sortie W , ce qui provoque l'attaque du pas RM2-6. Pendant RM2-6, -4-53- 2334148 la valeur intermédiaire suivante 6 est lue à l'adresse 1 de la "mémoire AM II" comme spécifié par le compteur WAP et celui-ci est incrémenté de 1 à l'adresse 2. La valeur d'apparition intermédiaire 6 est stockée dans le registre RI. Le pas RM2-7 est maintenant attaqué, pas au cours duquel l'intervention du module "delta" 2 est demandée, ce qui provoque la formation de la valeur d'apparition de delta déplacée supérieure suivante 6 et son stockage dans le registre RII. Les pas RM2-8 et la suite sont maintenant attaqués et, au cours de ces pas, la fonction "OU exclusif" est à nouveau exécutée. Ici encore, on trouve que les valeurs d'apparition 6 respectives des registres RI et RII sont égales entre elles. En conséquence est attaqué le pas RM2-14- au cours duquel ces valeurs sont effacées ou supprimées et au cours duquel le compteur WAT est décrémenté de 1 pour indiquer qu'il ne reste plus qu'une seule valeur dans la zone de lecture de la "mémoire AM II". Le pas RM2-3 est repris et, étant donné que le contenu de WAT n'est pas 0, tin signal vrai est formé à la sortie WQ, ce qui provoque une reprise du pas RM2-6 au cours de laquelle la dernière valeur intermédiaire restante 7 est sortie par lecture de l'adresse 2 de la zone de lecture de la "mémoire AM II" tandis que le registre WAP est incrémenté à l'adresse 3. La valeur intermédiaire 7 est stockée dans le registre RI. Ensuite est repris le pas RM2-7 au cotirs duquel le module "delta" 2 est rappelé. Le module "delta" 2 a fourni la dernière valeur d'apparition de delta déplacée de la ligne de delta 3 et, en conséquence, un signal vrai est maintenant en cours de formation à la sortie DELEND de ce module, ce qui provoque l'attaque du pas RM2-15 de l'organigramme. Pendant RM2-15, le registre WAT contient un "1" et, par conséquent, n'est pas à "O", ce qui indique qu'il reste une valeur à lire dans la "mémoire AM II". En conséquence est attaqué le pas RM2-16 au cours duquel en utilisant l'adresse 2 du registre d'adresse WAS, la zone de lecture de la "mémoire AM II" est lue. Cette adresse contient la valeur 7 et celle-ci est stockée temporairement dans le registre RI avant d'être transférée au module "codage". En outre, les registres WAS et WAT -454- 2334148 sont décrémentés de 1, de sorte qu'ils contiennent maintenant un "1" et un "0", respectivement. Ensuite est attaqué le pas EM2-17 au cours duquel la valeur intermédiaire 7 contenue dans le registre El est transférée au registre El du module "codage" 5 et au cours duquel l'intervention de celui-ci est demandée, ce qui provoque le codage de la valeur d'apparition intermédiaire 7 sous la forme codée hybride en vue de son stockage dans le module "mémoire". Le pas BM2-15 est maintenant repris. Cette fois, on 10 trouve que le registre WAT est à 0. En conséquence, un signal vrai est formé à la sortie WQ, ce qui provoque l'attaque du pas EM2-18. Etant donné que le module "décodage" I n'a pas atteint la fin du vecteur d'apparition d'événement, tin signal vrai est formé à la sortie E0F1, ce qui provoque une reprise du 15 pas BM2-19. A ce stade, l'adresse 2 contenue dans le registre d'adresse d'écriture WBP est stockée dans les registres WAS et WAT et les registres WAP et WBP sont remis à 0. En outre, la bascule SM de la "mémoire AM II" est complémentée, ce qui provoque une interversion des zones de lecture et d'écriture. En 20 conséquence, la zone 2 de la "mémoire AM II" devient la zone d'écriture et sa zone 1 devient la zone de lecture. A ce Btade, les contenus respectifs de la "mémoire AM II" et des registres WAS et WAT ainsi que l'information de sortie du module "codage" se présentent comme suit : 25 "Mémoire M II" - zone 2 Adresse Contenu Information de sortie vers le module "codage" 0 3 WAS =2 7 1 4 WAT = 2 30 Le troisième cycle de fonctionnement qui consiste en une nouvelle itération des pas EM2-19 et RM2-2 et la suite est maintenant attaqué. Pendant EM2-2, le registre WAS est décrémenté de sorte qu'il contient maintenant l'adresse 1 qui, si l'on se réfère aux données représentées ci-dessus, est l'adresse 35 de la zone 1 de la "mémoire AM II" à laquelle la valeur d'apparition intermédiaire 4 est stockée. En outre, le module "décodage" I engendre la valeur d'apparition inférieure suivante 2 et cette valeur est chargée dans le registre DELV du module -455- 2334148 "delta" 2 ce qui provoque la formation de la ligne de delta 3 mais déplacée cette fois de deux valeurs d'apparition seulement. Le pas RM2-3 est maintenant attaqué et étant donné que le registre WAT n'est pas à "0", le signal vrai à la sortie 5 provoque l'attaque du pas RM2-6. Pendant RM2-6, la zone 1 de la "mémoire AM II" est le sièg^d'une sortie par lecture de son adresse 0 et le contenu de cette adresse est stocké dans le registre El. L'adresse 0 contient la valeur 3- En conséquence, le registre El contient maintenant la valeur d'apparition in-10 temédiaire 3. Les pas EM2-8 et la suite sont maintenant attaqués et la fonction "OU exclusif" est effectuée. Pendant RM2-8, on trouve que la valeur d'apparition de delta déplacée 3 contenue dans le registre El est plus grande que la valeur d'apparition 15 2 fournie à partir du vecteur d'apparition d'événement de la ligne d'entrée. En conséquence est attaqué le pas RM2-9 au cours duquel la valeur 2 plus petite est sortie par écriture dans la "mémoire AM II" à l'adresse 0 et au cours duquel le registre d'adresse d'écriture WBP est incrémenté à 1. 20 Le pas RM2-7 est maintenant repris, ce qui provoque l'appel de l'intervention du module "delta" 2 qui engendre alors la valeur d'apparition de delta déplacée supérieure suivante 3 de la ligne 3 du delta. Les pas EM2-8 et la suite sont repris pour l'opération 25 "OU exclusif". A ce stade, les registres RI et EII contiennent chacun un "3" et, par conséquent, leurs contenus respectifs sont égaux entre eux. En conséquence, le pas RM2-14 est attaqué et au cours de ce pas la valeur du registre WAT est décrémentée de 1, ce qui élimine la valeur d'apparition 3 de l'information de 30 sortie. Le pas RM2-3 est repris, Le registre WAT contient maintenant un "1". En conséquence, un signal vrai est formé à la sortie ce qui provoque l'attaque du pas RM2-6. Pendant RM2-6, la valeur d'apparition intermédiaire 4 est lue dans la zone 1 de la "mémoire AM II" à l'adresse 1 et cette valeur est 35 stockée dans le registre RI. En outre, l'adresse de lecture du registre WAP est incrémentée de 1 à l'adresse 2. Le pas RM2-7 est repris et, au cours de cette reprise, le module "delta" 2 est appelé, ce qui provoque la génération de la valeur d'appa -456- 2334148 rition de delta déplacée suivante 4 et son stockage dans le registre RII. La fonction "OU exclusif" est maintenant effectuée et, pendant RM2-8, on trouve que les valeurs 4 respectives des 5 registres RI et RII sont égales entre elles. En conséquence, RM2-14 est repris et, au cours de cette reprise, le compteur WAT est décrémenté à O. Le pas RM2-8 de l'organigramme est repris et on trouve maintenant que le registre WAT est à 0. En conséquence, RM2-4 10 est attaqué. Pendant RM2-4 il n'existe pas de condition de débordement dans le module "delta" 2 et, en conséquence, un signal vrai est formé à la sortie DELOVL. Par suite est attaqué le pas RM2-5 au cours duquel la valeur maximale 255 est stockée dans le registre RI. Le pas RM2-7 de l'organigramme est maintenant 15 repris et le module "delta" 2 est appelé, ce qui provoque la génération de la valeur d'apparition de delta déplacée supérieure suivante 5 et son stockage dans le registre RII. Pendant l'exécution de la fonction "OU exclusif" au cours des pas RH2-8 et la suite, on trouve que la valeur du 20 registre RI est la plus grande et, en conséquence, est attaqué le pas RM2-9 au cours duquel la valeur 5 plus petite du registre RII est stockée dans la zone d'écriture de la "mémoire AM II" à l'adresse 1. RM2-7 est maintenant attaqué et le module "delta" 2 25 est appelé. Etant donné que la dernière valeur d'apparition de delta déplacée a été engendrée, un signal vrai est formé à la sortie DELEND, ce qui provoque la reprise du pas RM2-15 de 1'organigramme. Pendant RM2-15, le registre WAT contient un "0". En 30 conséquence, un signal vrai est formé à la sortie Wo, ce qui provoque l'attaque du pas RM2-18. Pendant RM2-18, la bascule E0E1 est à 0, ce qui indique que le module "décodage" I n'a pas atteint la fin du vecteur d'apparition d'événement de la ligne d'entrée. En conséquence RM2-19 est repris. 35 - Pendant RM2-19, les registres WAT et WAS sont chargés avec l'adresse 2 provenant du registre WBP et les registres WAP et WBP sont remis à 0; la bascule SM est complémentée dans la "mémoire II", ce qui fait que la zone 2 devient la nou -4-57- 2334148 velle zone de lecture et la zone 1 la nouvelle zone d'écriture. A ce moment, les contenus respectifs de la "mémoire AM II" et des registres WAS et WAT ainsi que l'information de sortie transmise au module "codage" à ce stade sont les suivantes : 5 "Mémoire AM II" - zone 2 Adresse Contenu Information de sortie vers module "codage" 0 2 WAS = 2 7 1 5 WAT = 2 10 Le cycle 4 est maintenant attaqué. Pendant EM2-2, l'adresse du registre WAS est décrémentée de 1 de sorte que ce registre contient maintenant l'adresse 1 qui représente l'emplacement de la dernière valeur d'apparition intermédiaire contenue dans la zone de lecture 2. En outre, 15 le module "décodage" I est appelé et engendre la dernière valeur d'apparition 0 du vecteur d'apparition d'événement de la ligne d'entrée. La valeur d'apparition 0 est stockée dans le registre DELV du module "delta" 2. En conséquence, celui-ci fournit la ligne 5 du delta non déplacée. Le pas EM2-3 estiaainte-20 nant attaqué et, du fait que le registre WAT contient une valeur 2, un signal vrai est formé à la sortie WQ, ce qui provoque l'attaque du pas EM2-6. Pendant EM2-6, la valeur 2 est lue dans la zone de mémoire 2 à l'adresse 0 (spécifiée par le registre d'adresse de lecture WAP) et celui-ci est incrémenté à l'adresse 25 1. Pendant KM2-7, le module "delta" 2 est appelé, ce qui provoque' la formation de la valeur d'apparition 0 de la ligne 3 du delta et le stockage de cette valeur dans le registre EII. La valeur intermédiaire 2 du registre El est plus grande que la 30 valeur 0 du registre EII. En conséquence est attaqué le pas EM2-9 au cours duquel la valeur 0 est écrite à l'adresse 0 de la zone d'adresses d'écriture 2 de la "mémoire AM II" et le registre WBP est incrémenté à l'adresse 1. Le pas EM2-7 est repris, ce qui provoque un rappel du 35 module "delta" 2. Le module "delta" 2 engendre maintenant la valeur d'apparition 1 de la ligne 3 du delta et cette valeur 1 est stockée dans le registre EII. Pendant l'opération XOE des pas EM2-8 et la suite, El contient une valeur 2 plus grande -458- 2334148 que le "1" contenu dans le registre RII, ce qui provoque la reprise du pas EM2-9. la valeur 1 du registre RII est maintenant sortie par écriture dans la zone de droite de la "mémoire AM II" et le registre WBP est incrémenté de 1. Le module "delta" 5 2 est ensuite rappelé et provoque le stockage de la valeur d'apparition de delta déplacée supérieure suivante 3 de la ligne 3 dans le registre EII. Au cours de l'opération "OU exclusif" des pas EM2-8 et la suite, on trouve que les contenus respectifs des "registres El et EII sont tous deux "2" et, par consé-10 quent, doivent être supprimés. En conséquence, le compteur WAT est décrémenté de 2 à 1 et le pas EK2-3 est repris. Etant donné que le contenu du registre WAT n'est toujours pas 0, les pas EM2-6 et 7 sont repris et la valeur intermédiaire 5 de l'adresse 1 de la "mémoire AM II" est lue et stockée dans le registre RI 15 cependant que le module "delta" 2 fournit la valeur d'apparition de delta déplacée supérieure suivante 3 en vue de son stockage dans le registre El. Au cours de l'opération "OU exclusif" des pas EM2-8 et la suite, la valeur 5 du registre El est la plus grande et, 20 par conséquent, la valeur 2 du registre EII est stockée dans la "mémoire AM II" et le compteur d'écriture WBP est incrémenté à l'adresse 2'. Le pas EM2-7 est repris et le module "delta" 2 est rappelé. Toutefois, à ce stade, le module "delta" 2 a fourni la ligne complète de valeurs d'apparition déplacées à 25 partir de la ligne 3 du delta et un signal vrai est formé à la sortie DELEND du module "delta" 2 pour indiquer ce fait. Ceci provoque une reprise du pas EM2-15 d.e l'organigramme. Le registre WAT contient maintenant une valeur 2 et, par conséquent, une valeur différente de 0, ce qui provoque la génération d'un 30 signal vrai à la sortie W^. Ceci provoque l'attaque du pas RM2-16. Le registre WAS contient maintenant l'adresse 1. En conséquence, l'adresse 1 de la zone 2 de la "mémoire AM II" est lue. Cette adresse contient la valeur 5 et partant, cette valeur 5 est stockée dans le registre RIÏ et ultérieurement, 35 au cours du pas RM2-17, elle est transmise au module "codage" en vue de son codage sous la forme hybride par ce module pour préparer son stockage dans le module "mémoire". En outre, les registres WAS et WAT sont décrémentés de 1, de sorte que chacun -459- 2334148 d'eux contient maintenant un "0". RM2-15 est maintenant repris. Etant donné que le contenu du registre WAT est maintenant 0, un signal vrai est formé à la sortie WQ, ce qui provoque l'attaque de RM2-18. Pendant RH2-18, la bascule E0F1 est à 1, ce qui indique que la fin du vecteur d'apparition d'événement de la ligne d'entrée n'a pas été lue par le module "décodage" I. En conséquence, le pas EM2-19 est attaqué. Pendant RM2-19» l'adresse 3 contenue dans le registre d'adresse d'écriture WBP est stockée dans les registres WAS et WAT et les registres WAP et WBP sont remis à 0. En outre, la bascule SM de la "mémoire AM II" est complémentée, ce qui fait que la zone 1 devient la nouvelle zone de lecture et la zone 2 la nouvelle zone d'écriture. En conséquence, à ce stade, les contenus respectifs de la "mémoire AM II" et des registres WAS et WAT ainsi que l'information de sortie vers le module "codage" sont les suivants : "Mémoire AM II" - zone 2 Adresse Contenu Information de sortie vers module "codage" 0 0 WAS =3 7 1 1 WAT =3 5 2 3 Pendant RM2-2, le registre WAS est ramené de 3 à 2, ce qui correspond à l'adresse de la dernière valeur intermédiaire de la zone 1 de lecture de la "mémoire AM II". le module "décodage" I est maintenant appelé et, étant donné que le dernier vecteur d'apparition d'événement a été fourni, ce module renvoie un signal vrai à la sortie E0P1 pour indiquer que la fin de zone du vecteur d'apparition d'événement a été rencontrée. En conséquence EM2-15 est attaqué. Le compteur WAT contient un "3" et forme en conséquence un signal vrai à la sortie W^. Par suite, RM2-16 est attaqué et la valeur 3 identifiée par le registre d'adresse WAS est lue dans la "mémoire AM II" et stockée dans le registre RI puis ensuite transférée au module "codage" en vue de son codage sous la forme codée hybride. En outre, le registre d'adresse WAS est décrémenté de l'adresse 2 à l'adresse 1 et le registre WAT est décrémenté de 3 à 2. -460- 2334148 RM2-15 est repris et un signal vrai est encore formé à la sortie W^, ce qui provoque la reprise des pas EM2-16 et EM2-17 au cours desquels la valeur intermédiaire inférieure suivante 1 est sortie par lecture, transférée au module "codage" 5 en vue de son codage sous la forme codée hybride et au cours desquels les registres WAS et WAT sont décrémentés à 0 et à 1, respectivement. Le pas BM2-15 est attaqué à ce stade. Un signal vrai est encore formé à la sortie W^. Par conséquent, les pas KM2-16 et EM2-17 sont repris et la valeur intermédiaire infé-10 rieure suivante 0 est sortie par lecture de la zone 1 de lecture de la "mémoire AM II" et est transférée au module "codage" en vue de son codage sous la forme codée hybride. En outre, le registre WAT est décrémenté de 1 et, par conséquent, ramené à 0. Le pas RM2-15 est maintenant repris et l'on trouve que 15 le registre WAT contient 0 et un signal vrai est formé à la sortie WQ, ce qui provoque l'attaque de RM2-18. Le module "codage" a atteint la fin de fichier. En conséquence, un signal vrai est en train d'être, formé à la sortie E0F1, ce qui provoque l'attaque de BM2-20. Pendant EM2-20, la logique P10.E0F1 est vraie, ce qui 20 détermine la génération d'un signal vrai à la sortie A2R10 et ce signal provoque à son tour la mise à 1 de la bascule ELAST du module "codage" en appelant ainsi l'intervention de celui-ci pour la dernière fois afin de lui faire coder complètement la dernière valeur d'apparition et d'assurer la transmission de 25 celle-ci au module "mémoire" en vue de son stockage sous la forme codée hybride. A ce stade, le module "mémoire" contient les valeurs d'apparition suivantes : 7» 5, 3, 1, 0. Bien entendu, ces valeurs d'apparition sont sous la forme codée hybride. En se ré-JO férant à la table 52 on peut voir que ceci correspond au vecteur d'apparition d'événement de la ligne d'entrée permutée vers le bas de trois lignes. XXIV. MODULE "PERMUTATION" 3 A. Description générale 35 Le module "permutation" 3 représenté sur le schéma de câblage en partie symbolique des Fig. 68 et 69 et son organigramme représenté sur la Fig. 70 sont très analogues au module "permutation" 2 avec toutefois les différences indiquées ci- -461- 2334148 après. la fonction du module "permutation" 3 est de faciliter l'opération do£echerche de raccourci rapide du module "raccourcissement" 2. La structure et la séquence de ce processus de recherche de raccourci rapide sont présentées de façon plus 5 détaillée à propos du module "raccourcissement" 2. Toutefois, pour faciliter la compréhension du module "permutation" 3» on remarquera que le module "raccourcissement" 2 utilise une procédure de recherche rapide de raccourci au cours de laquelle seules les deux dernières valeurs d'apparition effectives d'une 10 ligne quelconque d'un iso-entropicogramme sont utilisées pour déterminer le nombre de lignes à permuter pour localiser la ligne suivante dans le cadre du processus de localisation du raccourci. A cet effet, le module "permutation" 3 commence par engendrer une ligne spécifiée par le module "raccourcissement" 15 2 jusqu'à ce qu'il ait engendré deux valetirs d'apparition effectives qui ne sont plus modifiées ensuite par combinaison XOR avec une ligne suivante fournie par le module "delta" 2. Il a été précédemment souligné à propos du module "permutation" 2 que la permutation s'effectue en engendrant un certain nombre 20 de valeurs intermédiaires et que celles-ci sont enregistrées dans la "mémoire AM II". En outre, les valeurs intermédiaires situées à la droite, c'est-à-dire à l'extrémité correspondant aux plus grandes valeurs intermédiaires du résultat intermédiaire sont sorties dans le module "codage" si elles sont telles 25 qu'elles ne seront plus modifiées au cours d'une combinaison XOR avec des lignes suivantes fournies par le module "delta" 2. Une fois que cette condition est remplie, les deux dernières valeurs d'apparition (c'est-à-dire les deux plus grandes) de la ligne sont transmises au module appelant qui est le module 30 "raccourcissement" 2. Contrairement à ce qui se passait dans le cas du module "permutation* 2, les valeurs ne sont pas sorties dans le module "codage" pour leur codage hybride et leur stockage dans le module "mémoire". La distinction principale entre le module "permutation" 35 3 et le module "permutation" 2 va maintenant être précisée. En se référant à l'organigramme du module "permutation" 2 représenté sur la Fig. 67, on peut voir qu'après RM3-8 et si un signal vrai est formé à la sortie DELEND par le module "delta" 2 -4-62- 2334148 (pour signaler que la dernière valeur de ligne de delta ou de ligne de delta déplacée est en train d'être formée par le module "delta" 2), EM2-15 est attaqué. La raison pour laquelle le module "permutâtion" 2 attaque BM2-15 est de sortir dans le 5 module "codage" les valeurs d'apparition qui ne seront pas affectées ou modifiées au cours de l'opération" OU exclusif" par des lignes suivantes formées par le module "delta" 2. Toutefois, dans le cas du module "permutation" 3, les valeurs ne sont pas sorties dans le module "codage". Au lieu de cela, le module 10 "permutation" 3 détermine si le contenu du pointeur WAT est plus grand que 2. Dans l'affirmative, cela indique qu'il existe deux valeurs dans la "mémoire AM IP' et cës deux valeurs sont respectivement transférées dans les registres N1 et N2, puis ultérieurement transférées dans le module "raccourcissement" 2. S'il 15 existe moins de deux valeurs, la valeur maximale 255 est stockée dans le registre EII et le module "permutation" 3 reprend l'opération "OU exclusif" correspondant aux pas EM3-9 et la suite. De cette manière, le module "permutation" 3 assure le transfert de toute valeur présente dans la zone de lecture, à la zone d*é-20 criture de la "mémoire AM II" avant que la bascule SM soit complé-mentée pour intervertir les zones de lecture et d'écriture. On remarquera dans l'organigramme du module "permutation" 2 sur la Fig. 6? que, si la fin du fichier est atteinte par le module "décodage" I, comme indiqué par le fait que la 25 bascule E0F1 est à 1, le pas EM2-15 est attaqué pour transférer des valeurs d'apparition de la zone de lecture de la "mémoire AM II" au module "codage" en vue de leur sortie. Par contre, dans le module "permutation" 3, si la bascule E0F1 est à 1 et si le pointeur WAT n'est pas supérieur à 2, le registre NI est 30 mis à 0. Par suite de la nature du module "permutation" 3» il existe au moins une valeur. En conséquence, le pointeur WAT -étant inférieur à 2, il est nécessairement "1". Après la mise à 0 du registre N1, le pas EM3-21 est attaqué, et une valeur intermédiaire est lue dans la "mémoire 35 AM II" et est stockée dans le registre N2. Une "suspension" est alors effectuée. B. Composants En se référant aux Fig. 68 et 69» on voit que le module -463- 2334148 "permutation" 3 comprend les registres à huit "bits suivants : El, EII, N1 et N2, de préférence du type SN74100 décrit dans l'ouvrage "TTL" ci-dessus cité. WPB et WAP sont des compteurs "positifs" et forment des pointeurs de lecture. WAS et WAT sont respectivement un pointeur de lecture et un compteur destiné à garder trace du nombre d'articles qui restent à lire; tous deux sont des compteurs "négatifs" ou "décompteurs". En outre, le module "permutation" 3 comprend les bascules suivantes : GT, ET, LT et P1 à P12. Chacune de ces bascules est du type à déclenchement par flanc avant d'impulsion décrit ci-dessus. Les bascules désignées de la même manière que dans la table 53 du module "permutation" 2 ont essentiellement la même fonction que dans celui-ci et leur description ne sera pas reprise ici. Des circuits de sélection DS1-DS5 sont prévus pour transmettre conditionnellement huit bits codés binaires d'information à partir de l'une quelconque des entrées représentées le long du côté supérieur jusqu'à une sortie commune à huit bits représentée le long du côté inférieur de chaque cadre rectangulaire, symbolique. Les circuits de sélection sont du type déjà décrit précédemment et il n'est pas nécessaire de les considérer de façon plus détaillée à ce stade. Des commutateurs 1840 forment des signaux représentant en code binaire la valeur décimale 2. Des commutateurs 1842 et 1844 forment des signaux représentant en code binaire la valeur décimale 255- Ces commutateurs peuvent être d'une structure classique et être, par exemple, des commutateurs mécaniques ou électroniques fournissant en permanence des signaux à leurs sorties.. Un circuit de transmission conditionnelle "OU" conventionnel 1860 est prévu pour combiner par une opération logique OU les signaux des sorties G et E du circuit de comparaison 1852. Des inverseurs de signal conventionnels 1856 et 1854- sont prévus_pour assurer une inversion logique du signal appliqué à leur entrée. Un circuit logique de suspension d'horloge 1822 applique des signaux à l'entrée CS d'une horloge généralisée 700 pour suspendre le fonctionnement de celle-ci de la manière dé -464- 2334148 crite ci-après de façon plus détaillée et comme exposé à propos de l'horloge généralisée 700. Des lignes de commande entrée/sortie et des entrées/ sorties d1information sont représentées le long du côté droit 5 des Fig. 68 et 69. Les lignes à conducteur unique sont représentées par des traits fins, tandis que les lignes à conducteurs multiples destinés à assurer la transmission de huit bits d'information sont représentés par des traits pleins renforcés. C. Description détaillée 10 On va considérer maintenant la structure générale du module "permutation" 3 telle qu'elle est représentée sur le schéma de câblage en partie symbolique des Fig. 68 et 69 et son organigramme représenté sur la Fig. 70. Comme pendant le pas RM2-1 de l'organigramme du module "permutation" 2, au cours du 15 pas EM3-1 de l'organigramme du module "permutation" 3 la valeur du nombre de lignes à permuter est transférée du registre RII au registre DELRO du module "delta" 2 et les registres WAP, WPB, WAS et WAT du module "permutation" 3 sont remis à 0. En outre, la bascule SM de la "mémoire AM II" est actionnée de 20 sorte qu'une écriture est effectuée dans la zone 2. De plus, les bascules DELFST et D1FST des modules "delta" 2 et "décodage" I sont mises à 1 pour indiquer que le premier appel de ces modules est sur le point d'être lancé. On remarquera que le module "décodage" I, comme pour le module "permutation" 2, décode 25 le vecteur d'apparition d'événement de la ligne d'entrée stocké dans le module "mémoire". Le module "codage" n'est pas appelé par le module "permutation" 3 et, par conséquent, il est inutile de le mentionner dans ce qui va suivre. Au cours du pas RM3-2 de l'organigramme du module "permutation" 3» le registre 30 pointeur de lecture inverse WAS est réduit de 1. Comme pour le module "permutation" 2, ceci peut être ignoré pendant le premier appel du module "permutation" 3. Pendant RM3-3» le module "décodage" I est appelé et l'une des valeurs d'apparition de la ligne d'entrée est transmise par le module "décodage" I au 35 registre DELV du module "delta" 2. On se rappelle que le module "décodage" I fournit les valeurs d'apparition en allant de la plus grande à la plus petite. La valeur d'apparition stockée dans le registre DELV devient la valeur de déplacement pour le module "delta" 2. -465- 2334148 Pendant RM3-4, le contenu du registre WAT est vérifié pour déterminer s'il reste quelque chose à lire dans la zone de lecture de la "mémoire AM-II". Si le registre WAT ne contient pas 0 (W^ étant vrai) alors le pas RM3-7 de l'organigramme 5 est attaqué. Si le registre WAT contient 0, il ne reste rien à lire et le pas RM3-5 cLe l'organigramme est attaqué. Si le pas KM3-5 Pour revenir au pas RM3-5» si un signal vrai est formé à l'une des sorties DELOVL ou DELEND, ce qui indique, dans le 20 premier cas, qu'il existe un débordement et, dans le second cas, que la fin de la ligne de delta a été atteinte par le module "delta" 2, le pas RM3-22 de l'organigramme est attaqué et l'adresse la plus grande écrite dans la "mémoire AM-II" est stockée dans les registres WAS et WAT, tandis que les registres WAP et 25 WPB sont remis à 0 d'une manière analogue et à des fins analogues à ©elles qui ont été décrites à propos du pas RM2-19 du module "permutation" 2. En outre, la bascule lecture/écriture SM de la "mémoire AM-II" ôst complémentée pour intervertir les zones de lecture et d'écriture et la bascule DELFST du module "delta" 2 30 est mise à 1 pour assurer une initialisation pour la ligne suivante demandée par le module "delta" 2. On supposera maintenant que le pas RM3-8 du module "permutation" 3 a été attaqué. Pendant RM3-8, le module "delta" 2 est appelé. Si la fin de ligne n'a pas été atteinte par ce 35 dernier module et si, par conséquent, un signal vrai est formé à la sortie DELOVL, alors la valeur de ligne de delta ou la valeur de ligne déplacée de delta est stockée dans le registre RII du module "permutation" 3 à partir du registre DELO du mo -466- 2334148 dule "delta" 2. Si par contre, une condition de débordement a été détectée dans le module "delta" 2 et si, peur conséquent, un signal vrai est formé à la sortie DELOVL, la valeur maximale 255 est stockée dans le registre RII. 5 Les pas RM3-9 à RM3-12 sont prévus pour assurer une opération "OU exclusif" analogue à celle qui a été précédemment décrite et représentée pour le module "permutation" 2 pendant les pas RM2-8 à RM2-10. Par exemple, si les deux valeurs des registres RI et RII sont égales entre elles, les pas EM3-11 10 et EM3-4 sont attaqués et le registre pointeur de lecture WAT est décrémenté de 1 tandis que les pas RM3-4 et la suite sont répétés en supprimant ainsi les valeurs identiques dans les registres RI et RII. Les pas RM3-12 et RM3-10 assurent que la plus petite des deux valeurs respectivement contenues dans les 15 registres RI et RII est sortie par écriture dans la zone d'écriture de la "mémoire AM-II". En conséquence, pendant RM3-10, le contenu du registre RII est écrit car c'est le plus petit, tandis que, pendant RM3-12 c'est le contenu du registre RI qui est écrit car il est alors le plus petit. Après RM3-10, le pas 20 RM3-8 de l'organigramme est repris. Pendant EM3-12, le nombre contenu dans le registre pointeur de lecture WAT est réduit de 1 à moins qu'il n'ait déjà atteint 0 (c'est-à-dire à moins que soit vrai). Les pas RM3-13 à RM3-15 sont utilisés pour déterminer s'il reste quelque chose à lire dans la zone de lec-25 ture de la "mémoire AM-II" et, dans l'affirmative, au cours du pas RM3-14, la valeur est lue et stockée dans le registre RI et le registre pointeur de lecture WAT est incrémenté de 1. Si le registre WAT est "0", ce qui indique que toutes les valeurs ont été lues dans la zone de lecture de la "mémoire AM-II", 30 alors le pas RM3-15 est attaqué après RM3-13 et la valeur maximale 255 est stockée dans le registre RI, ce qui assure l'attaque de l'un des pas RM3-10, RM3-11 après le pas RM3-9 suivant. La boucle comprenant le pas RM3-8 peut être terminée de l'une ou l'autre de deux manières. Une de ces manières est 35 le cas dans lequel la sortie DELEND. du module "delta" 2 est vraie, ce qui indique que la fin de la ligne de delta a été atteinte par ce module. Dans ces conditions, RM3-16 est attaqué après le pas RM3-8 de l'organigramme. Pendant RM3-16, un con -467- 2334148 trôle est effectué pour déterminer si le registre pointeur de lecture WAT contient une valeur inférieure à 2. La valeur du registre WAT ne peut jamais être plus grande que 1. En conséquence, si la valeur du registre WAT est égale à 2, alors les 5 pas RM3-20 et RM3-21 sont attaqués. Le fait que WAT contienne une valeur 2 indique qu'il reste à lire deux ou plus de deux valeurs dans la zone de lecture de la "mémoire Al£r-II". Ceci signifie également que ces deux valeurs sont suffisamment grandes par rapport aux lignes de delta restantes pour qu'il n'existe 10 aucune possibilité qu'elles soient altérées ou modifiées par les lignes de delta suivantes. En conséquence, pendant les pas BM5-20 et RM3-21, ces valeurs sont lues dans la "mémoire AM-II" et stockéesdans les registres N1 et N2 du module "permutation" 3 et le compteur WAS est décrémenté une fois pour chaque valeur. 15 Le fonctionnement est alors suspendu. La plus 'grande valeur d'apparition ou valeur d'apparition située le plus à droite est stockée dans le registre Ni, tandis que la valeur d'apparition suivante dans l'ordre de grandeur décroissant est stockée dans le registre N2. 20 On va considérer à nouveau le pas 11,13-16 et l'on va supposer que la valeur contenue dans le registre WAT est inférieure à 2. S'il ne reste pas au moins deux valeurs à lire dans la zone de lecture de la "mémoire AM-II", le pas EM3-17 est attaqué et la valeur maximale 255 est stockée dans le registre 25 SII, tandis que la portion "GTJ exclusif" de l'organigramme est reprise. Le stockage de la valeur maximale 255 dans le registre EII assure l'attaque de l'un des pas RM3-11, BM3-12. En conséquence, toutes les valeurs éventuelles restant dans la zone de lecture de la "mémoire AM-II" sont lues, stockées dans le re-30 . gistre RII et ultérieurement écrites dans sa zone de lecture. Finalement, RM3-11 est attaqué, ce qui provoque un retour à RM3-4. Lorsque cela se produit, le contenu du registre WAT est 0 et la branche d'organigramme RM3-5» RM3-22 à Rî'3-2 est attaqué e. 55 On va maintenant revenir à la boucle passant par le pas RM3-8 et considérer la seconde manière dont on peut sortir de cette boucle. Cela se produit si le module "décodage" I a atteint la fin de fichier du vecteur d'apparition d'événement -468- 2334148 âe la ligne d'entrée et si, par conséquent, un signal vrai est formé à la sortie E0F1. Un signal vrai à la sortie E0F1 du module "décodage" I provoque l'attaque du pas RM3-18 après RM3-3. Pendant RM3-18, le contenu du registre pointeur WAT est 3 vérifié pour déterminer s'il contient un "2" ou une valeur inférieure à 2. Si le registre WAT contient un "2", alors cela indique que, "bien que la fin de fichier ait été atteinte pour la ligne d'entrée par le module "décodage" I, il reste deux valeurs d'apparitions dans la zone de lecture de la "mémoire 10 AM-II" et, dans ces conditions, les pas RM3-20 et RM3-21 sont ensuite attaqués et les deux valeurs en question sont stockées dans les registres NI et N2, comme décrit précédemment. Ensuite, le fonctionnement du module "permutation" 3 est suspendu. Si, pendant RM3-18, la valeur du registre WAT est infé-15 rieure à 2, alors une valeur 0 doit être stockée dans le registre Ni. Toutefois, il doit exister au moins une valeur d'apparition sur chaque ligne d'un iso-entropicogramme et cette valeur d'apparition doit être stockée dans le registre N2. En conséquence, le pas RM3-19 est attaqué et la valeur 0 est stockée 20 dans le registre N1, après quoi RM3-21 est attaqué et, pendant ce pas, la valeur d'apparition contenue dans la zone de lecture de la "mémoire AM-II" est stockée dans le registre N2 puis une suspension est effectuée. On va maintenant considérer de façon plus détaillée le 25 montage spécifique du module "permutation" 3. En se référant au schéma de câblage en partie symbolique des Fig. 68 et 69 et à l'organigramme de la Fig. 70, on voit qu'initialement le module "jonction du système DBfl" forme un signal vrai à la sortie MINIT en remettant en son état initial l'horloge généralisée 30 700, ce qui provoque la remise à 0 de chacunedes bascules du compteur de commande 1813. Ensuite le module "raccourcissement" 2 formé un signal vrai à la sortie A2S5, ce qui provoque le transfert de la valeur du nombre de lignes à permuter à partir de T3 du module "raccourcissement" 2 au registre RIL. Un signal 35 vrai apparaissant à la sortie A2S5 est également appliqué à l'entrée I de l'horloge généralisée 700, de sorte que celle-ci et l'inverseur 1830 commencent à former des impulsions d'horloge aux sorties CLK et CLK. -469- 2334148 Toutes les bascules du compteur de commande 1813 sont maintenant à 0, ce qui rend vraie la logique P1+È2...P12. En conséquence, la premire impulsion CLK provoque la mise à 1 de la bascule Pl. Le signal vrai à la sortie P1 de la bascule 5 PI provoque la réception d'un signal vrai par la sortie A3R1 des lignes de commande entrée/sortie du module "permutation" 3. Le signal vrai de la sortie A3R1 met à 1 la bascule DELFST du module "delta" 2 et permet le transfert de la valeur du nombre de lignes à permuter à l'entrée du registre DELRO du module 10 "delta" 2. En outre, le signal vrai de la sortie A3R1 provoque la mise à 1 de la bascule SM de la "mémoire AM-II", ce qui fait que la zone 2 devient la zone d'écriture. Le signal vrai de la sortie PI provoque le "vidage" ou remise à O des registres pointeurs WAP, WAS, WAT et WPB. A l'impulsion CLK suivante, la lo-15 gique P1.CLK devient vraie, ce qui provoque la génération de signaux vrais aux sorties A3R2 et A3R3 du module "permutation" 3. Le signal vrai de la sortie A3R2 provoque le transfert de la valeur du nombre de lignes à permuter, du registre RIL dans le registre DELRO. Le signal vrai à la sortie A3R3 provoque l'ac-20 tionnement du multivibrateur D1G0 du module "décodage" I, ce qui assure l'appel de l'intervention de ce module "voir BM3-3 de l'organigramme). En supposant que là fin de fichier n'ait pas été atteinte par le module "décodage" I, un signal vrai est formé à la 25 sortie E0F1, ce qui rend vraie la logique P1.E0F1. L'état vrai de cette logique provoque la mise à 1 de la bascule P2 du compteur de commande 1813 et la remise à 0 de la bascule P1 à l'impulsion CLK suivante, ce qui détermine l'attaque du pas RM3-2 de l'organigramme. Pendant RM3-2, le signal vrai de la sortie 30 P2 provoque une décrémentation de 1 de l'adresse contenue dans le registre pointeur V/AS afin d'assurer l'obtention de l'adresse de la valeur la plus élevée écrite dans la zone d'écriture de la "mémoire AM-II". Toutefois la décrémentation du registre WAS est sans effet lors de la première exécution de l'organigramme 35 du module "permutation" 3. Le signal vrai à la sortie P2 et 1 £tat vrai de la logique P2.CLK provoquent l'apparition de signaux vrais aux sorties A3R4 et A3R5 des lignes de commande entrée/sortie du module "permutation" 3. Le signal vrai à la -470- 2334148 sortie A3R4 permet l'application de la valeur d'apparition provenant de la ligne d'entrée, valeur qui est fournie par le module "décodage'1 I, en tant que valeur de déplacement, à l'entrée du registre DELY du module "delta" 2. Le signal vrai de la 5 sortie A3E5 provoque le stockage de cette valeur d'apparition (valeur de déplacement) dans le registre DELY. Si une condition de débordement n'a pas été détectée, ou si la fin de la ligne de delta n'a pas été atteinte dans le module "delta" 2, des signaux vrais sont formés aux sorties 10 DELOVL et DELEND du module "delta" 2. En outre, si le registre pointeur WAT a atteint un état "0", un signal vrai est formé à la sortie WQ. Dans ces conditions, la logique DELOVL.DELEND. W Q est vraie (voir entrée de la bascule P3). Si la logique ci-dessus n'est pas vraie ou si le compteur WAT n'est pas 0, la 15 logique P2.(DELOVL,DELEND.Wo+W^) est vraie et, à l'impulsion CLK suivante, la bascule P3 est mise à 1. En se référant à l'organigramme, on notera que, lorsque la bascule P3 est à 1, l'un des pas RM3-5» EM3-7 de l'organigramme est attaqué. RM3-7 est attaqué si le registre pointeur WAT n'est pas 0. (^). 20 Lors de la première exécution de l'organigramme, le registre pointeur WAT contient un 0. En conséquence, le pas RM3-5 est attaqué. Si, ni DELOVL, ni DELEND n'est vraie, RM3-6 est attaqué après RM3-5 et la valeur maximale 255 est stockée dans le registre RI. 25 En se référant à la Fig. 68, on notera qu'un signal vrai à la sortie WQ provoque le couplage de la sortie des commutateurs 1844 qui représentent la valeur maximale 255» par l'intermédiaire du circuit de sélection DS1, avec l'entrée du registre El. En outre, la logique P3.CLK devient vraie et la va-30 leur maximale 255 est stockée dans le registre RI. Etant donné que la sortie DELEND est vraie, la logique P3.DELEND est maintenant vraie et, à l'impulsion CLK suivante, la bascule P4 est mise à 1 et la bascule P3 est remise à 0, ce qui provoque l'attaque du pas BM3-8 de l'organigramme. 35 Pour revenir au pas RM3-4 et en supposant que le re gistre WAT ne contient pas un "0", un signal vrai est formé à la sortie W0 et, à ce moment, la bascule P3 est à 1. En conséquence, la logique P3.CLK devient vraie, ce qui provoque la géné -4-71- 2334148 ration d'un signal vrai à la sortie A3E6, signal qui à son tour appelle l'intervention du module "delta" 2. (On remarquera que cette action est en fait indiquée, pour faciliter l'explication, dans le pavé RM3-8 de l'organigramme. En outre, l'état vrai de 5 la logique W^.P3 provoque l'apparition d'un signal vrai à la sortie A3E7 du module "permutation" 3j signal qui provoque à son tour une opération de lecture dans la "mémoire AM-II". En se référant à la logique de suspension d'horloge 1822, on voit que la logique A3R6.ÎMEND devient maintenant vraie, ce qui pro-10 voque une suspension du fonctionnement de l'horloge généralisée 700 en attendant l'achèvement des opérations du module "delta" 2. Si, pendant la présence du signal vrai à la sortie P3, le registre WAT ne contient pas un "0", un signal vrai est 15 formé à la sortie W^, ce qui provoque le couplage, par le circuit de sélection DS1, de la sortie de la "mémoire AM-II" avec l'entrée du registre El. Le signal vrai de la sortie P3 provoque le transfert, par le circuit de sélection DS5, de l'adresse fournie par le registre pointeur WAP, à l'entrée d'adresse de 20 la "mémoire AM-II", ce qui spécifie l'adresse à laquelle la lecture est effectuée pour le registre El. L'état vrai de la logique P3.CLK provoque en conséquence le stockage de la valeur lue dans la "mémoire AM-II" dans le registre El. En outre, la logique P3.W^.CLE devient vraie, ce qui provoque une incrémen-25 tation d'une adresse du registre pointeur WAP de sorte que ce registre contient maintenant l'adresse de l'emplacement disponible suivant dans la zone d'écriture de la "mémoire AM-II". La logique P3.DELEND est également vraie au cours de EM3-7. Une fois que le module "delta" 2 a achevé ses opérations 30 et que sa sortie EMEND devient vraie, tandis que la logique A3E6.DMEND devient fausse, la logique de suspension d'horloge 1822 élimine le signal vrai de l'entrée CS, ce qui a pour effet que l'horloge généralisée recommence à former ses impulsions CLE. L'impulsion CLE suivante provoque la mise à 1 de la bascule P4-35 et la bascule P3 est remise à 0, ce qui provoque l'attaque du pas EM3-8 de l'organigramme. On va maintenant considérer le fonctionnement au cotirs de EM3-8. Si un débordement ne s'est pas produit dans le module -472- 2334148 "delta" 2, la sortie DEL OVL est vraie. En conséquence, la logique P4.DELOVL est également vraie, ce qui provoque le transfert, par le circuit de sélection DS2, de la valeur de ligne de delta, du registre DELO du module "delta" 2 à l'entrée du 5 registre RII. La logique F4.CLK devient ensuite vraie, ce qui provoque le stockage de ladite valeur de ligne de delta dans le registre RIL. Par contre, si un débordement-s'est produit dans le module "delta" 2, un signal vrai est formé à la sortie DELOVL de ce module, ce qui rend vraie la logique P4.DELOVL, 10 ce qui a pour effet de transférer la valeur maximale 255, des commutateurs 1842 à l'entrée du registre RII où cette valeur est stockée. Le signal vrai de la sortie P4 provoque la mise à 1 de la bascule P5 et la remise à 0 de la bascule P4 à l'impulsion CLK suivante, ce qui détermine l'attaque du pas RM3-9 de 15 l'organigramme. Les pas RM3-9 à RM3-12 effectuent une opération "OU exclusif" analogue à celle qu'assurent les pas RM2-9 à RM2-12 du module "permutation" 2 à quelques exceptions près. On va maintenant considérer de façon plus détaillée le fonctionnement en notant tout d'abord que la plus petite des 20 deux valeurs respectivement stockées dans les registres RI et RII doit être sortie par écriture dans la "mémoire AM-II". Par contre, si ces deux valeurs sont égales entre elles, alors aucune de ces deux valeurs ne doit être écrite dans la "mémoire AM-II". 25 Le signal vrai de la sortie P5 de la bascule P5 pro voque la comparaison par le comparateur 1850 des contenus respectifs des registres RI et RII. On supposera que le comparateur 1850 détecte que les contenus respectifs des registres RI et RII sont égaux entre eux 30 et que, par conséquent, le pas RM3-11 est attaqué. Un signal vrai est formé à la sortie EQ et la logique P5.EQ.CLE devient vraie, ce qui provoque la mise à 1 de la bascule ET. Si le compteur WAT n'est pas 0, ÎP est vrai et la logique P5.NÏ.W^.CLK devient vraie, ce qui provoque une décrémentation de 1 du poin-35 teur WAT. La logique P5.EQ(DELOVL.DELEND.Wo+f^) devient maintenant vraie et, à l'impulsion CLE suivante, la bascule P3 est mise à 1 et la bascule P5 est remise à 0, ce qui provoque une reprise du pas RM3-4. On voit donc que rien n'est écrit dans la -4-73- 2334148 "mémoire AM-II" et que le registre pointeur WAT est simplement décrémenté de 1 pendant EM3-11 après la détection d'une égalité entre RI et EII. On va maintenant revenir au pas EM3-9 et supposer 5 que le contenu du registre El est inférieur à celui du registre EII. Le comparateur 1850 forme alors un signal vrai à la sortie m de l'inverseur de signal 1856 et un signal vrai à la sortie LS. La logique P5.LS.CLS! devient vraie, ce qui provoque la mise à 1 de la bascule LT et la logique P5.ÊQ devient vraie, ce qui 10 provoque la mise à 1 de la bascule P6 et la bascule P5 est remise à 0 ce qui provoque l'attaque du pas EM3-12 de l'organigramme. La logique P5.Nx.W^.CLK est encore vraie, ce qui provoque une décrémentation de 1 du pointeur WAT. La logique P6.LT est vraie, ce qui provoque le cou-15 plage, par le circuit de sélection DS4-, de la sortiçdu registre El avec l'entrée de la "mémoire AM-II". Le signal vrai de la sortie P6 provoque également la génération d'un signal vrai à la sortie A3E9 des lignes de commande entrée/sortie, ce qui provoque l'écriture dans la "mémoire AM-II" de la valeur prove-20 nant du registre El. La logique P6.LT est vraie et, à l'impulsion CLK suivante, la bascule P7 est mise à 1 et la bascule P6 est remise à 0, ce qui provoque l'attaque du pas EM3-13 de l'organigramme. Les pas BM3-13, EM3-14- et EM3-15 sont destinés, comme 25 dans le cas du module "permutation" 2, à assurer un contrôle permettant de vérifier s'il reste quelque chose à lire dans la zone de lecture de la "mémoire AM-II" et, dans l'affirmative, de lire la valeur en vue de son stockage dans le registre El. Si pour une raison quelconque le pointeur WAT a été décrémenté à 30 0, alors pendant RM3-13 la valeur maximale 255 est stockée dans le registre El pour indiquer cet état de choses, au lieu d'une valeur provenant delà "mémoire AM-II". Après l'un des pas BM3-15, BM3-14-, le pas EM3-9 de l'organigramme est repris. A cet effet, le signal vrai de la sortie P7 provoque la mise à 1 de 35 la bascule P5 et la remise à 0 de la bascule P7 à l'impulsion CLK suivante. D'une manière analogue, si le contenu du registre EII est inférieur à celui du registre El, le comparateur forme, -4-74-- 2334148 pendant RM3-9» un signal vrai à la sortie Ni et l'inverseur 1856 forme un signal vrai en La logique P5.M.SÏS est vraie et la bascule GT est mise à 1. La logique P5.ïï§ est encore vraie, ce qui provoque la mise à 1 de la bascule P6 et la remise à 0 5 de la bascule P5 lors de l'impulsion CLK suivante, ce qui détermine l'attaque du pas RM3-10 de l'organigramme. Pendant la présence du signal de la sortie P6, la logique P6.GT est vraie, ce qui provoque le transfert, par le circuit de sélection DS4-, de la valeur plus petite contenue 10 dans le registre EII à l'entrée de la "mémoire AM-II". En outre, le signal vrai de la sortie P6 provoque la génération d'un signal vrai à la sortie A3R9 des lignes de commande entrée/sortie, ce qui détermine l'écriture dans la "mémoire AM-II" de la valeur provenant du registre RII. 15 En outre, la logique P6.CLK devient vraie, ce qui pro voque tme décrémentation de 1 du pointeur WPB, de sorte que celui-ci contient maintenant l'adresse de l'emplacement suivant de la "mémoire AM-II" auquel une écriture doit avoir lieu. Après RM3-10, le pas RM3-8 est repris. S'il reste encore de l'infor-20 mation de sortie à fournir par "delta" 2, la sortie DELEND du module "delta" 2 est vraie. En conséquence, le circuit P6.GT.DELEND est "vrai", ce qui provoque la mise à 1 de la bascule P4. De plus, le signal A3R6 devient vrai, ce qui provoque la mise en action du module "delta" 2. Entre temps, le circuit 25 A3R6.DMEND devient vrai, ce qui provoque le verrouillage de l'horloge du module "permutation" 3. Lorsque le module "delta" 2 a terminé ses opérations, l'horloge du module "permutation" 3 est déverrouillée et l'impulsion CLK suivante provoque la remise à 0 de la bascule P6 et la mise à 1 de la bascule P4-. 30 La séquence de fonctionnement décrite ci-dessus, qui se déroule pendant les pas RM3-8 à RM3-15i se poursuit jusqu'à ce que l'un des deux modes de suspension se produise. Une première suspension se produit pendant RM3-8 lorsque la dernière valeur d'apparition déplacée est engendrée à partir d'une ligne du del-35 ta par le module "delta" 2. Dans ces conditions, un signal vrai est formé à la sortie DELEND et provoque l'attaque du pas RM3-16. A cet effet, l'état vrai de la logique P6.DELEND provoque la mise à 1 de la bascule P8, ce qui détermine l'attaque du pas RM3-16. -475- 2334148 Pendant BM3-16, le contenu du pointeur WAT est vérifié pour déterminer s'il est inférieur à 2. Le signal vrai de la sortie P8 provoque le déverrouillage du circuit de comparaison 1852 et forme un signal vrai aux sorties G, E et L, respective-5 ment, si le contenu du pointeur WAT est supérieur, égal ou inférieur à la valeur 2 (représentée par les signaux de sortie des commutateurs 1840). Si le contenu du pointeur WAT est égal ou supérieur à 2, alors le fonctionnement du module "permutation" 3 est ter-10 miné étant donné qu'il existe dans la "mémoire AM-II" au moins deux valeurs qui ne seront plus modifiées par des opérations XOE suivantes effectuées sur des valeurs d'apparition transmises par le module "delta" 2. Lorsque cela se produit, le circuit de comparaison 1852 provoque l'apparition d'un signal vrai à 15 la sortie GE de la porte OU 1860, ce qui rend vraie la logique P8.GE. A l'impulsion CLE suivante, la bascule P11 est mise à 1 et la bascule P8 est remise à 0, ce qui provoque l'attaque du pas EM3-20. Le signal vrai de la sortie P11 rend vraie la sortie 20 A3R7 des lignes de commande entrée/sortie, ce qui provoque la lecture par la "mémoire AM-II" de la valeur suivante à l'emplacement spécifié par le pointeur WAS. En outre, l'état vrai de la logique P11.CLÉ provoque une décrémentation d'une adresse du pointeur WAS. La logique P11 .CLÉ provoque en outre le stoc-25 kage de la valeur lue dans la "mémoire AM-II ou AM II", dans le registre NI. L'état vrai de la logique P11 provoque la remise à 0 de la logique P11 et la mise à 1 de la bascule P12, ce qui détermine l'attaque du pas EM3-21. L'état vrai de la sortie P12 30 détermine à nouveau un état vrai à la sortie A3E7, ce qui provoque une sortie par lecture de la valeur suivante par la "mémoire AM II". L'état vrai de la logique P12.CLK provoque le stockage par le registre N2, de la valeur actuelle provenant de la "mémoire AM II" et cet état vrai de la logique P12.CLË 35 provoque en outre une décrémentation d'une adresse supplémentaire du pointeur WAS. A ce stade temporel, les registres N1, N2 contiennent la valeur d'apparition située le plus à droite et la valeur d'apparition qui se trouve immédiatement à la gauche -476- 2334148 de celle-ci sur la ligne de 1'iso-entropicogramme en cours de génération. Ensuite, le fonctionnement du module "permutation" 3 est suspendu. Pour revenir à RM3-16, on supposera maintenant que la 5 "mémoire AM II" ne contient pas au moins deux valeurs qui resteront inchangées. Dans ces conditions, WAT contient une valeur inférieure à 2 et le circuit de.comparaison 1852 forme un signal vrai à la sortie L, ce qui indique que le contenu du registre WAT est inférieur.à la valeur 2 fournie par les commu-10 tateurs 1840, ce qui détermine l'attaque du pas EM3-17. L'état vrai de la sortie P8 provoque le transfert, par le circuit de . sélection DS2, de la valeur maximale 255» des commutateurs 1842 à l'entrée du registre RII. En outre, la logique P8.L.CLK devient vraie et la valeur maximale 255 est stockée dans le re-15 gistre RII. Ensuite est repris le pas RM3-9 de l'organigramme au cours duquel l'opération XOR est effectuée et au cours duquel l'impulsion P5 est réintroduite. Etant donné que la valeur maximale 255 est contenue dans le registre RII, ce sera vraiment la valeur maximale et, en conséquence, les pas RM3-12 à RM3-15 20 sont attaqués, pas au cours desquels la valeur du registre RI est stockée dans la "mémoire AM II". Le pointeur WAT est décrémenté de 1 et la valeur suivante est lue dans la "mémoire AU II" et stockée dans le registre RI. Lorsque le pointeur WAT a été décrémenté à 0, tua signal vrai est formé à la sortie WQ, ce 25 qui provoque l'attaque du pas RM3-15 de l'organigramme. Ensuite, le pas RM3-9 de l'organigramme est repris et, pendant cette reprise, les valeurs maximales 255 respectivement stockées dans chacun des deux registres RI et RII sont trouvées égales entre elles et, par conséquent, le pas RK3-11 est attaqué et est suivi 30 du pas RM3-4. L'impulsion P3 est à 1. Etant donné que le pointeur Y/AT contient maintenant un 0, un signal vrai est formé à la sortie , ce qui provoque l'attaque du pas RM3-5 de l'organigramme. Etant donné qu'on suppose qu'un signal vrai est formé à la sortie DELEND du module "delta" 2, pour indiquer la dernière 35 des valeurs d'apparition déplacées d'une ligne du delta, le pas RM3-22 est attaqué. A cet effet, l'état vrai de la logique P3. (DELEND+DELOVL) provoque la mise à 1 de la "bascule P10, ce qui détermine l'attaque du pas RM3-22 suivi du pas RM3-5 et le -4-77- 2334148 contenu du pointeur WPB est transféré dans les pointeurs WAS et WAT tandis que les pointeurs WAP et WPB sont remis à O. En outre, la bascule SM de la "mémoire AM II" est complémentée, ce qui provoque une interversion des zones de lecture et d'écriture 5 et la bascule DELFST est déclenchée dans le module "décodage" I, ce qui appelle l'intervention de celui-ci, en provoquant la génération par lui de la valeur d'apparition effective suivante de la ligne d'entrée originale en cours de traitement. La séquence de fonctionnement qioi.se déroule ensuite 10 est analogue à celle qui a été décrite ci-dessus. On supposera maintenant que, pendant EM3-3, la dernière valeur d'apparition effective de la ligne d'entrée originale a été traitée et que le module "décodage" I engendre un signal vrai à la sortie E0F1 pour indiquer cet état de choses. La bas-15 cule P10 du compteur de commande 1813 est maintenant vraie, de même que la logique P10.E0F1, ce qui provoque la mise à 1 de la bascule P9 et, par conséquent, l'attaque du pas EM3-18. Pendant RM3-18, le pointeur WAT est à nouveau comparé avec la valeur de 2, pour déterminer si son contenu est ou non supérieur ou égal 20 à 2; dans l'affirmative, les pas RM3-20 et RM3-21 sont attaqués et les deux valeurs sont lues dans la "mémoire AM II" et stockées dans les registres Ei et N2, comme décrit précédemment. Par contre, si le contenu du pointeur WAT est inférieur à 2, c'est qu'il reste moins de deux valeurs à lire dans la "mémoire AM-II". 25 Dans ces conditions, WAT est toujours "1", étant donné qu'il doit nécessairement exister au moins une valeur d'apparition' effective sur une ligne quelconque de tout iso-entropicogramme. Un signal vrai est formé à la sortie P9S ce qui provoque l'attaque du pas RM3-19. Pendant KM3-19, un signal vrai est formé à 30 la sortie P9« Etant donné que le contenu du pointeur WAT est inférieur à 2, le circuit de comparaison 1852 forme un signal vrai à la sortie L, ce qui rend vraie la logique P9.L.ÏÏLS! et ce qui détermine la mise à 0 du registre N1. La logique P9.L est également vraie et, à l'impulsion CLE suivante, la bascule 35 P12 est mise à 1 et la bascule P9 est remise à 0, ce qui provoque l'attaque du pas RM3-21 au cours duquel l'unique valeur d'apparition restante de la "mémoire AM-II" est lue et stockée dans le registre H2, comme décrit précédemment. -478- 2334148 Dans les conditions considérées ci-dessus, dans lesquelles le pointeur WAT est inférieur à 2, cela indique que la valeur d'apparition possible située le plus à droite est G, tandis que la valeur d'apparition possible suivante vers la 5 gauche n'est pas 0. Cela est très important, comme décrit précédemment, étant donné qu'il existe au moins une valeur d'apparition sur une ligne quelconque de tout iso-entropicogramme. La mise à 0 de Ni assure une interruption de l'opération de recherche rapide de raccourci. Si WAT est supérieur ou égal à 2, 10 alors les pas EM3-20 et EM3-21 sont attaqués, comme décrit précédemment. D. Exemple de fonctionnement On supposera maintenant que le module "permutation" 3 doit permuter la ligne d'entrée ou ligne 0 de 1'iso-entropico-15 gramme, représenté dans la table , de trois lignes. Conformément à la procédure de recherche rapide de raccourci, le module "permutation" 3 opère de manière à engendrer la ligne désirée de 1'iso-entropicogramme en partant de la valeur d'apparition la plus grande jusqu'à ce qu'il ait engendré deux valeurs d'ap-20 parition qui apparaîtront dans la ligne désirée. En d'autres termes, la séquence de fonctionnement représentée dans la table 52 est exécutée jusqu'à ce que soient formées deux valeurs d'apparition qui ne seront plus altérées par des lignes déplacées futures du delta fournies par le module "delta" 2. Une fois que 25 les deux valeurs d'apparition de la ligne désirée sont formées, elles sont transmises au module "raccourcissement" 2, Si la ligne désirée ne comporte qu'une seule valeur d'apparition, alors, comme décrit précédemment, il n'y aura qu'une valeur d'apparition et non deux et le mécanisme décrit ici traite 30 également cette condition. Initialement, le registre T3 du module "raccourcissement" 2 est chargé avec la valeur 3 qui représente le nombre de lignes à permuter. La zone 1 du module "mémoire" est chargée avec un vecteur d'apparition d'événement (souvent dénommé ci-35 après "vecteur EO") représentatif des valeurs 0, 2, 3» 5 et qui correspond à la ligne d'entrée de 1'iso-entropicogramme représenté dans la table 51• Initialement le module "raccourcisse -479- 2334148 ment" 2 forme un signal vrai à la sortie A2S5 et ce signal provoque le transfert, par le registre RIL du module "permutation" 3, de la valeur 3, du registre T3 dans le module "raccourcissement" 2. Le vecteur EO 0, 2, 3» 5 est stocké dans le 5 module "mémoire" et, en conséquence, le module "décodage" I est sur le point de lire et de décoder le vecteur EO pour le mettre sous la forme codée absolue. Les conditions initiales sont représentées sous ce titre dans la table 55* Aù cours du fonctionnement ultérieur qui sera dénommé 10 "cycle 1", le module "delta" 2 forme les valetirs d'apparition 5, 6, 7 qui sont stockées aux adresses 0, 1 et 2 de la zone de la "mémoire AM-II" et, à la fin, les pointeurs WAS et WAT contiennent la valeur 3 comme indiqué sous le titre "Conditions après le cycle 1" (table 55)» 15 Pour en venir au fonctionnement, initialement un signal vrai est formé à la sortie A2S5 du module "raccourcissement" 2 et par suite, l'horloge généralisée 700 commence à fournir des impulsions d'horloge au compteur de commande 1813. Ultérieurement, un signal vrai est formé à la sortie A3R1 du module "per-20 mutation" 3* ce qui provoque la mise à 1 de la bascule DELFST du module "delta" 2 et de la bascule D1FST du module "décodage" I en indiquant ainsi qu'il s'agit du premier appel de ces modules. En outre, le signal vrai de la sortie A3R1 permet le couplage de la sortie du registre RIL avec l'entrée du registre 25 DELRO du module "delta" 2. Ensuite, un signal vrai est formé à la sortie A3R2 et provoque le transfert, par le registre DELRO, de la valeur 3» du registre RIL du module "permutation" 3 au registre DELRO du module "delta" 2. En outre, le signal vrai de la sortie P1 30 provoque la remise à 0 des pointeurs WAT, WAS, WAP et WPB. En conséquence, tous les pointeurs sont à 0. Le signal vrai de PI détermine un signal vrai à la sortie A3R8, signal qui, à son tour, actionne la bascule SM de la "mémoire AM-II", de sorte que la première écriture est effectuée dans Iq^one 2. 35 Le pas RM3-2 de l'organigramme est maintenant attaqué et un signal vrai est formé à la sortie P2 et provoque une décrémentation d'une valeur 1 du pointeur WAS. Ceci n'a aucune signification particulière dans cette partie du fonctionnement. -480- 2334148 Le pas EM3-3 de l'organigramme est attaqué. Pendant la présence du signal vrai précédent à la sortie PI, la logique CLE.PI devient vraie, ce qui provoque l'apparition d'un signal vrai à la sortie A3R3. Le signal vrai de la sortie A3R3 a de-5 mandé l'intervention du module "décodage" I qui a alors fourni la plus grande valeur d'apparition de la ligne d'entrée originale correspondant au vecteur EO. En outre, le signal vrai de la sortie A3R3 rend vraie la logique suivante : A3R3.D1MEND. Ceci provoque l'application par la logique de suspension d'hor-10 loge 1822 d'un signal vrai à l'entrée CS de l'horloge généralisée 700, ce qui suspend le fonctionnement de celle-ci jusqu'à ce que le module "décodage" I renvoie la valeur 5* D1MEND est maintenant vrai, ce qui remet en service l'horloge et, si E0F1 n'est pas actionné, P1 est remis à 0 et P2 est mis à 1. 15 Une fois que le module "décodage" I a fourni la valeur 5 de la ligne d'entrée, l'entrée D1MEND devient fausse, ce qui provoque l'application par la logique de suspension d'horloge 1822 d'un signal faux à l'entrée CS de l'horloge généralisée 700 en permettant à nouveau la formation d'impulsions d'horloge. 20 Ensuite, un signal vrai est formé à la sortie P2 et la logique P2.CLK devient vraie, ce qui provoque l'apparition de signaux vrais aux sorties A3R4 et A3R5 du module "permutation" 3. Le signal vrai de la sortie A3R4 permet l'application de la valeur codée absolue 5, à partir de la sortie du module "déco-25 dage" I à l'entrée du registre DELVL du module "décodage" II et le signal A3R5 provoque le stockage de cette valeur dans le registre DELY. Etant donné que la fin de la ligne d'entrée originale du vecteur EO n'a pas encore été atteinte par le module "déco-30 dage" I, la bascule E0F1 de celui-ci applique un signal vrai à la sortie E0F1. En conséquence, après RM3-3, RM3-4 est attaqué. Etant donné que le pointeur WAT contient maintenant un 0, RM3-5 est à son tour attaqué. Du fait que le module "décodage" II n'a pas atteint la fin de la ligne de delta et du fait qu'-35 aucun débordement ne s'est produit, les deux sorties DELEND et DELOVL sont fausses (c'est-à-dire que DELEND et DELOVL sont vraies). En conséquence, le pas RM3-6 de l'organigramme est attaqué. Le signal vrai de la sortie WQ et l'état vrai de la -481- 2334148 logique P3.CLK provoquent le transfert de la valeur maximale 255» des commutateurs 1844- au registre El. Le pas RM3-8 de 11 organigramme est maintenant attaqué. La logique P3.CLK devient vraie, ce qui provoque l'apparition d'un signal vrai à la 5 sortie A3R6. Ce signal vrai de la sortie A3R6 appelle l'intervention du module "delta" 2 qui fournit alors la première valeur d'apparition de la ligne 3 du delta, avec un écart de 5 (valeur d'apparition de la ligne d'entrée reçue du module "décodage" I). A propos de l'exposé relatif au module "permutation" 2, on rap-10 pellera ici que la première valeur de la ligne 3 du delta est 0 ce qui, ajouté à l'écart 5, se traduit par une valeur de delta déplacée 5- L'état vrai de la logique P4.DEL0YL, conjointement à l'état vrai de la logique P4.CLK, provoque le stockage de la valeur de delta déplacée 5 contenue dans le registre DELO du 15 module "delta" 2, dans le registre EII du module "permutation" 3. Le pas RM3-9 de l'organigramme est maintenant attaqué . et la valeur de delta déplacée 5 du registre EII est comparée avec la valeur maximale 255 contenue dans le registre RI. Etant 20 donné que le contenu du registre RII (5) est le plus petit, le pas RM3-10 de l'organigramme est attaqué. Pendant RM3-10, un signal vrai est formé à la sortie P6 et provoque à son tour l'apparition d'un signal vrai à la sortie A3R9 du module "permutation" 3. La logique P6.G-T est 25 vraie, ce qui provoque le transfert de la valeur de delta déplacée 5, du registre RII à l'entrée d'information de la "mémoire AM-II" afin d'assurer l'écriture de la valeur de delta déplacée 5 à l'adresse 0 de la zone 2 de la "mémoire AM-II" comme indiqué par le registre d'adresse WPB. La logique P6.CLK 30 provoque également une incrémentation à l'adresse 1 du pointeur WPB. Après RM3-10, RM3-8 est repris et le module "delta" 2 est rappelé de sorte qu'il engendre la valeur de delta déplacée suivante 6 (voir table 52). RM3-9 est repris et la valeur d'ap-35 parition déplacée 6 du registre RII est trouvée inférieure à la valeur maximale 255 du registre RI. En conséquence, le pas RM3-10 est repris, reprise au cours de laquelle la valeur 6 est stockée à l'adresse 1 de la zone 2 de la "mémoire AM-II" et au -482- 2334148 cours de laquelle le pointetir WPB est à nouveau incrémenté d'une adresse jusqu'à l'adresse 2. Les pas RM3-8, RM3-9 et RM3-10 sont à nouveau repris, reprise au cotirs de laquelle le module "décodage" II fournit 5 la valeur d'apparition déplacée suivante 7 qui est stockée dans le registre RII et ultérieurement écrite à l'adresse 2 de la zone 2 de la "mémoire AM-II" et le pointeur WPB est incrémenté de 1 jusqu'à l'adresse 3. A ce stade, la zone 2 de la "mémoire AM-II" est telle que représenté sous le titre "Condi-10 tions après le cycle 1", table 55* Le pas RM3-8 est repris. Cependant, cette fois, la largeur d'iso-entropicogramme (8) a été dépassée. En conséquence, le module "delta" 2 forme un signal vrai à la sortie DELOVL. Le signal vrai de la sortie DELOVL rend vraie la logique 15 P4.DELOVL. En outre, la logique P4.CLK est vraie. En conséquence, pendant le pas RM3-8, la valeur maximale 255 est transférée des commutateurs 1842 dan^Le registre RII. Pendant RM3-9, le comparateur 1850 détecte la même valeur, 255» dans les deux registres RI et RII et, en conséquence, 20 le pas RM3-11 est attaqué. Toutefois, étant donné que le pointeur WAT est déjà à 0, il 11'est pas décrémenté. Le pas RM3-4 de l'organigramme est repris. Etant donné que le pointeur WAT est à 0, le pas RM3-5 est également repris. Du fait que la sortie DELOVL du module "décodage'* II est vraie, 25 le pas RM3-22 de l'organigramme est attaqué. Cette fois, un signal vrai est formé à la sortie P10. En conséquence, les pointeurs WAS et WAT sont chargés avec l'adresse 3 contenue dans le pointetir WPB. Le signal vrai de la sortie P10 provoque l'apparition d'unéignal vrai à la sortie A3R10, ce qui commute la 30 bascule SM dans la "mémoire AM-II" et ce qui met à 1 la bascule DELFST dans le module "delta" 2. A ce stade, le cycle 1 du module "permutation" 3 est achevé et toutes les conditions représentées sous le titre "Conditions après le cycle 1" dans la table 55 sont remplies 35 dans le système. Au cours du second cycle de fonctionnement, les conditions indiquées sous le titre "Conditions après le cycle 2" sont établies. -483- 2334148 Le pas RM3-2 de l'organigramme est repris, reprise au cours de laquelle le signal vrai de la sortie P2 provoque line décrémentation du pointeur WAS à raison d'une adresse jusqu'à l'adresse 3* 5 Le pas RM3-4 de l'organigramme est maintenant attaqué, pas au cours duquel le pointeur WAS est vérifié pour déterminer s'il est n0". Etant donné que le pointeur WAT contient maintenant la valeur 3» il n'est pas 0 et, en conséquence, le pas KM3-7 de l'organigramme est attaqué, au lieu du pas RM3-5 comme 10 pendant le cycle 1. Pendant RM3-7» la logique Wq«P3 est vraie, ce qui provoque la génération d'un signal vrai à la sortie A3H7. Ceci provoque la lecture par la "mémoire AM-II" de la valeur 5 à partir de la zone 2 à l'adresse 0 spécifiée par le pointeur WAT, L'état vrai de la logique P3«W^.CLK provoque une '5 incrémentation du pointeur WAP à l'adresse 1, de sorte que ce pointetir contient maintenant l'adresse de la valeur 6 (voir "Conditions après le cycle 1", table 55). Le signal vrai de la ■sortie P3 rend vraie la logique P3.CLK, ce qui provoque l'apparition d'un signal vrai à la sortie A3R6. Ce signal contraint à 20 son tour, comme pendant le pas RM3-8 de l'organigramme, le module "delta" à commencer de fournir la ligne déplacée suivante 3 du delta avec un écart de 3 comme indiqué par le registre RIL. En se référant à la table 52, on voit que la ligne 3 du delta avec un écart de 3 donne les valeurs 3» 4, 5» 6. En conséquence, 25 la première valeur déplacée 3 est maintenant fournie par le module "delta" 2. Ensuite, la logique P4.DEL0Vfc devient vraie et la logique P4.CLK devient vraie, ce qui provoque le stockage de la valeur de delta déplacée 3 dans le registre RII. 30 Alors est attaqué le pas RM3-9 au cotirs duquel la va leur de ligne de delta déplacée 5 (provenant de la zone 2 de la "mémoire AM-II") stockée dans le registre RI est comparée avec la valeur de ligne déplacée 3 (provenant du module "delta" 2) contenue dans le registre RII. 35 La valeur 5 contenue dans RII est trouvée la plus grande et, en conséquence, est attaqué le pas RK3-10 au cours duquel la valeur 3 est stockée à l'adresse 0 de la zone 1 de la "mémoire AM-II", comme spécifié par le pointeur WPB. Le pointeur "WPB est alors incrémenté d'une adresse jusqu'à l'adresse 1. -4-84- 2334148 Le pas RM3-8 est repris et, au cours de cette reprise le module "delta" 2 est à nouveau appelé, ce qui provoque la génération de la valeur de ligne de delta déplacée suivante 4 (voir table 52) et son stockage dans le registre RII. Le pas 5 RM3-9 est repris et, au cotirs de cette reprise, la valeur de delta déplacée 3 du registre RI est trouvée plus petite que la valeur de ligne de delta déplacée 4 du registre RII. En conséquence, le pas RM3-10 est repris et la valeur de ligne de delta déplacée 4 est stockée à l'adresse 1 de la zone 1 de la "mémoire 10 AM-II" cependant que le pointeur WPB est incrémenté à l'adresse 2. Alors est repris le pas RM3-8 au cours duquel le module "delta" 2 est rappelé, ce qui'provoque la sortie par lecture de la valeur de ligne de delta déplacée suivante 5 et son stoc-15 kage dans le registre RII. RM3-9 est ensuite repris. Les registres RI et RII contiennent maintenant tous deux une valeur de ligne de delta déplacée 5 et cette égalité provoque l'attaque du pas RM3-11 de l'organigramme, pas au cotirs duquel l'opération XOR a lieu. 20 A cet effet, aucune des valeurs des registres RI et RII n'est stockée. En outre, la logique P5.ïïi.W^.CLK devient vraie, ce qui provoque la décrémentation du pointeur ?;AT d'une adresse, de 3 à 2. Le pas RM3-4- de l'organigramme est repris et le poin-25 teur WAT est vérifié. A ce stade, le pointetir WAT contient un "2" et-n'est donc pas 0; en conséquence, le pas RM3-7 est repris. Pendant RM3-7» l'adresse 1 de la zone 2 de la "mémoire AM-II" (spécifiée par le pointeur WAP) est lue. En se référant à la table 55» on peut voir que l'adresse 1 contient la valeur 30 6 et, en conséquence, cette valeur 6 est lue et stockée dans le registre RI et le pointeur WAP est incrémenté d'une adresse jusqu'à l'adresse 2. Le pas RM3-8 de l'organigramme est repris, reprise au cotirs de laquelle le module "delta" 2 est appelé, ce qui pro-35 voque la génération de la valeur de ligne déplacée suivante 6 (voir table 52) et son stockage dans le registre RII. Le pas RM3-9 cle l'organigramme est repris et les registres RI et RII sont trouvés égaux entre eux, ce qui provoque -485- 2334148 une reprise de EM3-11 au cours de laquelle les deux valeurs des registres El et EII sont supprimées. Pendant EM3-11, le pointeur WAT est décrémenté à 1. Le pas EM3-4- de l'organigramme est repris et l'on 5 trouve que le pointeur WAT n'est pas 0 et, en conséquence, le pas RM3-7 est repris. Pendant EM3-7» l'adresse de la zone 2 de la "mémoire AM-II" est lue. En se référant à la table 55 » on peut voir que la valeur 7 est lue. Cette valeur est stockée dans le registre El. Le pointeur WAP est incrémenté d'une 10 adresse jusqu'à l'adresse 3. EM3-8 est repris. Toutefois, le module "delta" 2 a fourni précédemment la dernière valeur de ligne de delta déplacée et, en conséquence, un signal vrai est formé à la sortie BELENIï du module "delta" 2. Par suite, le circuit de sélection 15 DK2 provoque le stockage dans le registre HII de la valeur maximale 255 à partir des commutateurs 1842 et BM3-16 est maintenant attaqué au lieu de EK3-9• Pendant RM3-16, le pointeur WAT contient un 1 et son contenu est donc inférieur à 2. Par suite, le circuit de compa-2G raison 1852 forme un signal vrai à la sortie L et l'état vrai de la sortie P8, conjointement à l'état vrai de la logique P8.L.SES provoque le- stockage dans le registre EII de la valeur maximale 255 à partir des commutateurs 1842. Le pas EM3-9 de l'organigramme est repris et la valeur 25 7 du registre El est comparée avec la valeur maximale 255 du registre EII. Etant donné que c'est le registre El qui contient la plus petite valeur, le pas EK3-12 est maintenant attaqué, Pendant EM3-12, la sortie P6 est vraie et, en conséquence, un signal vrai est formé à la sortie A3E9 du module "permutation" 30 3j ce qui provoque l'écriture par la "mémoire AM-II" de la valeur fournie par le circuit de sélection DS4. En outre, la logique P6.GT est vraie, ce qui provoque le transfert, par le circuit DS4, de la valeur 7? du registre El à l'entrée d'information de la "mémoire AM-II". L'adresse 2 contenue dans le 35 pointeur Y/PB provoque le stockage par la "mémoire AM-II* de la valeur 7 à l'adresse 2 comme indiqué sous le titre "Conditions après le cycle 2", table 55* -486- 2334148 Le pointeur WAT est décrémenté de 1, de 1 à 0, et RM3-13 est attaqué, Etant donné que le pointeur WAT est maintenant O, le pas BM3-15 est attaqué et le signal vrai de la sortie 1F, conjointement au signal vrai de la sortie P3.CLK, provoque 5 le chargement de la valeur maximale 255 dans le registre RI à partir des commutateurs 1844. Le pas EM3-9 est maintenant repris et l'on trouve que les deux registres RI et RII contiennent la valeur maximale 255 et, par conséquent, sont égaux entre eux. En conséquence, les 10 pas RM3-11 et RM3-4 sont repris. Etant donné que le pointeur WAT est à 0, aucune décrémentation n'a lieu. Pendant RM3-4-, on trouve que le pointeur WAT contient un 0 et un signal vrai est formé à la sortie WQ. En conséquence, le pas RM3-5 est attaqué. Pendant EM3-5» un signal vrai est encore formé à la 15 sortie DELEND du module "delta" 2, ce qui provoque l'attaque "du pas RM3-22 de l'organigramme. De la manière déjà décrite ci-dessus, 3.'adresse 3 contenue dans le pointeur WPB est maintenant chargée dans les pointeurs WAS et WAT et les pointeurs WAP et WPB sont remis à 0. En outre, la bascule SM est complémentée 20 et la bascule DELFST du module "delta" 2 est mise à 0. Avec la complémentation de la bascule SM, la zone 1 de la "mémoire AM-II" constitue maintenant la nouvelle zone de lecture et la zone 2, la nouvelle zone d'écriture.En se référant à "Conditions après le cycle 2", table 55, on trouvera les états respectifs de 25 la zone 1 de la "mémoire AM-II" et des pointeurs ï.AS et Y.AT. Le troisième cycle de fonctionnement du module "permutation" 3 est maintenant attaqué, cycle au cours duquel l'information indiquée dans "Conditions après le cycle 3"» table 55 est formée, en commençant par les conditions initiales indiquées 30 dans "Conditions après le cycle 2". A cet effet, le pas RM3-2 est repris et la valeur 3 du pointeur WAS est décrémentée à 2. Pendant RM3-3, le module "décodage" I est rappelé et fournit la valeur d'apparition effective suivante du vecteur EO pour la ligne d'entrée stockée 35 dans le module "mémoire" (voir table 52). La valeur d'apparition 2 fournie par le module "décodage" I est stockée dans le registre DELV du module "delta" 2. Pendant RM3-4, on trouve que le pointeur WAT ne contient pas un "0" et, en conséquence, RM3-7 -487- 2334148 est attaqué et la valeur 3 est lue à l'adresse 0 (spécifiée par le pointeur WAP) et est stockée dans le registre El. Le pas BM3-8 de l'organigramme est maintenant attaqué et le module "delta" 2 commence à fournir les valeurs de ligne 5 déplacées pour la ligne 3 du delta affectées d'un écart de 2, comme indiqué dans la table 52. (En se référant à la table 52, on peut voir qu'après le cycle 2, la zone 1 de la "mémoire AM-II" contient les valeurs d'apparition effectives indiquées par la mention "Après première opération XOE", table 52). La 10 première valeur de ligne de delta déplacée est un "2" (voir cycle 3 de la table 52) et cette valeur est stockée dans le registre EII. Maintenant le pas EM3-9 est attaqué et la valeur 2 du registre EII est trouvée inférieure à la valeur 3 du registre El. En conséquence est attaqué le pas EH3-10 au cours 15 duquel la valeur 2 plus petite du registre EII est stockée à l'adresse 0 de la zone 2 de la "mémoire AM-II" en utilisant l'adresse 0 contenue dans le pointeur WPB. En outre, le pointeur WPB est incrémenté de 1 jusqu'à l'adresse 1 et le pas EM3-8 est repris. 20 Pendant EM3-8, le module "delta" 2 fournit la valeur de ligne de delta déplacée suivante 3 (voir cycle 3, table 52) et cette valeur est stockée dans le registre EII. EM3-9 est repris et les valeurs 3 respectives stockées dans les deux registres El et EII sont trouvées égales entre elles et, par 25 conséquent, EM3-1T est attaqué et les deux valeurs en question sont sautées tandis que le pointeur WAT est incrémenté de 3 à 2. Les pas EM3-4- et EM3-7 sont maintenant repris. Pendant EM3-7, la valeur suivante, à savoir 4, est lue dans la zone 1 de la "mémoire AM-II" (voir "Conditions après le cycle 2", table 55) 30 et cette valeur est stockée dans le registre El tandis que le pointeur WAP est incrémenté à l'adresse 2. EM3-8 est maintenant attaqué et le module "delta" 2 fournit la valeur de ligne de delta déplacée suivante 4. Pendant EM3-9, les "4" des deux registres El et EII sont trouvés égaux entre eux et, par consé-55 quent, est attaqué le pas EH3-11 au cours duquel ces deux valeurs sont abandonnées, tandis que le pointeur WAT est incrémenté de 1, de sorte qu'il contient maintenant la valeur 1. -488- 2334148 RM3_4 est repris et, étant donné que le pointeur WAT n'est pas 0, RM3-7 est ensuite attaqué. Pendant RM3-7, la valeur 7 est lue à l'adresse 2 (spécifiée par le pointeur WAP) de la zone 1 de la "mémoire AM-II" et est stockée dans le re-5 gistre RI, tandis que le pointeur WAP est incrémenté de 1 jusqu'à l'adresse 3. RM3-8 est maintenant attaqué et le module "delta" 2 fournit la valeur de ligne de delta déplacée suivante 5 (voir cycle 3, table 52). Ensuite RM3-9 est attaqué et la valeur 5 10 du registre RII est trouvée plus petite que la valeur 7 du registre RI et, par conséquent, RM3-10 est attaqué et la valeur 5 est transférée, du registre RII à l'adresse 1 (spécifiée par le * i registre WPB) de la zone 2 de la "mémoire AM-II". HM3-8 est maintenant repris. Toutefois, étant donné 15 que le module "delta" 2 a atteint la fin de la valeur de ligne de delta déplacée, un signal vrai est maintenant formé à la sortie DELEND pour indiquer cet état de choses. En conséquence, RM3-16 est maintenant repris et la valeur 1 contenue dans le pointeur WAT est trouvée inférieure à 2 et, par conséquent, 20 RM3-17 est repris, reprise au cours de laquelle la valeur maximale 255 est stockée dans le registre RII. Pendant RM3-9, la valeur 7 contenue dans le registre RI est trouvée inférieure à la valeur maximale 255 du registre RII et, par conséquent, RM3-12 est attaqué et la valeur 7 est 25 écrite à l'adresse 2 (spécifiée par le pointeur WPB) de la zone 2 de la "mémoire AM-II"). En outre, le pointeur WAT est décrémenté de 1 jusqu'à 0 et le pointeur WPB est incrémenté de 1 jusqu'à l'adresse 3- En se référant à la table 55, on peut voir que les "Conditions après le cycle 3" sont maintenant présentes. 30 RM3-13 est maintenant attaqué et le pointeur WAT est trouvé égal à 0 de sorte que le pas RM3-15 est attaqué, pas au cours duquel la valeur maximale 255 est stockée dans le registre RI. Les pas RM3-9, RM3-11 et RM3-4- sont maintenant successivement repris, étant donné que les registres RI et RII contiennent 35 maintenant tous deux la valeur maximale 255. Par contre, le pointeur WAT contient un 0 et n'est pas modifié. Etant donné que le pointeur WAT est à 0, le pas RM3-5 est attaqué, suivi du pas RM3-4. L'état vrai de la sortie DELEND du module "delta" 2 -489- 2334148 - provoque une reprise du pas RM3-22 au cotirs de laquelle la valeur 3 contenue dans le pointeur WPB est stockée dans les pointeurs WAS et WAT, au cours de laquelle les pointeurs WPB et WAP sont remis à 0, et au cours de laquelle la bascule SM 5 est complémentée de sorte que, dans la "mémoire AM-II", la zone 2 devient la zone de lecture et la zone 1, la zone d'écriture et la bascule DELFST du module "delta" 2 est mise à 1. Cette opération devien alors la fin du cycle 3 et à ce moment la zone 2 de la "mémoire AM-II" et les pointeurs WAS 10 et WAT contiennent les valeurs indiquées sous le titre "Conditions après le cycle 3", table 55» Au commencement du cycle 4, les conditions indiquées sous le titre "Conditions après le cycle 3"» table 55, sont présentes. 15 Maintenant est attaqué le pas RM3-2 au cours duquel le pointeur WAS est décrémenté de 3 à 2. Pendant RM3-3» le module "décodage" I fournit la valeur d'apparition effective inférieure suivante de la ligne d'entrée, à savoir la valeur d'apparition effective 0 qui est stockée dans le registre DELY du module 20 "delta" 2. Pendant RM3-4, le pointetir WAT contient la valeur 3 et, par conséquent, n'est pas 0 et le pas EM3-7 est attaqué. Pendant RM3-7, la valeur 2 est lue à l'adresse 0 (spécifiée par le pointeur WAP) de la zone 2 de la "mémoire AM—II" et cette valeur 2 est stockée dans le registre El» Le pointeur WAP 25 est incrémenté de l'adresse 0 à l'adresse 1. Pendant RK3-8, le module "delta" 2 fournit la première valeur de la ligne de delta déplacée, avec un écart de 0 (voir les cycles 4 et 5, table 52). La première valeur de ligne de delta déplacée est un 0 et cette valeur est stockée dans le registre EII. 30 BM3-9 est maintenant attaqué et la valeur 0 contenue dans le registre RII est trouvée inférieure à la valeur 2 contenue dans le registre RI et, par conséquent, est attaqué le pas RM3-10 au cours duquel la valeur 0 est stockée à l'adresse 0 de la zone 1 de la "mémoire AM-II" tandis que le pointeur WPB 35 est incrémenté de 0 à 1. RM3-8 est repris et le module "delta" 2 fournit la valeur de ligne de delta déplacée suivante 1 (voir cycles 4 et 5j table 52). La valeur 1 est maintenant stockée dans le registre -490- 2334148 • RII. Pendant RM3-9, la valeur 1 du registre RII est trouvée inférieure à la valeur 2 contenue dans le registre SI et, par conséquent, le pas HM3-10 est repris et la valeur 1 est écrite dans la zone 1 de la "mémoire AM-II" à l'adresse 1 (spécifiée 5 par le pointeur WPB), cependant que ce dernier est décrémenté à l'adresse 2. le pas RM3-8 est repris et le module "delta" 2 fournit la valeur de ligne de delta déplacée suivante 2 en vue de son stockage dans le registre RII. Pendant RM3-9, les valetirs 2 10 respectivement stockées dans les registres RI et EII sont trouvées égales entre elles et, par conséquent, le pas RM3-11 est attaqué et ces valeurs sont rejetées tandis que le pointeur WAT est décrémenté de 1, de 3 à 2. BM3-4 est repris et le pointeur WAT est trouvé différent de 0; en conséquence, RM3-7 15 est repris. Pendant RM3-7, la valeur contenue à l'adresse 1 (spécifiée par le pointeur WAP) est lue dans la zone 2 de la "mémoire AM-II" et est stockée dans le registre RI. Le pointeur WAP est incrémenté de 1 jusqu'à l'adresse 2. Pendant RM3-8, le 20 module "delta" 2 fournit la valeur de ligne de delta déplacée suivante 3 en vue de son stockage dans le registre RII. Pendant EM3-9, la valeur 3 du registre SU s'avère la plus petite et, par conséquent, EM3-10 est repris et la valeur 3 est écrite à l'adresse 2 (spécifiée par le pointeur WPB) de la zone 1 de la 25 "mémoire AM-II" tandis que le pointeur WPB est incrémenté de 1. EM3-8 est maintenant repris et le module "delta" 2 forme un signal vrai à la sortie DELEND pour indiquer que la dernière des valeurs de ligne de delta déplacées a été engendrée. En conséquence RM3-16 est attaqué. 30 A ce stade et pendant BM3-16, le contenu du pointeur WAT est trouvé égal à 2.et, par conséquent, le circuit de comparaison 1852 forme un signal vrai à la sortie E, ce qui provoque la formation par la porte OU 1860 d'un signal vrai à la sortie GE. A ce stade le pointeur VAS contient l'adresse 2 et 35 pointe vers l'adresse 2 de la zone 2 de la "mémoire AM-II" (voir "Conditions après le cycle 3", table 55)* Pendant RM3-20, un signal vrai est formé à la sortie P11, ce qui provoque la génération d'un signal vrai à la sortie A3R7 du module "permu -491- 2334148 • tation" 3. Le signal vrai de la sortie A3R7 provoque la lecture par la "mémoire AM-II" de la valeur 7 à l'adresse 2 (spécifiée par le pointeur WAS) dans la zone 2 de ladite mémoire. La valeur 7 est appliquée à 1*entrée du registre ÏH du module "permutation" 3 et l'état vrai de la logique P11.CLK provoque le stockage de la valeur 7 dans le registre N1. L'état vrai de la logique P11.ÔLK provoque en outre une décrémentation de 1 du pointeur WAS à l'adresse 1 et RM3-21 est attaqué. Pendant EM3-21, un signal vrai est formé à la sortie P12, ce qui provoque une nouvelle génération d'un signal vrai à la sortie A3R7. La. "mémoire AM-II" effectue une sortie par lecture de l'adresse 1 (spécifiée par le pointeur WAS) et la valeur 5 contenue dans cette adresse est appliquée à l'entrée du registre 3ST2 du module "permutation" 3. L'état vrai de la logique P12.CLK provoque le stockage dans le registre N2 de la valeur 5 provenant de la "mémoire AM-II". En outre, l'état vrai de la logique P12.CLK provoque une décrémentation du pointeur WAS de l'adresse 1 à l'adresse 0. A ce stade, le fonctionnement du module "permutation" 3 est suspendu. A ce moment, les registres N1 et N2 contiennent respectivement les valeurs 7 et 5» En se référant à la table 51» on peut voir que les valeurs 7 et 5 correspondent à la valeur d'apparition effective située le plus à droite et à la valeur d'apparition effective immédiatement adjacente de la ligne 3 de 1*iso-entropicogramme. XXV. MODULE "RACCOURCISSEMENT" 2 A. Description générale Dans ce mode de réalisation préféré de l'invention, des moyens de traitement de données spéciaux sont prévus pour localiser le raccourci désiré dans 1'iso-entropicogramme sans qu'il soit nécessaire d'engendrer entièrement chaque ligne intermédiaire utilisée pour localiser le raccourci. Ceci a pour avantage d'augmenter la vitesse de localisation du raccourci dans un iso-entropicogramme. Essentiellement, suivant ce mode > de réalisation préféré, les moyens de traitement de données passent d'une première ligne de 1'iso-entropicogramme à une seconde ligne de celui-ci en déterminant là différence entre les deux plus grandes valeurs d'apparition effectives de la première ligne et la différence entre la largeur de l'iso- -492- 2334148 ' entropicogramme et la plus grande valeur d'apparition effective de la première ligne. La plus grande de ces deux différences indique alors le nombre de lignes dont la seconde ligne est déplacée par rapport à la première dans 1'iso-entropicogramme. L'identification de la ligne la plus courte engendrée au cours de ce processus itératif est retenue. Le processus cesse lorsqu'une ligne suivante quelconque s'avère dépasser l'extrémité inférieure de 1'iso-entropicogramme. Le côté droit de la table 4-B donne un exemple abrégé de la manière dont ce mode de réalisation préféré de l'invention permet de passer d'une ligne donnée à la suivante dans 1'iso-entropicogramme tout en localisant le raccourci. Le module "raccourcissement" 2 est le module de commande principal intervenant dans la localisation d'un raccourci. Le procédé impliqué est dénommé ici "procédé de recherche rapide de raccourci". Le module "raccourcissement" 2, lors de la recherche de raccourci, appelle le module "permutation" 2 et le module "permutation" 3 décrits ci-dessus. Essentiellement, le procédé décrit gagne de la vitesse en engendrant seulement les deux plus grandes (ou les deux dernières) valeurs d'apparition effectives d'une ligne donnée quelconque d'un iso-entropicogramme et en déterminant, d'après ces deux valeurs, et d'après la largeur de 1'iso-entropicogramme si une ligne de raccourci a été trouvée. Une fois qu'on a déterminé qu'une ligne de raccourci a été trouvée, cette ligne est engendrée en totalité par le module "permutation" 2. En plus de sa fonction de commande, le module "raccourcissement" 2 reçoit les deux plus grandes valeurs d'apparition de la ligne donnée ou ligne d'entrée d'un iso-entropicogramme du module "décodage" I et détermine la différence entre ces deux valeurs ainsi que la différence entre la largeur de 1'iso-entropicogramme et la plus grande valeur d'apparition. Ensuite, le module "raccourcissement" 2 reçoit les deux plus grandes valeurs d'apparition fournies par le module "permutation" 3 et détermine la différence entre ces deux valeurs et la largeur de 1'iso-entropicogramme de manière à déterminer le nombre de lignes de permutation nécessaires pour localiser la ligne suivante du même iso-entropicogramme au cours du processus de localisation du raccourci. -493- 2334148 ' Les fonctions ci-dessus et d'autres encore du module "permutation" 2 apparaîtront clairement au cours de la description détaillée qui va suivre. L'exposé ci-dessous se réfère à l'organigramme du module "raccourcissement" 2 représenté sur la Fig. 73. Essentiellement, la fonction du module "raccourcissement" 2 peut être résumée comme suit : Initialement, les paramètres ci-après sont transmis sous le contrôle de l'horloge, du dispositif IPRF aux modules et registres respectifs comme suit : La longueur du raccourci est transmise sous le contrôle de l'horloge au registre MLN1 du module "décodage" I, le numéro de ligne est transmis sous le contrôle de l'horloge au registre SMLI du module "raccourcisseraent" 2 et la largeur de l'iso-entropicogramme est transmise sous le contrôle de l'horloge aux registres SMHW du module "raccourcissement" 2 et EHW du module "codage". Le module "raccourcissement" 2 attaque initialement son pas SB2-1 en réponse à un signal vrai apparaissant à l'une des sorties SM2G0 ou CM2, ce signal étant formé, dans le premier cas, par le module "jonction du système DPM" et, dans le second cas, par le module "modification" 2. En outre, le registre indicateur de ligne de raccourci SLINE du module "raccourcissement" 2 est remis à 0 et l'indicateur de position T3 est également remis à G. Comme décrit plus loin de façon plus détaillée, ces deux registres sont remis à 0 en raison du fait qu'on suppose que le module "raccourcissement" 2 part toujours de la ligne 0 ou ligne d'entrée d'un iso-entropicogramme pour localiser la ligne de raccourci. Pendant SB2-2, le module "décodage" I est appelé. Celui-ci lit maintenant la ligne donnée ou ligne d'entrée de 1'iso-entropic ogramme en partant de la plus grande valeur d'apparition. En conséquence, le module "décodage" I fournit tout d'abord la plus grande valeur d'apparition à partir du vecteur EO et cette valeur est stockée dans les registres SN et TO du module "raccourcissement" 2. En outre, le module "raccourcissement" 2, en utilisant l'unité ALU, détermine la différence entre la valeur de la largeur de 1'iso-entropicogramme, contenue dans le registre SMHW et la plus grande valeur d'apparition reçue du module "décodage" I et cette différence est stockée dans le registre T1, -4-94- 2334148 • SB2-3 est alors attaqué et au cours de ce pas, la valeur d'apparition immédiatement inférieure à la plus grande, est transmise par le module "décodage" I au module "raccourcissement" 2 et l'unité ALU détermine la différence entre la plus grande 5 valeur d'apparition (registre TO) et la valeur d'apparition immédiatement inférieure à la plus grande et le résultat est stocké dans le registre TO. A ce stade temporel, le registre T1 contient la différence entre la valeur de la largeur de l'iso-entropicogramme et la plus grande valeur d'apparition de la 10 ligne donnée de 1*iso-entropicogramme et le registre TO contient la différence entre les deux plus grandes valeurs d'apparition de la même ligne donnée. Pendant les pas SB2-4 et SB2-5 les registres T1 et TO sont vérifiés pour déterminer si le registre TI contient ou non la plus grande des deux différences 15 en question et dans la négative, cette différence est stockée dans le registre T1. Pendant SB2-6, la valeur de la différence la plus grande contenue dans le registre T1 est ajoutée au contenu du registre T3 de sorte que celui-ci contient maintenant le numéro de la 20 ligne suivante à former dans 1'iso-entropicogramme. Pendant SB2-7, le numéro de ligne contenu dans le registre T3 est comparé avec la largeur de 1*iso-entropicogramme contenue dans SMHW etj si c'est le contenu du registre T3 qui est le plus grand, c'est que la machine a permuté à travers la tota-25 lité de 1'iso-entropicogramme et, en conséquence, les pas SB-12 à SB2-16 sont attaqués, pas au cours desquels le fonctionnement du module "raccourcissement" 2 est finalement suspendu. Pour en revenir à SB2-7, si le contenu du registre T3 est le plus petit, alors sont attaqués les pas SB2-8 à SB2-11 au cours desquels 30 les deux plus grandes valeurs d'apparition de la ligne suivante de 1'iso-entropicogramme sont déterminées. A cet effet, le module "raccourcissement" 2 appelle l'intervention du module "permutation" 3 pendant SB2-8 et la ligne désirée de l'iso-entropicogramme est transférée dans le registre RIL du module 35 "permutâtion" 3. Le module "permutation" 3 renvoie alors les deux plus grandes valeurs d'apparition de la nouvelle ligne de 1'iso-entropicogramme. -4-95- 2334148 • Le pas SB2-9 est utilisé pour déterminer si la nouvelle ligne est plus courte que la ligne de raccourci actuelle. Initialement, on a supposé que la ligne d'entrée est la ligne de raccourci et, en conséquence, le registre SN a été mis à 0 5 pendant SB2-2. En ce qui concerne les lignes suivantes, le contenu de SN peut ne pas être 0 mais il identifie le numéro de ligne du plus court raccourci trouvé jusqu'alors. Pendant SB-9, le module "raccourcissement" 2 détermine si la nouvelle ligne est plus courte que la ligne de raccourci actuelle en "10 comparant la plus grande valeur d'apparition contenue dans le registre Ni du module "permutation" 3 avec le contenu du registre SN. La ligne de raccourci est définie comme étant celle qui comprend le plus grand nombre de zéros entre la plus grande valeur d'apparition et le bord de 1'iso-entropicogramme. 15 La plus petite des deux valeurs respectivement contenues dans les registres SN et N1 indique la ligne la plus courte ou ligne de raccourci possible. Si la nouvelle ligne de 1'iso-entropic ogramme est la plus courte, le registre N1 contient la plus petite valeur et le pas SB2-10 est attaqué, pas au 20 cours duquel cette valeur de longueur est stockée dans le registre SN du module "raccourcissement" 2 tandis que le numéro de la nouvelle ligne de raccourci possible maintenant contenu dans le registre Î3 est transféré dans le registre SLINE. Si la ligne actuellement supposée être la ligne de rac-25 courci est la plus courte, alors sa plus grande valeur d'apparition contenue dans le registre SN est plus petite que le contenu du registre NI du module "permutation" 3 et le pas SB2-11 est attaqué après SB2-9 et, au cours de ce pas 28211, la différence entre la largeur de 1'iso-entropicogramme (SMHW) 30 et la plus grande valeur d'apparition (N1) est déterminée et est stockée dans le registre T1, tandis que la différence entre les deux plus grandes valeurs d'apparition respectivement contenues dans les registres N1 et N2 du module "permutation" 3 est déterminée et est stockée dans le registre TO. Ensuite, la com-35 mande repasse au pas SB4- de l'organigramme ôù les opérations des pas SB2-4- et la suite sont répétées. Enfin, au cours de l'une des boucles passant par SB2-7, on trouve que le numéro de la nouvelle ligne, contenu dans le registre T3, est plus -4-96- 2334148 grand que la largeur de 1'iso-entropicogramme stockée dans le registre SMHW et les pas SB2-12 et la suite sont attaqués. Pendant SB2-12, le numéro de la ligne de raccourci contenu dans le registre SLINE est transféré au registre RIL 5 du module "permutation" 2 et l'intervention de celui-ci est demandée; ce registre engendre alors la ligne désignée de 1'iso-entropicogramme qui est la ligne de raccourci. Pendant SB2-13, le numéro de ligne de la ligne d'entrée contenu dans le registre SMLI est ajouté au numéro de la ligne 10 de raccourci contenu dans le registre SLINE. Pendant SB2-'Î4-, la largeur de 1'iso-entropicogramme contenue dans le registre SMHW est comparée avec la valeur du registre SMLI pour déterminer si c'est ce dernier qui contient la valeur la plus grande. Il peut en être ainsi si le module "raccourcissement" 2 est 15 appelé par le module "modification". Si c'est le contenu du registre SMLI qui est le plus grand, la largeur de 1'iso-entropicogramme est retranchée du registre SMLI pendant SB2-15» Après l'intervention du module "permutation" 3, la nouvelle ligne de raccourci a été convertie en code hybride et est stockée dans 20 la zone 3 du module "mémoire". Après SB2-14 ou SB2-15 est attaqué le pas SB2-16 pendant lequel le nombre de valeurs d'apparition effectives de la ligne de raccourci est transféré du registre ENOC du module "codage" au registre NOC du module "raccourcissement" 2 et la 25 longueur de la ligne de raccourci contenue dans le registre MLN3 du module "codage" est transférée dans le registre SLN du module "raccourcissement" 2. Le fonctionnement du module "raccourcissement" 2 est alors suspendu et la ligne de raccourci reste dans la zone 3 du 30 module "mémoire". B. Composants En se référant aux Fig. 11 et 72, on voit que le module "raccourcissement" 2 comprend les registres à huit bits suivants: SN, T1, SMHW, TO, T3, SMLI, NOC, SLN et SLINE, qui sont tous de 35 préférence du type SN74100 décrit dans l'ouvrage "TTL" ci-dessus cité. Sont également incluses des bascules CNG, SMB et PI à P13. Chacune de ces bascules est du type à déclenchement par flanc avant d'impulsion décrit ci-dessus. Les bascules P1 à P13 forment un compteur de commande 1913. -497- 2334148 * Des circuits de sélection DS1 à DS6 sont prévus pour transmettre conditionnellement huit bits codés binaires d'information à partir de l'une quelconque des entrées représentées le long du côté supérieur à une unique sortie à huit bits repré-5 sentée le long du côté inférieur de chaque rectangle symbolique. Les circuits de sélection sont du type déjà décrit ci-dessus et il n'est pas nécessaire de les examiner de façon plus détaillée à ce stade. Des inverseurs de signal conventionnels 1930 et 193*1 10 assurent une inversion logique du signal appliqué à leurs entrées respectives. Des équations booléennes sont utilisées comme décrit ci-dessus, pour désigner les circuits de transmission conditionnelle nécessaires pour commander les divers circuits du module "raccourcissement" 2, 15 La logique de suspension d'horloge 1922 est décrite en utilisant des équations booléennes; elle applique des signaux à l'entrée CS de l'horloge généralisée 700 pour interrompre le fonctionnement de celle-ci de la manière décrite de façon plus détaillée ci-aorès et comme déjà mentionné à propos de l'horloge 20 généralisée 700 ci-dessus. Une unité arithmétique et logique (ALU) est prévue pour additionner, soustraire et comparer les signaux appliqués à l'entrée représentée le long du côté supérieur de laditoûnité ALU. L'unité ALU est du type déjà décrit précédemment. 25 Des lignes de commande entrée/sortie et des entrées/sor ties d'information sont représentées le long du côté droit des Pig. 7i et 72. Des lignes à conducteur unique sont représentées par des traits fins tandis que des lignes à conducteurs multiples capables de transmettre huit bits d'information sont repré-30 sentées en trait plein renforcé. C. Description détaillée On va maintenant examiner les détails du module "raccouri-cissement" 2. L'intervention du module "raccourcissement" 2 est demandée par le module "modification" 2 par formation d'un si-35 gnal vrai à la sortie CM2G0 ou par le module "jonction du système D£M" par formation d'un signal vrai à la sortie SM2G0. L'un ou autre de ces signaux provoque l'application d'un signal vrai à l'entrée I de l'horloge généralisée 700 et ce signal provoque à -4-98- 2334148 son tour la formation d'impulsions d'horloge aux sorties CLK et CLK. Antérieurement, les bascules PI à P13 du compteur de commande 1913 ont été remises à 0 par un signal vrai apparaissant à la sortie MINIT du module "jonction du système DPK" et, en con-5 séquence, ces bascules sont maintenant à l'état 0. Par suite, la logique P1+...P13 est maintenant vraie et l'impulsion CLK suivante provoque la mise à 1. de la bascule PI, ce qui détermine l'attaque du pas SB2-1 de l'organigramme. Le signal vrai formé à la sortie P1 met à 1 la bascule SMB et remet à 0 le registre 10 SLINE. La sortie PI devient vraie, ce qui provoque la transmission conditionnelle du numéro de ligne de la ligne d'entrée, par l'intermédiaire du circuit de sélection SD4-, à l'entrée du registre SMLI et l'état vrai de la logique PI .CLK provoque le stockage de la valeur de ce numéro dans le registre SMLI. L'état 15 vrai de la même logique P1 .CLK provoque le stockage de la largeur de 1*iso-entropicogramme dans le registre SMHW à partir du registre HW du dispositif IPRF et remet le registre T3 à 0. Le signal vrai de la sortie PI et l'état vrai de la logique P1.CLÉ! provoquent également l'apparition de signaux vrais aux 20 sorties A2S1 et A2S2. Le signal vrai de la sortie A2S1 applique un signal de déverrouillage aux modules suivants : "décodage" I et II, "codage" et "matrice de commutateurs" 2, et met à 1 la bascule D1FIRST du module "décodage" I. Le signal vrai de la sortie A2S2 provoque le stockage des contours de registre sui-25 vants dans le registre ci-après : IR, TL, BL, HW, EIR, EBL, ETL, EHW du module "codage", LN1, dans MLN1 du module "décodage" I, Le pas SB2-2 de l'organigramme est attaqué. L'état vrai de la logique P1.CLK provoque l'apparition d'un signal vrai à la sortie A2S3, signal qui appelle l'intervention du module 30 "décodage" I en contraignant celui-ci à fournir une valeur d'apparition à partir du vecteur EO contenu dans le module "mémoire", valeur qui représente la ligne donnée de 1'iso-entropicogramme qui est sur le point d'être permutée jusqu'à son raccourci. Pendant SB2-2, la valeur d'apparition fournie par le module""dé-35 codage" I est la plus grande valeur d'apparition de la ligne donnée ou ligne d'entrée. En préservant cette valeur dans le registre TO et en déterminant la différence entre la largeur de 1'iso-entropicogramme et la plus grande valeur d'apparition, on -499- 2334148 • obtient ce résultat que la ligne donnée ou ligne d'entrée est considérée comme étant la ligne de raccourci actuelle. L'état vrai de la logique P1.CLK.D1MEND provoque l'application d'un signal vrai à l'entrée CS de l'horloge gériérali-5 sée 700, de sorte que celle-ci cesse d'engendrer des impulsions d'horloge jusqu'à ce que le module "décodage" I fournisse sa valeur d'apparition. Lorsque le module "décodage" I a fourni sa valeur d'apparition dans le registre D01, la sortie D1MEND du module "décodage" I devient fausse, ce qui provoque la 10 commutation à l'état faux de l'entrée CS de l'horloge généralisée 700. L'impulsion CLK suivante met à 1 la bascule P2 et remet à 0 la bascule P1. Le signal vrai de la sortie P2 provoque la transmission conditionnelle, par les circuits de sélection DS1 et DS3, de la valeur d'apparition du registre D1 du module 15 "décodage" I, à l'entrée des registres SN et TO. En outre, le signal vrai en P2 provoque la transmission conditionnelle, par les circuits de sélection DS5 et DS6, de la valeur de largeur de 1*iso-entropicogramme à partir du registre SMHW et de la valeur d'apparition à partir du registre D01 du module "décodage" 20 I, à l'entrée de l'unité ALU. Le signal vrai de la sortie P2 provoque une soustraction par l'unité ALU des deux valeurs en question en formant ainsi à la sortie OP de cette unité, la différence entre la plus grande valeur d'apparition de la ligne donnée ou ligne d'entrée et la largeur de 1'iso-entropicogramme. 25 Le signal vrai de la sortie P2 et l'état vrai de la logique P2.CLK provoquent le transfert, par le circuit de sélection DS2, de la valeur de cette différence, de la sortie OP à l'entrée du registre T1 et le stockage de cette valeur dans ce registre. 50 Le signal vrai de la logique P2.CLK1 provoque la géné ration d'un signal vrai à la sortie A233, ce qui détermine un second appel du module "décodage" I, ce qui provoque le stockage de la valeur d Apparition immédiatement inférieure à la plus grande de la ligne donnée ou .d'entrée dans le registre D01 du 55 module "décodage" I. D'une manière analogue à ce qui a été décrit ci-dessus, la logique P2.CLK.D1MEND provoque la suspension du fonctionnement de l'horloge généralisée 700 jusqu'après le moment où le module "décodage" I transmet la valeur d'apparition -500- 2334148 au registre D01. Une fois que le module "décodage" I a achevé cette opération, l'impulsion CLK suivante provoque la mise à 1 de labascule P3 et la remise à 0 de la bascule P2 dans le compteur de commande 913. 5 Le signal vrai de la sortie P3 provoque le transfert, par les circuits de sélection DS5 et DS6, de la plus grande valeur d'apparition contenue dans le registre TO et de la valeur d'apparition immédiatement inférieure à la plus grande, contenue dans le registre D01 du module "décodage" I, à l'entrée de 10 l'unité .ALU. Le signal vrai de la sortie P3 provoque la formation par l'unité ALU de la différence entre les deux valeurs en question à la sortie OP. Le signal vrai de la sortie P3 provoque en outre le transfert, par le circuit de sélection DS3, de la valeur de cette différence à l'entrée du registre TO et 15 l'état vrai de la logique P3.CLK provoque le stockage de ladite valeur de différence dans le registre TO. En conséquence, le registre T1 contient maintenant la différence entre la largeur de 1'iso-entropicogramme, tandis que le registre TO contient la différence entre les deux plus 20 grandes valeurs d'apparition de la ligne d'entrée ou ligne donnée. Le signal vrai de la sortie P3 provoque en outre la mise à 1 de la bascule P4- et la remise à 0 de la bascule P3 à l'impulsion CLK suivante. 25 En bref, pendant les pas SB2-4 et SB2-5, les contenus respectifs des registres T1 et TO sont comparés et la plus grande des deux valeurs que représentent ces contenus est stockée dans le registre T1 et reste dans celui-ci. Pendant SB2-4-, l'état vrai de la sortie P4 provoque le transfert, par les cir-30 cuits de sélection DS5 et DS6, des contenus des registres T1 et TO à l'entrée de l'unité ALU et une comparaison par celle-ci des deux valeurs correspondantes. Le signal vrai de la sortie P4 provoque le couplage, par le circuit de sélection DS2, du registre TO avec l'entrée du registre T1. Si l'unité ALU détecte 35 que le contenu du registre T1 est plus petit que celui du registre TO, un signal vrai est formé à la sortie L, ce qui rend vraie la logique P4-.L.CLK qui stocke alors le contenu du registre TO dans le registre T1. Si le contenu du registre T1 -501- 2334148 était initialement supérieur ou égal à celui du registre TO, alors le pas SB2-5 est sauté. Le signal vrai de la sortie P4 provoque la mise à 1 de la bascule P5 et la remise à 0 de la bascule P4- à l'impulsion CLK suivante, ce qui détermine l'attaque du pas SB2-6 de l'organigramme. Le signal vrai de la sortie P5 provoque le couplage, par les circuits de sélection DS5 et DS6 respectivement, des sorties respectives des registres QM et T3, avec l'entrée de l'unité ALU. Le signal vrai de la sortie P5 provoque en outre l'addition par l'unité ALU des deux valeurs et la formation d'une somme à la sortie. Le registre T3 conserve un pointage constamment tenu à jour du nombre de lignes dont le module "permutation" 3 a progressé pas à pas à travers 1'iso-entropicogramme. Etant donné que la valeur de différence plus grande contenue dans le registre T1 spécifie le nombre de lignes dont le module "permutation" 3 devra permuter pour le test suivant et que le registre T3 contient le nombre de lignes permutées jusqu'alors, la sortie du registre OP contient maintenant le total des lignes permutées. Le signal vrai de la sortie P5 rend vraie la logique P5.CLK et l'information de sortie de l'unité ALU est stockée dans le registre T3. Le signal vrai de la sortie P5 provoque la mise à 1 de la bascule P6 et la remise à 0 de la bascule P5 à l'impulsion CLK suivante, ce qui détermine l'attaque du pas SB2-7. Pendant SB2-7, la valeur de largeur de l'iso-entropico-grassme contenue dans le registre SMHW est comparée avec le nombre total de lignes permutées contenu dans le registre T3 et, si c'est le contenu de SMHW qui est le plus grand, ce qui indique que les limites de 1'iso-entropicogramne ont été franchies, le pas SB2-8 de l'organigramme est attaqué. A cet effet, le signal vrai de la sortie P6 provoque le couplage, par les circuits de sélection DS5 et DS6, des sorties respectives des registres SMHW et T3 avec l'entrée de l'unité ALU et la comparaison par celle-ci des deux valeurs. Si le contenu du registre SMHW est le plus grand, un signal vrai est formé à la sortie G de l'unité ALU. Il en résulte que les logiques P6.G et P6.G.CLK deviennent vraies, ce qui provoque la génération de signaux vrais aux sorties A2S4- et A2S5. Le signal vrai de la sortie -502- 2334148 A2S4 autorise l'application du contenu du registre T3 à l'entrée du registre RIL du module "permutation" 3 et le signal vrai de la sortie A2S5 provoque le stockage de la valeur du registre T3 dans le registre RIL. En conséquence, le registre RIL contient 5 maintenant le nouveau numéro de ligne dont les deux plus grandes valeurs d'apparition doivent être engendrées par le module "permutation" 3. Le signal vrai de la sortie A2S5 appelle en outre l'intervention du module "permutation" 3. La logique P3•CLK.RM3END est maintenant vraie. Une fois 10 que le module "permutation" 3 a terminé ses opérations, la sortie RM3END devient fausse, ce qui rend fausse l'entrée CS de l'horloge généralisée 700 en permettant la reprise de la génération des impulsions CLK et CLK dans le module "raccourcissement" 2. 15 Si, pendant SB2-7, le contenu du registre T3 est trouvé égal ou supérieur à celui du registre SMHW, l'unité ALU foime un signal faux à la sortie G, ce qui provoque la formation par l'inverseur de signal 1930 d'un signal vrai à la sortie G. Ce signal rend à son tour vraies les logiques P6.5 et P6.G.CLK et 20 ces logiques forment à leur tour des signaux vrais aux sorties A2S6 et A2S7 du module "raccourcissement" 2. Le signal vrai de la sortie A2S6 provoque le stockage de l'information de sortie du registre SLINE (qui contient maintenant la longueur de la ligne de raccourci actuelle) dans le registre RIL du module 25 "permutation" 2 (et non du module "permutation" 3) et appelle l'intervention du module "permutation" 2. De cette manière, le module "permutation" 2 forme la ligne de raccourci effective spécifiée par le numéro de ligne contenu dans le registre SLINE. En outre, l'état vrai de la logique P6.CLK.RM2END provoque la 30 suspension du fonctionnement de la logique de suspension d'horloge 1922 jusqu'à ce que les opérations du module "permutation" 2 soient achevées. On va maintenant décrire le fonctionnement qui se déroule après SB2-8. L'état vrai de la logique P6.G provoque la 35 mise à 1 de la bascule P7 et la remise à 0 de la bascule P6 après la reprise de la génération des impulsions CLK qui suit la fin des opérations du module "permutation" 3« En conséquence, le pas SB2-9 de l'organigramme est attaqué. -503- 2334148 Pendant SB2-9, une comparaison est effectuée entre la plus grande valeur d'apparition de la ligne de raccourci, valeur qui est stockée dans le registre SN et la plus grande valeur d'apparition fournie par le module "permutation" 3 et qui se 5 trouve dans le registre N1. A cet effet, un signal vrai est formé à la sortie P7 et provoque le couplage, par les circuits de sélection DS5 et DS6, du registre SN du module "raccourcissement" 2 et du registre NI du module "permutation" 3 avec l'entrée de l'unité ALU et la comparaison des deux valeurs par '0 celle-ci. Si outre, le signal vrai de la sortie P7 provoque le couplage, par le circuit de sélection DS1, de la sortie du registre N1 du module "permutation" 3 avec l'entrée du registre SN. Si la valeur d'apparition du registre N1 est la plus grande, l'unité ALU forme un signal vrai à la sortie G, ce qui rend 15 vraie la logique P7.G.^LK en provoquant ainsi le stockage par le registre SN de la valeur d'apparition provenant du registre N1. L'état vrai de la logique P7.G.5LË! provoque également le stockage dans le registre SLIN1 du nombre total de lignes permutées, à partir du registre T3. 20 L'impulsion CLK suivante provoque la mise à 1 de la bascule P8 et la remise à 0 de la bascule P?. En supposant que la valeur d'apparition du registre N1 n'est pas plus grande que la plus grande valeur d'apparition de la ligne de raccourci contenue dans le registre SN, le pas SB2-11 est attaqué. A cet effet, 25 le signal vrai de la sortie P8 provoque le transfert, par les circuits de sélection DS5 et DS6, de la valeur de largeur contenue dans le registre SMHW du module "raccourcissement" 2 et de la plug^rande valeur d'apparition contenue dans le registre ÎT1 du module "permutation" 3, à l'entrée de l'unité ALU et provoque en 30 outre une opération de soustraction effectuée par cette unité et qui consiste à retrancher le contenu du registre N1 de celui du registre SMHW. Le signal vrai de la sortie P8 provoque le transfert de la différence ainsi obtenue, par le circuit de sélection DS2, à l'entrée du registre T1 et l'état vrai de la 35 logique P8.CLE: provoque le stockage de la valeur de cette différence dans le registre T1. On remarquera que cette opération est comparable à celle qui a été indiquée pour le pas SB2-2 en ce sens que la plus grande valeur d'apparition actuellement -504- 2334148 fournie par le module "permutation" 3 est retranchée de la valeur de 1'iso-entropicogramme et que la valeur de la différence est stockée dans le registre T1. L'impulsion CLK suivante provoque la mise à 1 de la bascule P9 et la remise à 0 de la bas-5 cule P8. Le signal vrai de la sortie P9 provoque le couplage des registres N1 et N2 avec l'entrée de l'unité ALU et le signal "vrai" de la sortie P9 provoque en outre une soustraction par l'unité ALU des deux valeurs correspondantes, ce qui forme 10 la différence entre les deux plus grandes valeurs d'apparition formées par le module "permutation" 3. Le signal vrai de la sortie P9 provoque en outre le transfert, par le circuit de sélection DS9, de la différence ainsi obtenue à l'entrée du registre TO et l'état vrai de la logique P9.CL& provoque le 15 stockage de ladite différence dans le registre TO. A ce stade temporel, le registre T1 contient donc la différence entre la plus grande valeur d'apparition et la largeur de 1'iso-entropicogramme, tandis que le registre TO contient la différence entre les deux plus grandes valeurs d'apparition 20 de la ligne suivante de 1'iso-entropicogramme déterminées par le module "permutation" 3. Le signal vrai de la sortie P9 provoque encore la mise à 1 de la bascule P4 et la bascule P9 est remise à 0, ce qui détermine l'attaque du pas SE2-4 de l'organigramme. 25 On considérera maintenant le pas SB2-13 qui suit le pas SB2-12. Il est rappelé ici que le§£as SB2-12 et la suite sont attaqués si la valeur contenue dans T3 est trouvée plus grande que celle que contient SMHW, ce qui indique que l'extrémité inférieure de 1'iso-entropicogramme a été dépassée (branche 30 de sortie de droite du pavé SB2-7) ou que la fin de fichier a été atteinte par le module "décodage" I (branche de sortie de droite du pavé SB2-3). Il est également rappelé que, pendant SB2-12, le module "permutation" 2 a été appelé et a permuté la ligne de raccourci qui est maintenant stockée dans la zone 2 35 du module "mémoire" par l'intermédiaire du module "codage". Pendant SB2-13, un signal vrai est formé à la sortie P10, ce qui provoque le couplage, par les circuits de sélection DS5 et DS6, de la sortie des registres SMLI et SLINE avec l'en -505- 2334148 trée de l'unité ALU. Le signal vrai de la sortie P10 provoque en outre l'addition des deux valeurs correspondantes par l'unité ALU. En conséquence, l'unité ALU contient maintenant le numéro de ligne de la ligne de raccourci relative à la ligne d'entrée 5 stockée dans le registre SMLI. Le signal vrai de la sortie P10 provoque le transfert, par le circuit de sélection DS4, de la somme ainsi obtenue à l'entrée du registre SMLI et l'état vrai de la logique P10.CLK provoque le stockage de cette somme dans le registre SMLI. 10 Le signal vrai de la sortie P10 provoque en outre la mise à 1 de la bascule P11 et la remise à 0 de la bascule P10 à l'impulsion OLE suivante en déterminant ainsi l'attaque du pas SB2-14. Pendant SB2-14, la valeur de somme stockée dans le re-15 gistre SMLI est comparée avec la largeur de 1*iso-entropicogramme contenue dans SMHW. A cet effet, le signal vrai de la sortie P11 provoque le couplage, par les circuits de sélection DS5 et DS6, des registres SMHW et SMLI avec l'entrée de l'unité ALU et la comparaison par celle-ci des deux valeurs correspon-20 dantes. Si la largeur de 1'iso-entropicogramme contenue dans le registre SMHW est inférieure ou égale à la valeur de somme contenue dans le registre SMLI, le pas SB2-15 est attaqué et, au cotirs de ce pas, la valeur de la largeur de l'iso-entropicogramme contenue dans le registre SMHW est retranchée de la valeur de 25 ligne contenue dans le registre SMLI de manière à former la valeur de ligne "modulo largeur de 1*iso-entropicogramme". A cet effet, l'unité ALU forme un signal faux à la sortie G et l'inverseur 1930 forme un signal vrai à la sortie L'état vrai de la logique P11.G. provoque la mise à 1 de la bascule P12 et la 30 remise à 0 de la bascule P11 à l'impulsion CLE suivante, ce qui détermine l'attaque du pas SB2-15. Pendant SB2-15, le signal vrai de la sortie P11 provoque le couplage, par les circuits de sélection DS5 et DS6, des registres SMLI et SMHW avec l'entrée de l'unité ALU et 33 celle-ci soustrait les deux valeurs correspondantes, en formant la différence ainsi obtenue, à la sortie CP. Le signal vrai de la sortie P12 provoque le couplage, par le circuit de sélection DS4, de la sortie OP avec l'entrée du registre SMLI et -506- 2334148 l'état vrai de la logique P12.CLK provoque le stockage de la valeur de différence dans le registre SMLI. En conséquence, le registre SMLI contient maintenant le numéro de la ligne de raccourci . 5 Après SB2-15, le signal vrai de la sortie P12 provoque la mise à 1 de la "bascule P13 et la remise à 0 de la bascule P12. On remarquera que, si le contenu du registre SMHW avait été le plus grand pendant SB2-14-, un signal vrai aurait été formé à la sortie G de l'unité ALU et la logique P11.G serait 10 vraie, ce qui provoquerait directement l'actionnement de la "bascule P13 après la mise à l'état vrai de la bascule P11. Ceci équivaudrait à passer directement de SB2-14 à SB2-16. Pendant SB2-16, un signal vrai est formé à la sortie P13 et le nombre de valeurs d'apparition de la ligne de rac-15 courci, maintenant stocké dans le registre ENOC du module "codage" est transféré au registre NOC du module "'raccourcissement" 2 et la longueur en mots de la ligne de raccourci, longueur qui est contenue dans le registre MLN3 est transférée au registre SLN. A cet effet, le signal vrai de la sortie P13.rend vraie la 20 logique P13.&LK et les valeurs tirées des registres ENOC et MLN3 sont stockées dans les registres NOC et SML, respectivement. La bascule CNG est.incluse ici en tant qu'indicateur destiné à être actionné par le module "modification" 2, de façon que les signaux convenables soient transmis conditionnellement, 25 sous le contrôle de l'horloge, aux modules "décodage" I, II et "codage". La bascule SMB a été incluse de façon que, pendant les deux premières lectures à partir du module "décodage" I, le registre MLN1 soit inhibé au point de vue horloge. Il en est ainsi du fait que ces deux valeurs seront relues lors de 30 l'initialisation de RM2 ou EM3. D. Exemple de fonctionnement On va maintenant considérer l'exemple de fonctionnement représenté le long du côté droit de 1'iso-entropicogramme de la table 51. On supposera que le vecteur EO représenté sur la ligne 35 0 (0, 2, 3 et 5) a été stocké dans la zone 1 du module "mémoire" comme décrit ci-dessus à propos des autres modules. On supposera également qu'on désire localiser la ligne de raccourci. Une valeur de largeur d'iso-entropicogramme 8 est stockée- dans le registre HW du dispositif IPRF. -507- 2334148 Le signal initial de la sortie SM2G0 du module "jonction du système DPMW provoque l'attaque, par le module "raccourcissement" 2 du pas SB2-1 au cours duquel les modules "décodage" I, "codage" et "delta" 2 sont initialisés et au 5 cours duquel la valeur 0 est stockée dans les registres SLINE et T3, tandis que la bascule SMB est mise à 1. Les signaux d'autorisation de fonctionnement du système sont formés à la sortie A2S1 et le rythme du système est formé à la sortie A2S2, ce qui provoque le transfert de la valeur de 10 largeur d'iso-entropicogramme à partir du registre HW du dispositif IERP, aux modules suivants : "décodage" I, "codage" et "delta" 2, Les autres valeurs du dispositif IERE sont telles que décrit ci-dessus. Le pas SB2-2 est alors attaqué et le module "décodage" 15 I est appelé, ce qui provoque le stockage de la plus grande valeur d'apparition 5 dans les registres SN et TO du module "raccourcissement" 2. La plus grande valeur d'apparition stockée dans DOI est retranchée de la vale r de largeur d*iso-entropicogramme 8, contenue dans le registre SMHW et la valeur de diffé-20 rence 3 est stockée dans le registre T1. SB2-3 est attaqué et le module "décodage" I est appelé pour la seconde fois, ce qui provoque la génération de la valeur d'apparition 3 immédiatement inférieure à la plus grande par le module "décodage" I. En outre, pendant SB2-3, la valeur 25 d'apparition 3 immédiatement inférieure à la plus grande et qui est contenue dans le registre D01 (module "décodage" I) est retranchée de la plus grande valeur d'apparition 5 contenue dans le registre TO et la valeur de différence 2 est stockée dans le registre TO. 30 Etant donné que la fin de fichier n'a pas été atteinte, la bascule E0F1 du module "décodage" I est à 0 et le pas SB2-4 est attaqué après SB2-3. La valeur de différence 3 contenue dans le registre T1 est plus grande que la valeur de différence 2 contenue dans 35 le registre TO et, en conséquence, est attaqué le pas SB2-6 au cours duquel le "0" du registre T3 est ajouté à la plus " grande valeur de différence 3 contenue dans le registre T1, la valeur résultante 3 étant rangée dans le registre T3. -508- 2334148 SB2-7 est alors attaqué et le registre RIL du module "permutation" 3 est chargé avec la valeur 3 contenue dans le registre T3, tandis que le module "permutation" 3 est appelé. Pendant SB2-7, la valeur de largeur d'iso-entropicogramme 8 5 de SMHW est comparée avec la valeur de différence 3 de T3 et l'on trouve que cette dernière valeur est la plus petite; en conséquence, SB2-8 est attaqué. Pendant SB2-8, le module "permutation" 3 est appelé, en utilisant comme données d'entrée les mêmes que celles qui ont 10 été décrites à titre d'exemples à propos de cemodule. Le module "permutation" 3 détermine la plus grande valeur d'apparition de la ligne 3 de 1'iso-entropicogramme (voir table 51). Cette plus grande valeur est la valeur 7 et est stockée dans le registre N1. Le module "permutation" 3 détermine ensuite la valeur d'ap-15 parition de la ligne 3 immédiatement inférieure à la plus grande, en l'occurrence un "5" et cette valeur est stockée dans le registre N2 du module "permutation" 3« Ensuite est attaqué le pas SB2-9 au cours duquel la plus grande valeur d'apparition de la ligne de raccourci (initialement la ligne donnée), maintenant 20 stockée dans le registre SN, est comparée avec la plus grande valeur d'apparition de la nouvelle ligne, maintenant stockée dans le registre Ni du module "permutation" 3» les registres SN et Ni contiennent maintenant respectivement, les valeurs 7 et 5 et, étant donné que la valeur 5 du registre SN est la plus petite, 25 SB2-11 est attaqué et, au cours de ce pas, la valeur relative au registre T1 est calculée. Pendant SB2-11, la plus grande valeur d'apparition 7 de la nouvelle ligne, contenue dans le registre N1, est retranchée de la valeur de largeur d'iso-entropicogramme 8 stockée dans 30 le registre SMHW et la différence, 1, est rangée dans le registre T1. En outre, la différence entre la plus grande valeur d'apparition 7 du registre N1 et la valeur d'apparition 5 immédiatement inférieure à la plus grande contenue dans le registre N2 est déterminée et la différence, 2, est stockée dans le re-35 gistre TO, après quoi SB2-4- est repris. Pendant SB2-4, on trouve que la valeur 1 du registre T1 est plus petite que la valeur 2 du registre TO. En conséquence est attaqué le pas SB2-5 au cours duquel la valeur plus grande 2 du registre TO est stockée dans le registre T1. -509- 2334148 Ensuite est attaqué le pas SB2-6 au cours duquel la valeur de la ligne de raccourci actuelle, 3» contenue dans le registre T3 est ajoutée à la nouvelle plus grande valeur de différence, 2, contenue dans le registre T1 et au cours duquel la 5 somme, 5» est rangée dans le registre T3. En conséquence, le registre T3 contient maintenant le numéro de la ligne suivante de 1'iso-entropicogramme devant être formée par le module "permutation" 3? c'est-à-dire la ligne 5 de 1*iso-entropicogramme représenté dan^la table 51• 10 Pendant SB2-7, la valeur de largeur d*iso-entropicogramme 8 contenue dans le registre SMHW est trouvée plus grande que la nouvelle valeur de numéro de ligne 5 contenue dans le registre T3 et, en conséquence, SB2-8 est attaqué. Pendant SB2-8, la valeur de numéro de ligne suivante 5» 15 est stockée dans le registre RIL du module "permutation" 3 et celui-ci est appelé. D'après la discussion qui précède, on peut voir que le module "permutation" 3 renvoie la valeur 2 du registre N1 et la valeur 1 du registre N2 comme les deux plus grandes valeurs d'apparition du numéro de ligne 5« 20 Pendant SB2-9, le registre SN contient la valeur 5 qui est la plus grande valeur d'apparition de la ligne donnée ou ligne d'entrée. Jusqu'à ce moment, la ligne donnée a été considérée comme étant la ligne de raccourci, étant donné qu'elle est plus courte que la ligne 3» seule ligne intermédiaire engen-25 drée jusqu'à ce stade. Pendant SB2-9, la valeur 5 stockée dans le registre SN est comparée avec la valeur 2 contenue dans le registre N1 et l'on trouve que cette dernière valeur est plus petite que la première. En conséquence est attaqué le pas SB2-10 au cours duquel la valeur d'apparition 2 plus petite contenue 30 dans le registre N1 est transférée au registre SN et au cours duquel le numéro de ligne du nouveau raccourci supposé, à savoir 5, est transféré du registre T3 au registre SLINE. Après SB2-10 est attaqué le pas SB2-11 au cours duquel la différence entre la valeur dolargeur d'iso-entropicogramme 8 35 et la plus grande valeur d'apparition 2 contenue dans le registre Ni est déterminée et au cours duquel la valeur résultante 6 est stockée dans le registre T1. En outre, la différence entre les deux plus grandes valetirs d'apparition respectivement conte -510- 2334148 nues dans les registres N1 et N2 du module "permutation" 3 est déterminée et stockée dans le registre TO. Les registres N1 et N2 contiennent les valeurs 2 et 1, respectivement et donc la différence est 1 et le registre TO contient maintenant un "1". 5 Après SB2-11 est repris le pas SB2-4- au cours duquel la valeur 6 du registre T1 est trouvée plus grande que la valeur 1 contenue dans le registre TO. En conséquence, est attaqué le pas SB2-6 au cours duquel la valeur de différence 6 contenue dans le registre T1 est ajoutée à la valeur de ligne actuelle 3 10 contenue dans le registre T3, la somme résultante 11 étant stockée dans le registre T3. SB2-7 est maintenant attaqué et, au cotirs de ce pas, la valeur contenue dans T3 est trouvée plus grande que la valeur de largeur d'iso-entropicogramme 8 du registre SMHW. En consé-15 quence, SB2-12 est attaqué. Pendant SB2-12, la valeur de ligne actuelle 5 contenue dans le registre SLINE est stockée dans le registre BIL du module "permutation" 2 et celui-ci est appelé et engendre en totalité la ligne 5 de 1*iso-entropicogramme représenté dans la table 20 51 et cette ligne est stockée par le module "codage" dans la zone 2 du module "mémoire". Ensuite est attaqué le pas SB2-13 au cours duquel la valeur 0 du registre SMLI est ajoutée à la valeur de ligne 5 du registre SLINE, la valeur résultante 5 étant rangée dans le re-25 gistre SMLI. Pendant SB2-14-, la valeur de la ligne de raccourci actuelle 5 stockée dans le registre SMLI est trouvée plus petite que la valeur de largeur d'iso-entropicogramme 8 de SMHW.et, en conséquence, le pas SB2-16 est attaqué. Pendant SB2-16, le 30 nombre de valeurs d'apparition de la ligne de raccourci stockée dans la zone 2 du module "mémoire" est transféré, du registre ENOC du module "codage" au registre NOC du module "raccourcissement" 2 et la longueur en mots de la ligne de raccourci, stockée dans le registre MLN3» est transférée au registre SLN du module 35 "raccourcissement" 2. Le fonctionnement du module "raccourcissement" 2 est suspendu en ce point. En conséquence, lors de la suspension de son fonctionnement, le module "raccourcissement" 2 a engendré la ligne 5 de -514- 2334148 1'iso-entropicogramme (voir table 5^) et cette ligne a été stockée dans la zone 2 du module "mémoire". Le registre SMLI contient la valeur de ligne de raccourci 5 et le registre NOC du module "raccourcissement" 2 contient la valeur de longueur 5 en mots 2. XXVI. MODULE "SORTIE" 2 A. Description générale Le module "sortie" 2 a deux fonctions. La première consiste à permettre l'obtention de la ligne d'entrée originale 10 d'un iso-entropicogramme à partir d'une ligne donnée représentant l'une quelconque des autres lignes du même iso-entropicogramme. A cet effet, le module "sortie" 2 est initialisé et initialise à son tour les modules "décodage" I et II, le module "codage" et le module "permutation" 2. Le nombre de lignes 15 dont la ligne donnée doit être permutée pour obtenir la ligne d'entrée du même iso-entropicogramme est déterminé et est transmis au module "permutation" 2 qui assure alors directement la génération de cette ligne d'entrée. La seconde fonction du module "sortie" 2 comprend un 20 arrangement de variante permettant de déterminer si une valeur d'apparition effective existe sur une ligne d'entrée d'un iso-entropicogramme, l'une des autres lignes de celui-ci étant donnée, comme décrit par ailleurs. Ce mode de réalisation de variante est utilisé dans le système DEM de variante de la Fig. 61 et 25 comprend le module "sortie" 2. Cette fonction a déjà été réalisée dans le mode de réalisation de l'invention décrit précédemment par le module "sortie" et a été désignée dans la présente description sous le nom de "fonction DEL". Les grandes lignes de cet arrangement de variante sont 30 faciles à comprendre en se référant aux tables 9-C et 9-3? et en considérant les principes impliquant l'utilisation de "uns" et "zéros" binaires. Dans ce mode de réalisation de variante, un principe impliquant l'utilisation du "delta" renversé par rapport à celui de la table 6, delta renversé qui est représen-35 té dans la table 9-C, est également adopté. La ligne donnée, qui est généralement la ligne de raccourci de 1'iso-entropicogramme, conjointement à de l'information tirée du delta renversé par rapport à celui de la table 6, représenté dans la -512- 2334148 table 9-C, est utilisée pour déterminer si une valeur d'apparition effective est présente sur la ligne d'entrée du même iso-entropicogramme. Initialement, la colonne désirée (dans le cas de la notation binaire) ou la valeur d'apparition effective dé-5 sirée (dans le cas de la notation codée absolue) sont données. Le nombre de lignes de déplacement entre la ligne donnée et la ligne d'entrée de 1*iso-entropicogramme est déterminé. Ce nombre de lignes de déplacement est, bien entendu, le nombre de lignes dont la ligne donnée doit être permutée pour obtenir la ligne 10 d'entrée. Cette valeur de différence est alors utilisée comme index pour la consultation du delta renversé représenté dans la table 9-C. Plus précisément, on obtient la ligne (voir table 9-C) correspondant à la valeur de différence à partir du delta renver-15 sé et le côté droit est aligné avec la colonne (en cas de notation binaire) ou avec la valeur d'apparition effective (en cas de valeurs d'apparition effectives) dont la présence doit être déterminée. Les "1" et "0" alignés verticalement (dans le cas de la notation binaire) ou la présence de valeurs d'apparition 20 effectives (dans le cas de la notation absolue) sont soumis à une opération logique ET .qui produit, pour chaque position, un état vrai si une valeur d'apparition effective est présente à la fois sur la ligne donnée et sur la ligne choisie du delta. S'il existe un nombre impair d'états vrais, c'ést-à-dire une 25 parité impaire, alors la colonne correspondante de la ligne d'entrée (dans le cas de la notation binaire) ou la valeur d'apparition effective correspondante, sont présentes sur la ligne d'entrée de 1'iso-entropicogramme. Si le nombre d'états vrais est pair, c'est-à-dire si la parité est paire, alors un 0 (dans 30 le cas de la notation binaire) est présent, ou bien la valeur d'apparition effective est absente (dans le cas de la notation absolue) sur la ligne d'entrée de 1'iso-entropicogramme. On comprendra mieux les principes de fonctionnement ci-dessus en se référant aux exemples de la table 9-F. 55 Initialement, la ligne donnée (généralement le raccour ci d'un vecteur d'apparition quelconque) est stockée sous la forme codée hybride dans la"zone 1 du module "mémoire". En outre, le "minicalculateur" stocke les valeurs d'apparition -513- 2334148 effectives à vérifier (c'est-à-dire une ligne de référence) dans la zone 3 du module "mémoire". 3}q£lus, le "minicalculateur" stocke dans le dispositif IPRF la largeur d'iso-entropicogramme (HW), le numéro de ligne de la ligne de raccourci ainsi que les 5 longueurs de la ligne de raccourci et de la ligne de référence (c'est-à-dire le nombre de mots de texte que comprend le raccourci). le module "sortie" 2 détermine le nombre de lignes de déplacement entre la ligne donnée et la ligne d'entrée de 1'iso-entropic ogramme, c'est-à-dire le nombre de lignes de permutation 10 nécessaires pour obtenir la ligne d'entrée de 1'iso-entropicogramme. Le nombre de lignes ainsi déterminé est utilisé comme index de consultation du delta renversé représenté dans la table 9-C. Plus précisément, la ligne du delta renversé (représenté dans la table 9-C) qui correspond au nombre de lignes ainsi dé-15 terminé est obtenue par l'intermédiaire du module "delta" 2. A cet effet, la ligne du delta renversé est alignée de façon que son côté droit coïncide avec la colonne (ou la valeur d'apparition) intéressante. Pour effectuer le déplacen^nt voulu, le module "sortie" 2 détermine la différence entre la valeur d'ap-20 parition intéressante et la largeur d*iso-entropicogramme et cette différence est alors transmise au module "delta" 2. Les représentations de la présence et de l'absence de valeurs d'apparition sur la ligne donnée et sur la ligne de delta déplacée, représentations qui se présentent sous la forme des valeurs 25 d'apparition respectives, sont soumises à une opération logique ET pour former une représentation "vraie" si une valeur d'apparition est "vraie" sur les deux lignes et un "0" si une valeur d'apparition est absente sur l'une au moins des deux lignes. Un nombre impair d'états vrais indique la présence de la valeur 30 d'apparition sur la ligne d'entrée de 1*iso-entropicogramme, tandis qu'un nombre pair d'états vrais indique l'absence d'une valeur d'apparition sur cette ligne d'entrée. Etant donné que les vecteurs EO ont été classés suivant une séquence décroissant de façon monotone et que le mo-35 dule "delta" 2 engendre son information de sortie suivant une séquence croissant de façon monotone, une opération de mémorisation intermédiaire est nécessaire. Cette procédure a déjà été décrite à propos du module "permutation" 2 ci-dessus. Le module -514- 2334148 "sortie" 2 calcule, à partir de la valeur de ligne de référence actuelle, la valeur d'apparition possible minimale pouvant être affectée par la configuration "DEL" renversée. Cette valeur minimale est transmise au module "delta" 2 comme colonne initiale 5 de sa séquence. Une séquence de valeurs EO décroissant de façon monotone est lue, sur la ligne de raccourci, dans la zone 1 du module "mémoire" du système DPM et est placée en mémorisation temporaire (c'est-à-dire dans la "mémoire auxiliaire" II). 10 Ensuite, le module "delta" 2 commence à engendre3?û.ne séquence croissant de façon monotone représentant un profil binaire du delta qui correspond au nombre de lignes à permuter, la valeur initiale de cette séquence étant la colonne de valeur minimale calculée ci-dessus. Ces valeurs déplacées par le module "delta" 15 2 sont soumises à une opération logique ET avec la portion de la ligne de raccourci en mémorisation temporaire dans le module "mémoire auxiliaire" II. La parité impaire du nombre de sorties vraies de l'opérateur logique "ET" (une sortie vraie est obtenue chaque fois que la même valeur apparaît à la fois sur le 20 segment de la ligne de raccourci et sur la configuration de la ligne de delta) est contrôlée par une bascule T. Si un nombre impair de valeurs "ET" vraies sont trouvées, la valeur de la ligne de référence lue par le module "décodage" II et stockée dans le registre RI est écrite directement dans la zone 3 du 25 module "mémoire". Si un nombre pair de valeurs "ET" vraies sont trouvées, l'écriture dans la zone 3 du module "mémoire" est omise. Les valeurs de ligne de raccourci du segment de ligne de raccourci en mémorisation temporaire dans la "mémoire auxiliaire" II qui sont supérieures à la plus grande valeur 30 déplacée fournie par le module "delta" 2 n'ont plus besoin d'être considérées et, en conséquence, le pointeur de base de mémoire (WB) de la "mémoire auxiliaire" II est réglé de manière à refléter cette situation. Il est à noter ici que le processus décrit ci-dessus, selon lequel les valeurs de ligne de raccourci 35 supérieures à la plus grande valeur déplacée engendrée par le module "delta" 2 sont ignorées, provoque la progression du traitement des segments de la ligne de raccourci actuelle dans la zone 1 du module "mémoire 'auxiliaire" II. Lorsque l'extrémité de la mémoire est atteinte, il se produit un bouclage. -515- 2334148 le processus décrit ci-dessus se répète pour chaque valeur à vérifier de la ligne de référence. Une fois que toutes les valetirs de la ligne de référence ont été traitées, le fonctionnement du module "sortie" 2 est suspendu alors que les va-5 leurs contenues dans la zone 3 du module "mémoire" représentent les valetirs de la ligne de référence qui ont également apparu sur la ligne d'entrée de 1'iso-entropicogramme qui contient la ligne de raccourci. Il est important de noter que la fonction "DEL" décrite ci-dessus permet à l'utilisateur de ce système 10 de prendre des décisions en fonction des données sans régénérer la totalité de la ligne d'entrée de 1'iso-entropicogramme contenant le raccourci. B. Composants Une liste des composants de "matériel" utilisés pour 15 construire le module "sortie" 2 est donnée dans la table 57 de la présente description. C. Description détaillée On va maintenant se référer au schéma de câblage en partie symbolique de la Fig. 76 et à l'organigramme des Fig. 20 74 et 75 et examiner la structure générale du module "sortie" 2. La description qui va suivre se référera au fonctionnement général tel qu'il est représenté dans l'organigramme des Fig. 74 et 75. Initialement, le "minicalculateur" stocke ce qui suit dans le dispositif IPRF du module "jonction du système DPM"ï 25 1. Largeur de 1'iso-entropicogramme dans HW 2. Numéro de ligne de raccourci dans le registre "n° de ligne" 5. Longueur de la ligne de raccourci dans LN1. En outre, si la fonction DEL doit être effectuée par le module "sortie" 2, la longueur de la ligne de référence est 30 stockée dans le registre LN2 du dispositif IPRF, et la bascule DELOP du registre STATUS du module "jonction du système DPM" et, par conséquent, la bascule DELOP du module "sortie" 2 sont * mises à 1, alors que ces bascules sont initialement mises à 0 si l'opération de sortie normale doit être effectuée. 35 En outre, le "minicalculateur" stocke l'information stiivante dans les zones indiquées ci-après du module "mémoire" : Zone 1 - vecteur d'apparition d'événement (EO) donné (raccour- -516- 2334148 Zone 2 - valeur d'apparition effective à vérifier (ligne de référence) (seulement si l'opération DEL doit être effectuée et si la bascule DELOP est à 1) Zone 3 - Réservée à la ligne d'entrée régénérée ou aux valeurs 5 d'apparition effectives trouvées présentes sur la ligne d'entrée. Le "mini calculateur" appelle le module "sortie" 2 en formant tin signal vrai à la sortie 0M2G0 dans le cas d'une sortie normale et ce signal vrai à la sortie OM2GO provoque l'at-10 taque du pas 0B1 de l'organigramme. Pendant le pas 0B1 de l'organigramme, le module "sortie" 2 est initialisé et stocke la largeur d*iso-entropicogramme (HW) dans le registre OHW et le numéro de ligne.de la ligne donnée (n° de ligne) est stocké dans le registre OLIHE du module "sortie" 2. En outre, le module 15 "sortie" 2 forme un signal vrai à la sortie A2G1 et à la sortie A202 pour initialiser le fonctionnement des modxiles "décodage" I et II, "codage", et "permutation" 2. Le pas 0B2 de l'organigramme est alors attaqué, pas au cours duquel le module "sortie" 2 calcule le nombre de lignes 20 dont il est nécessaire de permuter la ligne donnée pour aboutir à la ligne d'entrée originale de 1'iso-entropicogramme correspondant. A cet effet, le numéro de ligne de la ligne donnée contenu dans le registre OLIHE est retranché de la valeur de largeur de 1'iso-entropicogramme stockée dans le registre OHW et 25 le résultat est rangé dans le registre N du module "sortie" 2. Maintenant est attaqué le pas 0B3 pendant lequel l'état de la bascule DELOP du module "sortie" 2 est vérifié. Si la bascule DELOP est à 0, ce qui indique qu'une opération de sortie normale doit être effectuée, alors 0B4 est attaqué. Pendant 0B4-, 30 le nombre de lignes à permuter est. transféré du registre N du module "sortie" 2 au registre RIL du module "permutation" 2. L'intervention du module "permutation" 2 est alors appelée, ce qui provoque une repermutation de la ligne donnée de 1'iso-entropicogramme stockée dans la zone 1 du module "mémoire" 35 jusqu'à la ligne d'entrée du même iso-entropicogramme. La ligne d'entrée finale ainsi engendrée est stockée dans la zone 3 du module "mémoire". -517- 2334148 On va maintenant revenir au pas OBJ de l'organigramme et supposer que la bascule DELOP est à 1, ce qui indique que l'opération DEL doit être effectuée. Le pas 0B5 est alors attaqué après OBJ. Pendant 0B5, la bascule EFF de déverr oui liage du 5 module "décodage" I est mise à 1 dans le module "sortie" 2. La valeur du nombre de lignes à permuter stockée dans le registre N est transmise au registre DELRO du module "delta" 2 pour indiquer la ligne désirée du delta renversé qui doit être déplacée et engendrée par le module "delta" 2. En outre, les 10 registres pointeurs WP et WB du module "sortie" 2 sont remis à 0. Le pas 0B6 de l'organigramme est attaqué après 0B5. Pendant 0B6, l'intervention du module "décodage" II est appelée et ce module engendre l'une des valeurs d'apparition à vérifier du vecteur EO stocké dans la zone 2 du module "mémoire" (c'est-15 à-dire une valeur de ligne de référence). On se souvient de ce que le module "décodage" II fournit les valeurs d'apparition du vecteur EO par ordre de grandeur décroissant. Si le module "décodage" II a déjà engendré la dernière ou plus petite valeur d'apparition du vecteur EO contenu dans la zone 2 du module 20 "mémoire" la bascule E0F2 est à 1 et le module "sortie" 2 suspend son fonctionnement après 0B6. Par contre, si le module "décodage" II n'a pas encore engendré la dernière valeur d'apparition, le pas 0B7 est attaqué après 0B6. 0B7 stocke et préserve la valeur d'apparition à vérifier 25 de la ligne d'entrée dans le registre El. En outre, la valeur d'apparition minimale susceptible d'être affectée par la ligne déplacée du delta est calculée en retranchant la valeur contenue dans îï de la valeur qui vient d'être lue et le résultat est stocké dans le registre R2 du module "sortie" 2. La valeur mini-30 maie stockée dans le registre R2 est alors transférée au registre DELV" du module "delta" 2, de sorte que celui-ci produit l'écart ou déplacement correspondant sur la ligne du delta' renversé spécifiée par la valeur maintenant stockée dans le registre DELRO du module "delta" 2. 35 Le pas 0B8 de l'organigramme est maintenant attaqué. Si, pendant 0B8, la bascule EFF de déverrouillage du module "décodage" I est à 1, le pas 0B10 de l'organigramme est attaqué et l'intervention du module "décodage" I est demandée, de sorte -518- 2334148 que ce module engendre l'une des valeurs d'apparition du vecteur EO stocké dans la zone 1 du module "mémoire". Ici encore, on remarquera que le module "décodage" I fournit les valeurs d'apparition du vecteur EO stocké dans la 5 zone 1 du module "mémoire" par ordre de grandeur décroissant en partant de la plus grande. Si le module "décodage" I n'a pas atteint la fin du vecteur EO de la zone 1 du module "mémoire", alors est attaqué le pas 0B11 au cours duquel la valeur d'apparition provenant du module "décodage" I est stockée dans le re-10 gistre RII du module "sortie" 2 et, si la bascule EPF est à 1, comme c'est le cas lorsque 0B10 a été attaqué en provoquant ainsi la génération d'une valeur par le module "décodage" I, alors la valeur stockée dans le registre RII est transférée dans la zone d'écriture de la "mémoire AM-II" à l'emplacement spécifié 15 par le pointeur WP, et l'adresse contenue dans celui-ci est in--crémentée de 1. On remarquera que les valeurs sont lues sur le vecteur EO de la ligne donnée par ordre de grandeut décroissant et sont stockées dans cet ordre dans la "mémoire AM-II". Après 0B11 est attaqué 0B12. Pendant 0B12, le module 20 "sortie" 2 effectue un contrôle pour déterminer si un nombre de valeurs suffisant ont été lues sur la ligne donnée pour déterminer si la valeur d'apparition effective stockée dans le registre RI est présente, la décision.ne peut pas être prise si la valeur minimale stockée dans le registre R2 est inférieure 25 à la valeur d'apparition du vecteur EO de la ligne donnée, valeur qui est stockée dans le registre RII. Si cette condition existe et si, par conséquent, la décision ne peut pas être prise, alors sont repris les pas 0B10 et 0B11 au cours desquels le processus décrit ci-dessus est répété, ce qui provoque la 30 lecture d'une autre valeur sur le vecteur EO de la ligne donnée et son stockage dans le registre RII. Cette opération est répétée jusqu'à ce que la valeur d'apparition stockée dans le registre RII soit inférieure ou égale à la valeur minimale contenue dans le registre R2. Lorsque la condition ci-dessus existe pen-55 dant 0B12, la décision peut être prise et l'un des pas 0B15 ou 0B14- est attaqué, selon les valeurs relatives des contenus respectifs des registres R2 et RII. Si la valeur minimale du registre RII est égale à la valeur d'apparition du vecteur EO -519- 2334148 de la ligne donnée, contenue dans le registre EII, le pas OB14-est attaqué et, au cours de ce pas, la bascule EFF est mise à 1 pour indiquer que le module "décodage" I doit être appelé lors du cycle suivant pour provoquer la génération de la valeur d'ap-5 parition inférieure suivante de la ligne donnée. Si par contre la valeur minimale du registre E2 est plus grande que la valeur d'apparition de la ligne donnée stockée dans le registre EII, le pas 0B13 est attaqué et la bascule EFF est mise à 0 pour indiquer le fait que le module "décodage" I ne doit pas être 10 appelé. Pour revenir au pas 0B10, on remarquera que, lorsque le module "décodage" I a atteint la fin de fichier, et que, par conséquent, la "bascule E0F1 est à 1, les pas 0B11 et 0B12 sont shuntés et CB13 est directement attaqué pour toutes les entrées 15 futures dans OBIO. Après 0B13 ou 0B14- sont attaqués les pas 0B15-0B24. Les pas 0B15 à 0B24 assurent une opération logique "ET" et un contrôle de parité sur les indications de valeurs d'apparition à partir de la ligne donnée et à partir de la ligne déplacée 20 reçus du module "delta" 2. L'opération ET s'effectue sur une seule valeur d'apparition à la fois cependant qu'une trace de la parité est gardée dans la bascule T. Le module "delta" 2 sort les valeurs de ligne de delta déplacées, de la plus petite à la plus grande, c'est-à-dire dans un ordre inverse de celui dans 25 lequel les valeurs d'apparition sont engendrées par les modules "décodage" I et II. Cet ordre de lecture présente un avantage étant donné que, lorsque les pas 0B14 à 0B24 sont terminés, les pointeurs WT, WB de la "mémoire AM-II" sont dans un état tel que les valeurs supérieures de la ligne donnée qui ne sont 30 plus nécessaires sont supprimées. Le registre d'adresse de mémoire WP est agencé de manière à provoquer le bouclage lorsque l'emplacement de mémoire de plus fort poids est atteint dans la "mémoire AM-II". En ce qui concerne plus particulièrement le pas 0B15» 35 au cours de ce pas le pointeur pointant vers la valeur maximale jusqu'à présent enregistrée dans la "mémoire 1M-II" comme indiqué par le pointeur WP, est stocké dans le registre WT et préservé. En outre, la bascule de parité T est mise à 0. Après -520- 2334148 0B15, le pas 0B16 de l'organigramme est attaqué et, au cours de ce pas, si la fin de la ligne déplacée du delta n'a pas été atteinte, c'est-à-dire si DELEND est à C, alors le module "delta" 2 est appelé et engendre la valeur d'apparition déplacée suivante 5 de la ligne de delta en cours de génération. CB17 est attaqué et la valeur d'apparition déplacée suivante est transférée du registre DELO du module "delta" 2 au registre DO du module "sortie" 2. Ensuite est attaqué le pas 0B18 au cours duquel le pointeur WT est décrémenté de 1 de sorte qu'il identifie l'adresse 10 suivante de la "mémoire AM-II" pour la lecture. Ensuite est attaqué le pas 0BT9 au cours duquel l'adresse contenue dans le pointeur actuel WT est comparée avec la dernière adresse attri-buable qui est stockée dans le registre WB. Comme décrit plus loin de façon plus détaillée à propos du pas 0B27, le contenu 15 du pointeur WT plias 1 est stocké dans le pointeur WB pour indiquer que les valeurs de ligne de raccourci présentes à des adresses inférieures à WB doivent être ignorées. En conséquence, pendant 0B19, si le contenu du pointeur WT est supérieur ou égal à la valeur minimale du pointeur WB, le pas 0B20 est atta-20 qué et une valeur d'apparition déplacée est lue dans la "mémoire AM-II" et stockée dans le registre RII du module "sortie" 2. Sif le contenu du registre WT est plus petit que ladite valeur minimale, alors le pas 0B21 est attaqué après 0B19» ce qui provoque le stockage d'une valeur maximale 255 dans le registre RII. La 25 valeur maximale 255 est le plus grand nombre positif admissible pouvant être stocké dans le registre RII dans la configuration utilisée ici à titre d'exemple. Après 0B21 ou 0B20 est attaqué le pas 0B22 au cours duquel sont éffectuées les opérations effectives ET et de contrôle 30 de parité. A cet effet, si pendant 0B22 la valeur du registre RII est plus petite que la valeur de delta déplacée du registre DO, le fonctionnement reprend en 0B18 et une autre valeur de segment de ligne de raccourci est lue dans la "mémoire AM-II". Si, pendant 0B22, le contenu du registre RII est trouvé plus 35 grand que la valeur de delta déplacée du registre DO, alors est attaqué le pas 0B24- au cours duquel la valeur de ligne de delta déplacée supérieure suivante est appelée à partir du module "delta" 2 et est stockée dans le registre DO. Si la der -521- 2334148 nière valeur de ligne déplacée n'a pas été fournie par le module "delta" 2, alors après 0B24 est repris le pas 0B22 qui provoque une répétition de là comparaison décrite ci-dessus à propos de ce pas. Si, au cours de 0B22, les contenus des registres EII et 5 DO sont trouvés égaux entre eux, le pas OB23 est attaqué et la ■bascule T est complémentée ce qui dénote qu'une égalité a été détectée en indiquant ainsi que la présence de valeurs d'apparition respectives de même valeur a été détectée à la fois sur la ligne de delta déplacée et sur la ligne donnée. En 10 d'autres termes, la combinaison ET de la présence simultanée de valeurs d'apparition à la fois sur la ligne de delta déplacée et sur la ligne donnée est vraie et, pa? conséquent, la bascule de parité est commutée. Après 0B23 est repris le pas 0B16 au cours duquel la 15 valeur de delta déplacée suivante est lue à partir du module "delta" 2 après quoi, pendant 0B20, la valeur de segment de ligne de raccourci suivante est lue dans la "mémoire AM-II". Si, au cours de 0B24, la dernière valeur de ligne déplacée a été engendrée par le module "delta" 2 et si la bascule 20 DELEND est à 1, 0B25 est ensuite attaqué. Pendant 0B25, une décision est prise quant à la présence de la valeur d'apparition actuellement soumise au test et qui, si elle est effectivement présente, doit être sortie dans la zone 3 du module "mémoire". A cet effet, si la bascule T est à 1, le pas 0B26 est attaqué 25 et la valeur d'apparition de la ligne de référence sous test, stockée dans le registre El, est transmise à la zone 3 clu module "mémoire". En outre, le registre d'adresse M3 du module "sortie" 2 est incrémenté de 1, de sorte qu'il contient maintenant l'adresse de l'emplacement d'écriture suivant dans la zone 3 du 30 module "mémoire". Si la bascule T est à 0, ce qui indique que le nombre d'états vrais détectés par l'opération ET et de contrôle de parité est pair, le pas 0B27 est attaqué et la valeur d'apparition sous test du registre El est ignorée, le pas 0B27 étant alors attaqué directement. Pendant 0B27, le pointeur WT 35 est incrémenté de 1 et le résultat est stocké dans le pointeur WB, ce qui a pour effet que toutes les valeurs de segment de ligne de raccourci de AM-II ayant des adresses inférieures à WB seront ignorées lors des cycles futurs. Après 0B27, le pas 0B6 -522- 2334148 est repris et le cycle de fonctionnement se répète. Enfin, lorsque la dernière valeur d'apparition à vérifier est fournie à partir du vecteur EO contenu dans la zone 5 du module "mémoire", la bascule E0F2 du module "décodage" II est mise à 1 et le fonc-5 tionnement de la machine est suspendu après 0B6. En conséquence, il devrait maintenant être clair que, lorsque la fonction DEL est achevée, après la suspension, la zone 3 du module "mémoire" contient, et contient exclusivement, les valeurs d'apparition effectives du vecteur EO de la ligne 10 de référence stocké dans la zone 2 du module "mémoire", qui existent sur la ligne d'entrée de 1'iso-entropicogramme correspondant à la ligne donnée représentée par le vecteur EO stocké dans la zone 1 du module "mémoire". En gardant présente à l'esprit la description générale 15 ci-dessus du module "sortie" 2, on va maintenant examiner celui-ci de façon plus détaillée en se référant ici encore à l'organigramme des Fig. 74- et 75 et au schéma de câblage en partie symbolique de la Fig. 76. L'intervention du module "sortie" 2 est appelée par le 20 "minicalculateur" par application d'un signal vrai à la sortie OMGO pour provoquer une opération de sortie normale et par application de ce même signal vrai à la sortie OMGO conjointement à l'application d'un signal vrai à la sortie DELOP du module "jonction du système DPM" pour provoquer l'exécution de l'opéra-25 tion DEL. Le signal vrai de la sortie OMGO a pour effet que l'horloge généralisée 700 commence à former des impulsions d'horloge à la sortie CLK. Initialement, toutes les bascules P1 à P11 sont à 0 (état dans lequel elles ont été mises par un signal de com-30 mande apparaissant à la sortie.MINIT du module "jonction du système DPM"). Le signal vrai de la sortie P1 et l'état vrai de la logique PI.CLK provoquent la formation de signaux vrais aux sorties A201 et A202, le premier signal provoquant la transmission d'un signal de déverrouillage du système aux modules 35 "codage", "décodage" I et II et "permutation" 2 et à la bascule SM de la "mémoire .AM-II" et le second signal fournissant un rythme de système aux mêmes parties du système. -523- 2334148 l'état vrai de la logique P1.CLK provoque le chargement dans le registre OHW de la largeur de 1' iso-entropicorrramme à partir du registre HW du dispositif IPRF et le stockage dans le registre OLINE du numéro de ligne de la ligne donnée à partir 5 du registre "n° de ligne" du dispositif IPRF. Le signal vrai de la sortie PI de la bascule P1 provoque la mise à 1 de la bascule P2 à l'impulsion CLK suivante. Le pas 0B2 est maintenant attaqué. La largeur de 1*iso-entropic ogramme contenue dans le registre OHW et le numéro de 10 la ligne donnée contenu dans le registre OLINE sont soustraits l'un de l'autre et le résultat est stocké dans le registre N. A cet effet, le signal vrai formé à la sortie P2 provoque le couplage, par les circuits de sélection DS2 et DS3, des registres OHW et OLINE avec l'entrée de l'unité ALU et celle-ci retranche 15 le contenu du registre OLINE de celui du registre OHW. La valeur de différence formée par l'unité ALU est appliquée à l'entrée du registre N et l'état vrai de la logique P2.CLK provoque le stockage de cette valeur de différence dans le registre N. En conséquence, le registre N contient maintenant le nombre de 20 lignes dont le raccourci doit être permuté pour obtenir l'information d'entrée originale. L'état vrai de la sortie P2 provoque également la mise à 1 de la bascule EFF. En supposant qu'on désire effectuer une sortie normale, la bascule DELOP est maintenant à 0. En conséquence, le pas 0B4- est attaqué. Pendant 0B4, 25 l'état vrai de la logique P2.DELOP et l'état vrai de la logique P2.DELOP.CLK provoquent la réception de signaux vrais par les sorties A203 et A204- du module "sortie" 2, ce qui entraîne la réception par le registre RIL du module "permutation" 2 de la valeur du nombre de lignes à permuter à partir du registre N du 30 module "sortie" 2. Si, pendant 0B3, la bascule DELOP est à 1, ce qui indique que la fonction DEL doit être exécutée, c'est le pas OB5 qui est attaqué au lieu de 0B4-. Pendant 0B5, le signal vrai de la sortie P2 provoque la reaise à 0 des pointeurs WP et ï/T. 35 La logique P2.DELOP et la logique P2.DELOP.CLK de viennent maintenant vraies, ce qui provoque l'apparition de signaux vrais aux sorties A205, A206 et A20? et la réception par le module "delta" 2 du nombre de lignes à permuter à partir du -524- 2334148 registre N du module "sortie" 2 et, par suite, le stockage de cette valeur dans le registre DELRO. Le pas 0B6 de l'organigramme est maintenant attaqué. Le signal vrai de la sortie P2.DELOP.CLK provoque la génération 5 d'un signal vrai à la sortie A207, signal qui appelle à son tour l'intervention du module "décodage" II. En outre, dans la logique de suspension d'horloge 2022, la logique A207•D2MEND devient vraie, ce qui provoque l'apparition d'un signal vrai à la sortie CS de l'horloge généralisée 700 et, par conséquent, 10 une cessation de l'application d'impulsions par l'horloge géné- . ralisée aux sorties CLK et CLK. En conséquence, le fonctionnement du module "sortie" 2 est momentanément suspendu, tandis que le module "décodage" II fournit une valeur d'apparition à partir du vecteur EO désignant les valeurs d'apparition à con-15 trôler, ledit vecteur EO étant stocké dans la zone 2 du module "mémoire". Une fois que le module "décodage" II a achevé ses opérations, et a fourni une valeur d'apparition, le signal vrai de sa sortie D2MEKD devient faux, ce qui rend fausse l'entrée CS 20 de la logique de suspension d'horloge 2022 et l'horloge généralisée 700 commence à émettre des impulsions CLK et CLK. En supposant que le module "décodage" II n'a pas atteint la fin de la zone de vecteur EO de la ligne de référence, zone qui est contenue dans la zone 2 du module "mémoire", la bascule 25 E0F2 est maintenant à 0 et la logique P2.DELOP.E0F2 est maintenant vraie, de sorte que l'impulsion CLK suivante provoque la mise à 1 de la bascule P3 et la remise à 0 de la bascule P2 et, par conséquent, l'attaque du pas 0B7 de l'organigramme. Pendant le pas 0B7 de l'organigramme, un signal vrai 30 est formé à la sortie P3» ce qui provoque le stockage dans le registre RI de la valeur d'apparition de ligne de référence à contrôler à partir du registre D02 du module "décodage" II, En outre, le signal vrai de la sortie P3 provoque le couplage, par les circuits de sélection DS2 et DS3, des sorties des re-35 gistres RI et N avec l'entrée de l'unité ALU et l'application d'un signal vrai à l'entrée S de celle-ci, signal qui la contraint à soustraire les dettx valeurs l'une de l'autre et à former la différence à la sortie OP. En outre, le signal vrai en P3 -525- 2334148 provoque la transmission, sous contrôle de l'horloge, de la valeur contenue dans le registre WT au registre WB. la logique P3.CLK devient vraie et la différence est stockée dans le registre E2. l'état vrai de la sortie P3 et 5 celui de la logique P3.CLE provoquent l'apparition de signaux vrais aux sorties A208 et A209 du module "sortie" 2, et, par conséquent, l'application d'un signal de déverrouillage au registre DELV du module "delta" 2, signal qui provoque à son tour le stockage de la différence apparaissant à la sortie OP dans 10 le registre DELV. En conséquence, le module "delta" 2 contient maintenant la valeur de différence indiquant le nombre de lignes à permuter dans DELRO et la valeur d'apparition de début de la série des valeurs de sortie déplacées contenues dans DELV. Ensuite est attaqué le pas 0B8 au cours duquel l'état '5 de la bascule EFF est contrôlé. En supposant que la bascule EFF soit maintenant à 1, le pas 0B10 est attaqué. Pendant 0B10, l'état vrai de la logique P3.EFF.CLK provoque l'apparition d'un signal vrai à la sortie A2010 du module "sortie" 2, signal qui appelle à son tour l'intervention du module "décodage" I. En 20 outre, l'état vrai de la logique A2010.D1MEND provoque l'application d'un signal vrai à la sortie CS de l'horloge généralisée 700, laquelle cesse alors d'engendrer les impulsions CLK et CLÉ, ce qui suspend le fonctionnement du module "sortie" 2. Le module "décodage" I fournit alors, à partir de la 25 zone 1 du module "mémoire" une valeur d'apparition du vecteur EO de raccourci de la ligne donnée. Cette valeur d'apparition est fournie par le registre D01 du module "décodage" I. Lorsque cela se produit, le signal vrai de la sortie D1MEÏÏD du module "décodage" I devient faux, ce qui provoque l'application d'un 30 signal faux à l'entrée CS de l'horloge généralisée, qui commence alors à engendrer les impulsions CLE et CLfc. L'impulsion CLE suivante provoque la mise à 1 de la bascule P4 et la remise à 0 de la bascule P3, ce qui détermine l'attaque du pas 0B11. Le signal vrai de la sortie P4 provoque le couplage, 35 par le circuit de sélection DS1, du registre D01 du module "décodage" I avec l'entrée du registre RII. En outre, le signal vrai de P4- provoque une incrémentation par l'horloge à raison d'une unité de la valeur contenue dans le compteur WB. L'état -526- 2334148 vrai de la logique P4-.CLK provoque le stockage dans le registre EII de la valeur d'apparition du vecteur EO de la ligne doniée. L'état vrai de la logique P4.EFF rend vraie la sortie A0211 du module "sortie" 2, ce qui provoque l'écriture par la "mémoire 5 AM-II" de la valeur d'apparition de la ligne donnée stockée dans le registre EII, à l'emplacement de la "mémoire AM-II" spécifié par le pointeur WP. En outre, l'état vrai de la logique P4.EFF.CLK provoque une incrémentation du pointeur WP, de sorte que celui-ci contient maintenant l'adresse de l'emplacement sui-"10 vant auquel une écriture doit avoir lieu dans la "mémoire AM-II". Le signal *vrai de la sortie P4 de la bascule P4 provoque la mise à 1 de la bascule P5 et la remise à 0 de la bascule P4-à l'impulsion CLK suivante, ce qui détermine l'attaque du pas 0B12. 15 Pendant 0B12, le signal vrai de la sortie P5 provoque le couplage, par les circuits de sélection DS2 et DS3, des registres E2 et RII avec l'entrée de l'unité ALU. Le signal vrai de la sortie P5 provoque la comparaison par l'unité ALU des deux valeurs en question et la génération par ladite unité d'une in-20 formation de sortie indiquant le résultat de cette comparaison. Il est rappelé ici que le registre E2 contient la valeur de différence indiquant la valeur d'apparition minimale pouvant être affectée par des valeurs de delta déplacées. En conséquence, si la valeur limite inférieure contenue dans le registre E2 est 25 égale à la valeur d'apparition tirée de la ligne donnée contenue dans le registre EII, un signal "faux" est formé à la sortie G et, par conséquent, un signal "vrai" est formé à la sortie G de l'inverseur 2032. Le signal vrai de la sortie G rend vraie la logique P5.G-J ce qui met à 1 la bascule EFF, comme indiqué, pen-30 dant le pas 0B14- de l'organigramme. Si pendant 0B12 la comparaison indique que la valeur limite inférieure contenue dans le registre E2 est plus grande que la valeur d'apparition de la ligne donnée stockée dans le registre EII, alors l'unité ALU forme un signal vrai à la sortie G, ce qui rend vraie la logique P5.&. 35 En conséquence, pendant 0B13, la bascule EFF est ainsi mise à 0. On remarquera que 0B15 est attaqué, soit après 0B13, soit après 0B14-. A cet effet, chaque fois que la valeur minimale contenue dans le registre E2 n'est pas inférieure (c'est-à-dire -527- 2334148 est égale ou supérieure) à la valeur d'apparition du registre EII, un signal faux est formé à la sortie L de l'unité ALU et un signal vrai est formé à la sortie L de l'inverseur 2054. En conséquence, la logique P5.L est vraie, ce qui provoque la mise 5 à 1 de la bascule P6 à l'impulsion CLK suivante en déterminant l'attaque de 0B15. En outre, si pendant le pas 0B10 de l'organigramme on trouve que la bascule E0F1 est à 1, ce qui indique que le module "décodage" I a atteint la fin de la ligne donnée, la logique P5-L.E0F1 devient vraie, ce qui provoque également 10 la mise à 1 de la bascule P6 lors de l'impulsion CLE. Pendant 0B15, un signal vrai est formé à la sortie P6, ce qui provoque le chargement dans le pointeur WT du contenu du pointeur WP. En conséquence, les deux pointeurs WT et WP contiennent maintenant l'adresse de l'emplacement d'écriture suivant 15 dans la "mémoire AM-II', c'est-à-dire qu'ils pointent vers cet emplacement. Le signal vrai de la sortie P6 remet en outre à 0 la bascule T. 0B16 est maintenant attaqué. Pendant 0B16, la logique P6.CLK est vraie, ce qui provoque l'apparition d'un signal vrai 20 à la sortie A2012 en rendant ainsi vraie la logique A2012.D1MEND et en permettant à la logique de suspension d'horloge 2022 d'appliquer un signal vrai à l'entrée CS de l'horloge généralisée 700, ce qui suspend la génération d'impulsions aux sorties CLK et CLK. Le module "delta" 2 fournit alors la première valeur 25 d'apparition déplacée. Une fois que le module "delta" 2 a formé sa valeur de delta déplacée dans son registre DELO, un signal faux est formé à sa sortie DMEND en provoquant ainsi l'application d'un signal d'entrée faux à l'entrée CS de l'horloge généralisée 700 et, par conséquent, la reprise de la formation 30 d'impulsions aux sorties CLK et CLK. En supposant que le module "delta" 2 n'ait pas encore atteint la dernière valeur d'apparition déplacée à former, sa bascule DELEND est maintenant à 0. En conséquence, la logique P5.DELEND est maintenant vraie et, à l'impulsion CLK suivante, 55 la bascule P7 est mise à 1 et la bascule P6 est remise à 0, ce qui provoque l'attaque du pas 0B17. Pendant 0B17, le signal vrai de la sortie P7 provoque le stockage dans le registre D01 de la valeur d'apparition dépla- -528- 2334148 cée à partir du registre DELO du module "delta" 2. Un signal vrai est maintenant en cotirs de formation à la sortie P7 et, à l'impulsion CLK suivante, la bascule P8 est mise à 1 et la bascule P? est remise à 0, ce qui provoque l'attaque du pas 0B18 5 de 1'organigramme. Pendant 0B18, un signal vrai est formé à la sortie P8, ce qui provoque une décrémentation de l'adresse contenue dans WT (pointeur) à l'adresse immédiatement inférieure. 0B19 est maintenant attaqué et les contenus respectifs des pointeurs WB 10 et WT sont comparés. Le pointetir WT contient maintenant la dernière adresse de la "mémoire AM-II" dans laquelle une lecture s'est produite. Le pointetir WB contient l'adresse de l'emplacement au-delà duquel les valeurs de la ligne de raccourci doivent être ignorées, 15 En vue d'une comparaison, le signal vrai de la sortie P8 provoque le couplage, par les circuits de sélection DS2 et DS3, des sorties des registres WB et WT avec l'entrée de l'unité ALU et ce signal vrai en P8 provoque en outre la comparaison par l'unité ALU des valetirs ainsi stockées dans celle-ci. Si le con-20 tenu du pointeur WT de la zone 1 de la "mémoire AM-II" est maintenant supérieur ou égal au contenu du registre WB, celui-ci ne représente donc pas la plus grande valeur et, en conséquence, l'unité ALU forme un signal vrai à la sortie G. Dans ces conditions, 0B20 est attaqué et la valeur suivante de la "mémoire 25 AM-II" spécifiée par le pointetir WT est lue et stockée dans le registre EII, A cet effet, l'état vrai de la logique P8.G provoque l'apparition d'un signal vrai à la sortie A2013 et ce signal provoque à son tour la sortie par lecture, par la "mémoire AM-II", du contenu de la zone de mémoire de lecture spécifiée par 30 l'adresse du pointeur de lecture WT. L'état vrai de la logique P8.G provoque le transfert, par le circuit de sélection DS1, de la valeur de segment de ligne de raccourci lue dans la "mémoire AM-II", à l'entrée du registre EII. L'état vrai de la logique PS.CLK provoque le stockage de cette valeur dans le registre EII. 35 A l'impulsion CLK suivante, le signal vrai en P8 provoque la mise à 1 de la bascule P9 et la remise à 0 de la bascule P8, ce qui détermine l'attaque du pas 0B22. -529- 2334148 On va maintenant revenir au pas OB19 et considérer la situation dans laquelle le contenu du pointeur de lecture WT est plus petit que celui du pointeur WB. Bans ces conditions, le contenu du pointetir WB est donc le plus grand et, en conséquence, 5 un signal vrai est formé à la sortie G de l'unité ALU. Ce signal vrai de la sortie G provoque l'attaque du pas 0B21 au cours duquel la logique P8.G est vraie, ce qui provoque le transfert de la valeur maximale 255 représentée par les commutateurs 204-0, par le circuit de sélection DS1, à l'entrée du registre EII et 10 la logique P8.CLK est maintenant vraie, ce qui provoque le stockage de cette valeur maximale 255 dans le registre RII. Comme précédemment, la "bascule P9 est mise à l'état vrai et la bascule P8 est ensuite mise à l'état 0, ce qui provoque l'attaque du pas 0B22. 15 Pendant 0B22, un signal vrai est formé à la sortie P9 et la valeur de segment de ligne de raccourci stockée dans le registre RII est comparée avec la valeur de ligne de delta déplacée du registre BO. A cet effet, le signal vrai de la sortie P9 provoque le couplage par les circuits de sélection DS2 et 20 DS3 des sorties respectives des registres RII et DO avec l'entrée de l'unité ALU et la comparaison par celle-ci des deux valeurs en question. Si la valeur de segment de ligne de raccourci contenue dans le registre RII est la plus petite, un signal vrai est formé à la sortie L, ce qui rend vraie la logique P9.L et, par 25 conséquent, provoque la mise à 1 de la bascule P8 et la remise à 0 de la bascule P9 à l'impulsion CLK suivante, ce4ui détermine l'attaque du pas 0B18 de l'organigramme. Cette boucle passant par les pa.s 0B18 à 0B22 est répétée jusqu'à ce que la valeur de segment de ligne de raccourci lue dans la "mémoire AM-II" et 50 stockée dans le registre RII devienne égale ou inférieure à la valeur de ligne de delta déplacée du registre DO. Si, pendant 0B22, la valeur de segment de ligne de raccourci contenue dans le registre RII est égale à la valeur de ligne de delta déplacée du registre DO, un signal vrai est formé à la sortie E de l'unité 35 ALU, ce qui rend vraie la logique P9.E.C5LK et ce qui déclenche la commutation de la bascule T à son état complémentaire. L'état vrai de la logique P9.E.DELEND provoque la mise à 1 de la bascule P7 à l'impulsion CLK suivante et le pas 0B16 de l'organigramme -530- 2334148 est repris, ce qui détermine un rappel du module "delta" 2 en provoquant ainsi la lecture de la valeur de ligne de delta déplacée supérieure suivante et son stockage dans le registre DO. A cet égard, il est à noter que la logique P9.L.SÏS pro-5 voque l'appel, par le signal vrai de la sortie A2012, de l'intervention du module "delta" 2. Si, pendant 0B22, la valeur de segment de ligne de raccourci stockée dans le registre EII est trouvée plus grande que la valeur de ligne de delta déplacée contenue dans le re-10 gistre DO, la logique P9.Ii.SlK provoque l'apparition d'un signal vrai à la sortie A2012, signal qui, à son tour, appelle l'intervention du module "delta" 2. Comme précédemment, la logique de suspension d'horloge 2022 provoque la suspension de la génération des impulsions CLK et CLK jusqu'à ce que le module "delta" 2 15 achève ses opérations et fournisse la valeur de delta déplacée supérieure suivante à stocker dans le registre DELO. Lorsque cela se produit, la logique de suspension d'horloge 2022 provoque une reprise de l'application des impulsions CLK et CLK par l'horloge généralisée 700. L'unité ALU forme également un signal vrai à 20 la sortie G, ce qui rend vraie la logique P9.G.DELEND et détermine ainsi la mise à 1 de la "bascule P10 à l'impulsion CLK suivante. Le signal vrai de la sortie P10 provoque le chargement dans le registre DOI de la valeur de delta déplacée suivante à partir du registre DELO du module "delta" 2. 25 On remarquera que si, pendant 0B24-, la bascule DELEND est à l'état 1, le pas 0B25 est ensuite attaqué. Par contre, si la bascule DELEND est à 0, c'est le pas 0B22 qui est ensuite attaqué. On supposera que le pas 0B25 a été attaqué. Si la bas-30 cule T est maintenant à 1, la logique (P9.L. + P6) DELEND provoque la mise à 1 de la bascule P11, ce qui détermine l'attaque du pas 0B26. L'état vrai de la logique P11.Ï provoque l'apparition d'un signal vrai à la sortie A2014- du module "sortie" 2, signal qui provoque à son tour l'écriture par le module "mémoire" 35 de la valeur d'apparition de ligne de référence à vérifier, à partir du registre RI, dans la zone 3» à l'emplacement spécifié par l'adresse contenue dans le registre M3 du module "sortie" 2. En outre, l'état vrai de la logique P11.Ï.CLK provoque une incré -531- 2334148 mentation d'une adresse du registre M3> de sorte que ce registre contient maintenant l'adresse de l'emplacement disponible suivant dans la zone 3. On remarquera que, si la bascule T est à 0, al ors 03327 est attaqué directement, en shuntant 0B26. Pen-5 dant 0B27» le signal vrai à la sortie P11 provoque le chargement dans le pointeur WB du contenu du pointeur WT incrémenté d'une unité. L'état vrai de la logique P11.E0F2 provoque la mise à 1 de la bascule P3 ©t la remise à 0 de la bascule P11 à l'impul-10 sion CLK suivante, ce qui détermine l'attaque du pas 0B6. À cet effet, l'état vrai de la logique P11.CLK provoque l'établissement d'un état vrai à la sortie À207 du module "sortie" 2 qui appelle alors l'intervention du module "décodage" II en le contraignant à fournir, pendant 0B6, la valeur d'apparition sui-15 vante à vérifier, valeur qui est ensuite stockée dans le registre El pendant 0B7. D. Exemple de fonctionnement (en ce qui concerne le module "sortie" 2). On va maintenant examiner l'exemple de fonctionnement 20 du module "sortie" 2 représenté dans la table 58. L'information initiale stockée dans le dispositif IPEF est la suivante : "n° de ligne" ... 5 (numéro de ligne de la ligne donnée) HW 8 (largeur de l'iso-entropicogramme) LÎT1..... ..12 (longueur de la ligne donnée) 25 L'état initial du registre STATUS du module "jonction du système DIM" est le suivant : DELOP = 0 Les vecteurs EO codés hybrides stockés dans le module "mémoire" sont les suivants : 30 Zone 1 ... 2, 1, 0 (valeur de la ligne donnée sous la forme codée hybride) Zone 2 ... n/a Zone 3 ••• n/a Dans ces conditions, la ligne donnée est en fait tme ligne de 35 raccourci et le module "sortie" 2 va maintenant provoquer une repermutation du vecteur EO jusqu'à la ligne d'entrée de son iso-entropicogramme. -532- 2334148 A cet effet, la bascule DELOP du module "jonction du système DPM", qui est à "0", provoque la mise à 1 de la bascule DELOP du module "sortie" 2. Le pas 0B1 est maintenant attaqué et les modules "décodage" I et II, "codage" et "permutation" 2 5 sont initialisés. En outre, la valeur de la largeur de 1'iso-entropicogramme et la valeur de numéro de ligne respectivement contenues dans les registres HW et "n° de ligne" sont transférées du module "jonction du système DPM" aux registres OHW et OLIHE du module "sortie" 2. De plus, la "matrice de commutateurs" *10 2 de la "mémoire AM-II" est initialisée. Pendant 0B2, le numéro de ligne 5 contenu dans le registre OLINE est retranché de la valeur de largeur de 1'iso-entropicogramme 8 stockée dans le registre OHW et la différence, 3 ■> est stockée dans le registre H. Pendant 0B3» la bascule DELOP est à 0 et, en conséquence, 0B4 15 est attaqué. Pendant 0B4-, la valeur de différence du registre N spécifie le nombre de lignes de permutation nécessaires pour engendrer la ligne d'entrée de 1'iso-entropicogramme. En conséquence, la valeur de différence "3" du registre N est transférée dans le registre BIL du module "sortie" 2 et l'intervention du 20 module "permutation" 2 est demandée, et celui-ci repermute la ligne donnée contenue dans la zone 1 du module "mémoire" jusqu'à la ligne d'entrée de son iso-entropicogramme et le résultat est rangé dans la zone 3 du module "mémoire". Après 0B4, le fonctionnement du module "sortie" 2 est suspendu. 25 On va maintenant considérer un exemple de variante de fonctionnement du module "sortie" 2 représenté sur la table 58. Dans cet exemple, on supposera que le dispositif IPRF contient les conditions initiales suivantes : "n° de ligne";... 5 (numéro de ligne de la ligne donnée) 30 HW 8 (largeur de 11 iso-entropicogramme) LN1 2 (longueur physique de la ligne de raccourci en mots) LN2 2 (longueur de la ligne de demande spécifiant les valeurs d'apparition à vérifier) 35 En outre, le registre STATUS du module "jonction du système DPM" contient la condition suivante : DELOP .... 1 (indiquant que 1'-opération "DEL" doit être effectuée par le module "sortie" 2) -533- 2334148 Le module "mémoire" contient ce qui suit sous la forme codée hybride : Zone 1 ... 2,-1, 0 (ligne donnée ou de raccourci) Zone 2 ... 6, 2 (vecteur d'apparition de demande spé-5 cifiant les valeurs d'apparition à vérifier) Initialement, la bascule DELOP du module "sortie" 2 est mise à 1, ce qui correspond à l'état de la bascule DELOP du registre STATUS du module "jonction du système DPM". Le fonc-10 tionnement du module "sortie" 2 pendant 0B1 et 0B2 est identique à celui qui a été décrit ci-dessus à propos du premier exemple. On trouvera ci-après un exemple de fonctionnement exprimé en notation symbolique : Module "sortie" de variante 15 séquence de commande : 0B1-0B3, 0B5-0B8, 0B10-0B13, 0B15-0B20, 0B22, 0B18, 0B19, 0B21, 0B22, 0B24-, 0B22, 0B24-, 0B22, 0B24-, 0B22, 0B24-, 0B25, 0B27 0B1 effectuer l'initialisation 0B2 N(3) = OHW(8) - OLINE (5) 20 0B3, 0B5 DEL0P= 1 EFF = 1 DELRO = N = 3 WP, WT, WB = 0 0B6 appeler "décodage" II qui renvoie 6, E0F2= 0 0B7 RI - DO 2 = 6 25 R2(3) = RI(6) - N(3) DELY - R2 = 3 0B8, 0B10 EFF = 1 appeler "Décodage" I qui renvoie 2, E0F1 = 0 0B11 RII = R01 = 2 30 Ecrire RII dans WP de "mémoire AM-II" = WP + 1 = 1 0B12, 0B13 R2(3) > RII(2) EFF = 0 0B15 WT = WP = 1 T = 0 0B16, 0B17 appeler "delta" 2 qui renvoie DELO = 3 35 DO = DELO =3 0B18 WT = Y/T - 1 =0 0B19, 0B20 m = ST = 0 Lire RII = 2 dans "mémoire AM-II" à l'adresse WT -534- 2334148 0B22, 0B18 RII (2) WT = WT - 1 =1 0B19, 0B21 WB >WT RII = 255 0B22, 0B24 RII(255) > B0(3) 5 appeler "delta" 2 qui renvoie DO = DELO = 4 PB22, 0B24 SII > DO(4) appeler "delta" 2 qui renvoie DO = DELO = 5 0B22, OB24 RII > DO appeler "delta" 2 qui renvoie DELEND 10 0B25, OB27 T = 0 WB = WT + 1 = 0 Fin du premier cycle Noter que rien n'a été écrit dans la zone 3 du module "mémoire", ce qui indique que "colonne 6, ligne 0" a tme valeur 0. 15 Second cycle 0B6 - 0B9, 0B-11, 0B12, 0B10, 0B12, 0B10, 0B12, 0B10, 0B13, 0B15, 0B16, 0B17 - 0B20, 0B22, 0B24, 0B22, 0B23, 0B18, 0B20, 0B22, 0B24, 0B22 0B23, 0B18 - 0B20, 0B22, 0B24, 0B22, 0B23, 0B18, 0B19, 0B21, 0B22, 0B24 - 0B27, 0B6 20 0B6 appeler "décodage" 2 qui renvoie D02 =2, E0F2 = 0 0B7 RI - D02 = 2 R2 = RI(2) - N(3) = -1 DELV = R2 = -1 ("moins" indique un déplacement à gauche) 0B8, 0B9 0B11 EFF = 0 & E0F1 = 0 25 RII ? D01 = 2 (aucune écriture n'a lieu étant donné que EFF = 0) 0B12, 0B10 R2(-1) appeler "décodage" I qui renvoie D01 = 1, E0F1 = 0 RII = D01 = 1 30 écrire RII dans WP de "mémoire AM-II" = WP + 1 =2 0B12, 0B10 R2 appeler "décodage" I qui renvoie D01 = 0, E0F1 = 0 RII = D01 = O écrire RII dans WP de "mémoire AM-II" = WP +1=3 35 0B12, 0B10 S2 appeler "décodage" I qui renvoie E0F1 = 1 0B13 EFF = 0 0B15 WT = WP = 3 T = 0 -535- 2334148 0B16, 0B17 appeler "delta™ 2 qui renvoie DELO = -1 DO « DELO = -1 0B18 WT = WT - 1 = 2 0B19, 0B20 WB(O) 5 Lire RII = 0 dans "mémoire AM-II" à l'adresse WT 0B22, OB24- RII (O) > DO C-1) Appeler "delta" 2 qui renvoie DELO = O DO = DELO = O 0B22, OB23 RU = DO = 0 10 T = 1 * 0B18 WT = WT - 1 = 1 OB19, 0B20 WB(0)4WT(1) Lire RII (1) dans "mémoire Atë-II" à l'adresse WT 0B22, 0B24 RII(1) > DO (O) 15 appeler "delta" 2 qui renvoie DELO = 1 DO « DELO = 1 0B22, OB23, 0B18 RII = DO = 1 T = 0 WT = WT - 1 = 0 20 0B19, 0B20 WB = WT = 0 Lire RII (2) dans "mémoire AM-II" à l'adresse WT SB22, 0B24- RII > DO Appeler "delta" 2 qui renvoie DELO = 2 DO = DELO = 2 25 0B22, 0B23, 0B18 RII = DO = 2 T = 1 WT = WT - 1 = -1 0B19, 0B21 WB(O) > WT(-1) RI - 255 30 0B22, 0B24 RII > DO Appeler "delta" 2 qui renvoie DELEND 0B25, 0B26 écrire RI = 2 dans zone 3 mémoire M3 = M3 + 1 0B27 WB = WT + 1 = 0 35 0B6 appeler "décodage" 2 qui renvoie E0F2 = 1 SUSPENSION On remarquera qu'après le renvoi, la seule valeur contenue dans la zone 3 du module "mémoire est un "2". En conséquence, parmi -536- 2334148 les valeurs d'apparition vérifiées 6, 2-, seule la valeur "2" était présente sur la ligne donnée. XXVII. MODULE "MODIFICATION" 2 A. Description générale 5 Le module "modification" 2 a pour fonction de modifier l'information contenue dans les vecteurs EO. Ce module reçoit initialement une ligne de raccourci dont les valeurs sont classées par ordre décroissant de façon monotone. La ligne de raccourci est la version iso-entropique comprimée de la ligne d'en-10 trée à modifier. En outre, une valeur d'entrée représentant le numéro de ligne d'iso-entropicogramme du raccourci ci-dessus mentionné est introduite. De plus, un jeu de valeurs décroissant de façon monotone et qui représentent des valeurs à modifier dans la ligne d'entrée (c'est-à-dire une ligne de modifica-15 tion) dont le raccourci a été initialement introduit sont à leur tour introduites. Ces valeurs représentent des valeurs d'apparition d'événement à modifier. En conséquence, si une valeur d'apparition d'événement existe à la fois sur la ligne d'entrée de 1'iso-entropicogramme représentée par le raccourci et sur la 20 ligne de modification, elle est supprimée sur la ligne d'entrée. Par contre, si une valeur existe sur la ligne de modification mais non sur la ligne d'entrée de 1'iso-entropicogramme représentée par le raccourci, alors la valeur de la ligne de modification est ajoutée à la ligne d'entrée. Le processus ci-dessus 25 est réalisé en permutant la ligne de modification de façon que sa représentation et la ligne de raccourci se trouvent sur des lignes équivalentes de leurs iso-entropicogrammes respectifs. Lorsqu'il en est ainsi, les deux lignes tirées de leurs iso-entropicogrammes respectifs sont mélangées et forment ainsi une 30 unique ligne d'un nouvel iso-entropicogramme qui n'est pas nécessairement la ligne de raccourci. Cette nouvelle représentation comprend, parmi ses lignes, la ligne d'entrée originale du raccourci à laquelle ont été apportées les modifications appropriées. Cette nouvelle représentation est alors transmise au 35 programme de recherche de raccourci de variante. Une nouvelle ligne de raccourci est obtenue par le module "raccourcissement" 2 et le numéro de ligne iso-entropique est ajusté pour refléter ce nouveau raccourci. Le fonctionnement -537- 2334148 du module "modification" 2 est suspendu avec le nouveau raccourci modifié dans la zone 3 du module "mémoire" et son numéro de ligne reflétant la distance relative entre ce raccourci et la ligne d'entrée modifiée. 5 B. Composants Une liste des composants de "matériel" du module "modification" 2 est donnée dans la table 58A. Tous les composants indiqués sur cette table ont été décrits par ailleurs dans le présent système et cette description ne sera pas répétée ici. 10 D'une manière analogue, les comparateurs et les sélecteurs de données ont également été décrits par ailleurs. La table 503? donne une liste des conditions d'entrée/sortie nécessaires pour le module "modification" 2. C. Description détaillée 15 Pour la compréhension de l'exposé donné ci-après de la description détaillée du fonctionnement du module "modification" 2, on se référera à l'organigramme de la Fig. 77B et au schéma des composants de la Fig. 77A. Antérieurement à l'appel du module "modification" 2, 20 la ligne de raccourci du vecteur EO d'entrée à modifier est placée dans la zone 2 du module "mémoire" du système DPM. La ligne de modification est placée dans la zone 1 de ce module "mémoire". En outre, de l'information est placée dans le dispositif IPRF du module "jonction du système DPM", information qui 25 représente le numéro de ligne de la ligne de raccourci, la longueur de la ligne de raccourci et la longueur de la ligne de modification. Une fois que l'information convenable a été placée dans le système Dlîî, le module de modification peut être appelé. En C1, le numéro de ligne de la ligne de raccourci est 30 lu dans le dispositif IPRF et transféré dans le module "modification" 2. En outre, pendant C1, les modules "décodage" I, II, "codage" et "matrice de commutateurs" 2 sont initialisés. En C2, le numéro de ligne de la ligne de raccourci est transféré dans le module "permutation" 2, qui est alors initialisé. Le module 35 "permutation" 2 procède alors à une permutation de la ligne de modification contenue dans la zone 1 du module "mémoire" jusqu'au même numéro de ligne d'iso-entropicogramme que la ligne de raccourci. La représentation résultante est alors placée dans -538- 2334148 la zone 3 du module "mémoire". En C3, la longueur de cette représentation permutée de la ligne de modification est placée dans le registre MLN1 du module "décodage" I. La "matrice de commutateurs" 2 est alors remise en son état initial de façon que le module "décodage" I lise dans la zone 3 du module "mémoire 11 et que le module "décodage" II lise dans la zone 2 du module "mémoire". Les pavés C4- à C14 de l'organigramme assurent l'exécution de l'opération de mélange entre la ligne de raccourci et la ligne de modification permutée. Plus précisément, en C4-, le module "décodage" I est initialisé et la valeur de la ligne de modification permutée résultante lue est placée dans le registre de "matériel" RI. D'une manière analogue, en C5, le module "décodage" II est initialisé et la valeur résultante lue sur la ligne de raccourci est placée dans le registre de "matériel" RII. En 06, une comparaison est effectuée entre RI et RII. Si la valeur du registre RI est inférieure à celle du registre RII, le pavé ou pas C7 est attaqué. Si l'on se rappelle que les deux séquences lues par les modules "décodage" I et II sont décroissantes de façon monotone et si l'on se souvient de la définition ci-dessus de l'opération de mélange, on peut voir que la valeur de la ligne de raccourci contenue ne doit pas être modifiée et, par conséquent, est écrite dans la zone 1 du module "mémoire" par le module "codage". Une fois que RII a été écrit, le module "décodage" II est à nouveau mis en action pour lire une nouvelle valeur et la transférer dans RII . La commande passe alors au pas C13. Pour revenir au pas C6 et en supposant que la valeur contenue dans RI soit supérieure ou égale à la valeur du registre RII, la commande passe au pas C9 pour un autre test. Ce test supplémentaire est effectué sur RI et RII. Cette fois, si RI contient une valeur égale à celle que contient RII, conformément aux règles de mélange définies ci-dessus, la valeur de la ligne de raccourci n'est pas sortie par écriture. En conséquence, en C10, le module "décodage" II est appelé et les résultats de la lecture sont placés dans RII. La commande passe alors en C12. Pour revenir à C9, si RI est plus grand que RII, cela indique que la valeur de RI doit être écrite dans la zone 1 du -539- 2334148 module "mémoire" par l'intermédiaire du module "codage", la commande passe en C12, aussi bien à partir de CIO qu'à partir de C11. On remarquera que, dans les deux cas, le module "décodage" I doit être mis en action. En conséquence, en C12, le 5 module "décodage" I est appelé et la valeur de ligne de raccourci permutée résultante lue est placée dans le registre RI. A partir de C8 et de C12, la commande passe en C13. En C13, un contrôle est effectué pour vérifier si les deux modules ont terminé la lecture, c'est-à-dire si E0F1 et E0F2 sont 10 tous deux mis à 1. Dans la négative, il se produit une itération de la boucle de commande qui reprend au pavé C6 et le processus de mélange se poursuit. Si E0F1 et E0?2 sont toutes deux actionnées, la commande passe en C14- où la bascule ELAST du module "codage" est actionnée, tandis que le module "codage" est mis en 15 action de sorte que la valeur finale est sortie par écriture dans la zone 1 du module "mémoire". A ce stade, la ligne de modification a été permutée vers le bas jusqu'à la ligne de raccourci et ces deux lignes ont été mélangées. La ligne mélangée résultante se trouve maintenant 20 dans la zone 1 du module "mémoire". C15 déclenche un appel du module "raccourcissèment" 2. Ce module a été décrit de façon détaillée précédemment. Il localise un nouveau raccourci pour la ligne d'entrée maintenant modifiée et place les résultats dans la zone 3 du module "mémoire". La commande repasse au module 25 "modification" 2 et une suspension a lieu. Après cette description détaillée de l'organigramme, on peut maintenant donner une description détaillée des composants. Le schéma effectif des composants de "matériel" estdonné sur la Fig. 77A conjointement à tous les signaux d'entrée/sortie qui 30 sont utilisés pour faire fonctionner le module. Le module "modification" 2 est initialisé au moment de la mise en marche du système, lorsque le "minicalculateur" affirme son état de "rétablissement" à tous ses périphériques. Cet état de "rétablissement" est reçu par le module "jonction 35 du système DEM" et est transmis au module "modification" 2 sous la forme du signal MINIT. Le signal 1ÎINIT est introduit dans le circuit de commande "horloge", comme décrit précédemment, ce qui rend vraie l'impulsion MR (module rétabli) et assure l'ap -540- 2334148 plication de cette impulsion à l'entrée de rétablissement asynchrone du circuit générateur d'impulsions P1 à P6. Il en résulte une mise à l'état zéro de chacune des bascules P1 à P6. Pour mettre en action le module "modification" 2, le 5 signal CMGO est appliqué à l'entrée I du circuit de coaœisnde d'horloge, ce qui provoque le déverrouillage de l'horloge et l'application de ses signaux de sortie à la ligne MC du circuit de commande d'horloge et, par conséquent, l'application des signatix d'horloge à l'entrée d'horloge de chacune des bascules PI 10 à P6. Etant donné que toutes les bascules sont rétablies, l'entrée de la bascule PI est vraie, et, par conséquent, lors de la première impulsion CLK provenant du circuit de commande d'horloge, la sortie P1 de la bascule PI est mise à l'état "vrai" ou "un". Le signal vrai en PI rend vrai le signal A2C1, ce qui 15 assure la transmission de l'impulsion de déverrouiliage du système aux modules "décodage" I, "décodage" II, "codage" et "matrice de commutateurs" 2. Lôrs du signal d'horloge complémentaire (CLK), le circuit PI .CLK est affirmé "vrai", ce qui provoque l'affirmation de l'horloge du système A2C2 aux modules 20 du système mentionnés ci-dessus. En outre, le signal PI .CLK provoque la transmission rythmée du numéro de ligne du raccourci contenu dans la zone 2 du module "mémoire" au registre de "matériel" CLINE. Etant donné que la bascule P1 est "vraie", l'impulsion CLK suivante provoque sa mise à 0 et la mise à 1 de la 25 bascule P2. Pendant l'impulsion P2, la transmission du contenu du / registre CLINE au registre RIL du module "permutation" 2 est autorisée. Pendant la portion CLK de l'impulsion, P2.CLK est affirmé. Ceci provoque l'affirmation de A2C4 qui assure la trans-50 mission rythmée de la valeur CLINE au registre RIL du module "permutation" 2. Le signal RM2G0 est également affirmé, ce qui met en action le module "permutation" 2. En outre, le circuit P2.CLt.RM2END est vrai, ce qui provoque l'application d'un signal vrai à l'entrée de suspension d'horloge (CS) du circuit de com-55 mande d'horloge, en provoquant ainsi une interruption du fonctionnement de l'horloge. Le fonctionnement du module "modification" 2 reste suspendu jusqu'à ce que le module "permutation" 2 ait achevé ses opérations, moment où l'impulsion RM2END est -54-1- 2334148 affirmée. Il en résulte un rétablissement de la logique de suspension d'horloge et, par conséquent, une remise en action de l'horloge. Lors de l'impulsion CLE suivante, la bascule P2 est mise à 0, tandis que la bascule P3 est mise à 1. 5 L'opération indiquée dans le pavé C2 de l'organigramme, à cet instant, vient juste d'être achevée et a assuré une permutation vers le bas de la ligne de modification jusqu'au même numéro de ligne iso-entropique de la ligne de raccourci. La sortie vraie en P3 provoque l'apparition d'un signal 10 vrai en A2C5. Ceci assure l'initialisation des modules "décodage" I, "décodage" II et "codage". En outre, A2C5 autorise la transmission conditionnelle de l'information de sortie MLK3 du module "codage", par l'intermédiaire de la porte ET 220 et de la porte OU 226 du module "décodage" I, au compteur MLN1. Les bascules 15 S13 et S31 de la "matrice de commutateurs" 2 sont en outre actionnées par la ligne Â2C5. Pendant la portion CLK de l'impulsion, P3.CLK devient vrai, ce qui affirme A2C6. L'impulsion vraie en A2C6 provoque le chargement du contenu de MLN3 dans le registre KLF1 du module "décodage" I et celui-ci est mis en ac-20 tion. L'impulsion P3.CLK provoque également l'affirmation de A2C8, ce qui détermine la mise en action du module "décodagë" II. D1MEKD et D2MEND sont tous deux affirmés par les modules "décodage" respectifs. Ceci provoque la suspension de l'horloge dans le module "modification" 2. Lorsque les deux modules "décodage" 25 ont achevé leurs opérations, l'impulsion CLK suivante provoque la remise à 0 de la bascule P3 et la mise à 1 de labascule P4-. L'impulsion P3 a exécuté les fonctions représentées dans les pavés C3, C4 et C5. Les pas. C6 à C14- sont réalisés au cours de l'impulsion 30 P4-. Pendant P4, les valetirs lues par "décodage" I et "décodage" II sont transmises de façon rythmée aux registres RI et RII, respectivement. En outre, pendant P4, le circuit comparateur est déverrouillé et assure une comparaison entre les valeurs de RI et de RII. Si la valeur de RI est plus grande que celle de 35 RII, le contenu de RI est transmis conditionnellement, par l'intermédiaire du sélecteur de données DS1, au sélecteur de données EDS6 du module "codage". Par contre, si le contenu de RI est plus petit que celui de RII, alors le contenu de RII est trans- -54-2- 2334148 mis conditionnellement, par l'intermédiaire du sélecteur de données DS1, au sélecteur de données EDS6 du module "codage". Dans les deux cas, le signal P4.S rend vrai le signal A2C9, ce qui autorise la sortie de DS1 dans le registre El du module 5 "codage". Lors de la portion CLK de l'impulsion, le circuit P4-.CLK devient vrai. D'après C12, il est évident que le module "décodage" I est mis en action chaque fois que El n'est pas inférieur à EII et, d'après C8 et C10, il est évident que le module "décodage" II est mis en action chaque fois que El 10 n'est pas supérieur à EII. En conséquence, si El est supérieur ou égal à EII, la sortie L du comparateur est 0. Son complément est donc 1 et P4.L.CÎL1Î est vrai, ce qui affirme A2C7 et ce qui met en action le module "décodage" I. D'une manière analogue, si El est inférieur ou égal à RII, la sortie G du comparateur 15 est 0. Son complément est donc vrai, ce qui affirme À2C8 et ce qui met en action le module "décodage" II.. En outre, si El est supérieur à RII ou si RI est inférieur à RII, alors la sortie E du comparateur est 0. Par conséquent, le complément de la sortie E (E) est i. Ceci met en action le circuit P4.S.^ÏE en affirmant 20 ainsi le signal A2C10, ce qui provoque le chargement de la valeur transmise conditionnellement par l'intermédiaire de DS1 dans le registre El du module "codage" et la mise en action de ce module. Lorsqu'un ou plusieurs des modules mentionnés ci-dessus est ou sont actif(s), les circuits de suspension d'hor-25 loge correspondants sont vrais, et l'horloge du module "modification" 2 est verrouillée. Lorsque tous les modules ci-dessus ont terminé leurs opérations, l'horloge du module "modification" 2 est déverrouillée et, selon les données de sortie du module "décodage", P4- est repris ou bien P4- est remis à 0 et P5 est 30 mis en action. Si l'on considère le pas C13 de l'organigramme, on voit que si E0F1 et E0F2 ne sont pas tous deux affirmés, cela indique que l'opération de mélange n'est pas achevée et qu'une autre série de comparaisons est nécessaire. En conséquence, si E0F1.E0F2 est vrai, la bascule P4 est remise en action et la 35 comparaison est répétée. Si les deux modules "décodage" ont achevé leurs opérations, alors E0F1.E0F2 est vrai, ce qui provoque la remise à 0 de P4 lors de l'impulsion CLK suivante et la mise à 1 de P5. -54-3- 2334148 Pendant l'impulsion F5» la "bascule ELAST du module "codage" est actionnée par l'intermédiaire de l'impulsion A2C1i. Pendant P5.CLK, A2C10 est affirmé, ce qui provoque la mise en action du module "codage". Ceci "force" l'écriture 5 dans la zone 1 du module "mémoire" de la dernière valeur contenue dans le module "codage". En outre, le circuit P5.CLK.EMEND est vrai, ce qui provoque le verrouillage de l'horloge du module "modification" 2. Ce module reste inactif jusqu'à ce que EMEND soit affirmé par le module codage, ce qui met à 0 la logique 10 de suspension d'horloge, en déverrouillant ainsi l'horloge du module "modification" 2. Lors de l'impulsion CLE suivante, la bascule P5 est remise à 0 et la bascule P6 est mise à 1. Pendant la portion CLK de l'impulsion, P5.CLK devient vrai, ce qui provoque l'affirmation de A2C12. Il en résulte une mise en action 15 du module "raccourcissement" 2. Ici encore, l'horloge du module "modification" 2 est "suspendue" par la logique P6.CLK.SM2END. Le module "raccourcissement" 2 procède à la recherche du nouveau raccourci et, lorsqu'il l'a trouvé, il le stocke dans la zone 3 du module "mémoire". Une fois que cette opération est achevée, 20 P6.CÏLK.SM2END est affirmé à la borne "fonctionnement de module terminé" (MT) du circuit de commande d'horloge. Ceci provoque la remise en l'état initial du module et l'affiration du signal "fonction exécutée1'. Le signal "fonction exécutée" est renvoyé au module appelant sous la forme du signal CM2END, moment où 25 toute activité cesse dans le module "modification" 2, alors que le nouveau raccourci est situé dans la zone 3 du module "mémoire" D. Exemple de fonctionnement Etant donné que la majeure partie de la manipulation de données a lieu pendant le processus de modification, le pré-30 sent exemple décrira ce processus en montrant l'inter-relation entre les zones de mémoire du module "mémoire" à différents stades. On se référera à la Fig. 77C pendant le reste de cet exposé. Initialement, la ligne de modification, c'est-à-dire 35 les valeurs d'apparition à modifier sur la ligne d'entrée représentée par le raccourci, est placée dans la zone 1 du module "mémoire". La ligne de raccourci représentant la ligne d'entrée considérée est placée dans la zone 2 du module "mémoire". Les -544- 2334148 longueurs respectives des deux lignes qui viennent d'être mentionnées sont placées dans le dispositif I3PKF du module "jonction du système DPM", conjointement au numéro de ligne d1iso-entropicogramme du raccourci. 5 Le module "permutation" 2 est alors mis en action par le module "modification .2. Il procède à une permutation vers le bas de la ligne de modification jusqu'à la même ligne de 1'iso-entropic ogramme que la ligne de raccourci, les résultats sont stockés dans la zone 3 du module "mémoire". 10 Maintenant que le raccourci et les modifications né cessaires sont sur des lignes équivalentes de leurs iso-entropicogrammes, ils peuvent être mélangés, le module "mo difica-tion" 2 effectue cette opération de mélange en lisant les informations dans les zones 2 et 3 du module "mémoire", en les mélan-15 géant, et en écrivant les résultats dans la zone 1 du module "mémoire". Une fois que l'opération de mélange est terminée, le résultat est une nouvelle ligne de 1'iso-entropicogramme représentant la ligne d'entrée mélangée avec la ligne de modifica-20 tion. Cette nouvelle ligne n'est pas nécessairement la nouvelle ligne de raccourci. En conséquence, il est nécessaire d'appeler le module "raccourcissement 2 pour localiser le nouveau raccourci de cette ligne d'entrée modifiée. Ce module effectue cette opération et, au cours du processus, il stocke le nouveau rac-25 courci dans la zone 3 du module "mémoire". A ce stade, l'opération de modification est terminée et le fonctionnement du module "modification" 2 est suspendu. XXVm. MODULE "MEMOIRE" 2 le module "mémoire" 2 décrit ici et représenté sur la 30 Fig. 77D est, dans sa majeure partie, une réplique du premier module "mémoire" précédemment décrit. Il est néanmoins inclus ici pour plus de clarté dans la description du mode de réalisation de variante. Toutefois, étant donné cette grande similitude entre le module "mémoire" 2 et le module "mémoire", aucune 35 description générale du module "mémoire" 2 ne sera donnée ici. On trouvera une description détaillée du fonctionnement du module "mémoire" 2 en se référant au chapitre XVIII intitulé MODULE "MEMOIRE", le module "mémoire" 2 fonctionne comme décrit -54-5- 2334148 dans le chapitre qui vient d'être mentionné, avec toutefois la possibilité supplémentaire suivante : Le module "sortie" 2 peut écrire dans la zone 5 du module "mémoire". A cet effet, le signal de données M3 est ajouté en tant que septième entrée 5 du sélecteur de données DS3. Un autre signal de données provenant du registre RI du module "sortie" 2 est ajouté en tant que cinquième signal à l'entrée du sélecteur de données DS4. Enfin le dernier signal ajouté au module "mémoire" 2 est le signal de commande A2014- du module "sortie" 2. 10 La procédure d'écriture à partir du module "sortie" 2 dans la zone 3 du module "mémoire" 2 est la suivante. L'adresse est transmise conditionnellement par l'intermédiaire de DS3 au décodeur d'adresse de la zone de mémoire 3. L'adresse est transmise conditionnellement par l'intermédiaire de DS3 lorsque le 15 module "sortie" 2 affirme le signal A2014-. En même temps, le contenu du registre RI du module "sortie" 2 est transmis conditionnellement, par 1'intermédiaire de DS4, à la borne MIR de la zone de mémoire 3. Le signal du module "sortie" 2 est également ajouté au circuit d'autorisation d'écriture. Ce circuit répond 20 en affirmant WE qui, à son tour, déverrouille la borne d'autorisation d'écriture de la zone de mémoire 3, en écrivant ainsi RI dans la mémoire. Dans toute la description du mode de réalisation de variante, le module "mémoire" 2 a été simplement désigné sous le nom de module "mémoire". 25 XXIX. "MATRICE DE COMMUTATEURS" 2 La "matrice de commutateurs" 2 de la Fig. 77E comporte neuf bascules respectivement désignées par S11-S13, S21-S23 et S31-S33. Ces bascules sont actionnées pour permettre aux modules "décodage" I, "décodage" II et "codage" de lire et d'é-30 crire dans les zones appropriées du module "mémoire". Les bascules sont "étiquetées" comme suit : Sij où i = 1 désigne "décodage" I, i = 2, "décodage" II et i = 3, "codage" et où j » 1 identifie la zone 1 du module "mémoire"; j =2, la zone 2 du module "mémoire" et j = 3 la zone 3 du module "mémoire". En se 35 référant à la "matrice de commutateurs" 2 de la Fig. 77E, et aux descriptions des modules "décodage" I, "décodage" H et "codage", on se rappellera que les modules "décodage" I et II lisent toujours dans la mémoire, tandis que le module "codage" écrit tou -546- 2334148 jours dans la mémoire. En conséquence, lorsque la bascule S11 est à 1, elle indique que le module "décodage" I doit lire dans la zone 1 du module "mémoire". Si la bascule S21 est à 1, elle indique que le module"décodage" II doit lire dans la zone 1 du 5 module "mémoire" et si la bascule S31 est à 1, elle indique que le module "codage" doit écrire dans la zone 1 du module "mémoire". En plus des bascules, la "matrice de commutateurs" 2 comporte des signaux d'entrée/sortie pour commander le fonctionnement du module, signaux qui sont indiqués le long du côté 10 droit de la Fig. 77E conjointement aux modules d'où ils émanent. On remarquera que le module "matrice de commutateurs" 2 décrit ici est beaucoup plus simple que la "matrice de commutateurs" précédemment décrite. Il en est ainsi étant donné que le procédé de recherche de raccourci décrit dans "MODULE DE RE-15 CHERCHE DE RACCOURCI 2" n'exige pas qu'une copie du "meilleur raccourci" actuel soit préservée. En conséquence, le numéro de la ligne de raccourci est calculé, puis est directement engendré dans la zone 3 du module "mémoire". Les bascules sont toutes du type SN7474 ayant les ca~ 20 ractéristiques précédemment décrites. On considérera maintenant dans son ensemble le fonctionnement de la "matrice de commutateurs" 2. Comme décrit précédemment, la "matrice de commutateurs" 2 est utilisée pour commander le fonctionnement du module "mémoire". Normalement, le module "mémoire" est utilisé pour la 25 manipulation de raccourcis. Un raccourci doit être lu et traité et la ligne éventuellement nouvelle de 1'iso-entropicogramme représentée par le raccourci doit être sortie par écriture. Au cours du fonctionnement normal du système DPM, le procédé de lecture et d'écriture dans la zone de mémoire est mis en oeuvre 30 au moyen des modules "décodage" I et II et du module "codage". Toutefois, il existe des moments auxquels de l'information doit être écrite directement dans une zone de mémoire sans qu'on ait recours au module "codage". L'acheminement approprié de tous ces signaux de lecture/écriture est assuré par la "matrice de commu-35 tateurs" 2. On va maintenant décrire plus précisément la "matrice de commutateurs" 2; initialement, les bascules 311-S13, S21-S23 et S31-S33 sont mises à 0 par l'impulsion MINIT provenant du -54-7- 2334148 module "jonction du système DPM" qui rétablit l'état initial de l'ensemble du système DPM. Les bascules sont ensuite actionnées par les modules appelants ("raccourcissement" 2, "sortie" 2, "modification" 2, "cadrage" et "concordantiel"). Il est à 5 noter que les modules "raccourcissement" 2, "cadrage", "concordantiel" et "sortie" 2 actionnent simplement les bascules S11, S22 et S33. En conséquence, "décodage" I lit, dans la zone 1 du module "mémoire", "décodage" II lit si nécessaire dans la zone 2 du module "mémoire" et "codage" écrit dans la zone 3 du 10 module "mémoire". Le module "modification" 2 actionne initialement ces bascules comme le font les autres modules. Toutefois, A2C5 rétablit S11 et S33 tout en actionnant S13 et S31. Si l'on se souvient de la description du module "modification" 2, on comprend aisément qu'ilén résulte un actionnement de la "matrice 15 de commutateurs" 2, de sorte que la phase de mélange du module "modification" 2 peut lire dans les zones 2 et 3 du module "mémoire" et écrire dans la zone 1 du module "mémoire". De ce fait, on notera également que l'impulsion A2S1 du module "raccourcissement" 2 doit rétablir S13 et S31. Il en est ainsi en raison du 20 fait que le module "raccourcissement" 2 peut être appelé par le module "modification" 2. XXX. MODULE "MEMOIRE AUXILIAIRE" II La Fig. 77? représente le module "mémoire auxiliaire" II. Sur la droite sont représentés les signaux de commande 25 entrée/sortie utilisés pour commander le module "mémoire auxiliaire" II ainsi que les autres lignes entrée/sortie de l'information. Des traits doubles sont utilisés pour désigner les lignes de données à signaux multiples. Le module "mémoire auxiliaire" II ("mémoire AM-II") 30 comprend deux mémoires à accès direct A1, A2. Les zones de module de mémoire Â1 et A2 sont des mémoires RAM (à accès direct) TTL (tout transistors) du type SN74-89 décrit page 220 de l'ouvrage TTL ci-dessus cité. Chaque mémoire comporte 256 emplacements de mémoire contenant chacun 8 bits codés binaires. Le type 35 de mémoire mentionné ci-dessus n'est utilisé ici qu'à titre d'exemple et, dans le cadre de l'invention, les mémoires peuvent être de différentes tailles et de différents types selon l'application particulière envisagée. Dans la plupart de ces applica -548- 2334148 tions, il peut être désirable de remplacer les mémoires RAM TTL par un ou plusieurs fichiers à disques, afin d'obtenir une plus grande capacité de stockage. A chaque mémoire est associé un décodeur d'adresse qui 5 déciode les signaux binaires en adresses univoques. En outre, à chaque mémoire est associé un "registre d'information de mémoire" (MIR). Chaque registre KIR est connecté à la sortie du sélecteur de données DS5 duquel il reçoit 8 bits d'information destinés à être stockés à l'un des emplace-10 ments de mémoire de la mémoire RAM correspondante. Chaque MIR fait partie de la mémoire "RAM décrite dans 1'ouvrage TTL ci-dessus cité. A chaque mémoire est également incorporé un registre de données de mémoire (MDR) qui forme l'information de sortie pour la mémoire RAM correspondante. Huit bits codés binaires sont 15 appliqués en tant qu'information de sortie à chacun des circuits MDR lors de la sortie par lecture d'information hors de la mémoire correspondante. L'écriture s'effectue dans l'une des mémoires A1 ou A2 par application d'un mot d'information au MIR correspondant et 20 d'un mot d'adresse au décodeur d'adresse correspondant. Une fois que les signatix se sont stabilisés, un signal d'autorisation d'écriture vrai est appliqué à l'entrée "autorisation d'écriture" de la mémoire pour provoquer l'écriture par celle-ci du mot d'information appliqué à l'entrée MIR, à l'adresse spécifiée 25 par le mot d'adresse appliqué au décodeur d'adresse. La lecture dans un mémoire s'effectue par simple application de l'adresse de l'emplacement désiré au décodeur d'adresse de la mémoire intéressée, ce qui provoque laéortie par lecture du mot situé à l'adresse correspondante et son applica-30 tion à la sortie MDR de ladite mémoire. Les circuits de sélection DS1 à DS6 sont des sélecteurs de données du type décrit dans le chapitre relatif au module "codage". A chaque sélecteur de données est associé un double trait pour désigner des lignes d'information et des 35 traits simples pour indiquer des signaux de commande. Chaque double trait est numéroté et comporte une ligne de signal numérotée de façon correspondante. Un signal vrai appliqué à la ligne de commande provoque le transfert des signaux appliqués aux lignes d'information correspondantes jusqu'à la sortie du -5*9- 2334148 sélecteur de données. Le circuit "autorisation d'écriture" est identique à celui qui a été décrit pour le module "mémoire". Il comporte un circuit logique A3R9+A2R11+A2011+P17+B8+PBWE relié à la ligne d'entrée MEMGO du circuit "autorisation d'écriture". Le signal MINIT est également appliqué au circuit "autorisation d'écriture". Le signal de sortie WE du circuit "autorisation d'écriture" est alors appliqué aux portes ET d'entrée des mémoires A1 et A2. Les modules qui communiquent avec le module "AM-II" sont indiqués ci-après avec une indication précisant si l'information est sortie par lecture du module "mémoire" ou/et écrite dans AM-II : Module "permutation" 2 - lecture et écriture Module "permutation" 3 - lecture et écriture Module "sortie" 2 - lecture et écriture Module "codage" - lecture et écriture Module "concordantiel" - lecture et écriture Module "jonction" - lecture et écriture Les circuits de transmission conditionnelle sont représentés par des équations logiques utilisant les sorties d'autres modules, bascules, etc. comme termes explicites. La séquence de fonctionnement de AM-II pendant une opération "écriture" dans l'une des mémoires va maintenant être décrite en se référant au diagramme de temporisation de la Fig. 2. Une opération "écriture" est déclenchée par les modules "permutation" 2, "permutation" 3» "sortie" 2, "cadrage", "con-, cordantiel", ou "jonction". Le signal appelant provoque l'application d'un signal vrai à l'entrée MEMGO du circuit "autorisation d'écriture". Le circuit "autorisation d'écriture" fonctionne comme décrit à propos du module "mémoire". Finalement, le circuit "autorisation d'écriture" forme un signal vrai à la sortie WE. Le signal WE est appliqué aux portes ET, aux bornes "autorisation d'écriture" des modules de mémoire. La seconde entrée de ces portes ET détermine la mémoire particulière dans laquelle l'information doit être écrite à partir du sélecteur de données DS5. La bascule de commande SM va maintenant être décrite. Initialement, des signatix de commande provenant des -550- 2334148 trois modules desservis mettent à 1 la bascule SM. Ceci permet une lecture dans la zone A1 et une écriture dans la zone A2. Pour commuter les zones, un signal est appliqué à l'entrée d'horloge de SM, ce qui fait basculer celuir-ci à l'état suivant, 5 c'est-à-dire que la sortie SM est remise à 0 et que la sortie SM est mise à 1. Cela permet une lecture dans la zone de mémoire A2 et une écriture dans la zone de mémoire A1. Pour récapituler, il devrait maintenant être bien compris que les sorties de DS4 du module "peimutation" 2, de DS4 10 du module "permutation" 3» de EII du module "sortie" 2, de DS2 du module "cadrage", de DS4 du module "concordantiel" et de DS3 du module "jonction" sont couplées avec les entrées du sélecteur de données DS5. Un signal vrai provenant des sorties A2R11, A3E9, A2011, PI7» B8, PBWE des modules "permutation" 2, 15 "permutation" 3, "sortie" 2, "cadrage", "concordantiel" et "jonction", respectivement, provoquent le couplage par DS5 des sorties des modules correspondants avec l'entrée MIE des zones de mémoire M1, À2. Les circuits de sélection DS1, DS2 " transfèrent les adresses des entrées aux décodeurs d'adresse 20 correspondants. Le circuit de sélection DS6 transfère l'information en cours de sortie par lecture à partir des zones A1, A2, aux entrées des modules "permutation" 2, "permutation" 3» "sortie" 2, "cadrage" et "concordantiel". Après un temps suffisant pour 25 que les signaux soient appliqués à la sortie de DS6 et soient stabilises à l'entrée des modules qui les reçoivent, le multivibrateur M2 du circuit "autorisation d'écriture" est automatiquement remis à 0, ce qui provoque l'apparition d'un signal vrai à la sortie M2, signal qui détermine à son tour un réta-30 blissement automatique du circuit "autorisation d'écriture" et une terminaison du signal WE appliqué aux mémoires. XXXI. ORGANISATION DU CALCULATEUR, DE LA BASE DE DONNEES ET BU LOGICIEL A. "Minicalculateur" 35 Un ensemble de programmes est prévu pour assurer la fonction de cadrage et la fonction concordantielle. Le logiciel décrit ici est destiné à être utilisé dans le système DPM de la Fig. "1 et est passé en machine sur l'ordinateur PDP-11/45 fa ~551 2334148 briqué par Digital Equipment Corporation décrit à titre d'exemple comme "mi ni calculateur". La description de l'ensemble de programmes est faite sous la forme d'un programme de calculateur et de listages de 5 sous-programmes en langage d'assemblage pour le PDP-11/45 et d'organigrammes qui seront décrits chacun ci-après de façon plus détaillée. L'appendice B contient un index des listages de programme conjointement aux listages réels. L'assembleur réel 10 fourni avec le PDP-11/45 peut être utilisé pour assembler les listages en code machine. La signification des termes utilisés dans les listages de l'appendice B, conjointement aux opérations correspondantes à 11 intérieur du PDP-11/45 seront mieux comprises en se référant aux manuels suivants incorporés ici à 15 titre de référence et publiés par Digital Equipment Corporation; Processor Handbook PDP-11/45, publié en 1971, Bateh-11/D0S-11 Assembler (MACRO-11), publié en 1971, et Peripherals and Interfacing Handbook, publié en 1971» La console d'opérateur comporte une machine à écrire 20 qui forme des signaux codés électriques en code ASCII représentant les caractères tapés sur le clavier. La machine à écrire est du type LA30 (DECWRITER) fabriqué par Digital Equipment Corporation. La console d'opérateur comprend également une impri-£5 mante permettant une impression et une présentation sur papier de caractères représentés par des signaux codés en code ASCII. L'imprimante fait partie du LA30 (DECWRITER). B. Description générale de la structure de la base de données. 30 La construction de la base de données stratifiée est décrite de façon plus détaillée dans le chapitre intitulé ORGANISATION DU-MATERIEL ET DU LOGICIEL POUR LA FORMATION D'UNE BASE DE DONNEES STRATIFIEE. A titre d'exemple, on supposera qu'il s'agit d'une structure simple à deux couches et c'est 35 cette structure simple qui sera décrite. On supposera essentiellement que la base de données textuelle à deux couches comporte une couche de mots 0 et une couche de phrases 1. Comme décrit précédemment, la couche de -552- 2334148 mots est réservée à des lettres et autres symboles. La Fig. 78 donne une représentation généralisée de la structure de données correspondant à ces couches. Comme indiqué, LXPTR (où ï désigne le numéro de couche) est l'adresse de base d'un en-tête de 5 couche qui comprend un pointeur d'adresse de base LXET pointant vers une table de pointeurs d'événement de couche (LXET). L'entête de couche contient quatre mots d'information. Le premier mot est l'adresse LXET de la base de la table LXET. Le second mot est une valeur de largeur d*iso-entropicogramme (HW) qui 10 identifie la largeur de 11iso-entropicogramme en instants d'événement ou en valeurs d'apparition d'horloge pour tous les raccourcis associés. Le troisième mot est une valeur NE spécifiant le nombre d'événements (raccourcis) associés au LEPT correspondant. La quatrième valeur TIKX est la valeur d'instant 15 d'événement ou d'horloge maximale actuelle associée à cette couche. La table LXET contient une série d'emplacements de mémoire adressables séquentiellement, correspondant chacun à l'un des événements (raccourcis) associés à LXET. Le premier empla-20 cernent de mémoire de cette table est situé à l'adresse LXET. Une entrée est reçue en tant qu'adresse de base -1 de la table pour un pointeur pointant vers un raccourci. Ceci permet d'utiliser un pointeur commun pointant vers tous les événements qui sont inconnus dans la couche. Chaque emplacement de mémoire de 25 LXET contient une adresse de base d'un en-tête de raccourci différent. Chaque en-tête de raccourci est a:ssocié à une zone de mémoire contenant la ligne de raccourci du raccourci correspondant. Chaque en-tête de raccourci comporte quatre mots. Le premier mot est dénommé "pointeur de raccourci" et est un poin-30 teur d'adresse de base pointant vers le premier emplacement de mémoire d'une zone de mémoire contenu dans la ligne de raccourci du raccourci correspondant. Le second mot de 1'en-tête de raccourci est le numéro de ligne d'iso-entropicogramme de la ligne de raccourci correspondante. Le troisième mot est la valeur 35 identifiant la longueur physique (en octets). Le quatrième mot est le nombre d'instants d'événement (valeurs d'apparition effectives) contenus dans la ligne 0 de la ligne de raccourci. -553- 2334148 Chaque en-tête de raccourci et chaque ligne de raccourci correspondante représentent un unique vecteur d'apparition d'événement dans la couche correspondante. La ligne de raccourci est stockée à une série d'emplacements de mémoire adressables 5 séquentiellement et commençant par le.pointeur de l'adresse de raccourci contenu dans 1'en-tête de raccourci correspondant. Les Fig. 79A et 79B représentent la structure de données des couches 0 et 1, respectivement, de la base de données. C. Description générale du logiciel 10 Les fonctions générales qui doivent être exécutées par un système de base de données sont : 1. L'initialisation des structures de données; 2. l'introduction des données; 3. la manipulation des données. 15 Les deux premières fonctions constituent ce qu'on appellera ici "aspect de formation de couches du système de base de données". Une description détaillée de la fonction de formation de couches est donnée dans le chapitre XXKIII intitulé "ORGANISATION DU MATERIEL ET DU LOGICIEL POUR LA FORMATION 20 D'UNE BASE DE DONNEES STRATIFIEE". La troisième fonction constitue ce qu'on appellera ici l'aspect "recouvrement" du système de la base de données. Une description détaillée de cet aspect recouvrement est donnée dans le chapitre XXXII intitulé "ORGANISATION DE MATERIEL ET DU LOGICIEL DE DEMANDE DE CONSULTATION 25 ET DE RECOUVREMENT". On trouvera tout d'abord ci-après une description générale du système de base de données considéré ici. Les programmes et sous-programmes nécessaires pour assurer le fonctionnement du système de base de données sont indiqués sous 30 forme de liste dans l'index au chapitre XXXII intitulé "ORGANISATION DU MATERIEL ET DU LOGICIEL DE DEMANDE DE CONSULTATION ET DE RECOUVREMENT" et au chapitre XXXIII intitulé "ORGANISATION DU MATERIEL ET DU LOGICIEL POUR LA FORMATION D'UNE BASE DE DONNEES STRATIFIEE". 35 La Fig. 79C représente le fonctionnement généralisé de la base de données suivant l'invention qui est représentée sur la Fig. 121 et qui est décrite de façon plus détaillée dans le chapitre XXXIII. La Fig. 79C met en évidence les arrangements -554- 2334148 hiérarchiques des programmes et des sous-programmes qui constituent le système de la base de données. La manière dont le système de la base de données est mis en action consiste en un chargement du code "assemblé" qui 5 décrit le système dans la mémoire principale du "minicalculateur". L'exécution des programmes est déclenchée en contraignant le "minicalculateur" à exécuter la première instruction du système. 1. Initialisation de la base de données 10 II est évident qu'avant qu'une manipulation significa tive quelconque de la base de données puisse être effectuée, les structures de données du système doivent être initialisées. Cette initialisation est assurée par le programme "initialisation de couche". L'initialisation de couche est décrite dans 15 le pavé DB6.0 de la Fig. 121 et est développée sur la Fig. 122. L'initialisation de couche est décrite en détails dans le chapitre XXXIII. L1initialisation de la structure de données commence par une initialisation des tables de conversion I/O CVTEBL et 20 CVTEL2 de la Fig. 117- Ces tables sont utilisées pour convertir les caractêrès d'entrée de certains dispositifs d'entrée en numéros d'événement internes. Les numéros d'événement lient les vecteurs d'apparition d'événement aux caractères d'entrée originaux. 25 En second lieu, les structures de données principales représentées sur la Fig. 78 sont initialisées. Des zones de mémoire sont réservées aux en-têtes de couche, aux tables de pointeurs d'événement de couche, aux en-têtes de raccourci et aux raccourcis. Des pointeurs et des numéros de valeur de début 30 sont insérés chaque fois qu'ils sont nécessaires. Une fois que l'initialisation est achevée, les structures de données principales se présentent comme représenté sur la Fig. 120. 2. Formation de couche La fonction suivante à exécuter après l'initialisation 35 est l'introduction de l'information dans la base de données. Lors de l'introduction d'information dans le système de base de données, des couches sont formées. La commande est tout d'abord donnée au programme de niveau 1 de la Fig. 79C "formation de -555- 2334148 couche". L'organigramme de ce programme est donné sur les Fig. 122-151» Ce programme est décrit de façon plus détaillée dans le chapitre XXXIII intitulé "ORGANISATION DU MATERIEL ET DU LOGICIEL POUR Là FORMATION D'UNE BASE DE DONNEES STRATIFIEE". L'information est introduite dans la base de données sous la forme dfentrées de couche 1, c'est-à-dire de phrases. En conséquence, une introduction d'information d'entrée comprend normalement un délimiteur de phrase suivi d'une série de mots commençant et se terminant chacun par unéaractère en blanc. Enfin, un délimiteur de phrase complète l'entrée qui peut être, par exemple : 7¥ THIS IS A TYPICAL INPUT SNTRY & CECI EST UNE INTRODUCTION D'INFORMATION D'ENTREE TYPE ^ ). Le programme "formation de couche" traite chaque introduction d'information d'entrée et l'insère dans la base de données. Le procédé mis en oeuvre à cet effet est le suivant : 1. Une séquence d'événements compris entre des blancs (c'est-à-dire un mot) est obtenue. 2. Un contrôle est effectué pour vérifier si cette séquence se trouve déjà dans la base de données sur la couche le plus inférieure. Dans l'affirmative, cette séquence pointe déjà vers un événement de la couche immédiatement supérieure. Si l'entrée n'existe pas sur la couche inférieure, elle est ajoutée à cette couche et un numéro d'événement est créé sur la couche immédiatement supérieure. 3. Les opérations 1 et 2 sont répétées tant qu'il reste encore au moins un mot à traiter dans la demande d'entrée. 4. Lorsque le délimiteur de fin de phrase est reconnu, la séquence de mots (entrées sur la couche 0, événements sur la couche 1) est ajoutée à la couche 1. Etant donné que le système décrit est un système à deux couches, aucune redondance n'est supprimée sur la couche 1. Les séquences de commande de la Fig. 77G qui permettent l'exécution des opérations 1 à 4 sont les suivantes : Le programme "formation de couche" appelle le programme "traitement d'une entrée" de niveau 2. Le programme "traitement d'une entrée" commence à traiter la demande en ~556" 2334148 prenant les événements du premier mot et en les convertissant du code d'entrée ASCII en un code interne représentant des numéros d'événement de la couche 0. Les numéros d'événement sont utilisés pour empiler sur ESTAK les entrées LOET correspon-5 dantes. Ce processus se poursuit jusqu'à ce qu'un blanc arrière soit reconnu. Etant donné qu'un blanc vient d'être reconnu et que, par conséquent, une entrée de la couche 0 est maintenant en train d'être traitée, la commande passe au programme de niveau 10 3 "traitement d'une entrée de couche 0". Ce programme traite le mot qui est maintenant représenté au sommet d'ESTAK. PLOE est attaqué avec le sommet d'ESTAK contenant des pointeurs pointant vers les raccourcis des événements qui constituent le mot en train d'être traité. PLOE passe le contenu 15 d'ESTAK au programme de niveau 4 "cadrage". Le programme "cadrage" effectue un "cadrage" sur les événements présents sur ESTAK. Si la séquence des événements d'ESTAK est exactement contenue dans la base de données, le numéro de l'entrée qui a donné lieu à cette concordance exacte est renvoyé à PLOE. Par 20 contre, si la séquence ne concorde pas exactement, alors elle doit être ajoutée en tant qu'entrée au niveau 0. En conséquence, le programme de niveau 4 "addition de N événements" est appelé. Ce programme prend les éléments du sommet d'ESTAK qui correspondent au mot en cotirs de traitement et ajoute l'entrée à la 25 base de données sous forme d'entrée de niveau 0. Cette addition s'effectue en appelant le module de matériel "modification". Cette procédure ajoute la valeur d'instant d'apparition d'événement appropriée suivante aux vecteurs d'apparition d'événement des événements en question. Ce processus crée de nou-30 veaux raccourcis pour les événements en question. Chaque nouveau raccourci doit être mis en mémoire par le programme de niveau 5 "mise en mémoire d'un nouveau raccourci". Le programme "mise en mémoire d'un nouveau raccourci" appelle tout d'abord le programme de niveau 6 "recherche d'es-35 pace libre". Le programme "recherche d'espace libre" recherche la zone de stockage disponible pour des raccourcis jusqu'à ce que soit trouvé un intervalle propre à recevoir le nouveau raccourci. L'adresse de cet intervalle est retransmise au pro -557- 2334148 gramme "mise en mémoire d'un nouveau raccourci". Le programme transfère alors le nouveau raccourci dans l'intervalle en question à partir d'une zone temporaire. L'ancien raccourci doit maintenant être supprimé étant donné que ses valeurs ne sont 5 plus nécessaires. A cet effet, on appelle le programme de niveau 6 "libération d'espace". Le programme "libération d'espace" renvoie la zone qui était occupée par l'ancien raccourci dans une réserve d'espace disponible. Enfin, un contrôle est effectué pour déterminer si la 10 zone de stockage de raccourci est trop fragmentée ou non. Si elle est trop fragmentée, la commande passe au programme de niveau 6 "récupération des positions inutilisées". Ce programme regroupe les tores de façon que tous les raccourcis soient situés dans une zone de tores contiguë. A cet effet, certains 15 raccourcis doivent être matériellement transférés d'une zone de stockage donnée à une autre. Après ce transfert, les entêtes de raccourci des raccourcis intéressés doivent être mis à jour pour refléter ce changement. Cette mise à jour est assurée par le programme de niveau 7 "ajustement début de raccourci" ou 20 "ajustement d'en-tête de raccourci". Une fois que les opérations décrites ci-dessus sont terminées, le programme "mise en mémoire d'un nouveau raccourci* a également achevé sa tâche. En conséquence, la commande repasse au programme de niveau 4 "addition de N événements". Le 25 programme "addition de N événements" renvoie au programme de niveau 3 PLOE (traitement d'une entrée de couche 0), avec le numéro de l'entrée qui vient d'être ajoutée. PLOE prend ce numéro d'entrée ou celui qui est obtenu si une concordance exacte a été trouvée et le convertit en un numéro d'événement de 50 couche L'entrée actuelle est éliminée d'ESTAK étant donné qu'elle n'est plus nécessaire. Le numéro d'événement de couche 1 qui vient d'être calculé est utilisé pour pousser un pointeur MET sur ESTAK. Cette valeur sur ESTAK représente la concentration du mot actuel en courg&e traitement en une unique valeur 35 représentant un numéro d'événement de couche 1. La commande repasse sur "traitement d'une entrée". Le processus ci-dessus se répète tant qu'il reste au moins un met à traiter. Lorsque le délimiteur de fin de phrase -558- 2334148 est reconnu, la commande passe directement du programme "traitement d'une entrée" au programme de niveau 4- "addition de N événements". Dans ce cas, les événements de couche 1 sur ESTAK représentant les mots de l'entrée d'information sont introduits 5 dans la couche 1 sous la forme d'une nouvelle entrée. On remarquera que "cadrage" n'a pas été appelé étant donné qu1 aucune redondance n'est supprimée sur la couche 1. le programme "addition de N événements" opère comme précédemment décrit. De nouveaux raccourcis sont créés et 10 stockés. Le programme "récupération des positions inutilisées" est exécuté si nécessaire. La commande repasse finalement sur "traitement d'une entrée" qui la repasse à son tour au programme "formation de couche". Le processus ci-dessus se répète pour chaque entrée d'information à ajouter au système. 15 Une fois que la hase de données a été chargée, le système peut être utilisé pour manipuler l'information qu'elle contient. Â cet effet, la commande passe du programme ""base de données" au programme "composition" de niveau 1. Le programme "composition" passe à son tour la commande à l'un des pro-20 grammes de niveau 2 suivants : "ordres" ou "demande de consultation". Le programme de niveau 2 "ordres" est attaqué si un changement des paramètres de commande est désiré. Les paramètres de commande sont essentiellement au nombre de quatre. 25 - 1. Largeur de cadre( CT ) 2. Délimitation de cadre (PCO) 3. Délimitation concordantielle (BYCO) 4. Commutateur de longueur (LNG-SW) Ces paramètres sont utilisés pour contrôler la qualité de la 30 réponse. Plus précisément, ils sont utilisés pour déterminer le degré d'approximation avec lequel est rempli le critère de concordance suivant lequel les réponses de sortie possibles sont discriminés. L'autre programme de niveau 2 dans le domaine "manipu-35 lation de données" est le programme "demande de consultation". Ce programme accepte des demandes à partir d'une borne d'entrée et sort en tant que réponses les entrées de la base de données qui satisfont au critère concordantiel imposé par les paramètres de commande. -559- 2334148 La première tâche du programme "demande de consultation" est un traitement préalable de la demande d'entrée pour déterminer un format d'entrée d'information identique à celui qui est décrit dans le cadre du programme "formation de couche". 5 Ceci étant fait, la commande passe au programme de niveau 3 "analyse grammaticale". Le programme "analyse grammaticale" commence â traiter la demande d'entrée. Le délimiteur initial de la demande détermine si la réponse sera donnée à partir du niveau 0 ou du niveau 10 1. On supposera tout d'abord une réponse de niveau 0. Celle-ci implique une demande d'entrée de la forme générale : ... Le programme "analyse grammaticale" dépouille le code 15 d'entrée et le convertit en numéros d'événement de couche 0. Les numéros d'événement sont utilisés pour empiler des pointeurs LOET sur ESTAK des événements de la couche 0 qui constituent le mot en cours de traitement. Lorsque le blanc arrière est reconnu, la commande passe au programme de niveau 4- "ca-20 drage". Le programme "cadrage" effectue un cadrage matériel sur le mot et le renvoie au programme "analyse grammaticale" avec les candidats à la réponse préparés pour le module "concordantiel". Le programme "concordance" de niveau 4 est appelé. 25 Le programme "concordance" assure la fonction concor dantielle matérielle sur les candidats choisis par le programme "cadrage". Les candidats qui passent avec succès ce test final sont placés sur une liste ordonnée déterminée en fonction de leurs valeurs concordantielles. La commande repasse au pro-30 gramme "analyse grammaticale" qui, à son tour, passe la commande au programme "demande de consultation". Le programme "demande de consultation" transmet la liste obtenue par le programme "concordance" au programme de niveau 3 ("traitement d'une sortie"). Le programme "traitement 35 d'une sortie" convertit les entrées de la liste ordonnée en réponses imprimées. A cet effet, il appelle tout d'abord le programme "organisation". Le programme "organisation" calcule les limites de début et de fin des réponses. Le programme "généra -560- 2334148 tion" est alors appelé et ce programme effectue une recherche parmi tous les vecteurs d'apparition d'événement de cette couche jusqu'à ce que soient trouvés tous les événements qui sont situés entre les limites de début et de fin établies par le pro-5 gramme "organisation". La commande repasse au programme "traitement d'une sortie" qui convertit les numéros d'événement en code de sortie et imprime la réponse sur le dispositif de sortie. Le programme "traitement d'une sortie" continue d'appeler les programmes "organisation" et "génération" jusqu'à ce que la 10 liste préparée par le programme "concordance" soit épuisée ou jusqu'à ce que le système exige qu'aucune réponse ne soit plus sortie. Dans les deux cas, la commande repasse au programme "demande de consultation". Un second type de demande de consultation peut être 15 une demande de couche 1. Dans ce cas, le fonctionnement est le suivant : Le programme "demande de consultation" soumet à un traitement préalable la demande d'entrée et la commande passe au programme "analyse grammaticale". Celui-ci traite chaque 20 mot comme décrit ci-dessus. Toutefois, lorsque la liste est renvoyée par le programme "concordance", seule la meilleure entrée de couche 0 (c'est-à-dire l'entrée supérieure de cette couche) (événement de couche 1) est empilée sur ESTAK. De cette manière, le système forme une série d'événements de 25 couche 1 sur ESTAK, événements qui représentent une séquence de mots qui sont aussi voisins que possible de la demande d'entrée. Une fois que cette séquence a été engendrée, le programme "analyse grammaticale" rappelle les programmes "cadrage" et "concordance". La différence qui caractérise cette variante 30 réside en ce que des événements de niveau 1 sont utilisés. Le programme "concordance" renvoie encore une liste des meilleures réponses possibles au programme "analyse grammaticale" et la commande repasse finalement au programme "demande de consultation". 35 A ce stade, le programme "demande de consultation" contient une lâsbe ordonnée d'entrées de couche 1 qui constituent des réponses possibles à la demande d'entrée. L'opération suivante consiste à sortir et à imprimer la réponse. A cet effet, le programme "traitement d'une sortie" est appelé. -561- 2334148 Celui-ci appelle à son tour les programmes "organisation" et "génération" comme décrit précédemment, la différence qui caractérise cette variante réside en ce qu'après achèvement de l'exécution du programme "génération", une liste représen-5 tant les mots de la couche 0 qui doivent être engendrés pour sortir une réponse a été établie. Ces mots sont ensuite effectivement engendrés par un second appel des programmes "organisation" et "génération". Les lettres contenues dans les mots sont engendrées. La commande repasse au programme "traitement 10 d'une sortie" et la réponse est imprimée sur le dispositif de sortie. La séquence ci-dessus se poursuit jusqu'à ce que la liste soit épuisée ou jusqu'à ce que le système exige une interruption. La commande repasse au programme "demande de con-15 sultation"et le processus se répète. Une fois que la base de données est ainsi construite, divers types de demandes et de recouvrements peuvent être aisément réalisés. Le chapitre suivant traite de ce sujet. XXXII. ORGANISATION DU MATERIEL ET BU LOGICIEL PB DEMANDE DE 20 CONSULTATION ET BE RECOUVREMENT A. Description générale du logiciel de demande de consultation et de recouvrement Le "superviseur" primaire de demande de consultation et de recouvrement est le programme "composition" dont l'exé-25 cution est déclenchée à partir du programme "base de données" lorsqu'un demandeur indique qu'il désire obtenir un recouvrement sur la machine à écrire. Cela se produit, comme exposé plus loin, lorsque l'opérateur tape un R sur la machine à écrire au cours des states initiaux de l'opération. Le programme "compo-30 sition" répond et appelle à son tour d'autres programmes et sous-programmes qui eux-mêmes en appellent d'autres. Le fonctionnement global général du système de logiciel sous la commande du programme "composition" est représenté sur la Fig. 102 Â pour une demande de couche 0 et sur 35 la Fig. 102B pour une demande d^éouche 1. Chacun des nouveaux modules est présenté avec un organigramme de fonctionnement et un programme de calculateur capable d'assurer l'exécution de cet organigramme. Pour faciliter la présentation et la -562- 2334148 compréhension, on a adopté les règles suivantes dans les organigrammes. 1. Une portion concise du programme est représentée sur l'organigramme par une description narrative entourée d'un cadre 5 en trait simple. 2. Une large portion du code indiquant une fonction à exécuter mais qui ne doit pas être traitée comme un sous-programme dans le code est présentée sous la forme d'une description narrative entourée d'un cadre dont les côtés verticaux 10 sont en trait double. Cette fonction est destinée à être développée dans un organigramme ultérieur; toutefois, le code est présenté par ligne. 3. Une fonction à appeler est un sous-programme qui comporte la même description que celle qui est indiquée en (2) ci- 15 dessus; toutefois un "X" est interposé entre les lignes verticales (voir Fig. 80). Dans ce cas, aussi bien la partie de l'organigramme comprise dans le pavé considéré que le code de calculateur seront développés ultérieurement. Le programme "analyse grammaticale" accepte et traite 20 des entrées présentées par un demandeur sur la machine à écrire de la console d'opérateur. Les entrées peuvent être, soit une demande adressée à la base de données stratifiée, soit un ordre qui doit être exécuté. Les ordres sont de deux types : le premier type d'or-25 dre est un ordre "END" (fin) qui indique la fin de la demande particulière et qui fait sortir du programme "composition". Le second type d'ordre est un ordre "CHANGE" (ôhanger) qui permet à l'opérateur de modifier l'un des "globaux" qui sont utilisés dans les calculs de cadrage et de détermination de 30 concordance. Les "globaux" sont a utilisé dans l'équation 11 pour la valeur de longueur L, LNGSW qui est un drapeau déterminant si la longueur de la demande doit être utilisée ou non pour établir une réponse, les valeurs de délimitation de cadrage et de concordance PCO et BVCO et la valeur de largeur 35 - cLe cadre PW. On va maintenant considérer l'exécution générale du programme "composition" pour une demande adressée à la base de données en supposant qu'un demandeur présente une demande -563- 2334148 de couche O. l'exécution générale du programme "composition11 est représentée pour une demande de couche 0 sur la Fig. 102k et l'on se référera à celle-ci lors de la lecture de l'exposé qui va suivre. Comme décrit précédemment, le demandeur introduit une demande sur le clavier de la machine à écrire sous le format suivant ï — V où — représente des lettres d'un mot et où # représente un blanc de la machine à écrire et un délimiteur de mot. Le programme "composition" provoque tout d'abord un retour du chariot avec avancement d'un interligne sur l'imprimante et l'impression par celle-ci d'un astérisque (*). Le demandeur tape alors les lettres du mot de demande flanquées des délimiteurs de mot #. La machine à écrire présente des signaux électriques codés en ASCII au "minicalculateur". Le programme "composition" répond au délimiteur ]6 de fin et demande l'intervention du sous-programme "demande de consultation". Le sous-programme "demande de consultation" place le premier délimiteur de mot # dans la chaîne d'analyse grammaticale (PSTRING) représentée en 2211. Il convertit ensuite les lettres codées en ASCII du mot de demande en utilisant une table CVRTEL en signaux de numéro d'événement de couche 0 correspondants e1, e2» etc. et stocke ces numéros d'événement dans PSTRING. Le délimiteur de fin de mot est alors stocké dans PSTRING. Le sous-programme "demande de consultation" transmet alors un pointeur à la chaîne PSTRING par l'intermédiaire du programme "analyse grammaticale". A noter à ce propos que le registre matériel R4 du "minicalculateur" reçoit un pointetir d'adresse pointant vers PSTRING. Un blanc E est utilisé ici pour désigner un caractère codé en ASCII et la lettre e est utilisée pour désigner un numéro d'événement de couche. Le programme "analyse grammaticale" assure une fonction d'interrogation dans la base de données. Cette fonction d'interrogation est assurée par des fonctions de cadrage et de détermination de concordance utilisant le contenu de PSTRING et ladite fonction d'interrogation forme une liste désignée par PNBOUT en 2213. PNBOUT contient une série de paires de valeurs, la première valeur de chaque paire étant un numéro -564- 2334148 d'entrée, c'est-à-dire El, E2 et la suite et la seconde étant une vale tu? concordantielle BV1, BV2 et la suite correspondant à l'entrée portant le même numéro. Les numéros d'entrée identifient le nombre des entrées dans la couche 0 et les valeurs concordan-5 tielles identifient la valeur concordantielle pour l'entrée correspondante telle qu'elle est déterminée par les fonctions de cadrage et de détermination de concordance. Les entrées dans PNBOUT en 2213 comprennent seulement celles dont les valeurs concordantielles sont supérieures à la valeur de délimi-10 tation de concordance BVCO introduite en tant que "global" pair le demandeur. Après avoir formé PNBOUT en 2213, il est maintenant nécessaire d'engendrer les sorties correspondant aux entrées qu'elle contient. A cet effet est appelé le sous-programme 15 "traitement d'une sortie" qui prend chaque entrée de couche 0, c'est-à-dire El, E2 et la suite dans PNBOUT et la transfère dans une table G1 représentée en 2215• La table G1 contient une série d'entrées de trois mots, dont le premier contient l'un des numéros d'entrée provenant de PNBOUT et dont les second et 20 troisième sont initialement mis à 0. Le sous-programme "traitement d'une sortie" appelle alors le sous-programme "organisation" qui. se déroule et qui, pour chaque entrée de la table G1, détermine le délimiteur de fin pour l'entrée correspondante, c'est-à-dire ED1, ED2 et la 25 suite, une longueur de valeur pour chaque entrée, c'est-à-dire L1, L2 et la suite et une valeur de longueur cumulée pour chaque entrée, c'est-à-dire AL1, AL2 et la suite. La valeur de longueur de chaque entrée est la différence entre les délimiteurs de début et de fin, moins 1. La valeur de longueur 30 cumulée, comme décrit plus loin de façon plus détaillée, est utilisée pour assurer la sélection du début de chaque entrée dans une chaîne de sortie. Après avoir engendré la table G1 comme représenté en 2217 sur la Fig. 102A, chaque entrée de cette table est mainte-35 nant sortie. Les entrées sont sorties sur la console d'opérateur et sont imprimées une par une. A cet effet, le sous-pro-gramme "traitement d'une sortie" est rappelé et prélève successivement les entréesde la table G1 en commençant par l'entrée -565- 2334148 supérieure. Chaque entrée est transférée dans une table G-2 comme représenté en 2219. Le sous-programme."génération" est alors appelé; il prend le délimiteur de fin de l'entrée dans la table G2 et engendre une ligne de référence qui contient 5 tous les instants d'événement compris entre les délimiteurs de début et de fin de l'entrée dans la table G2. Après la génération de tous les instants d'événement de la ligne de référence, le sous-programme "génération" examine alors tous les vecteurs d'apparition d'événement (représentés chacun par un en-tête 10 de raccourci et une ligne de raccourci) de la couche 0 de la base de données et forme une série de paires de valeurs comprenant chacune un numéro d'événement (H° d'év.) et une valeur d'apparition (OC) de couche 0 représentant les événements correspondants dans la base de données stockées. Une paire de valeurs 15 comprenant un numéro d'événement (H° d'év.) et une valeur d'apparition (OC) de couche 0 est formée pour chaque valeur d'instant d'événement de la ligne de référence identique à l'un quelconque des vecteurs d'apparition d'événement constituant la base de donnée, le numéro d'événement (N° d'év.) identifie le vec-20 teur d'apparition d'événement dans lequel la valeur d'apparition effective est située. Cette série de paires est stockée dans une zone de la mémoire principale dénommée OLIST représentée en 2221. Le sous-programme "génération" provoque en outre un classement dans la zone OLIST, classement qui est réalisé de 25 telle manière que les paires soient arrangées avec les valeurs d'apparition par ordre de grandeur décroissant, de manière à représenter ainsi l'ordre des événements en vue de la sortie. Le sous-programme "traitement d'une sortie" est alors appelé, ce qui provoque la transmission de signatix codés en 30 ASCII à la console d'opérateur en vue de l'impression. Ce processus est assuré en prenant chaque numéro d'entrée E, dans l'ordre, dans une table dénommée CVTBL2, en convertissant chacun de ces numéros en code ASCII et en transmettant le résultat à l'imprimante de la console d'opérateur pour impression et 35 affichage. On va maintenant considérer le fonctionnement général pour une demande de couche 1. La Fig. 102B est un organigramme pictural illustrant le déroulement du programme "composition" -566- 2334148 pour une demande de couche 1. Comme dans le cas d'une demande de couche 0, l'opérateur tape la demande en utilisant la machine à écrire de la console d'opérateur. Le programme "composition" provoque tout d'abord un retour du chariot avec avance-5 ment d'un interligne sur l'imprimante et l'impression d'un astérisque (*) pour attirer l'attention de l'utilisateur sur le fait que le système est prêt à accepter des demandes. L'utilisateur répond alors en tapant la demande. Le demandeur tape une demande du format suivant : 10 # — ys — ys — v & où — représente des lettres d'un mot, ^ , un délimiteur de phrase et # , un délimiteur de mot. La machine à écrire présente des caractères codés électrique-15 ment en ASCII. Les caractères ASCII représentant des lettres sont convertis en numéros d'événement de couche 0 correspondants et sont placés dans la chaîne PSTRING comme indiqué en 2231 entre les délimiteurs de début et de fin de phrase et de mot (en code ASCII) sensiblement comme décrit à propos de la 20 demande de couche 0 de la Fig. 102A. Le sous-programme "analyse grammaticale" est ensuite appelé ce qui provoque l'application des fonctions de cadrage et concordantielle au contenu de la chaîne PSTRING et le renvoi de la liste PNBOUT comme indiqué en 2233; PNBOUT contient les 25 numéros d'entrée de la couche 1 et les valeurs concordantielles correspondantes comprenant exclusivement des valeurs concordan-tielles supérieures à la valeur de délimitation de concordance (BVCO). En conséquence, PNBOUT contient une série de numéros d'entrée de couche 1, c'est-à-dire El, E2, E3 et la suite, 30 suivis des valeurs concordantielles correspondantes BV1, BV2, BV3, et la suite. Le sous-programme "traitement d'une sortie" prend les numéros d'entrée dans PNBOUT et établit une table G1 comme représenté en 2235. D'une manière analogue à celle qui a été dé-35 crite à propos de la Fig. 102A, la table G1 est constituée par une série de jeux d'entrées de trois mots, dont le premier est le numéro d'entrée de couche 1, c'est-à-dire El, E2, E3 et dont les second et troisième sont initialement mis à 0. -567- 2334148 Le sous-programme "organisation" est alors appelé et remplit la table G1 de valeurs 0 pour chaque numéro d'entrée analogue à celui qui est représenté en 2237 sur la Fig. 102B. Plus précisément, pour chaque numéro d'entrée, le sous-programme "organisation" charge le délimiteur de fin correspondant ED1, ED2, 35D3 et la suite, la longueur cumulée correspondante AL1, AL2, AL3 et la suite et la longueur de l'entrée correspondante L1, L2, L3 et la suite. Le sous-programme "traitement d'une sortie" est à nouveau appelé; il prend dans G1 les valeurs correspondant chacune des entrées (en commençant par la première) et les transfère dans la table G2 comme représenté en 2239. Le sous-programme "génération" est alors appelé et il forme une ligne de référence avec tous les instants d'événement compris entre les délimiteurs de début et de fin de l'entrée de couche 1 stockée dans la table G2. Le sous-programme "génération" examine alors chaque entrée de la couche 1 et forme dans OLIST (voir 2241) une série de paires de valeurs comprenant chacune un numéro d'événement et une valeur d'apparition analogues à celle qui est représentée en 2221 de la Fig. 102A. Une paire de valeurs comprenant un numéro d'événement et une valeur d'apparition est formée pour chaque valeur d'apparition effective de la couche 1 identique à une valeur d'instant d'événement de la ligne de référence. Le numéro d'événement identifie le numéro d'événement de couche 1 où est située la valeur d'apparition effective. A ce stade, OLIST se présente comme représenté en 2241 avec une série de paires de valeurs, dont la première est un numéro d'événement de couche 1 (numéro d'entrée de couche 0) et dont la seconde est une valeur d'apparition correspondante . Il est à noter que les numéros d'événement de OLIST sont des numéros d'événement de la couche 1 et, par conséquent, identifient des mots et non des lettres. En outre, ces numéros d'événement de la couche 1 sont en même temps des numéros d'entrée sur la couche 0. Il doit être également bien entendu qu'il est nécessaire de localiser les lettres ou événements correspondants dans la couche 0 de la base de données pour engendrer les lettres du mot en vue de sa sortie sur imprimante. En consé -568- 2334148 quence, le sous-programme "traitement d'une sortie" est à nouveau appelé; il prend tous les numéros d'événement de la couche 1 (qui seront de préférence désignés ci-après sous le nom de "numéros d'entrée de la couche O") dans OLIST en 2241 5 et les arrange sous la forme de la table G2 représentée en 2242. La table G2 est analogue à celle qui a été décrite à propos de la Fig. 102A; elle contient une série de jeux d'entrées de trois mots, dont le premier est le numéro d'entrée de couche O pris dans OLIST et dont les deux autres sont ini-10 tisOement mis à 0. Le sous-programme "organisation" est alors appelé pour charger les délimiteurs de fin correspondants, c'est-à-dire ED1, ED2, et la suite, les valeurs de longueur cumulées correspondantes, c'est-à-dire AL1, AL2 et la suite et les valeurs de 15 longueur d'entrée correspondantes, c'est-à-dire L1, L2 et la suite. Le sous-programme "génération" est rappelé en 2244 et engendre un segment d'une ligne de référence pour chaque numéro d'entrée de couche 0 de la table G2. A cet effet, pour chaque 20 numéro d'entrée de couche 0 de la table G2, le sous-programme "génération" établit la liste des valeurs d'instant d'événement comprises entre les délimiteurs de début et de fin correspondants. Les valeurs d'instant d'événement sont ensuite classées par ordre de grandeur décroissant. Le sous-programme "géné-25 ration" examine alors la couche 0 de la base de données en établissant une paire de valeurs comprenant un numéro d'événement et tme valeur d'apparition de la couche 0 pour chaque valeur d'instant d'événement de la ligne de référence pour laquelle on trouve un numéro d'événement et une valeur d'appari-30 tion correspondante dans la couche 0 de la base de données. Ces paires de valeurs comprenant chacune un numéro d'événement et une valeur d'apparition sont placées dans OLIST. Ensuite, OLIST est classée, de telle manière que les paires de valeurs comprenant chacune un numéro d'événement et une valeur d'appa-35 rition soient ordonnées par ordre de grandeur décroissant des valeurs d'appari ti on. Le sous-programme "traitement d'une sortie" est alors appelé et commence à engendrer les caractères codés en ASCII -569- 2334148 pour l'imprimante de la console d'opérateur. A cet effet, les numéros d'événement de couche O d1OLIST sont dépouillés un par un, en commençant par l'événement situé au début de la liste et chacun d'eux est utilisé comme index de consultation de la table CVETBL2. A cet effet, chaque numéro d'événement est ajouté à l'adresse de base de la table CVRTBL2, afin de former une adresse qui est utilisée pour lire le caractère codé en ASCII correspondant dans la table CVETBL2. Le caractère codé en ASCII est alors transféré à l'imprimante pour impression et affichage. Une décision est prise pendant le programme "traitement d'une sortie" en 2246 pour déterminer s'il y a lieu d'imprimer la "meilleure entrée suivante", s'il en existe une. On remarquera que cela permet à l'utilisateur d'imprimer sélectivement des réponses possibles à la demande en fonction de la valeur concordantielle des entrées. Ce processus se poursuit jusqu'à ce que la phrase correspondant à l'entrée de couche 1 dépouillée à partir de la table en 2238 ait été complètement imprimée. Lorsque cette opération est achevée, le système reprend en 2238 où le sous-programme "traitement d'une sortie" est appelé et où une autre entrée de couche 1 est dépouillée à partir de la table G1, après quoi la suite du processus est identique à ce qui a été précédemment décrit. On va maintenant examiner plus particulièrement le déroulement général du programme "analyse grammaticale" et des autres programmes appelés par celui-ci'. Le programme "analyse grammaticale" est appelé, comme décrit précédemment, par le programme "composition". Le programme "analyse grammaticale" provoque l'exécution par le "minicalculateur" d'un certain nombre de fonctions de recouvrement et demande l'intervention des programmes "cadrage" et "concordance". En bref, eomme représenté en A sur la table 60, le programme "analyse grammaticale" explore les événements - lettres de la demande une fois qu'ils ont été convertis en adresse relative de base par le programme "composition" et en utilisant 1'en-tête de couche de la couche désirée (voir Fig. 77, 78A et 78B) il obtient les pointeurs d'en-tête de raccourci à partir de la table LOET et empile (suivant le mode "dernier entré, premier sorti", les -570- 2334148 pointeurs LOET dans leur ordre d'exploration, dans une zone réservée de la mémoire principale du "minicalculateur" dénommée ESTAK. En outre, le programme "analyse grammaticale" stocke une valeur représentant le nombre de pointeurs LOET 5 contenus dans ESTAK, dans le registre de logiciel RLTTC pour une demande de couche 0 ou ELN1 pour une demande de couche 1 dans la mémoire principale du "minicalculateur". Les données pertinentes produites par des appels des programmes "cadrage" et "concordance" sont représentées en 10 B à E sur la table 60. Il est à noter que le but d'une demande telle qu'elle est appliquée aux programmes "cadrage" et "concordance " est de déterminer la "meilleure" réponse de la base de données contenue dans la mémoire principale pour la demande de mot 15 ou de phrase présentée. Lorsqu'une demande de phrase est présentée, alors la "meilleure réponse" est déterminée d'après les mots réels de la phrase de demande. La "meilleure" réponse de la couche de mots 0 fournit des événements de la couche 1 de phrases à utiliser pour déterminer la réponse de cette 20 couche. Ces aspects du logiciel "d'analyse grammaticale", "de cadrage" et "de concordance" et d'autres encore seront décrits plus loin de façon plus détaillée à propos de ces programmes. Les Fig. 88A, 88B à 93 sont des croquis représentant la séquence de fonctionnement et les zones de stockage pri-25 maires utilisées au cours de l'exécution des programmes "analyse grammaticale", "cadrage" et "concordance". On considérera tout d'abord en général l'ensemble de l'exécution. La Fig. 88 est un diagramme général indiquant comment le programme "analyse grammaticale" organise une zone d'empilage en mémoire, 30 zone dénommée ESTAK, et traite une demande de couche 0. Le programme "analyse grammaticale" stocke dans ESTAK un pointeur d'événement de couche LXET pour chaque événement de couche 0 de la demande et les pointeurs LXET sont stockés dans l'ordre présenté par la demande. Chaque I«XET est l'adresse de base d'un 35 en-tête de raccourci pour l'événement correspondant de la demande. Cette configuration est représentée dans son ensemble sur la Fig. 88A par les lignes comprises entre ESTAK et m exemple de couche 0 de la base de données. -571- 2334148 La zone de sortie finale des programmes "cadrage" et "concordance" est une zone de mémoire principale dénommée PNBOUT (voir Fig. 88A) dont l'adresse de base est désignée par l'adresse contenue dans le premier emplacement d'une zone 5 de deux mots identifiée par le symbole PNBPTR. L'adresse de base (ou première adresse) de la zone PNBPTR est désignée sous le nom d'adresse PNBPTR. Le second emplacement de PNBPTR contient une valeur identifiant le nombre d'entrées dans la zone PNBOUT. Comme indiqué, chaque entrée dans PNBOUT contient un 10 numéro d'entrée, c'est-à-dire "entrée 4-", "entrée 2", identifiant le nombre des entrées correspondantes sur la couche 0. A ce propos, il est rappelé ici qu'une entrée sur la couche 0^ correspond à un événement sur la couche 1. PNBOUT contient, dans les emplacements de mémoire qui suivent immédiatement 15 chaque numéro d'entrée, la valeur concordantielle BV pour l'entrée correspondante. Comme décrit plus loin de façon plus détaillée, le programme "concordance" classe les numéros d'entrée et les valeurs concordantielles correspondantes par ordre de valeurs concordantielles décroissant. 20 La fig. 88 est une figure générale représentant l'a dresse de base LXET (Fig. 78) de ESTAK qui pointe vers le début des en-têtes de raccourci correspondants. Le premier emplacement de chaque en-tête de raccourci contient à son tour l'adresse de base dudébut de la zone de mémoire principale corres-25 pondante contenant la ligne de raccourci correspondante. En se référant à la Fig. 89, on voit que la. mémoire principale du "minicalculateur" contient la ligne de raccourci de délimiteur et la ligne de raccourci d'événement dans des zones de mémoire séparées. Le programme "cadrage" au cours des 30 pas PU à PI22 transfère la ligne de raccourci de délimiteur dans la zone 1 du module "mémoire" et la ligne de raccourci d'événement dans la zone 2 du module "mémoire". Le programme "cadrage"provoque le traitement par le module "cadrage" de la ligne de raccourci de délimiteur et de la ligne de raccourci 35 d'événement à partir des zones 1 et 2 du module "mémoire" et les résultats sont stockés dans la "mémoire P/B". En se référant à la Fig. 89, on peut voir que la "mémoire P/B" contient une série de paires de valeurs intermédiaires (vi, vii). La -572- 2334148 première est une valeur d'instant d'événement (ou d'apparition) représentant une valeur de centre de cadre vi et la seconde est une valeur de nombre de correspondances, vii. Lorsque les opérations du module "cadrage" sont ache-5 vées et que la bascule LAST du registre STATUS du module "jonction du système DHî" a été actionnée, le module "cadrage" modifie les paires de valeurs contenues dans la "mémoire P/B" et provoque leur transfert dans la zone 3 du module Mémoire". La Fig. 90 représente le déroulement général du pro-10 gramme "cadrage" depuis le pas PI22 jusqu'à la fin de ce programme. Le programme "cadrage" provoque la sortie par lecture des paires de valeurs vi et vii à partir de la zone 3 du module "mémoire" et la valeur du nombre de correspondances, vii, pour chacune des paires de valetirs, est comparée avec la valeur de 15 délimitation de cadre PCO. Les valeurs d'instant d'événement vi dont les valeurs de nombre de correspondances satisfont au critère de délimitation de cadre, c'est-à-dire sont égales ou supérieures à la valeur P00, sont alors transférées dans la zone 1 de la "mémoire P/B". Si le programme "cadrage" opère 20 sur la couche 0 et si une réponse est nécessaire à partir de la couche 1, les valetirs de centre de cadre sont transférées à la zone PNBOUT en vue de leur traitement par le programme "concordance". La Fig. 91 représente un exemple d'une passe unique 25 permettant de traiter une demande de cooche 1 portant sur trois mots. Comme indiqué sous une foime générale, ESTAK contient les pointeurs d'adresse pointant de LXET vers les en-têtes de raccourci qui identifient à leur tour l'emplacement de début des lignes de raccourci correspondantes dans la mémoire princi-30 pale. Dans l'exemple représenté, les entrées 2 et 4- de la couche 0 satisfont au test de valeur de délimitation de cadre. Dans ces conditions, le programme "concordance" engendre une paire de valeurs pour chacune des entrées 2 et 4 et les résultats sont stockés dans PNBOUT. Les paires de valeurs comprennent chacune 35 une valeur E identifiant le numéro de l'entrée de couche 0 correspondante et une valeur concordantielle BV. Comme décrit précédemment, le programme "concordance" provoque le classement des entrées par ordre de grandeur décroissant au point de vue -573- 2334148 valeur concordantielle. Comme décrit plus loin de façon plus détaillée à propos du programme "analyse grammaticale", la paire de valeurs qui comprend la plus grande ou meilleure valeur concordantielle est transférée au sommet d'ESTAK comme 5 indiqué en e4. 1 (qui indique l'événement 4, couche 1). Etant donné qu'une entrée sur la couche 0 correspond à un événement sur la couche 1, e4.1 est un pointeur pointant vèrs l'événement 4 de la couche 1. La Fig. 92 représente le même exemple que la Fig. 91 10 après la seconde boucle du programme "analyse grammaticale", en supposant qu'une correspondance exacte a été trouvée pour l'entrée 3. Dans ces conditions, le programme "cadrage" transfère directement à PNBOUT la paire de valeurs comprenant une valeur identifiant le numéro d'entrée 3 sur la couche 0 ou 15 l'événement 3 sur la couche 1, suivie d'une valeur forcée indiquant une valeur concordantielle de 100 %. Le programme "ana-' lyse grammaticale" laisse au sommet d'ESTAK l'adresse L1ET (e3.1) de l'événement 3 de la couche 1 et une adresse L1ET (e4.1) correspondant à l'événement 4 de la couche 1. On 20 remarquera que les événements 3 et 4 de la couche 1 concernent des raccourcis d'événement 3 et 4. La Fig. 93 reproduit l'exemple de la Fig. 91 après la boucle 3* Comme indiqué à la fin de la boucle 3* le programme "concordance " laisse dans PNBOUT les valeurs indiquées sur le côté droit de la Fig. 93. 25 Les modules décrits ci-dessus exigent cinq sous-pro- grammes pour appeler les modules "sortie" et "décodage" I, provoquer le transfert d'information entre la mémoire principale du "minicalculateur" et le module "mémoire" et classer les résultats du programme "concordance" dans l'ordre convenable dans 30 la zone de sortie PNBOUT de la mémoire principale. On va maintenant examiner un exemple réel de déroulement des programmes "analyse grammaticale", "cadrage" et "concordance" et de leurs sous-programmes associés. La Fig. 79C représente un exemple réel de l'information de pointeurs d'adresse 35 pour 1'en-tête de la couche 0, de la table de pointeurs d'événement de couche 0 (LOEPT) ainsi que les en-têtes de raccourci correspondants et les lignes de raccourci correspondantes. La Fig. 79D représente l'information correspondante pour la couche "574_ 2334148 1. Ainsi par exemple, 1'en-tête de la couche O contient quatre (4) mots, dont le premier contient l'adresse 100 qui est un pointeur d'adresse vers la table de pointeurs d'événement de couche 0 (LOEPT), dont le second est la valeur 32 repré-5 sentant la largeur (nombre de valeurs d'apparition possibles ou instants d'événement) delà couche 0, dont le troisième est la valeur 10 représentant le nombre des événements de la couche 0 et dont le quatrième est la valeur 14, qui représente l'instant d'événement le plus "grand" (top d'horloge) pour la couche 10 0. La table de pointeurs d'événement de couche 0 LOEPT comporte un pointeur d'adresse pour chacua des dix événements de la couche 0 et chacun de ces pointeurs d'adresse pointe vers l'entête de raccourci d'événement correspondant. Gomme décrit plus loin de façon plus détaillée, lors de la construction de la 15 base de données, chaque fois qu'on rencontre un nouvel événement dans une couche de cette base, on lui affecte un numéro d'événement» Des numéros d'événement sont classés consécutivement dans leur ordre de rencontre. Le numéro d'événement est utilisé pour calculer l'écart dans LOET. Ainsi, par exemple, la lettre "I" a 20 une valeur de numéro d'événement 5 qui, lorsqu'elle est ajoutée à l'adresse de base 100 de LCET, donne l'adresse 103 pour l'événement "I". L'emplacement 103 contient à son tour un pointeur d'adresse pointant vers l'adresse de base 212 qui est à son tour l'adresse de base de 1'en-tête de raccourci correspon-25 dant à l'événement "I". Si l'on examine maintenant 1'en-tête de raccourci du délimiteur de début, on voit que le premier mot .est l'adresse initiale de la ligne de raccourci de délimiteur, que le second mot est une valeur O identifiant le numéro de ligne de l'iso-30 entropieogramme pour la ligne de raccourci correspondante, que le troisième mot est une valeur 8 identifiant la longueur en mots de la ligne de raccourci de délimiteurs et que le quatrième mot est une valeur 8 identifiant le nombre de valeurs d'apparition effectives de la ligne 0 de la ligne de raccourci (qui 35 dans ce cas particulier correspond au contenu de l'emplacement précédent, étant donné qu'on a supposé dans cet exemple que toutes les lignes de raccourci sont situées à la ligne 0). Pour faciliter l'explication, on supposera que les lignes de raccour -575- 2334148 ci "non de délimiteur" ainsi que les lignes de raccourci de délimiteur sont à la ligne 0 de leur iso-entropicogramme correspondant, ce qui n'est toutefois pas nécessairement le cas. Les couches O et 1 de la base de données, dans l'exem-5 pie qui va maintenant être décrit, sont représentées dans la table 60B. On supposera, à titre d'exemple, que la couche 0 contient les entrées de mot 1 à 7 qui sont les suivantes : THIS IS A TEST, Y/HICH IS THE BEST, THIS IS BEST (Ceci est un test, Quel est le meilleur ? Ceci est le meilleur). Les mots 10 ■ sont groupés en fonction des phrases qu'ils représentent. La table 60B représente la structure de la base de données sous la forme binaire en utilisant un 1 pour indiquer la présence de valeurs d'apparition effectives. Ainsi, par exemple, l'événement T du numéro d'événement 1 de la couche 0 contient les 15 valetirs d'apparition effectives 1, 11, 14, 22 et 29 qui sont identiques aux valeurs d'apparition indiquées pour la ligne de raccourci T sur la Fig. 79C. On notera en outre que les numéros d'entrée 1, 2, 3» 4, 5» 6 et 7 de la couche 0 correspondant aux mêmes numéros d'événement sur la couche 1 de la base de données. 20 La description générale du fonctionnement qui va suivre sera faite en référence aux organigrammes "analyse grammaticale", "cadrage" et "concordance" des Fig. 80, 82 et 94 de manière à faciliter la compréhension du fonctionnement pour le lecture. Dans l'exemple qui va suivre, on supposera que le de-25 mandeur a présenté la demande de couche de mots 0 : # BETTER # (# MEILLEUR #) comme représenté dans la table 60C. On se référera maintenant à 1'organigramme du programme "analyse grammaticale" représenté sur la Fig. 80 et l'on considérera la séquence de fonctionnement générale pour l'exemple choisi. Lors 30 de l'attaque de l'organigramme du programme "analyse grammaticale" de la Fig. 80, on suppose que le programme "composition" qui sera décrit plus loin) a réglé l'état de la machine de la manière générale représentée, a stocké des valeurs représentant la demande # BETTER dans la mémoire principale et a réglé 35 le pointetir de chaîne d'entrée R4 de façon qu'il pointe vers le délimiteur # de début de la demande qui a été stocké dans la mémoire principale, et enfin a mis les zones de mémoire principale ESTAK et PNBOUT à zéro ou 0, le tout comme représenté dans -576- 2334148 la table 67. On supposera également que le demandeur a introduit dans le système une largeur de cadre (PW) 1, une valeur de délimitation de cadre (PCO) de 50 % et une valeur de délimitation de concordance (BVCO) de 0,50. 5 Pendant le pas PA1 de l'organigramme du programme "analyse grammaticale" le délimiteur # de début est extrait de la demande et, pendant PA2, on détecte qu'il s'agit effectivement d'un délimiteur # de début, ce qui indique une demande de mot. La commande passeàLors en PA4- de l'organigramme et le 10 commutateur de longueur "logiciel" LNGSW est mis à 1 pour indiquer qu'on désire effectivement le mot BETTER et non un autre mot quelconque contenant ce mot de demande. En outre, le drapeau "échappement" est mis à 1 afin de provoquer une interruption du déroulement du programme "d'analyse grammaticale" après 15 le traitement de la couche 0 de la base de données. Si le caractère initial avait été un délimiteur de phrase =&=- , cela aurait indiqué une demande de phrase en cours et, par. conséquent, la demande serait passée en PA3 après PA2 et la longueur de demande contenue dans le registre de logiciel 20 RLF1 aurait été initialisée à 0 et un délimiteur de mot #, qui suit toujours le délimiteur de phrase, aurait été "shunté". Ensuite, toujours dans l'exemple considéré, les noeuds JOIE 1 et JOIN 2 et le pas PA5 de l'organigramme sont attaqués après PA4. Pendant PA5, la longueur de demande de couche 0 contenue 25 dans le registre de logiciel RLNO est initialisée à 0 afin qu'elle puisse être utilisée pour compter la longueur du mot de demande en caractères. La commande passe alors en PA6 par l'intermédiaire du noeud JOIN 3 et, pendant PA6, on obtient le premier caractère "non de délimiteur B". Pendant PA7, le carac-30 tère actuel"B" est vérifié pour déterminer si c'est un délimiteur de phrase . Etant donné que ce n'est pas le cas, PA8 est ensuite attaqué et le même caractère est alors vérifié pour déterminer si c'est un délimiteur de mot Etant donné que ce n'est pas le cas, le pas PA9 de l'organigramme est attaqué et, 35 pendant ce pas, le numéro d'événement de couche 0 (9) de "B" (voir table 60B) est ajouté à l'adresse de base 100 fournie par 1'en-tête de couche 0 en vue d'accéder à LOET (voir Fig. 79C). L'adresse 109 de LOET contient l'adresse de base 236 -577- 2334148 de 1'en-tête de raccourci pour l'événement "B". En conséquence, pendant PA9, le pointeur LOET 236 est stocké dans la zone de mémoire principale ESTAS. Pendant PA10, la longueur de demande de couche 0,RLN0, est incrémentée de 1, c'est-à-dire portée à 5 la valeur 1, ce qui indique qu'une première valeur "non de délimiteur" de la demande a été stockée dans ESTAK. Le drapeau "suspension" est utilisé pour indiquer que les pointeurs de LOET de tous les événements de la demande ont été stockés dans ESTAK. L'état 1 de "suspension" indique qu'il 10 en est "bien ainsi, tandis que l'état 0 indique que ce n'est pas le cas. A ce stade, le drapeau "suspension" est 0 et, en conséquence, le fonctionnement reprend par bouclage en JOIN 3 du programme "analyse grammaticale" et à partir de ce noeud, le processus se répète et le pointeur d'adresse LOET 224- de l'é-15 vénement "E" est stocké à l'emplacement suivant de la séquence dans ESTAK. Cette même opération se répète pour les événements de demande T, T, E, R en établissant ainsi les pointeurs LOET représentés pour ESTAK dans la table 60D. Finalement, pendant PA6, on obtient le délimiteur 20 de fin et, par conséquent, lors de l'attaque suivante de PAS, ce délimiteur est détecté, ce qui provoque l'attaque du pas PA11 de l'organigramme. Pendant PA11, le drapeau "suspension" est mis à 1 et est ensuite détecté pendant PA13, ce qui provoque l'attaque du pas PA14- de l'organigramme du programme "ana-25 lyse grammaticale". A ce stade du fonctionnement, les emplacements de la mémoire principale et les pointeurs du système se présentent sous la forme générale représentée dans la table 60D. Ainsi, par exemple, ESTAK contient les pointeurs LOET pour les événe-30 ments B, E, "E, T, E, R de la base de données, le registre de logiciel RLNO contient la valeur 6 identifiant le nombre de pointeurs LOET contenus dans ESTAK et PNBOUT est encore nulle. En outre, le pointetir de chaîne d'entrée R4- pointe vers le délimiteur # de fin de la demande. 35 Pendant le pas PA14- de 1 ' organigramme du programme "analyse grammaticale", le programme "cadrage" est appelé. Comme décrit plus loin de façon plus détaillée, le programme "cadrage" assure la fonction de cadrage et foime des résultats -578- 2334148 qui sont transmis au programme "concordance". Une fois que l'exécution du programme "cadrage" est terminée, les zones de la mémoire principale et de la "mémoire P/B" contiennent l'information représentée dans la table 60 E. 5 L'aiguillage BRSW est mis à 1 ou "vrai" par le pro gramme "cadrage" si un recouvrement approximatif seulement est désiré (c'est-à-dire si la "concordance" doit être planifiée). Dans l'exemple décrit, l'aiguillage BRSW est maintenant à 1, ce qui indique que le programme "concordance" doit être 10 appelé pour assurer la fonction concordantielle. En conséquence est attaqué le pas PA17 de l'organigramme, au cours duquel le programme "concordance" est appelé. Comme décrit plus loin de façon plus détaillée, le programme "concordance" demande l'intervention du module "concordantiel" de matériel et engendre une 15 liste de paires de valeurs dans PNBOUT de la mémoire principale. La première valeur de chaque paire est un numéro d'entrée (E) et la seconde est une valeur concordantielle (BV) correspondant à ce numéro d'entrée. Comme également décrit plus loin de façon plus détaillée, les paires de valeurs sont classées par ordre 20 de valeur concordantielle, la valeur ^ncordantielle la plus élevée ou la meilleure étant donnée en premier lieu. Dans l'exemple décrit, PNBOUT ne contient qu'une unique entrée, étant donné qu'une seule entrée dans la couche 0 a satisfait au critère de délimitation de concordance (BVCO). L'adresse de 25 la zone PNBOUT est contenue dans le premier mot d'une zone de deux mots dite PNBPTR. Le second mot de cette zone de deux mots est dénommé PNBCNT et contient une valeur identifiant le nombre d'entrées stockées dans PNBOUT pendant le déroulement du programme "concordance". 30 Si le programme "concordance" ne doit pas être appelé, BRSW est O ou "faux" pendant PA15. Ceci se produit lorsqu'une correspondance exacte a été trouvée sur la couche 0 dans une chaîne de demande appartenant à la couche 1. "Concordance" n'a pas besoin d'être appelé si une correspondance exacte est trou-35 vée sur la couche 0 et si la réponse doit être donnée à partir de la couche 1. Il en est ainsi en raison du fait que la "meilleure" correspondance de la couche 0 est considérée comme un événement de la couche 1 etén raison du fait qu'il va de soi -579- 2334148 qu'on ne peut faire mieux que de donner une correspondance exacte. Si BRSW est 0 pendant PA15, le pas PA16 est attaqué et le pointeur de sommet de pile d'ESTAK, R3 est ajusté de façon qu'il pointe vers l'entrée de sommet de pile antérieurement au 5 traitement de la dernière entrée. Si "concordance" n'est pas appelé, les entrées doivent être retirées d'ESTAK. Dans l'exemple particulier, le pointetir R3 est ajusté au-delà du pointeur pointant vers 1'en-tête de raccourci du premier événement de la demande "BETTER". 1G Toujours dans l'exemple considéré, on va maintenant examiner le fonctionnement qui se déroule pendant PA18. Pendant PA18, le drapeau"échappement" est trouvé à 1 et, en conséquence, PA23 est attaqué et le contexte de la machine est ramené à celui qui existait au moment où le programme "analyse grammaticale" 15 a été appelé et l'exécution du programme "analyse grammaticale" est alors suspendue, ce qui laisse la zone de la mémoire principale dans 1 1 état représenté dans la table 60]?. Le drapeau "échappement* est "mis" pendant PA4 s'il s'agit d'une demande de mot. Il est mis pendant PA12 s'il s'agit d'une demande de phrase. 20 Si pendant PA18 le drapeau "échappement" n'a pas été mis à 1 et, par conséquent, est à 0, cela indique que des entrées dans la couche 0 de la base de données ont été trouvées satisfaisantes au point de vue du critère de- délimitation de concordance (BVCO) mais qu'une demande découché 1 ou de phrase 25 avait été présentée par le demandeur. Si cela se produit, un pointeur d'adresse LIET pointant vers le "meilleur" en-tête d'événement est placé dans ESTAK et le registre de logiciel de longueur de demande de couche 1 (RLÎT1) est incrémenté pendant les pas PA19 à PA22. La commande retourne alors au noeud JOIÎT 2 30 à partir duquel le processus se répète. Si la réponse doit être donnée à partir de la couche 1, le système vérifie mot à mot les "meilleurs" événements de la couche 1. Ces événements sont le résultat des opérations "cadrage/concordance" effectuées sur la couche 0. Une fois que tous 35 les mots de la demande ont été traités, il existe une série de "meilleurse mots sur la couche 1. Ils sont utilisés pour localiser la meilleure demande de phrase. -580- 2334148 En gardant présent à l'esprit le déroulement général du programme "analyse grammaticale", on va maintenant considérer l'exécution du programme "cadrage" en se référant à l'organigramme de ce^programme représenté sur la Fig. 82. Le but du 5 programme "cadrage" est d'examiner la couche convenable dans la base de données pour trouver des "candidats" pouvant convenir comme réponse à une demande à partir de la base de données. 51 une correspondance exacte est trouvée sur la couche O, c'est-à-dire si la demande concorde rigoureusement avec une 10 entrée de la couche 0, mais si une demande de couche 1 a été présentée, il n'est pas nécessaire d'appeler le programme "concordance". La "meilleure" réponse a déjà été trouvée. En gardant présents à l'esprit ces commentaires généraux, on va maintenant considérer de' façon plus détaillée le déroulement du programme 15 "cadrage". La configuration de la mémoire principale, antérieurement à l'appel du programme "cadrage" est représentée dans la table 60D pour l'exemple considéré ici. Le programme "cadrage" commence pendant le pas PU par une préservation du contexte 20 des registres du "minicalculateur". En PI2, un contrôle de l'état de l'aiguillage de couche 1 L1SW est effectué, aiguillage qui est mis à 1 au pas PA12 du programme "analyse grammaticale" si un délimiteur de fin de phrase a été détecté, ce qui indique qu'une demande de couche 1 est en cours de traitement. Dans 25 l'exemple considéré, une demande de couche 0 est en cours de traitement et, en conséquence, L1SW est à 0 et, par conséquentj la commande passe du pas PI2 au pas PI3 de l'organigramme du programme "cadrage". Pendant les pas PI3 et PI4- de l'organigramme, le pointeur d'adresse 200 pointant vers 1'en-tête de 50 raccourci du délimiteur de couche 0 est obtenu et est stocké dans le registre RO; la valeur de largeur d'iso-entropicogramme 52 de la couche 0 de la base de données est obtenue et est stockée dans la zone de stockage HW de la mémoire principale et le registre de logiciel de longueur de demande RLN est mis à 6, 55 ce qui correspond à la longueur de demande de la couche 0 (RLNO). Il est à noter à ce stade que le fonctionnement en PI5 et PI6 est analogue à celui qui se déroule pendant PI3 et PI4-, à ceci près que l'information correspondante est stockée pour la couche 1. -581- 2334148 En PI?, le sous-programme "sortie" est appelé, ce qui provoque une repermutation de la ligne de raccourci du délimiteur jusqu'à sa ligne d'entrée O et la ligne 0 résultante est stockée dans l'une des trois zones du module "mémoire". Dans l'exemple donné, la ligne de raccourci de délimiteur est déjà à sa ligne 'entrée 0 et, en conséquence, les valeurs codées hybrides (codées en code hybride) représentant les valeurs d'apparition 30, 25, 21, 15, 10, 8, 5, 0 sont stockées dans l'une des zones du module "mémoire". La zone dans laquelle la ligne 0 du délimiteur est stockée est identifiée par le registre OAR du module "sortie". Pendant PI8, la ligne de délimiteur 0 est transférée du module "mémoire" dans la zone de mémoire principale DAREA. Pendant PI9, le bit FIRST "premier événement" du registre STATUS du module "jonction du système DPM" est mis à 0, ce qui aura ultérieurement pour conséquence que le module "cadrage" de matériel s'initialisera de lui-même lors du premier appel. Pendant PI10, le registre R4 du "minicalculateur" est réglé de façon qu'il pointe vers la fin d'ESTAK qui contient l'adresse de pointeur LOET 236 de l'événement "B". Le registre R4 se comporte comme un pointeur pendant le traitement d'ESTAK en passant de LOET 236 ("B") à LOET 240 ("R"). Le pointeur de sommet de pile R3 reste inchangé. L'état d'ESTAK et du pointeur R4 est représenté dans la table 60G. Le noeud JOIN 2 et le pas PI11 sont attaqués et le sous-programme "sortie" est rappelé, ce qui provoque cette fois une repermutation de la ligne de raccourci"non de délimiteur" de l'événement identifié par le pointeur R4 (voir table 60G) jusqu'à sa ligne 0 et son stockage dans l'une des trois zones du module "mémoire". Etant donné que chacune des lignes de raccourci, dans l'exemple considéré, est déjà à la ligne 0, la ligne est inchangée. Dans l'exemple, R4 pointe maintenant vers le pointeur LOET 236 de l'événement "B" et, en conséquence, le module "mémoire" contient maintenant le vecteur d'apparition d'événement de 26 en code hybride. Pendant PI12, un contrôle est effectué pour déterminer si la ligne 0 de l'événement actuellement en cours de traitement (événement actuel) se trouve dans la zone 1 du module "mémoire'' et, dans l'affirmative, le pas PI13.1 est atta -582- 2334148 que. Comme décrit plus loin de façon plus détaillée, la zone du module "mémoire" est identifiée par la valeur contenue dans la zone de mémoire principale WOAR. Si la ligne 0 de l'événement actuel n'est pas dans la zone 1 du module "mémoire", la commande 5 passe en P113, pas au cours duquel la ligne O du raccourci de l'événement actuel est transférée dans la zone de mémoire principale ïiAREA, puis dans la zone 1 du module "mémoire". S'il s'agit du dernier événement à traiter,le bit "dernier événement" (LAST) est mis à 1 dans le registre STATUS du module "jonc-10 tion du système DPM" (13.2). Toujours dans l'exemple considéré, pendant PI14-, la ligne 0 du délimiteur est transférée dans la zone 2 du module "mémoire", de sorte qu'elle peut être lue et décodée par le module "décodage" II, comme décrit précédemment. Cela constitue 15 l'une des opérations de l'initialisation du module "cadrage" de matériel. Pendant PI15» le dispositif IPRF du module "jonction du système DPM" est initialisé par stockage du "1" physique de l'événement actuel "B" dans LN1 ; par stockage de la longueur 20 physique 8 du délimiteur # dans LN2; par stockage de la valeur 1 représentant la largeur de cadre dans PW; et par stockage de la longueur de demande 6 dans LERQ. Pendant PI16, l'intervention du module "cadrage" est demandée. Lorsque l'opération est terminée, l'état final est 25 détecté pendant PI17 et PI18 est attaqué. Dans l'exemple décrit, le contenu des zones du module "mémoire" et de la "mémoire P/B" après achèvement des opérations relatives à l'événement "B" est tel que représenté dans la table 60H. La zone 1 du module "mémoire" contient la valeur d'apparition décalée 26 30 et la zone 2 contient la valeur d'apparition du délimiteur de couche 0, tandis que la zone 2 de la "mémoire P/B" contient en séquence une valeur d'apparition décalée 26, une valeur de nombre de correspondances 1 (pour la valeur d'apparition décalée 26) et un marqueur de fin de zone -1. Pendant PI18, le 35 pointeur R.4- d'ESTAK est ajusté de telle façon qu'il pointe vers l'avant-dernier LOET comme représenté dans la table 601. L'événement "E" de couche 0 de la base de données est sur le point d'être traité. -583- 2334148 Pendant PI21, un contrôle est effectué pour déterminer s'il reste des entrées à traiter dans ESTAK, en comparant le pointeur R3 du sommet d'ESTAZ avec le pointeur R4. Si ces deux pointeurs sont égaux, il n'y a plus d'entrée à traiter et PI22 est ensuite attaqué. Dans l'exemple décrit, les pointeurs en question sont inégaux, étant donné qu'il reste des entrées à traiter et, en conséquence, la sortie "faux" de PI21 renvoie le programme au noeud JOIN 2 et au pas PI11 de l'organigramme. La boucle comprise entre PI11 et PI21 est répétée pour l'événement "E" de la couche 0 de la base de données. Après achèvement de cette opération, le contenu de la mémoire principale et celui de la zone 1 de la "mémoire P/B" sont tels que représentés dans la table 601. En particulier, la zone 1 de la "mémoire P/B" contient les valeurs d'apparition décalées 26, 23 et 11 suivies chacune de son compte de correspondances correspondant. En outre, le pointeur R4 d'ESTAK est réglé sur le pointetir LOET 224 pour l'événement "T" et étant donné qu'il ne s'agit pas du dernier événement le fonctionnement reprend par une boucle en JCIN 2, puis les pas PI11 à PI21 sont exécutés. Cette opération d'itération se répète jusqu'à ce que chaque événement d'ESTAK ait été traité. Lorsqu'au cours de PI13.1 le dernier événement d'ESTiîK est détecté, le pas PI13.2 est attaqué et la bascule "dernier événement" (LAST) du registre STATUS est mise à 1. Ultérieurement, pendant PI21 aucune entrée n'est plus détectée et PI22 est attaqué. A ce stade, la mémoire principale et la zone 3 du module "mémoire" sont telles que représenté dans la table 60J. Comme indiqué dans la table 60J, il existe sept entrées dans la couche 0. La zone 3 du module "mémoire" contient une valeur de centre de cadre pour chaque entrée qui contient une correspondance, conjointement à une indication du nombre de correspondances, au centre de cadre correspondant. En ce qui concerne les entrées de la couche O qui ne contiennent pas de correspondance, la valeur de centre de cadre est remplacée par -1 pour indiquer ce fait. Par exemple, comme on peut le voir en se référant à la table 60J, des valeurs de correspondances de centre de cadre ont été trouvées au centre de cadre 26 pour l'entrée 7j au centre de cadre 21 pour l'entrée 6 et -584- 2334148 au centre de cadre 12 pour l'entrée 4, tandis que les autres entrées ne contiennent pas de correspondances pour le mot de demande "BETTER" ("meilleur"). En outre, le pointeur R4 d'ESTAK pointe maintenant vers l'adresse située immédiatement au-dessus 5 du premier pointeur LOET d'ESTAK. Si la valeur de nombre de correspondances qui suit la valeur de centre de cadre est -1, cela indique que la demande a été trouvée exactement dans la couche 0 de la base de données. Cette condition n'est pas remplie dans l'exemple décrit. 10 Au cours du reste du déroulement du programme "cadrage", une fonction de discrimination est appliquée à l'information fournie par le module "cadrage". A cet effet, les réponses possibles qui satisfont à la valeur de délimitation de cadre PCO sont fornées et transmises au module "concordantiel". 15 Au cours de PI22 et la suite, du programme "cadrage", si l'on trouve une valeur de nombre de correspondants es (M) négative, ce qui indique qu'une concordance exacte est trouvée entre la demande et une entrée de la base de données et si une demande de couche 1 a été présentée, il est inutile d'appliquer 20 la fonction concordantielle, étant donné qu'une concordance exacte a été trouvée. On va maintenant considérer ce cas particulier et d'autres opérations effectuées au cours du déroulement du programme "cadrage". En PI22, le registre PNBPTR est réglé de telle manière 25 .que la liste PNBOUT soit nulle ou égale à 0 et les registres A2AD et M3AD du "minicalculateur", qui sont des pointeurs d'adresse pointant vers la "mémoire P/B" et la zone 3 du module "mémoire" du système DPM sont initialisés à 0. En outre, la valeur 8 représentant le nombre de valeurs d'apparition de la 30 ligne 0 de la ligne de raccourci de délimiteur est stockée dans le registre NOC et est décrémentée de 1 de façon qu'elle puisse être utilisée comme pointeur vers les entrées de la couche 0 et, par conséquent, vers les événements de la couche immédiatement supérieure 1. En conséquence, NOC contient mainte-35 nant un pointeur vers la septième entrée de la couche 0, et, par conséquent, vers le septième événement de la couche 1, qui concerne le mot "BEST" ("meilleur"). En outre le pointetir BRCNT est initialisé à 0, de sorte qu'il peut être utilisé -585- 2334148 pour compter le nombre d'entrées qu'il sera nécessaire de traiter ultérieurement par le programme "concordance". Ensuite sont attaqués le noeud JOIÎT 5 et le pas PI23 et la première valeur de centre de cadre 26, ainsi que la va-5 leur de nombre de correspondances 4 sont lues dans la zone 3 du module "mémoire" et stockées dans les registres de logiciel OV et KH. Pendant PI24, on trouve que la valeur de centre de cadre 24 est supérieure à 0, et, par conséquent, la commande passe en PI25. Pendant PI25, la valeur de nombre de correspondances est 10 trouvée supérieure à 0 et, en conséquence, le pas PI29 est attaqué. Pendant PI29, la valeur de nombre de correspondances 4 est comparée avec la valeur de délimitation de cadre 3 et est trouvée plus grande que celle-ci. En conséquence, est attaqué le pas PI30 au cours duquel la valeur de centre de cadre 26 est 15 stockée dans la zone 1 de la "mémoire P/B". Ceci est dû au fait que la valeur de nombre de correspondances 4 est plus grande que la valeur de délimitation de cadre 3, ce qui indique que le mot "BEST" de la base de données est un candidat possible en tant que réponse à la demande, et, par conséquent, doit être traité 20 par le programme "concordance". Pour revenir momentanément à PI25, si la valeur NE du nombre de correspondances est négative (inférieure à 0), ce qui indique une correspondance exacte, le pas PI26 est attaqué et le drapeau "échappement" est vérifié. Si "échappement" est 1, 25 ce qui indique qu'une réponse est attendue à partir de la couche actuellement traitée, toutes les réponses exactes et approximatives qui sont supérieures à la valeur de délimitation de concordance BYCO et qui sont maintenant en cours de traitement doivent être renvoyées au demandeur. En conséquence, PI28 30 est attaqué et la valeur de centre de cadre (07) est écrite dans la "mémoire P/B" puis le registre de logiciel BRCNT est incrémenté de 1 pour garder trace du nombre de valetirs stockées dans la "mémoire P/B". Si le drapeau "échappement" est 0, ce qui indique que la réponse est attendue à partir de la couche 35 immédiatement supérieure 1, il est inutile d'appeler le programme "concordance" étant donné que la partie correspondante de la demande a été trouvée exactement. Si la réponse doit provenir de la couche suivante, tout ce qui est nécessaire à -586- 2334148 partir de cette couche est la "meilleure correspondance". Une correspondance exacte est la "meilleure" correspondance. En conséquence, pendant PI28 et PI30, des valeurs de centre de cadre sont écrites dans la "mémoire P/B" et, comme 5 décrit plus loin, sont transmises au programme "concordance" en vue de leur traitement. Ensuite sont attaqués le noeud JOIN 9 et le pas PI31 de l'organigramme. Pendant PI31, le compteur d'entrées NOC est décrémenté de 7 à 6 pour provoquer le traitement de l'entrée de numéro immédiatement inférieur "THE" 10 ("le") de la couche 0 à traiter. Pendant PI32, l'état du compteur d'entrées NOC est vérifié et étant donné qu'il n'est pas O, le fonctionnement reprend par itération en JOIN 5 et la suite ce qui provoque le traitement de l'entrée "THE" de la manière précédemment décrite. A cet effet, les deux valeurs 15 suivantes sont lues dans la zone 3 du module "mémoire". Ce sont donc la valeur de centre de cadre 21 et la valeur de nombre de correspondances 2 qui sont maintenant lues (voir table 60J). En PI24, la valeur de centre de cadre 21 est plus grande que 0 et, par conséquent, PI25 est attaqué. Pendant 20 PI29, la valeur de nombre de correspondances 2 est plus petite que la valeur de délimitation de cadre 3 et, par conséquent, la commande passe directement en JOIN 6, JCIN 8 et JOIN 9 jusqu'à PI31» en shuntant PI30. Cette opération est effectuée en raison du fait que le mot "THE" de la base de données ne satisfait 25 pas à la valeur de délimitation de cadrage 3» de sorte que la valeur de centre de cadre correspondante 21 n'est pas transmise au programme "concordance" en vue de son traitement. Pendant PI31, le compteur d'entrées NOC est décrémenté de 1, c'est-à-dire est ramené à 5» ce qui correspond à l'entrée 5 de la 30 couche 0. En se référant à la table 60J, on peut voir que l'entrée 5 contient un centre de cadre -1 et une valeur de nombre de correspondances 0 indiquant que le mot d'entrée actuel "WHICH" ("lequel") en cours de traitement ne comporte aucune 35 lettre en commun avec la demande. En conséquence, pendant PI24, la valeur de centre de cadre négative est notée et le noeud JOIN 9 est attaqué en shuntant les pas PI25 à PI30. En conséquence, le programme "cadrage" ne provoque aucun stockage correspondant à l'entrée 5 dans la"mémoire P/B". -587- 2334148 Le programme "cadrage" se poursuit par la boucle de JOIN 2 à PI32 jusqu'à ce que chaque entrée de la couche en cours de traitement ait été vérifiée. Une fois que ces opérations sont terminées, le pointeur d'entrées NOC est décrémenté 5 à O pour l'exemple considéré. Lorsque cela se produit, la mémoire principale et la "mémoire P/B" sont telles que représenté dans la table 60K. Par exemple, la "mémoire P/B" contient les valeurs de centre de cadre 26 et 12 et le marqueur de fin de zone -1. Les centres de cadre 26 et 12 correspondant aux mots 10 "BEST" et "TEST" de la base de données sont les seuls qui doivent être traités par le programme "concordance". On va maintenant examiner le déroulement général du programme "concordance" pour l'exemple considéré. Le programme "concordance" demande l'intervention du module "concordantiel". 15 Le module "concordantiel" calcule la valeur concordantielle pour chaque entrée qui lui a été transmise par le programme "cadrage". Les entrées dont les valeurs concordantielles sont supérieures à la valeur de délimitation de concordance (BVCO) sont placées dans une liste ordonnée de la mémoire principale, ^0 liste qui est dénommée PHBOUT, conjointement à la valeur concordantielle correspondante (BV), puis sont renvoyées au demandeur. Les configurations de zone intéressantes de la mémoire principale et de la "mémoire P/B" antérieurement à l'appel du programme "concordance" sont représentées dans la table 60E. 25 On va maintenant considérer le déroulement du pro gramme "concordance" tel qu'il est représenté par l'organigramme de la Fig. 94. Pendant BR1, le contexte du programme "analyse grammaticale" est préservé, de façon que ce programme puisse être repris après le programme "concordance1^? Pendant 30 BR2, des registres de boucle sont initialisés de façon que chaque événement de la base de données qui correspond à la demande puisse être traité. A cet effet, le contenu du registre de logiciel RLN qui comprend la valeur 6 représentant le nombre d'entrées 6 de la demande est stocké dans le registre LNRQ du 35 dispositif IPEF du module "jonction du système DPM". Le noeud JOIN 1 et le pas BR3 de l'organigramme sont attaqués et le sous-programme de logiciel "sortie" est appelé. Le sous-programme "sortie" forme la ligne 0 du raccourci d'événement "non de dé -588- 2334148 limiteur" identifié par le pointeur R4 d'ESTAK (moins 1). Initialement, le pointeur R4 d'ESTAK identifie le pointeur LOET 240 et, par conséquent, une fois décrémenté de 1, il identifie le pointeur LOET 224 correspondant à l'événement "B". La ligne 5 0 formée pendant BR3 sera dénommée ci-après "raccourci actuel". La ligne 0 du raccourci actuel est alors formée pai* le sous-programme "sortie" dans une zone du module "mémoire". En conséquence, cette zone du module "mémoire" contient la valeur d'apparition 26 correspondant à l'événement "B" de la couche 0. 10 Le pas BR4 est attaqué et, au cours de ce pas, un con trôle est effectué pour s'assurer que la ligne 0 du raccourci actuel a bien été stockée dans la zone 1 du module "mémoire" et s'il n'en est pas ainsi le pas BR5 est attaqué et ladite ligne 0 est alors transférée dans ladite zone 1. 15 Pendant BR6, la longueur de la ligne 0 du raccourci actuel de l'événement "B", longueur qui est égale à 1, est transférée dans le registre LN1 du dispositif IPRF dans le module "jonction du système DPM". En outre, la valeur 8 représentant la longueur du délimiteur de mot est transférée dans le registre 20 LN2 du dispositif IPRF. La commande passe alors en BR7, pas au cours duquel la ligne 0 du délimiteur de mot est transférée dans la zone 2 du module "mémoire" à partir de la zone DAREA de la mémoire principale. Pendant ER8, le module "concordantiel" de matériel est appelé pour l'entrée 7 de l'événement "B". Une 25 fois que le module "concordantiel" a achevé ses opérations, la zone 2 de la "mémoire P/B" contient les valeurs indiquées dans la table 60L. En BR9, un contrôle est effectué pour déterminer si les opérations sont achevées. Dans la négative, la commande 30 repasse en BR3. A cet effet, pendant BR9, l'état du pointeur R4 d'ESTAK est comparé avec le pointeur de sommet de pile R3 et étant donné que toute l'information contenue dans ESTAK n'a pas encore été traitée, les deux pointeurs sont inégaux, ce 35 Qui provoque un retour de la commande en JOIN 1. D'une manière analogue à ce qui a été décrit ci-dessus à propos de l'événement "B", l'événement "E" est traité pendant la boucle d'itération comprenant JOIN 1 à ER9« En conséquence, la représentation -589- 2334148 de-ligne 0 de la ligne de raccourci de l'événement "E" est engendrée et stockée dans la zone 1 du module "mémoire" pendant les pas BR4- et BR5 et les valeurs de longueur 3 et 8 sont transférées dans le dispositif IPRF pendant BR6. La ligne 0 du 5 délimiteur est transférée dans la zone 2 du module "mémoire" pendant BR7. Pendant BR8, le module "concordantiel" est rappelé, ce qui provoque la formation des résultats représentés dans la table 60M dans la zone 1 de la "mémoire P/B". Etant donné que toutes les entrées dans ESTAK n'ont pas été traitées et que R4 10 n'est pas encore égal au registre de sommet de pile R3» la commande repasse à nouveau en JOIN 1. Ce processus se poursuit avec itération de la boucle jusqu'à ce que toutes les autres entrées d'ESTAK aient été traitées. Lorsque toutes les entrées d'ESTAK ont été traitées et que le pointeur R4- d'ESTAK est égal 15 au pointeur de sommet de pile R3? les pas BR12 et la suite sont attaqués. Le contenu de la zone 3 de la "mémoire P/B" est alors tel que représenté dans la table 60N. En conséquence, la zone 1 de la "mémoire P/B" contient les délimiteurs 25 et 10 correspondant aux délimiteurs de début des entrées "BEST" et "TEST" de 20 la couche 0 de la base de données. Après chaque délimiteur de début, on trouve dans l'ordre le nombre de correspondances pour l'entrée correspondante (N), la valeur ô (Ô-min) et la valeur dQ de l'entrée correspondante. Les résultats fournis par le module "concordantiel" de matériel maintenant contenus dans la 25 zone 1 de la "mémoire P/B" et qui sont représentés dans la table 60N sont alors utilisés pour calculer une valeur concordantielle BV et pour ordonner les résultats du processus concordantiel. Le numéro de l'entrée correspondant aux quatre pre-30 mières valeurs concordantielles contenues dans la zone 1 de la "mémoire P/B" est maintenant déterminé. A cet effet, pendant BR13j le compteur d'événement NOC est réglé à 7 pour indiquer que le programme "concordance" est en train de traiter l'entrée 7 de la couche 0 correspondant à l'entrée "BEST". Pendant BR14, 35 le module "décodage" I est appelé, ce qui provoque le chargement par ce module de la valeur d'apparition de délimiteur de fin 30 dans le registre de logiciel TD2. Pendant BR15j les quatre premières valeurs concordantielles sont lues dans la zone 1 de -590- 2334148 la "mémoire P/B" et sont stockées dans des registres de logiciel du "minicalculateur". Ces registres et les valeurs qu'ils contiennent maintenant sont indiqués ci-après : D1 = 25 5 N = 5 S = 5 DO = 28 Pendant BR16, la valeur d'apparition de délimiteur de début (la suivante dans l'ordre) est lue sur la ligne 0 du rac-10 courci de délimiteur et est stockée dans le registre de logiciel TD1. A ce stade, le registre de logiciel TD2 contient 30 et le registre de logiciel TD1 contient 25 et la longueur de l'entrée correspondante, à savoir l'entrée 7» est maintenant calculée par détermination de la différence entre les contenus 15 respectifs de ces deux registres. Le résultat, en l'occurrence une valeur 4, est stocké dans le registre de logiciel I£S. Pendant BR17, le délimiteur contenu dans le registre TD1 est comparé avec le délimiteur de début 25 stocké dans le registre D1 à partir de la zone 1 de la "mémoire P/B" et ces 20 deux délimiteurs sont trouvés égaux, étant donné qu'ils concernent la même entrée. Du fait de-cette égalité, la commande passe en BR19 et le calculateur convertit les valeurs maintenant stockées dans les registres de logiciel en notation en virgule flottante. Pendant les pas BR 17 à BR22, la valeur de 25 dispersion S indiquée dans les équations 8 et 9 est calculée comme suit : En BR20, V1 est calculé : V1 = (HLN-N)* RLN + DO = (6-5)* 6+28 30 = 34 BR21 : V2 = DO-S = 28-4 = 24 35 BR22 : V1 = V2/V1 = 24/34 = 0,706 -591- 2334148 En. conséquence, apr-s BR22, la valeur de dispersion S est telle que représentée en Vi ci-dessus. Pendant BR23, l'état de l'aiguillage LNGSW est vérifié. La longueur de demande doit être prise en ligne de compte 5 et, étant donné que LNGSW est à i, le facteur de longueur L indiqué dans l'équation 11 doit être pris en considération. En conséquence est attaqué le pas BR25, au cours duquel la valeur DEL correspondant à DELTA dans l'équation 11 est trouvée égale à 2. En ce référant à l'équation 11, on peut voir que, si la 10 valeur DELTA est plus petite que la valeur de la longueur de demande LNRQ, l'équation supérieure de l'équation 11 doit être utilisée pour déterminer le facteur de longueur L. En conséquence est attaqué le pas BR27 au cours duquel les calculs suivants sont effectués : 15 L = 1 - (a * (DEL/RLN) )5 = 1 - (0,63 * (2/6) )5 = 1 - (0,2079)5 = 0,99i La commande passe alors en BR29 par l'intermédiaire de 20 JOIN 6 et JOIN 2? et, en BR29, la valeur concordantielle finale BV est déterminéoéomme suit : BV = L * Vi » 0,706 * 0,991 = 0,699 25 La valeur de délimitation de concordance BVCO a été réglée à 0,50 par le demandeur. Pendant BR30, la valeur concordantielle BV calculée au cours de BR29 est comparée avec la valeur de délimitation de concordance BVCO et, étant donné qu'elle est plus grande que cette dernière, l'entrée actuelle-30 ment en cours de traitement satisfait à la valeur de délimitation de concordance. En conséquence, BR31 est attaqué et la valeur 7 correspondant à l'entrée actuelle (NOC = 7) est stockée dans la zone de mémoire principale PNBOUT où elle est suivie de la valeur concordantielle 0,699. Pendant BR32, BRCNT qui 35 identifie le nombre d'entrées dans la zone 1 de la "mémoire P/B" est réduit de 1 à 0. Etant donné que BRCNT est 0 et non paginférieur à 0, la commande repasse en JOIN 4 comme indiqué par le symbole * 2.1 et la boucle est reprise jusqu'en BR32; les quatre valeurs concordantielles suivantes du délimiteur de -592- 2334148 début 10 sont alors traitées à partir de la zone 1 de la "mémoire P/B" de la manière précédemment décrite. La valeur concordantielle BV" de l'entrée correspondant au délimiteur de début 10 de la table 60N est 0,4620. En conséquence, pendant BR30, 5 on trouve que cette valeur est inférieure à la valeur de délimitation de concordance BVCO et par suite BR3i est sauté, les pas BR32 et BR33 étant alors attaqués directement. En conséquence, une valeur d'entrée correspondant au délimiteur de début 10 (voir table 60M) n'est pas stockée dans PNBOUT en raison 10 du fait que sa valeur concordantielle ne satisfait pas à la valeur de délimitation de concordance initialement choisie par le demandeur. Lorsque BR33 est ensuite attaqué, on trouve que BRCNT a maintenant été réduit à moins de 0 et, en conséquence, BR34 est attaqué et lo&éroulement du programme "concordance" 15 est suspendu. A ce stade le contenu de la mémoire principale est tel que représenté dans la table 60O. B. Programme "composition" L'appendice B-9 est un listage de programme relatif au programme "composition". La Fig. 102C est un organigramme de 20 ce programme. Les pavés de l'organigramme sont identifiés par les symboles Fi à F9. La relation entre l'organigramme de la Fig. 102C et l'appendice B-9 est indiquée dans celui-ci où, sur le côté gauche, les symboles Fi à F9 sont représentés le long du listage correspondant. 25 On va maintenant décrire le déroulement du programme "composition" en se référant à l'organigramme de ce programme représenté sur la Fig. 102C. Le programme "base de données" provoque l'appel du programme "composition". Tout d'abord est attaqué le pas Fi de 1'organigramme du programme "composition", 30 au cours duquel le contexte est préservé d'une manière analogue à celle qui a été décrite précédemment et au cours duquel le drapeau de logiciel ENDFLG- est "effacé" ou remis à 0. La commande passe alors en F2 par l'intermédiaire du noeud JOIN 10. Pendant F2, le programme "composition" demande l'exé-35 cution du sous-programme "imprimante" qui sort dans l'imprimante un caractère de retour du chariot, un caractère d'avancement d'un interligne et un astérisque * . Le caractère de retour du chariot ramène le chariot au début d'une ligne et le -593- 2334148 caractère d'avancement d'un interligne provoque le réglage du papier à une nouvelle ligne par le rouleau. L* astérisque est affiché par l'imprimante pour indiquer au demandeur que le système est prêt à accepter le reste de la demande (le "blanc" 5 est simplement utilisé pour séparer les astérisques de la demande du demandeur). CKLFA indique au programme "imprimante" qu'il s'agit d'une chaîne de longueur 4-, @ @ * (blanc) F3 est maintenant attaqué et le demandeur tape le 10 premier caractère de la demande sur la console d'opérateur. Pendant F3, le programme "composition" demande l'exécution du sous-programme "sélection d'un caractère" qui à son tour lit le caractère tapé par le demandeur sur la machine à écrire. Pendant F4-, une comparaison est effectuée pour véri-15 fier si le caractère qui vient d'être obtenu de la machine à écrire est un délimiteur de phrase ( ~H~ ). Si la comparaison donne "faux11, c'ést-à-dire si le caractère n'est pas un délimiteur de phrase, F5 est attaqué et le même caractère est à nouveau comparé pour déterminer si c'est un délimiteur de mot. Si 20 la comparaison effectuée en F5 donne "faux" et si, par conséquent, le caractère n'est pas un délimiteur de mot, le pas F6 est attaqué. Cette séquence d'opérations comprenant les pas F4 et F5 indique alors que le caractère n'est ni un délimiteur de phrase ( ni un délimiteur de mot ou "blanc" (>0 et, par 25 conséquent, le caractère de la demande identifie un ordre. En conséquence F6 est attaqué. Pendant F6, le programme "composition" demande l'exécution du sous-programme "ordres". Celui-ci détermine si un ordre significatif est vraiment présenté ou s'il s'agit d'une 30 erreur. Après F6, F8 est attaqué. On va maintenant revenir à F4- et supposer que la comparaison a donné "vrai", ce qui indique qu'un délimiteur de phrase ( ) a été tapé par le demandeur. Dans ces conditions le noeuf JOIN 20 et le pas F7 sont attaqués. 35 Pendant F?, le sous-programme Hemande de consultation" est appelé. Cela se produit en raison du fait que, si le premier caractère est un délimiteur de phrase (-//- ) alors les caractères suivanta qui doivent être tapés par le demandeur -594- 2334148 sont les caractères de demande. On remarquera que, si pendant F5, la comparaison donne "vrai" et si, par conséquent, un délimiteur de mot (#) est détecté, JOIN 20 et F7 sont successivement attaqués et les caractères introduits sur la machine à écrire 5 après le délimiteur de mot 00 sont traités. Après F7, JOIN 30 et F8 sont attaqués. Pendant F8, un contrôle est effectué pour vérifier que le drapeau ENDFLG n'a pas été mis, c'est-à-dire est 0, ce qui indique que le demandeur n'a pas atteint la fin de sa demande. 10 Si ENDFLG n'est pas mis, cela indique que l'utilisateur n^dé- sire pas terminer la séance en cotirs et par conséquent, JOIN 10 et F2 sont repris et le processus se poursuit comme décrit précédemment . Lorsque le demandeur atteint la fin de sa demande, il 15 tape un ordre "END" (fin). L'ordre END provoque la mise à 1 du drapeau ENDFLG par le sous-programme "ordres" (voir F6). Lorsque cela se produit et que l'état 1 du drapeau ENDFLG est détecté pendant F8, le pas F9 est attaqué et, au cours de ce pas, le contexte du programme est restauré et le programme 20 "composition" est suspendu. C. Programme "analyse grammaticale" Comme décrit plus loin de façon plus détaillée, le programme "demande de consultation" forme des signaux codés dans une zone PSTRING de la mémoire principale. Les signaux 25 codés représentent la demande présentée par le demandeur sur la machine à écrire et offrent la forme représentée dans la table 60. Les délimiteurs # et sont en code ASCII. Les lettres comprises entre les délimiteurs ont été converties en numéros d'événement de couche 0 qui sont représentés dans la 30 table 60B. PSTRING est traité par le programme "analyse grammaticale" en commençant par son délimiteur de début et en terminant par son délimiteur de fin. Le registre R4 contient toujours l'adresse de l'événement doéouche 0 de PSTRING qui doit être traité par le programme "analyse grammaticale". 35 Le programme "analyse grammaticale" convertit l'infor mation de PSTRING en ESTAK. ESTAK est une zone d,e la mémoire principale et le programme "analyse grammaticale" stocke un pointeur d'événement; de couche (LXET) (voir Fig. 77? 78A et 78B) -595- 2334148 dans ESTAK pour chacun des caractères "non de délimiteur" de PSTRING et stocke également une valeur, représentant le nombre de pointeurs LXET contenus dans ESTAK, dans le registre de logiciel RLNO. Les registres "cadrage" et "concordance" sont alors 5 appelés par le programme "analyse grammaticale", ce qui provoque la formation de PNBOUT. PNBOUT est représenté en 2211 pour la demande de couche O de la Fig. 102A et en 2233 pour la demande de couche 1 de la Fig. 102B; il contient une série de paires de valeurs. , la première valeur de chaque paire étant 10 un numéro d'événement (E) et la seconde, une valeur concordantielle correspondante (BY). Seules les paires de valeurs qui comprennent une valeur concordantielle dépassant la valeur de délimitation de concordance sont stockées dans PNBOUT. La table 59 est une liste des drapeaux et des registres 15 de matériel et de logiciel ainsi que des zones de la mémoire principale utilisées pour le programme "analyse grammaticale". L'appendice B-1 est un listage de programme relatif au programme "analyse grammaticale". Les Fig. 80 et 81 forment un organigramme du programme "analyse grammaticale". Les sym-20 boles PA1 à PA22 identifient les pavés utilisés dans l'organigramme. La correspondance entre les listages de programme et l'organigramme est indiquée à gauche dans les listages où les symboles des pavés de l'organigramme du programme "analyse grammaticale" sont représentés. 25 On va maintenant considérer l'organisation du pro gramme "analyse grammaticale" en se référant à l'organigramme des Fig. 80 et 81. Initialement, le programme "analyse grammaticale" est appelé par le sous-programme "demande de consultation" (voir R27î Fig. 106), ce qui provoque l'attaque du pas 30 PA1' de l'organigramme. Pendant PA11, les instructions MOV (de transfert) stockent le contenu des registres de matériel RO, R1, R2, R3 et R4- du "minicalculateur" à des emplacements de mémoire réservés en vue d'un futur rappel de ces registres après l'achèvement de l'exécution du programme "analyse gramma-35 ticale". Ceci est indiqué en PA1' par la mention "préserver contexte". Ceci permet à la machine de reprendre le sous-programme "demande de consultation" au point auquel le programme "analyse grammaticale" a été appelé. En outre, les dra- -596- 2334148 peaux de logiciel L1SW, "échappement" et BRSW sont tous remis à O comme indiqué par les instructions CLR (d'effacement). En outre, l'instruction MOV 7%^ESTAK, R3 provoque le transfert de l'adresse de'début d'ESTAK dans le registre de matériel R3-5 Pendant PA1, l'instruction MOV a pour effet de placer le délimiteur de début de la demande contenue dans PSTRING, délimiteur vers lequel pointe le registre de matériel R4, dans le registre de matériel R2 et l'adresse contenue dans le registre R4- est incrémentée de 1, après quoi ce dernier registre 10 contient l'adresse du caractère suivant de la demande contenue dans PSTRING. Pendant PA2, on détermine si le premier caractère de la demande contenu dans le registre R2 est un délimiteur de mot Jf. Dans l'affirmative, le pas PA4 de l'organigramme est 15 attaqué. Dan$la négative, il doit s'agir d'un délimiteur de phrase et, en conséquence PA3 est attaqué. A cet effet, l'instruction CMP (de comparaison) provoque la comparaison du caractère de la demande contenu dans le registre R2 avec la valeur de contenue dans le registre de logiciel WDEL 20 et l'instruction BEQ provoque un branchement sur "égal à PF1" du listage du programme "analyse grammaticale", co^ui provoque l'attaque du pas PA4 de l'organigramme. Si un délimiteur de mot # est détecté, cela signifie qu'une demande de couche 0 (couche de mots) est présentée. 25 Si un délimiteur de phrase J=t=rest détecté, cela signifie qu'une demande de couche 1 (couche de phrases) est présentée. On supposera qu'un délimiteur de phrase 7^ est détecté au cours de PA2 et que, par conséquent, PA3 est-attaqué. Cela se produit lorsqu'une demande de couche 1 (couche de phrases) 30 est présentée. Pendant PA3, le registre RLN1 est remis à 0 en réponse à l'instruction CLR. En outre, le délimiteur de mot K qui suit toujours le délimiteur de phrase 7%^ est shunté en utilisant l'instruction fictive TST qui, en fait, provoque une incrémentation de 1 du compteur d'adresse de demande en sautant 35 ainsi le délimiteur de mot #. En conséquence, le registre R4-contient maintenant l'adresse du premier caractère "non de délimiteur" de la demande contenue dans PSTRING. L'instruction de branchement BR provoque un branchement en JOIN 1 du programme -597- 2334148 "analyse grammaticale", ce qui provoque l'attaque des noeuds JOIN 1 et JOIN 2 et du pas PA5 de l'organigramme. Pour revenir à PÀ2, on supposera maintenant qu'un délimiteur de mot # est détecté et que, par conséquent, PA4- est 5 attaqué après PA2. Cela se produit lorsqu'une demande de mot (ou de couche 0) est présentée. Dans ces conditions, l'aiguillage "longueur" (logiciel) LNGSW est mis à 1 pour assurer que le programme "concordance" tiendra compte de la longueur de la demande lors de la détermination d'une valeur concordantielle. 10 Plus précisément, la mise à 1 de l'aiguillage LNGSW empêche le programme "concordance" de recouvrer des mots de la base de données contenant le mot demandé en tant que partie d'un mot plus long. Par exemple "fundaMENtal" (fondamental) contient exactement le mot "MEN" (hommes) et, par conséquent la valeur 15 concordantielle de ce mot serait inférieure à celle du mot "MEN" seul» En conséquence, la première instruction d'incrémentation INC provoque la mise à 1 du drapeau LNGSW. En outre, la seconde instruction INC provoque la mise à 1 du drapeau "échappement" pour assurer qu'on sortira de l'organigramme "analyse 20 grammaticale" après le recouvrement d'un unique mot de la demande, étant donné qu'il n'y a qu'un seul mot dans une demande de couche 0 ou de mot. On remarquera que le noeud JCIN 1 suit immédiatement le pas PA4. Pendant PA5, l'instruction CLR provoque la remise à 25 0 du registre RLNO, ce qui initialise ce registre à son état initial. L'instruction de "sortie" CLR provoque la remise à 0 du drapeau "boucle", c'est-à-dire son effacement. Après PA5, le noeud JOIN 3 et le pas PA6 de l'organigramme sont successivement attaqués. 50 Pendant PA6, l'instruction MOV provoque le stockage du numéro d'événement de couche 0 suivant de la demande contenue dans PSTRING, spécifié par le registre R4, dans le registre de matériel R2 et l'adresse contenue dans le registre R4 est incrémentée à l'adresse du numéro d'événement de couche 35 0 suivant de PSTRING. PA7 est ensuite attaqué. Pendant PA7, un contrôle est effectué pour déterminer si un délimiteur de phrase est maintenant contenu dans le registre R2. A cet effet, l'instruction CMP compare la valeur -598- 2334148 du registre E2 avec le délimiteur de phrase contenu dans le registre de logiciel SDEL et l'instruction "brancher sur non égal" BEE provoque en branchement en PF2 du programme "analyse grammaticale" et, par conséquent, sur le pas PA8 de l'organi-5 gramme, si une condition de non-égalité est détectée. Sinon le pas PA12 de l'organigramme est attaqué. Pendant PA8, étant donné qu'au cours de PA7 aucun délimiteur de phrase ^n'a été trouvé, la valeur du registre E2 est soit un délimiteur de mot #, soit l'un des nombres d'événe-10 ment de couche 0 "non de délimiteur" de la demande. PA8 détermine laquelle de ces deux données est stockée dans le registre E2. A cet effet, l'instruction CMP compare la valeur du registre E2 avec le délimiteur de mot stocké dans le registre de logiciel WDEL et l'instruction BEE provoque un branchement sur 15 PF3 du programme "analyse grammaticale" si une condition "non égal" est détectée tandis que PA11 de l'organigramme est attaqué si une condition "égal" est détectée. Le pas PA9 de l'organigramme est attaqué si la valeur actuelle contenue dans le registre de matériel E2 n'est, ni un 20 délimiteur de phrase 7^ ni un délimiteur de mot # (voir PA7 et PA8). En conséquence, pendant PA9, la valeur contenue dans le registre E2 représente un caractère "non de délimiteur" de la demande. Le numéro d'événement de couche 0 de R2 est un pointeur d'adresse relative de base pour la table de pointeurs 25 d'événement de couche 0 LOET (voir Fig. 78). En conséquence, le pointeur d'adresse relative de base du registre E2 est ajouté à l'adresse de base LOET pour former une adresse dans la table de pointeurs d'événement de couche 0 LOET qui contient le pointeur d*adresse pointant vers 1'en-tête de raccourci corres-50 pondant. L'adresse de 1'en-tête de raccourci est alors placée au premier emplacement de mémoire d'ESTAK, dont l'adresse est spécifiée par le registre de matériel E3. La valeur stockée dans ESTAK est ultérieurement utilisée par les programmes "cadrage" et "concordance". A cet effet, pendant PA9, l'instruc-35 tion de transfert MOV LOET (E2), -(E3) a pour effet que le "minicalculateur" retranche 1 de l'adresse d'ESTAK contenue dans le registre R3, puis ajoute la valeur du caractère contenu dans le registre E2 à l'adresse de base LOET pour former une -599- 2334148 adresse dans la table de pointeurs d'événement de couche 0 LOET, à partir de laquelle l'adresse de 1*en-tête de raccourci correspondant est obtenue et stockée à l'emplacement de mémoire spécifié par l'adresse contenue dans le registre de matériel R3. En 5 conséquence, le premier emplacement d'ESTAK contient maintenant le pointeur d'adresse de la base de 1'en-tête de raccourci d'événement, événement qui correspond-au premier caractère "non de délimiteur" de la demande. Pendant PA10, l'instruction d'incrémentation INC pro-10 voque une incrémentation de 1 du registre de logiciel RLNO pour refléter le fait qu'une première valeur est maintenant stockée dans ESTAK. Les noeuds JOIN 4 et JOIN 5 et le pas PA13 de l'organigramme sont maintenant successivement attaqués. 15 On va maintenant revenir à PA8 et supposer que la va leur contenue dans R2 est un délimiteur de mot #. Il s'agit d'un délimiteur de fin. Le pas PA11 de l'organigramme est maintenant attaqué. Pendant PA11, l'instruction INC provoque la mise à 1 du drapeau "suspension" et l'instruction JMP provoque 20 un saut en JOIN 4 du programme "analyse grammaticale". Le fait que le drapeau "suspension" est à 1 indique que le programme "analyse grammaticale" est sur le point d'appeler les programmes "cadrage" et "concordance" pour traiter le contenu d'ESTAK. 25 On va maintenant revenir à PA7 et supposer que la va leur de R2 est un délimiteur de phrase 9^ indiquant la fin d'une demande de couche 1 ou de phrase. Dans ces conditions PA12 est attaqué et le drapeau "suspension" est mis à 1 pour indiquer que tous les numéros d'événement "non de couche 0" 30 de PSTRING ont été convertis en pointeurs d'adresse d'en-tête de raccourci et ont été stockés dans ESTAK. Le drapeau de logiciel "échappement" est également mis à 1 pour indiquer que tous les événements de la couche 0 ont été traités pendant -les pas PA14 à PA19. Si le délimiteur de phrase est trouvé, 35 cela signifie que tous les mots de la demande ont été traités au niveau de la couche 0. En outre, l'aiguillage de décision de couche 1 L1SW, est mis à 1 ce qui provoquera ultérieurement le transfert des paramètres convenables dans les registres de travail lors de l'appel du programme "cadrage". -600- 2334148 Après PA12, le noeud JOIN 5 et le pas PA13 de l'organigramme sont successivement attaqués. Pendant PA13, le drapeau de logiciel "suspension" est vérifié pour déterminer s'il a été mis à 1 ou s'il est à 0. 5 A cet effet, l'instruction de test TST vérifie le drapeau "suspension"et une instruction " brancher sur non égal" BNE provoque un branchement en PA14- du programme "analyse grammaticale" si le drapeau "suspension" est 1, tandis que l'instruction JMP provoque un saut en arrière en JOIN 3 si le drapeau 10 "suspension" est 0. Par conséquent, le pas PA14- de l'organigramme est attaqué si le drapeau "suspension" est 1, ce qui indique qu'une demande complète a trouvé sa contre-partie sur la couche 0 et le noeud JOIH 3 est attaqué si le drapeau "suspension" est 0, ce qui indique qu'il reste encore d'autres 15 événements dans cette demande. Pendant PA14-, le programme "cadrage" est appelé par le programme "analyse grammaticale" qui le contraint à exécuter^ sa fonction de "cadrage" sur les événements spécifiés par les pointeurs d'adresse d'en-tête de raccourci contenus dans ESTAK. 20 A cet effet, l'instruction "cadrage" JSE E5 appelle le sous-programme ou programme "cadrage". Le déroulement du programme "cadrage" et le fonctionnement du matériel "cadrage" associé seront décrits plus loin. Après PA14- est attaqué le pas PA15, au cours duquel 25 l'aiguillage de logiciel BRSW est vérifié pour déterminer s'il est à 1, ce qui indiquerait que le module "concordantiel" doit maintenant être appelé, ou s'il est à 0, ce qui indiquerait que l'opération concordantielle doit êt£e sautée. On remarquera que BESW est remis à O par le programme "cadrage" pendant PI27 30 pour indiquer si un appel de "cadrage" est inutile. A cet effet, l'instruction de test TST vérifie BRSW pour voir s'il est à 1 et, dans la négative, l'instruction BEQ PA16 provoque l'attaque du pas PA16 de l'organigramme, tandis que, si l'aiguillage BRSW est à 1, le pas PA17 de l'organigramme est attaqué. 35 RLN est un registre de travail qui est rempli pendant le programme "cadrage" (PI4-, FI6). Ce registre contient la longueur de l'entrée actuelle, qu'elle concerne la couche 0 ou la couche 1. Le pas PA16 de l'organigramme est attaqué si l'ai -601- 2334148 guillage BRSW est 0 et si, par conséquent, la "meilleure correspondance" se trouve déjà dans la liste de logiciel PNBOUT. Les événements de l'entrée actuelle sont "éjectés" de la pile ESTAK. Cette opération est assurée par l'instruction ADD ELIT, 5 R3 qui provoque l'addition du nombre d'événements de cette entrée à R3, ce qui les efface effectivement d'ESTAK. Après PA16, le noeud JOIN 6 et le pas PA18 de l'organigramme sont successivement attaqués. On va maintenant revenir en arrière et supposer que 10 le pas PA17 de l'organigramme est attaqué. Pendant EAi75 l'instruction JSR R5, BRIGHT appelle le programme "concordance". L'instruction "branchement" BR provoque l'attaque du noeud JOIN 6 du programme "analyse grammaticale" après la fin du programme "concordance". 15 Le programme "concordance" forme dans PNBOUT l'infor mation représentée en 2213 de la Fig. 102A pour une demande de couche 0 ou de mot et l'information représentée en 2233 de la Fig. 102B pour une demande de couche 1 ou de phrase. En conséquence, lorsque PA18 est attaqué et si "échappement" est à i, 20 PNBOUT contient une série de paires de valeurs, la première " valeur de chaque paire étant un numéro d'événement (E) et la seconde étant une valeur concordantielle (BV). Seuls les événements dont la valeur concordantielle dépasse la valeur de délimitation de concordance (BVCO) -apparaissent dans PNBOUT. 25 Pendant PA18, un test est effectué sur le drapeau "échappement". A cet effet l'instruction de test TST assure un contrôle pour déterminer si le drapeau "échappement" est un "1" ou un "0". Si le drapeau "échappement" est un "1", le résultat du test est "vrai" et le pas PA23 de l'organigramme est 30 attaqué. Le drapeau "échappement" est mis à 1 pendant PA12 lorsqu'un délimiteur de fin de phrase a été précédemment détecté pendant PA12 ou lorsqu'une demande de couche 0 a été présentée (pendant PA4-). Lorsque cela se produit, la valeur concordantielle a été calculée pour la couche de la demande. En consé-35 quence, s'il s'agit d'une demande de couche 0, la valeur concordantielle se trouve sur la couche 0 et s'il s'agit d'une demande de couche 1, la valeur concordantielle se trouve sur la couche 1. 602- 2334148 PA23 provoque la restauration du contexte du "mini-calculateur" dans le programme "demande de consultation" et un établissement des paramètres de sortie. A cet effet, l'instruction MOV associée aux registres EO à E4 provoque la restauration ou le réenregistrement dans ces registres de leur contenu antérieur qui a été préservé pendant PA11. L'instruction MOV-^^PMBTR, EO provoque le stockage de l'adresse de début de la zone de mémoire à deux mots FNBTE dans le registre EO. Ensuite, le programme "analyse grammaticale" est suspendu. On va maintenant revenir à PA18 et supposer que l'instruction "branchement sur non égal" BNE a détecté que le drapeau "échappement" est 0 et, par conséquent, que le test TST a détecté un état "faux". Dans ces conditions, les pas PA18-PA22 de l'organigramme sont attaqués. PA19 vérifie PÏÏBCNT pour déterminer s'il contient une valeur non nulle, c'est-à-dire si une entrée calculée a été trouvée supérieure à la valeur de délimitation de concordance (BVCO). Si aucune entrée de ce type n'a été trouvée, la commande passe en PA20 où un numéro d'événement du raccourci nul est stocké dans E2. Cette opération est effectuée en raison du fait qu'on n'a pas trouvé d'entrée correspondant étroitement à une information quelconque contenue dans la base de données. Toutefois, pour maintenir les positions relatives des événements de la demande, un numéro d'événement de raccourci nul est introduit dans celle-ci. Par contre, si une entrée "optimale" a été trouvée, le numéro d'événement est transféré de P33BTE à E2 au pas PA21. Au pas PA22, ce numéro d-'événement (numéro d'entrée de couche 0 ou numéro d'événement de couche 1) est utilisé pour localiser l'adresse d'en-tête d'événement de couche 1 correspondant à partir de L1ET qui est empilé sur E3TAK. La longueur de la demande de couche 1 (ELNi) est incrémentée et la commande repasse en JOIN 3. D. Programme "cadrage" Au moment où le programme "cadrage" est appelé, la pile ESTAK de la mémoire principale contient un pointeur d'événement de couche (LXET, voir Fig. 77) pour chaque caractère "non de délimiteur" de l'entrée. Chaque pointeur LXET est une adresse de base pointant vers 1*en-tête de raccourci corres- -603- 2334148 pondant. Les pointeurs LXET sont placés dans un ordre corres--pondant à celui dans lequel la demande a été présentée. En outre, le registre de logiciel RLNO (ou le registre de logiciel RLN1) contient une valeur identifiant le nombre de pointeurs 5 LXET contenus dans ESTAK. On se souviendra de ce que le programme "cadrage" est appelé en PA14- (voir Fig. 81) du programme "analyse grammaticale". En bref, le programme "cadrage" formoùne paire de valeurs dans la zone 3 du module "mémoire" pour chaque entrée 10 dans la couche de la base de données à laquelle la demande est adressée. En examinant l'information de sortie finale du module "cadrage" de matériel représentée dans la table 11 et dans la table 60J, on peut voir que les paires de valeurs comprennent chacune (1) une valeur vi, à savoir une valeur de centre de 15 cadre ou une valeur négative s'il n'existe aucune correspondance dans l'entrée et (2) une valeur vii, à savoir le nombre de correspondances contenus dans le cadre ou une valeur négative si la contrepartie de la demande a été exactement, trouvée. Lorsque le demandeur compose sa demande, non seule-20 ment il tape les délimiteurs de début et de fin conjointement aux caractères "non de délimiteur" comme indiqué dans la table 60, mais en outre il introduit des ordres qui déterminent la valeur de largeur de cadre (PW), la valeur de délimitation de cadre (PGO) et la valeur de délimitation de concordance (BVCO) 25 utilisées par les modules "cadrage" et "concordantiel" comme décrit précédemment. La largeur de cadre (PW) est celle qui est utilisée par le module "cadrage" pour déterminer le nombre de correspondances à l'intérieur de chaque cadre. La valeur de délimitation de cadre (PCO) est utilisée par le programme 30 "cadrage" pour déterminer les centres de cadre et, par conséquent, les entrées qui comportent des comptes de correspondances satisfaisant aux critères spécifiés par la valeur de délimitation de cadre (PCO). En d'autres termes, le programme "cadrage" choisit les entrées de la base de données qui com-35 portent des comptes de correspondances égaux ou supérieurs à la valeur de délimitation de cadre (PCO) choisie par le demandeur. Les valeurs de centre de cadre qui comportent des valeurs de comptes de correspondances égales ou supérieures à la valeur -604- 2334148 de délimitation de cadre'(PCO) sont stockées dans la "mémoire P/BM en vue de leur traitement ultérieur par le programme "concordance". Le listage de langage assembleur du programme "cadrage" 5 est donné dans l'appendice B-2. Pour faciliter la compréhension du déroulement global du programme "cadrage", la table 61 comprend une liste des drapeaux, registres et zones de mémoire de matériel et de logiciel, utilisés pour le programme "cadrage". 10 On va maintenant examiner les détails de l'organigramme du programme "cadrage" représenté sur les Fig. 82-84. Ces figures représentent cet organigramme en utilisant les symboles . PI1-PI35 pour identifier ses divers pavés. Des mentions relatives à 1'organigramme "cadrage" figurent sur le côté gauche 15 du listage du programme "cadrage" pour montrer 1'interrelation entre cet organigramme et ce listage. Le programme "cadrage" est appelé pendant le pas PA14 de l'organigramme du programme "analyse grammaticale" (voir Fig. 81). Pendant le pas PU de l'organigramme du programme 20 "cadrage", l'instruction MOV provoque la préservation du contexte des registres RO à R4 de façon que ce contexte puisse être restauré lorsqu'on repasse du programme "cadrage" au programme "analyse grammaticale".^ Pendant PI2, l'état du drapeau de logiciel L1SVJ est 25 vérifié. Si ce drapeau est à 0, cela indique que la demande de couche 0 est en cours de traitement et, en conséquence, les pas PI3 et PI4 sont attaqués, tandis que si le drapeau L1SW est à 1, cela indique qu'une demande de couche 1 est en cours de traitement et les pas PI5 et PI6 sont alors attaqués. 50 Le drapeau L1SW est mis pendant le pas PA12 du programme "analyse grammaticale" lorsque le délimiteur de fin de phrase est détecté. Le but global des pas PI3 à PI6 est de charger les registres de matériel et de logiciel RO, LPTR, HW et KLN avec 55 les valeurs correspondant à la couche qui sera traitée pendant le reste de l'exécution du programme "cadrage". A cet effet, si une demande de couche 0 est en cours de traitement, et si la bascule L1SW est à 0, le pas PI5 est attaqué, pas au cours -605- 2334148 duquel l'instruction MOV (S? LOPTR, RO provoque le stockage de l'adresse située à la base de la table d'événements de couche O (adresse de base de 1'en-tête de raccourci de délimiteur) dans le registre RO et l'instruction MOV LGFTR,LPTR provoque le stockage de l'adresse LOET située en LOPTR dans le registre de logiciel LPTR. Pendant PI14-, les deux instructions MOV provoquent le stockage de la valeur de largeur d'iso-entropico-gramme (HW) contenue dans le registre HÏÏO, dans le registre HW et le stockage de la valeur contenue dans RLNO et qui représente le nombre de pointeurs LOET actuellement contenus dans ESTAK, dans le registre de logiciel RLN. L'exécution du programme, pendant les pas PI5 et PI6 au cours desquels une demande de couche 1 est traitée, provoque le chargement des paramètres correspondants relatifs à la couche 1 dans les registres RO, LPTR, HW et RLN. Après PI4 ou PI6, le noeud JOIN 1 est attaqué et une opération ultérieure se produit en utilisant les paramètres initiaux qui viennent d'être chargés pendant PIJ et PI4-, ou pendant PI5 et PI6. Fendant PI7, le programme "cadrage" demande l'intervention du programme "sortie", qui sort alors le délimiteur de la couche désignée par le contenu des registres RO, LPTR, HW et RLN. Le programme "sortie" permute le délimiteur de sa ligne de raccourci à la ligne 0 de son iso-entropicogramme. A cet effet, la première instruction MOV provoque le chargement de l'adresse DOAR (début d'une zone de mémoire dite "DOAR") dans le registre R1. En se référant à la Fig. 86 on voit que le premier mot de la zone de mémoire DOAR stockera une valeur de nombre identifiant la zone du module "mémoire" qui contient le délimiteur sorti. Le second mot de DOAR stockera une valeur identifiant la longueur physique de la ligne de raccourci de délimiteur en mots. On remarquera que le registre RO contient maintenant l'adresse de la base de 1'en-tête de raccourci.du délimiteur. Une zone de DOAR dite "DAREA" recevra la ligne 0 du délimiteur permuté de la ligne de raccourci. L'instruction JSR R5, OUTPUT appelle l'intervention du programme "sortie" en provoquant une repermutation de la ligne de raccourci du délimiteur jusqu'à la ligne d'entrée -606- 2334148 ou ligne 0 de son iso-entropicogramme. Comme décrit plus loin de façon plus détaillée, le programme "sortie" demande l'intervention du module "sortie" et, lorsque le fonctionnement de celui-ci est terminé, son registre OAR contient le numéro de 5 la zone du module "mémoire" qui contient le délimiteur et son registre OLN contient la longueur physique du délimiteur. Les contenus respectifs des registres OIE et OLN sont respectivement transférés par le programme "sortie" dans les registres de logiciel DOAE et DOLE. 10 L'instruction MOV 6(R0), DNOC provoque le stockage du contenu du quatrième emplacement de 1'en-tête de raccourci de délimiteur dans le registre de logiciel DNOC. En se référant à la Fig. 77» on voit que ce quatrième emplacement contient le nombre d'apparitions (ou de "1") de la ligne 0 du 15 délimiteur. Le nombre d'apparitions est préservé dans DNOC en vue de son utilisation future dans le programme "cadrage". Pendant PI8, la ligne 0 du délimiteur est transférée dans DAEEA (voir Fig. 86). A cet effet, la première instruction MOV provoque le stockage de l'adresse du début de la zone 20 DAEEA dans le registre EO et un saut à l'instruction de sous-programme JSE E5, DFMMEM, qui appelle l'exécution du programme DFMMEM, qui provoque à son tour le stockage du contenu de la zone du module "mémoire" spécifiée par DOAE (qui contient la ligne 0 du délimiteur) dans la zone DAEEA de la mémoire princi-25 pale. En bref, lorsque DFMMEM est appelé, les valeurs suivantes existent dans les registres RO, E1. EO - contient l'adresse de la zone dans laquelle le transfert doit être effectué. 30 E1 - contient l'adresse d'une zone de deux mots contenant elle-même : i. la zone de mémoire contenant la ligne 0 du raccourci, ii. le nombre de mots (physiques) à transférer. Le programme JSE transfère la commande en programme DIMMEM et 35 assure le transfert physique effectif. Pendant PI9, le bit FIRST ("PREMIER") du registre STATUS du module "jonction du système DPM" est mis à 1, ce qu'on obtient en stockant le libellé FIRST qui correspond au nombre -60?- 2334148 octal 1000g (voir appendice B-21 : CONSTANTES DEFINIES PAR LE PROGRAMME "COMPOSITION") dans le registre STATUS en exécution de la première instruction MOV de PI9» En conséquence, le bit FIRST du registre STATUS est mis à 1 et tous les autres bits du registre STATUS sont mis à 0. l'instruction MOV ,BRS¥ provoque la mise à 1 du drapeau de logiciel BRSW, ce qui indique que le programme "concordance" doit être appelé après l'achèvement du programme "cadrage". Comme décrit plus loin de façon plus détaillée, le drapeau BRSW peut être remis à 0 pour empêcher l'appel du programme "concordance" lorsque certaines conditions futures sont rencontrées au cours du programme "cadrage". PI10 est une opération de servitude au cours de laquelle le registre pointeur R4 est réglé à l'adresse du premier pointeur d'adresse LXET d'SSTAK devant être traité. ESTAK est formé sur le mode "dernier entré, premier sorti" et, par conséquent, le registre R3 contient l'adresse du dernier pointeur LXET stocké dans ESTAK. L'instruction MOV, R3,R4 provoque la reproduction de l'adresse du pointeur de sommet de pile à partir du registre R3 dans le registre R4, de sorte que celui-ci contient maintenant l'adresse du dernier pointeur LXET stocké dans ESTAK. En raison de l'action qui se déroule au cours des pas PI3 et PI4, ou PI 5 et PI6, le registre de logiciel RLN contient maintenant le nombre de pointeurs LXET d'ESTAK. En conséquence, l'instruction ADB RLN,R4 provoque l'addition du nombre de pointeurs LXET contenus dans le registre RLN à la fin du pointetir de pile dans le registre R4, ce qui ajuste la valeur du pointeur contenu dans R4, de sorte que celui contient maintenant une adresse supérieure d'une unité à l'adresse contenant le premier pointeur LXET stocké dans ESTAK. En se référant à la Fig. 87, on voit que WOAR est l'adresse de base d'une zone de la mémoire principale dénommée "WOAR". L'adresse WOAR reçoit une valeur identifiant la zone du module "mémoire" dans laquelle est stockée la ligne 0 d'un raccourci d'événement. La seconde adresse WOAR stockera la valeur identifiant la longueur physique du raccourci en mots (calculateur) et WAREA désigne une zone où la ligne 0 du raccourci d'événement doit être stockée. WOAR est déterminé par le pr ogramme "sorti e". -608- 2334148 Le premier pointeur LXET d'ESTAK est celui qui pointe vers l'en-tête de raccourci d'événement pour le premier caractère "non de délimiteur" de la demande présentée par le demandeur. Le but de PI11 est de repermuter le raccourci d'événement 5 du premier pointeur LXET présent sur ESTAK à la ligne 0 de son iso-entropicogramme, opération qu'on peut désigner également sous le nom de "sortie de l'événement actuel". A cet effet, la première instruction MOV exécutée pendant PI11 provoque une décrémentation de 1 de l'adresse contenue dans le registre R4, 10 de sorte que ce registre contient maintenant un pointeur d'adresse pointant vers le premier pointetir LXET d'ESTAK et le résultat est transféré dans le registre RO. La seconde instruction MOV exécutée pendant PI11 provoque le chargement de l'adresse de WOAR (voir Fig. 87) dans le registre R1. D'une ma-15 nière analogue à celle décrite à propos de PI7» le saut à l'instruction de sous-programme JSR exécutée pendant PI11 provoque l'appel du sous-programme "sortie" pour repermuter la ligne de raccourci d'événement identifiée par le pointeur LXET contenu dans le registre RO à sa ligne 0. En conséquence, à la 20 fin du pas PI11, une des zones du module "mémoire" contient la ligne 0 du raccourci d'événement correspondant au premier pointetir LXET contenu dans ESTAK. Les pas PU2 et PI13 assurent que la ligne 0 correspondant au premier raccourci d'événement se trouve dans la zone 1 25 du module "mémoire", comme cela est nécessaire pour le fonctionnement du module "cadrage". A cet effet, pendant PI12, un contrôle est effectué pour vérifier si la ligne 0 résultante du raccourci d'événement est contenue dans la zone 1 du module "mémoire". Plus précisément, l'instruction de comparaison CMP 30 compare le libellé 1 avec le numéro de la zone du module "mémoire" contenu dans WOAR (voir Fig. 87). Si la valeur contenue dans WOAR est 1, le résultat de la comparaison est "vrai" et l'instruction "brancher sur non égal" BEQ provoque un branchement sur JOIN 3 de l'organigramme. Par contre, si le résultat 35 de la comparaison n'est pas "vrai" et, par conséquent, est "faux", le pas PI13 de l'organigramme est attaqué. Pendant PI13, la ligne 0 de la ligne de raccourci d'événement est trans férée de la zone du module "mémoire" dans laquelle elle était -609- 2334148 contenue, quelle que soit cette zone, à la zone 1 du module "mémoire". A cet effet, la première instruction MOV de PI13 provoque le transfert du pointeur d'adresse pointant vers WOAREA au registre EO et le saut à l'instruction de sous-pro-5 gramme JSE provoque le transfert de la ligne 0 du raccourci d'événement dans la zone WAREA de la mémoire principale. La seconde instruction MOV provoque le stockage de la valeur de libellé 1 à l'emplacement de mémoire principale WOAR dont l'adresse est contenue dans le registre RI. Le saut final à l'ins-10 truction de sous-programme JSR provoque le retransfert de la ligne 0 du raccourci d'événement contenu dans la mémoire principale à la zone 1 du module "mémoire". Les pas PI13.1 et 13.2 de l'organigramme sont utilisés pour déterminer si la dernière entrée de la demande contenue 15 dans ESTAK est sur le point d'être traitée et dans l'affirmative, la bascule "LAST" ("DERNIER") du registre STATUS du module "jonction du système DPM" est mise à 1 pendant PI13.2. A cet effet, pendant PI13-1» l'instruction "comparer" CMP provoque la comparaison du pointeur de pile actuel contenu 20 dans R4- (qui est décrémenté pendant PI10) avec le pointeur de sommet de pile contenu dans R3 et si le résultat de cette comparaison est "égal" ou "vrai", le dernier événement d'ESTAK est sur le point d'être traité et le pas PI13«2 est attaqué. Pendant PT13.2, le libellé LAST ("DERNIER") est stocké dans le 25 registre STATUS, ce qui, en fait, provoque la mise à 1 de son bit LAST ("DERNIER!) tandis qu§£ous les autres bits restent à 0. Après PI13-2, PI14 est attaqué. Le but de la mise à *1 du bit LAST dans le registre STATUS est de provoquer une suspension du fonctionnement du module "cadrage" de matériel lors de l'appel 30 suivant. Si le résultat de la comparaison effectuée pendant PI13.1 est "non égal" ou "faux", alors PI14- est attaqué directement. Pendant PI"Î4-, la ligne 0 du délimiteur qui a été stockée dans la zone DARSA de la mémoire principale pendant PU8 35 est transférée à la zone 2 du module "mémoire" comme cela est nécessaire pour le fonctionnement de celui-ci. A cet effet, les deux premières instructions MOV de PI14- provoquent le transfert des adresses respectives des zones DAREA et DOAR aux registres -610- 2334148 EO et E1, respectivement. La troisième instruction î,:OV provoque le stockage de la valeur de libellé 2 à l'emplacement de mémoire DOAR (voir Fig. 86) spécifié par l'adresse contenue dans le registre RI. Le saut à l'instruction de sous-programme JSE 5 provoque le transfert par le "minicalculateur" et le module "mémoire" de la ligne 0 du délimiteur, de DABEA à la zone 2 du module "mémoire". Pendant PI15» les valeurs suivantes sont transférées à partir de la mémoire principale aux registres indiqués du 10 dispositif IPEF du module "jonction du système DïM" : WOLN (longueur physique du raccourci de l'événement actuel) à LN1 du dispositif IPRF; DOLN (longueur physique du raccourci du délimiteur) à EN2 du dispositif IPBF; 15 IW (largeur de cadre) à P® du dispositif IPRF; ELN (longueur de demande) à LNRQ du dispositif IPEF. Il est rappelé ici que, comme décrit à propos du module "jonction du système DPM", le registre AI détermine le registre auquel, parmi les registres du dispositif IPRF, de 20 l'information doit être transférée à partir du registre DATAO. Il est également rappelé que la valeur 6 du registre AI assure la sélection du registre LN1. En conséquence, l'instruction MOV6,AI provoque le stockage de la valeur constante 6 dans le registre AI et l'instruction suivante MOV WOLN,DATAO provo-25 que le stockage du contenu de WOLN dans le registre LN1 du dispositif IPEF. Il est encore rappelé que le registre AI s'in-crémente de lui-même après chaque instruction qui le concerne. Cela provoque le transfert de mots stockés séquentiellement dans le registre DATAO aux registres L1, L2, FW et LERQ du 30 dispositif IPRF dans l'ordre de leur stockage séquentiel dans le registre DATAO. Chaque instruction MOV suivante provoque une incrémentation de la valeur du registre AI, de sorte que ce registre choisit le registre suivant du dispositif IPRF. En conséquence, les instructions MOV suivantes exécu-35 tées pendant PI15 provoquent le stockage respectif des contenus de DOLN, Bff et ELN dans les registres LN2, PW et LNRQ du dispositif IPRF. -611- 2334148 Pendant PU6, un "cadrage" est effectué par une demande d'intervention du module "cadrage" de la manière précédemment décrite. Le "minicalculateur" provoque l'appel de l'intervention du module "cadrage" en stockant les instructions appropriées dans le registre STATUS du dispositif IPRF. A cet effet, l'instruction ADD DPM+PIPGO, STATUS provoque l'addition des libellés DÏM et PIPGO (voir appendice B-21 : CONSTANTES DEFINIES PAR LE PROGRAMME "COMPOSITION"); la somme obtenue est la valeur octale 204 et ce résultat est stocké dans le registre STATUS. Cela provoque un appel du module "cadrage", appel qui est assuré par l'utilisation de la ligne C du délimiteur stocké dans la zone 2 du module "mémoire", de la ligne 0 du raccourci d'événement contenu dans la zone 1 du module "mémoire" et des autres signaux d'entrée nécessaires représentés pour le module "cadrage" dans la table 11. Enfin, le module "cadrage" forme dans la zone 5 du module "mémoire" une série de paires de valeurs du type indiqué sous la mention "information de sortie finale" dans la table 11. Un jeu particulier de paires de valeurs est formé pour chaque événement de la couche en cours de traitement. Pendant le fonctionnement du module "cadrage", le programme contraint le "minicalculateur" à continuer de vérifier si la fonction de ce module a été complètement exécutée. Cette vérification est assurée par l'instruction BIT,BDONE, STATUS qui provoque une comparaison du drapeau BDONE de la mémoire principale avec le registre STATUS pour recherche d'égalité, Si une égalité est détectée, c'est-à-dire si le module "cadrage" a terminé ses opérations et a actionné la bascule DONE du registre STATUS, le pas PI18 de l'organigramme est attaqué. Pendant PI18, l'instruction MOV provoque la remise à 0 du registre STATUS. Les pas PI19 et PI20 ne sont pas exécutés pendant le déroulement du programme "cadrage". Pendant PI21, un test est effectué pour déterminer s'il reste dans ESTAK des entrées à traiter. On supposera que seul le premier événement ou pointeur LXET d'ESTAK a été traité. Dans ce cas, s'il y a plusieurs pointeurs LXET dans ESTAK, le test effectué pendant PI21 ne -612- 2334148 réussit pas et le programme "cadrage" se rebranche sur JOIN 2 de l'organigramme; les opérations effectuées pendant PI11 à PI21 se répètent alors pour le pointeur LXET suivant contenu dans ESTAK. 5 Le test de PI21 est effectué en exécution de l'instruc tion "comparer" CMP qui provoque une comparaison du pointeur de pile actuel R4- avec le pointeur de sommet de pile R3. Si le résultat de la comparaison est "vrai", le pas PI22 de l'organigramme est alors attaqué. Si le résultat de la comparaison est 10 "faux", alors l'instruction JMP est exécutée, ce qui provoque une reprise au noeud JOIN 2 de l'organigramme. Le noeud JOIN 5 et les pas suivants de l'organigramme constituent la phasod'analyse du processus "cadrage". A ce stade temporel, la zone 3 du module "mémoire" contient une 15 paire de valeurs pour chaque entrée de la couche de la hase de données en cours de traitement (voir Fig. 60J). L'une des deux valeurs de chaque paire est la valetir de centre de cadre OV et l'autre est une valeur de correspondances (nombre de correspondances) (MH). Pendant la phase d'analyse suivante du programme, 20 les paires de valeurs sont examinées pour déterminer si la valeur de correspondances de chaque paire atteint (est égale ou supérieure à) la valeur de délimitation de cadre PCO. La première des deux valeurs, à savoir la valetir de centre de cadre, est stockée dans la zone 1 de la "mémoire P/B" si sa valetir de 25 correspondances atteint la valeur de délimitation de cadre. Le module "jonction du système DPM" lit et écrit à des emplacements différents du module "mémoire" et de la "mémoire P/B" selon les instants considérés. En conséquence, il est nécessaire de garder des pointeurs de ces emplacements de 30 mémoire. Un pointeur M3AD pointe vers les adresses de la zone 3 du module "mémoire" auxquelles une lecture doit avoir lieu, tandis qu'un pointeur A2ÀD pointe vers les adresses de la "mémoire P/B" auxquelles une écriture doit avoir lieu. La valeur de centre de cadre et la valeur de correspondances de chaque 35 entrée sont transférées hors de la zone 3 du module "mémoire" à partir des emplacements spécifiés par le pointeur M3AD et seules les valeurs de centre de cadre dont la valeur de correspondances atteint la valeur de délimitation de cadre PCO -613- 2334148 sont récrites à l'emplacement de la "mémoire P/B" spécifié par l'adresse contenue dans À2AD. Il est à noter également que PNBOUT est la zone de la mémoire principale qui contient la liste de sortie obtenue après la fin du programme "concordance". 5 Sur la Fig. 88A, la référence PNBPTR désigne un poin teur d'adresse de base pointant vers une zone de deux mots dont le second emplacement est PNBCNT. Le premier mot de PNBPTR est un pointeur d'adresse de base pointant vers la zone PNBOUT et le second mot stocke le nombre d'entrées contenues dans 10 PNBOUT. On va maintenant considérer l'exécution effective du programme pendant PI22, pas au cours duquel les divers registres d'adresse sont initialisés. L'instruction MOT 7^ PNBOUT,R4- provoque le transfert de l'adresse de la zone PNBOUT de PNBPTR au registre R4-. L'instruction "transférer" M0V@ LPTR,R2 provoque 15 le transfert du contenu de l'emplacement de mémoire spécifié par l'adresse contenue dans LPTR au registre R2. LPTR est un registre de logiciel qui contient l'adresse de base de la table de pointeurs de couche LXET. En conséquence, le pointeur de l'entête de raccourci du délimiteur correspondant est transféré au 20 registre R2. L'instruction "transférer" MOV 6(R2),N0C provoque le transfert du nombre d'apparitions de la ligne de délimiteur, à partir du troisième mot de 1'en-tête de raccourci de délimiteur au registre NOC. NOC est un compteur de logiciel qui identifie le numéro d'entrée de la couche en cours de traitement. 25 L'instruction DEC provoque une décrémentation de 1 du pointeur contenu dans NOC de sorte que ce pointetir identifie maintenant effectivement la dernière entrée (ou entrée située le plus à droite) de la couche. L'instruction "remettre à zéro" CLR provoque la remise à C des registres Â2AD, M3&D et BRCNT. Comme 30 décrit plus loin de façon plus détaillée, le registre BRCNT garde trace du nombre d'entrées écrites dans la "mémoire P/B" en vue de leur traitement futur par le programme "concordance". Pendant PI23, une des paires de valeurs vi, vii est lue dans la zone 3 du module "mémoire" et est stockée dans les 35 registres de logiciel OV et NH respectivement, prête à subir un test ultérieur destiné à déterminer si la valeur de correspondances correspondante atteint la valeur de délimitation de cadre. A cet effet, l'instruction MOV 30,STATUS provoque la -614- 2334148 mise à 1,1 des bits m1, m2 du registre STATUS du module "jonction du système DB5", ce qui détermine une lecture dans la zone 3 du module "mémoire". L'instruction MOV M3AD,AI provoque le chargement du registre AI du module '"jonction du système DPM", 5 avec l'adresse contenue dans le registre de logiciel M3AD. A ce propos, il est à noter que M3AD contient une valeur 0 si PI23 suit immédiatement PI22 et une valeur non nulle si PI23 est attaqué après PI32. La première valeur vi de la paire de valeurs est sortie par lecture de la zone 3 du module "mémoire" et est 10 stockée dans le registre DATAI du module "jonction du système DIM". L'instruction MOV DATAI,OV provoque le transfert de la valeur vi, du registre DATAI au registre de logiciel OV et provoque une incrémentation de 1 de l'adresse contenue dans le registre AI. Le module "mémoire" fournit la valeur suivante 15 vii de la paire et cette valeur est stockée dans le registre DATAI. L'instruction MOV DATAI,HH provoque le transfert de la valeur vii, du registre DATAI au registre de logiciel M de la mémoire principale et provoque une incrémentation de 1 de l'adresse contenue dans le registre AI, de sorte que celui-ci 20 contient maintenant l'adresse de la valeur vii de la paire de valeurs suivante$éontenue dans la zone 3 du module "mémoire". L'instruction ADD-5^ 2 ,M3AD provoque une incrémentation de 2 de l'adresse contenue dans le registre M3AD, de sorte que ce registre contient maintenant l'adresse de la valeur vi de l'en-25 trée suivante contenue dans la zone 3 du module "mémoire". Pendant PI24-, la valeur vi contenue dans le registre OV est vérifiée pour déterminer si elle est négative. Si elle est négative (voir table 11 sous "Information de sortie finale du module "cadrage"") cela indique que l'entrée ne vaut pas la 30 peine qu'on l'examine ni qu'on la transmette au module "concordantiel", étant donné qu'il n'existe aucune correspondance dans la base de données pour cette valeur de centre de cadre. Dans ces conditions, le noeud JOIIT 9 de l'organigramme est ensuite attaqué en sautant les pavés intermédiaires PI25 à PI30 de l'or> 35 ganigramme. Par contre, si la valeur vi contenue dans OV n'est pas négative, PI25 est ensuite attaqué. Pendant PI25, la valeur vii contenue dans le registre de logiciel Kïï est examinée pour déterminer si c'est une valeur -615- 2334148 négative. Si c'est une valeur négative, cela indique qu'il existe une correspondance exacte pour l'entrée en question et les pas PI26, PI27 et PI28 de l'organigramme sont attaqués. Si la valeur vii n'est pas négative, les pas PI29 et PI30 sont 5 attaqués. On considérera maintenant la condition dans laquelle, pendant PI25, il a été détecté que la valeur de nombre de correspondances contenue dans KE est négative. Pendant PI26, le drapeau "échappement" est vérifié pour déterminer s'il est "1" 10 ou "Ou. Le drapeau "échappement" est un "1" si le système est en train de traiter la couche de la base de données pour laquelle la demande a été formulée. On supposera que la machine est en train d'opérer au niveau de la couche de la demande et que, par conséquent, le drapeau "échappement est 1. Une. cor-15 respondance exacte a été trouvée et, par conséquent, PI28 est attaqué. La valeur vi contenue dans OV est une valeur de centre de cadre et elle est transférée à la "mémoire P/B" où elle est préservée et le compteur BRCNT qui contrôle le.nombre d'écritures effectuées dans la zone i de la "mémoire P/B" est incré-20 menté de 1 cependant que A2AD est également incrémenté de 1 de sorte qu'il pointe vers l'adresse d'écriture suivante dans la "mémoire P/B". A cet effet, pendant PI28, l'instruction MOV 10+PBM, STATUS provoque l'addition de la constante octale 10 à la va-25 leur octale PBM et la valeur résultante est stockée dans le registre STATUS, ce qui provoque une écriture dans la "mémoire P/B". Les deux instructions MOV suivantes provoquent le transfert de l'adresse contenue dans le registre A2AD au registre AI du module "jonction du système DPM" et le transfert de la valeur 30 de centre de cadre du registre de logiciel OV au registre DATAO du module "jonction du système DPM". Le module "jonction du système DPM", conjointement à la "mémoire P/Bn, provoque alors le stockage de la valeur de centre de cadre contenue dans OV à l'adresse de la "mémoire P/B" spécifiée par le registre AI. 35 Les instructions IîTC provoquent une incrémentation de 1 des instructions contenues dans les registres de logiciel A2AD et BRCNT. -616- 2334148 On va maintenant revenir à PI26 et supposerôue, pendant le test du drapeau "échappement", celui-ci a été trouvé à "O" et que, par conséquent, c'est la couche O qui est en train d'être traitée, alors que la demande concerne la couche 1 5 de la "base de données. Le pas PI27 est alors attaqué. Les pas PI25, PI26 et PI27 sont attaqués lorsqu'une correspondance exacte a été détectée. Dans ces conditions, il est inutile d'exécuter la fonction concordantielle sur l'entrée correspondante. A cet effet, pendant PI27, l'instruction 10 CLR BRSW provoque la remise à 0 du drapeau de logiciel BRSW, ce qui indique qu'il est inutile d'appeler le programme "concordance". A ce stade, l'adresse contenue dans le registre R4-contient elle-même l'adresse d'un emplacement de PNBOUT. L'instruction MOV N0C,-(R4) provoque le transfert, du numéro de l'en-15 trée actuellement en cours de traitement, du registre NOC à l'emplacement de la mémoire principale spécifié par l'adresse contenue dans le registre R4, moins un. F1 est une constante dont la valeur est 1,0. L'instruction MOVP F1,-(R4) est une instruction "transférer" en virgule flottante qui provoque le 20 stockage de la valeur de F1 à l'emplacement séquentiel suivant de PNBOUT pour indiquer un facteur concordantiel de 100 %. Cela est nécessaire en raison du fait qu'une correspondance exacte a été détectée pendant PI25. L'instruction MOV^t^ 1,BRCNT provoque le chargement 25 de BRCNT avec la valeur 1. Ceci indique qu'une unique correspondance a été trouvée et que rien d'autre n'est nécessaire. L'instruction INC PNBCNT provoque une incrémentation de 1 du registre ?NBCNT pour indiquer qu'une entrée supplémentaire a été stockée dans PNBOUT. En outre, l'instruction 50 CLR NOC provoque la remise à O du contenu du registre de logiciel NOC pour assurer une sortie de boucle en PI33. On voit donc maintenant que, si la valeur vii contenue dans NH est négative (une correspondance exacte) et si la couche de la base de données correspondant à la couche de la 35 demande est en cours de traitement ("échappement" = 1), le programme "cadrage" effectuera les pas PI25 et PI26 à PI28 au cours desquels la valeur de centre de cadre est écrite à partir de OV dans la "mémoire P/B" et au cotirs desquels le registre -617- 2334148 de logiciel BRCNT est incrémenté de 1 pour indiquer qu'une valeur a été écrite dans la "mémoire P/B". Si la valeur vii contenue dans EH est négative (correspondance exacte), et si c'est la couche 0 de la base de données qui est en train d'être trai-5 tée, alors qu'une demande de couche 1 a été formulée ("échappement" = O) alors PI27 est attaqué et le numéro de l'événement actuellement en cotirs de traitement désigné par NOC ainsi qu'une valetir concordantielle de "100 °,o sont stockés à des emplacements de mémoire séquentiels de la zone PNBOUT de la mé-10 moire principale. On va maintenant considérer le fonctionnement en supposant que pendant PI25 on a trouvé que la valeur vii n'était pas négative. Dans ces conditions, PI29 est attaqué après PI25. Pendant PI29, la valeur vi, qui est la valeur du nombre de cor-15 respondances et qui est contenue dans le registre de logiciel NU, est comparée avec la valeur de délimitation de cadre contenue dans le registre de logiciel PCO. Si le nombre de correspondances contenu dans le registre NH est égal ou supérieur à la valeur de délimitation de cadre, le pas PI30 est attaqué et le 20 centre de cadre correspondant est transféré du registre de logiciel OV à la "mémoire P/B" de la manière décrite à propos de PI28, puis le registre BRCNT est incrémenté de 1 pour indiquer qu'une autre valeur a été écrite dans la zone 1 de la "mémoire P/B", le tout comme précédemment exposé à propos de PI28. .-5 - Si, pendant PI29, on a trouvé que le nombre de corres pondances contenu dans le registre NH n'est ni égal ni supérieur à la valeur de délimitation de cadre, alors PI30 est sauté et PI31 est directement attaqué. Le registre de logiciel NOC, pointeur d'entrée pour 30 la couche 0, est également un pointeur d'index pointant vers des événements de la couche 1. Pendant PI31, le registre de logiciel NOC est décrémenté à 1 de sorte qu'il contient la valeur du numéro d'entrée de valetir inférieure suivant de la couche 0 de la base de données. 35 Pendant PI32, un test est effectué pour déterminer si le registre NOC a été réduit à une valeur négative indiquant que tous les événements de la couche 1 ont été traités. Si le registre NOC n'est pas négatif, ce qui indique que tous les -618- 2334148 événements de la couche 1 n'ont pas été traités, alors JOIN 5 et la séquence de fonctionnement qui suit ce noeud sont répétés pour l'entrée suivante de la couche O et, par conséquent, pour l'événement suivant de la couche 1 et pour sa paire de valeurs 5 correspondantes vi, vii contenue dans la zone 3 du module "mémoire". Si, pendant PI32, le test indique que le registre NOC a été réduit à une valeur négative, ce qui indique que toutes les entrées de la couche O ont été traitées, les pas PI33 et la suite sont attaqués. 10 Pendant PI33, la valeur contenue dans le registre de logiciel BRCNT est vérifiée pour déterminer si .la valeur du nombre d'écritures dans la zone 1 de la "mémoire P/B" est 0. Si elle est 0, cela indique qu'aucune valeur n'a été stockée dans la "mémoire P/B", et, par conséquent, qu'aucune valeur 15 ne doit être transmise au module "concordantiel" et, en conséquence, le pas PI34- est attaqué, pas au cours duquel le drapeau de logiciel BRSW est remis à 0 pour empêcher le programme "concordance" d'être appelé. En outre, le pointeur d'adresse PNBCNT pointant vers la zone de mémoire PNBOUT est remis à 0 et PI35 20 est ensuite attaqué. Si, pendant PI33, on trouve que le pointeur BRCNT n'est pas 0, alors c'est qu'il existe dans la zone 1 de la "mémoire P/B" des valeurs qui doivent être transmises au module "concordantiel". PI35 est alors attaqué directement. Pendant 25 PI35» les contextes respectifs des registres de matériel RO à R4 sont restaurés et l'exécution du programme "cadrage" est suspendue et la machine repasse sur le programme "analyse grammaticale". Une demande de couche "1 est traitée d'une manière 30 assez analogue à une demande de couche 0, l'une des différences se produisant en PI27. Pour le reste, la différence de fonctionnement est évidente. La manière dont "cadrage" détermine s'il a affaire à uno&emande de couche 1 par opposition à une demande de couche 0, consiste en un test de l'aiguillage de 35 couche 1. Si L1SW est actionné, alors le programme "cadrage" s'initialise de lui-même de manière à pointer vers les descriptions de la couche 1, sinon "cadrage" supposé qu'il a af- . faire à une demande de couche 0 et s'initialise de lui-même en conséquence. -619- 2334148 On va maintenant considérer le fonctionnement au cours d'une interrogation (cadrage et concordance) et d'une génération dans une demande de couche 1. En bref, les fonctions "cadrage" et "concordantielle" sont exécutées sur la "base de 5 données pour chaque mot de la demande. Le "but est de localiser les entrées de mot de la couche 0 de la base de données qui concordent, soit exactement, soit Iq^Ius étroitement possible, avec les mots de la demande. Une fois que les fonctions "cadrage" et "concordantielle" ont été exécutées pour un mot 10 particulier de la demande, PNBOUT contient une série de numéros d'entrée de couche 0 et de valeurs concordantielles ordonnées par ordre décroissant de valeur concordantielle et il indique les entrées de mot de la couche 0 et les degrés de concordance entre ces entrées de mot et le mode de demande correspondant. 1*5 Ultérieurement, le LEPT correspondant à la meilleure entrée de mot (meilleure valetir de délimitation de concordance) dans PNBOUT est stocké dans ESTAK. Après l'exécution des fonctions "cadrage" et "concordantielle" pour tous les mots de la demande de phrase concernée, ESTAK contient un LEPT correspondant à là 20 meilleure entrée de mot de la couche 0 pour chaque mot de la demande. Les LEPT sont classés dans le même ordre que les mots de demande correspondants. Les fonctions "de cadrage" et "concordantielle" sont alors exécutées sur la couche 1 de la base de données. Au cours 25 de ce processus, les vecteurs d'événement qui correspondent aux LEPT d'ESTAK sont choisis et interrogés en utilisant les processus de "cadrage" et "concordantiel". Ensuite, PNBOUT contiendra une série de numéros d'entrée de couche 1 et de valeurs concordantielles classées par ordre de concordance dé-30 croissant. Le meilleur numéro d'entrée de couche 1 (meilleure valeur de délimitation de concordance) de PNBOUT est alors choisi pour la génération au cours du. processus de sortie. L'opération de décalage a été exposée à propos des modules "cadrage" et "concordantiel" et est également utilisée 35 au cours des opérations de cadrage et de détermination de concordance effectuées sur la couche 1. A ce propos, on peut préciser qu'ESTAK contient le meilleur LEPT pour chaque entrée de mot de la demande et que les LEPT sont classés dans le même -620- 2334148 ordre que l'ordre d'apparition des entrées de mot correspondantes dans la demande. De la même manière que dans le cas du cadrage et de la détermination de concordance relatifs à la couche 0, un signal de décalage est formé pour chaque entrée 5 de la demande et, par conséquent, pour chaque LEPT contenu dans ESTAK. A mesure que les signaux de vecteur de couche 1 correspondant à chaque LEPT sont sortis par lecture en vue de leur traitement, les instants d'événement correspondant à ces signaux de vecteur sont ajoutés à la valeur de décalage correspondante 10 pour former des valeurs d'instant d'événement décalées. En conséquence, le cadrage et la détermination de concordance agissent sur la couche 1 d'une manière très analogue à l'action exercée sur la couche 0 en utilisant les signaux de décalage. E. Programme "concordance". 15 Le module "concordantiel" opère sur les raccourcis d'événement que le programme "cadrage" vient juste de traiter. Bien que le module "cadrage" puisse déterminer lui-même les résultats du cadrage qui atteignent la valeur de délimitation de cadre puis fournir les valeurs à transmettre au module "con-20 cordantiel", le logiciel est chargé d'assurer cette fonction comme décrit précédemment. Le programme "concordance" détermine les résultats trouvés par le programme "cadrage" qui atteignent la valeur de délimitation de cadre.et, par conséquent, ont été stockés dans la "mémoire P/B". Comme décrit précédemment à 25 propos de la table 11 et comme indiqué dans cette table sous la rubrique "Informations de sortie finales du module "concordantiel", le module "concordantiel" forme dans la "mémoire P/B" un jeu de quatre valeurs pour chaque entrée de la base de données qui a été transmise par le module de délimitation de cadre 30 et chacune de ces valeurs est utilisée successivement par le logiciel du programme "concordance" pour déterminer une valetir concordantielle BV. On considérera maintenant l'exécution réelle du programme "concordance" en se référant à la Fig. 94. L'état du système est le même qu'à la fin du programme "cadrage" 35 (table 60E). Le programme "concordance" doit savoir clairement quelle couche est en train d'être traitée. Il y a lieu de garder présent à l'esprit, pour lire l'exposé qui va suivre, le fait que seul le programme "analyse -621- 2334148 grammaticale" ajoute quelque chose au sommet d'ESTAK, tandis que seuls les modules "cadrage" et concordantiel" retirent de l'information de cette pile. BR3-BR9 Etablir et exécuter la fonction "concordantielle" 5 de matériel BR12-BR23 Analyser les résultats de la fonction "concordantielle" de matériel et préserver toutes les entrées qui dépassent la valeur de délimitation de concordance (BVCO) 10 L'exposé qui va suivre sera donné en se référant à l'organigramme du programme "concordance" des Fig. 94, 95 et 96 qui utilisent BR1-BR34 pour identifier les divers pavés d'organigramme. La correspondance entre les listages de programme effectifs et les cases de l'organigramme est indiquée par les "■5 symboles de pavés du programme "concordance" représentés le long du côté gauche du code. Le programme "analyse grammaticale" appelle l'exécution du programme "concordance " pendant FA17 (voir Fig. 81). Lorsqu'il est appelé, le programme "concordance" attaque le 20 pas BR1 de l'organigramme, au cours duquel les contextes des registres RO, R1, R2, R3 et R4 sont préservés en vue d'une reprise ultérieure du programme "analyse grammaticale". Pendant BR2, l'organigramme du programme "concordance" initialise les registres de boucle et la longueur de demande 25 (nombre de caractères "non de délimiteur") contenue dans le registre, de logiciel RLN est transférée dans le registre LERQ du dispositif IPRF. A cet effet, l'instruction CLR remet à 0 le registre PNBCNT de façon qu'il puisse être utilisé pour compter le nombre d'entrées introduites dans PNBOUT pendant 30 l'exécution du programme "concordance". L'instruction MOV suivante transfère le pointeur de sommet de pile, du registre de matériel R3 au registre de matériel R4. L'instruction ADD suivante provoque l'addition de la longueur de demande stockée dans le registre de logiciel RLN au registre R4, de sorte que celui-35 ci pointe maintenant vers une adresse supérieure d'une unité au début d'ESTAK, adresse à laquelle le premier LEPT de la demande est stocké. Les trois dernières instructions MOV provoquent la mise à 1 et à 9» respectivement, de la bascule FIRST -622- 2334148 et du registre AI du module "jonction du système DR!". La présence d'une valeur 9 dans le registre AI assure la sélection du registre LNRQ du dispositif IPEF du module "jonction du système DHî" et la longueur de demande est transférée du re-5 gistre de logiciel ELN audit registre LNRQ. Pendant BR3, l'adresse contenue dans le registre pointetir de pile R4- est décrémentée de 1, de sorte que ce registre pointe maintenant vers le premier LXET d'ESTAK et que l'adresse de pile résultante est stockée dans le registre RO, 10 en réponse à la première instruction MOV, tandis qu'à la seconde instruction MOV le contenu de WOAR (voir Fig. 87) est transféré au registre de matériel R1. L'emplacement de mémoire WOAR stocke le numéro de la zone du module "mémoire" dans laquelle est stockée la ligne 0 d'un raccourci d'événement (rac-15 courci "non de délimiteur"). L'instruction JSR provoque l'appel du sous-programme "sortie", au cours duquel la ligne de raccourci spécifiée par l'adresse LXET contenue dans le registre RO est repermutée à sa ligne d'entrée 0 et stockée dans l'une des zones du module "mémoire". La ligne 0 formée pendant BR3 est 20 dénommée "ligne 0 du raccourci actuel". Pendant ER4-, un contrôle est effectué pour vérifier si la ligne 0 du raccourci actuel a été stockée dans la zone 1 du module "mémoire". Dans l'affirmative, la valeur 1 aura été stockée à l'emplacement de mémoire de logiciel WOAR et l'ins-25 truction CMP détectera une égalité, en provoquant ainsi l'attaque du pas BR6. Si un autre numéro de zone du module "mémoire" quelconque a été stocké dans WOAR, le résultat de la comparaison est "faux" et BR5 est attaqué et, au cours de ce pas, comme exposé à propos du programme "cadrage", la ligne 0 30 du raccourci actuel est transférée dans la zone 1 du module "mémoire". En conséquence, lors de l'attaque de BR6, la ligne 0 du raccourci actuel se trouve toujours dans la zone 1 du module "mémoire ". Pendant BR6, la ligne 0 du raccourci de délimiteur 35 est déjà contenue dans DAREA et la longueur physique du délimiteur est contenue dans l'emplacement de mémoire DOLN (voir Fig.86). Comme exposé à propos du module "cadrage", les trois premières instructions MOV exécutées pendant BR6 provoquent le -623- 2334148 stockage d'une valeur représentant la zone 2 du module "mémoire" à l'emplacement de mémoire DOAR (voir Fig. 86), le transfert de l'adresse de l'emplacement DOAR au registre de matériel R1 et le transfert de l'adresse du début de la zone de mémoire DAREA au registre RO. L'instruction JSR provoque un saut au sous-programme MEMDPM qui assure le transfert de la ligne O du raccourci de délimiteur à la zone 2 du module "mémoire" sous la commande des contenus de DOAR, R1 et RO. Pendant BR7, la longueur physique de la ligne 0 du raccourci actuel est contenue dans WOLN (voir Fig. 87) et la longueur physique du raccourci de délimiteur est contenue dans le registre DOLN et ces deux longueurs sont transférées, respectivement, dans les registres LN1 et LN2 du dispositif IPRF du module "jonction du système DPM". Les pas BR7.1 et BR7.2 sont prévus pour déterminer si le raccourci du dernier LXET stocké dans ESTAK est sur le point d'être traité. A cet effet, le contenu du registre R3 du sommet d'ESTAK est comparé avec le contenu du registre R4 et si ces deux contenus sont égaux, c'est-à-dire si un résultat de comparaison "vrai" est détecté, le pas BR7.2 est attaqué et la bascule LAST du registre STATUS du module "jonction du système DHÎ" est mise à 1 puis BR8 est attaqué. Si le résultat de la comparaison est "non égal", ce qui indique que le registre R3 du sommet d'ESTAK n'est pas égal à R4, BR8 est directement attaqué. Pendant BR8, le programme "concordance" appelle l'intervention du module "concordantiel", ce qui provoque l'exécution de la fonction concordantielle et le vidage du registre STATUS du module "jonction du système DPM". En se référant à la Fig. 89 et à la table 11 (rubrique "information de sortie finale du module "cadrage"'), on peut voir que la "mémoire P/B" contient maintenant les paires de valeurs indiquées sur la Fig. 89 et dans la table 11 (rubrique "information de sortie finale du module "cadrage""). En fonctionnement, pendant BR8, l'instruction ADD provoque l'addition des constantes DPM et BRGO et le stockage du résultat dans le registre STATUS du module "jonction du système DPM". Il en résulte l'actionnement des bascules DPM et BRGO, ce qui appelle l'intervention du module -624- 2334148 "concordantiel" de matériel qui exécute alors la fonction concordantielle en utilisant la ligne 0 du raccourci de délimiteur maintenant stockée dans la zone 2 du module "mémoire", la ligne 0 du raccourci d'événement actuel (provenante la base 5 de données) maintenant stockée dans la zone 1 du module "mémoire" et les paires de valeurs vi, vii stockées dans la "mémoire P/B". Le programme "concordance" effectue alors l'opération concordantielle et engendre les résultats comprenant quatre valeurs représentés dans la table 11 (rubrique "infor-10 mation de sortie finale du module "concordantiel""), résultats qui sont à leur tour stockés dans la "mémoire P/B". En outre, pendant BR8, l'instruction BIT, BDONE, STATUS provoque un contrôle du bit BDONE du registre STATUS. Lorsque les opérations du module "concordantiel" sont achevées, la bascule BDONE est 15 mise à 1 pour indiquer que le module "concordantiel" a terminé ses opérations. L'instruction BEQ.-1 est une instruction d'itération qui provoque une itération à l'instruction BIT jusqu'à ce que le bit BDONE soit mis à 1, Une fois que la bascule BDONE a été actionnée, l'instruction MOY ^ 0, STATUS provoque la re-20 mise à 0 du registre STATUS. Pendant BR9, l'instruction CMP provoque une comparaison entre les contenus respectifs des registres E4 et R3 et, si ces contenus sont trouvés égaux entre eux, le pas BR12 est attaqué. S'ils ne sont pas égaux, cela indique que le re-25 gistre pointeur R4 du LXET actuel n'a pas encore été décrémenté jusqu'à l'adresse du sommet de pile contenue dans le registre R3. Par conséquent, il reste encore des pointeurs LXET à traiter dans ESTAK et le pas BR3 est repris après BR9. La boucle comprenant les pas BR3, BR9 continue d'être exécutée jusqu'à ce 30 que chaque pointeur LXET d'ESTAK et, par conséquent, chacun des raccourcis d'événement correspondants aient été traités, ce qui se traduit par l'obtention des jeux de quatre valeurs représentés sous "information de sortie finale du module "concordantiel" dans la table 11. 35 Lorsque tous les pointeurs LXET d'ESTAK ont été trai tés et que R4 est égal à R3, BR12 est attaqué. Avec BR12, le programme "concordance" commence le calcul de la valeur concordantielle BY. Ce calcul exige que le module "décodage" I four -625- 2334148 nisse les valetirs d'apparition effectives de la ligne O de délimiteur contenue dans la zone 1 du module "mémoire" (voir Fig. 89). A cet effet, l'instruction MOV ?^1,DOAR transfère dans DOAR (voir Fig. 86) une valeur désignant la zone 1 du module 5 "mémoire". L'instruction MOV DOAR,R1 provoque le transfert de l'adresse de la zone DOAR au registre R1. L'instruction MOV ^ DAREAjRO provoque le transfert de l'adresse de la zone DAREA au registre RO.. L'instruction JSR provoque un saut au sous-programme MEMDïM qui transfère effectivement la ligne O du 10 raccourci de délimiteur, de la mémoire principale à la zone 1 du module "mémoire", par l'intermédiaire du module "jonction du système DPM". Les trois instructions MOV suivantes provoquent la mise à 6 du registre AI du module "jonction du système DPM" 15 pour assurer la sélection du registre LH1 et pour provoquer le transfert de la longueur physique du raccourci contenue dans DOLN (voir Fig. 86) au registre LN1. L'instruction MOV D1NIT, STATUS provoque la mise à 1 de la "bascule D1INIT du registre STATUS afin d'initialiser le module "décodage,i I de matériel. 20 L'instruction CLR AICNT provoque la mise à 0 du pointeur d'adresse pointant vers la zone 3 du module "mémoire", ce qui permet une lecture des emplacements de mémoire de cette zone en commençant par l'adresse 0, lecture au cotirs de laquelle les résultats du module "concordantiel" sont traités. 25 Pendant BR13, le nombre d'entrées de la ligne 0 de délimiteur (DNOC) est transféré par l'instruction "transférer" au registre de logiciel NOC et est réduit d'une unité par l'instruction DEC. NOC spécifie maintenant le nombre d'appels du module "décodage" I nécessaires. 30 Pendant BR14-, l'intervention du module "décodage" I est appelée et ce module charge une valeur d'apparition de délimiteur dans le registre de logiciel TDI. A cet effet, l'instruction JSR R5,DECODE I provoque l'appel du sous-programme "décodage" I et la valeur d'apparition de délimiteur résultante 35 est chargée dans RO. L'instruction suivante MOV RO,TDI provoque le transfert du résultat du sous-programme "décodage" I, c'est-à-dire de la valeur d'apparition de délimiteur de début, du registre RO à TDI. -626- 2334148 Pendant BR15, les opérations ci-dessous se déroulent, opérations qui ont déjà été décrites dans leurs grandes lignes à propos des programmes précédents : 1. Une valeur identifiant la zone 3 du module "mémoire" dans 5 laquelle les résultats des opérations du module "concordan tiel" doivent être lus est transférée dans m1, m2 du registre STATUS. 2. Le pointeur d'adresse pointant vers l'adresse actuelle de la zone 3 du module "mémoire" contenue dans AICNT est trans-10 féré au registre d'adresse AI et est ensuite incrémenté de façon qu'il pointe vers les registres N, S et DO. 3. Un jeu de quatre valeurs engendrées par le module "concordantiel" et qui sont maintenant stockées dans la zone 3 du module "mémoire" sont transférées dans les registres DI, N, S 15 et DO. 4. Le pointeur d'adresse de logiciel AICNT est incrémenté de 4, de sorte qu'il pointe maintenant vers le début du jeu de quatre valeurs suivant contenu dans la zone 3 du module "mémoire", valeurs qui doivent être lues au cours d'une at- 20 taque suivante de BE15. En se référant à la table 11 sous 'information de sortie finale du module "concordantiel" ', on peut voir que les registres DI, N, S et DO contiennent maintenant, respectivement, le délimiteur de début de l'entrée correspondante, le 25 nombre de correspondances N, Dml- ^ et dQ. Il est maintenant nécessaire d'explorer le vecteur d'apparition de délimiteur contenu dans la zone 1 du module "mémoire" et de localiser les délimiteurs définissant l'entrée qui correspond au délimiteur de début contenu dans le registre 30 DI. La longueur de cette entrée est ensuite déterminée et stockée dans le registre LS. A cet effet, l'instruction MOV TD2,TDI provoque le transfert du délimiteur de début (éventuel) précédemment stocké dans TDI, de ce registre au registre TD2. L'instruction JSR provoque un saut au sous-programme "décodage" I, 35 qui appelle à son tour l'intervention du module "décodage" I et contraint celui-ci à stocker le délimiteur de début suivant dans le registre RO. L'instruction MOV R0,TDI provoque le transfert du délimiteur de début suivant au registre TDI. L'instruc -627- 2334148 tion suivante SUB provoque l'exécution d'une opération de soustraction entre les délimiteurs actuel et précédent, respectivement contenus dans les registres TDI et TD2 et le stockage du résultat dans le registre TD2. L'instruction 5 MOV TD2.LS provoque le stockage de la différence dans le registre IS et l'instruction suivante DEC LS provoque une décrémentation de "1 de la différence contenue dans LS pour formera longueur effective de l'entrée. Pendant BR17î le délimiteur actuel contenu dans le 10 registre TDI et le délimiteur» de début fourni par le module "concordantiel" et contenu dans le registre DI sont comparés pour déterminer si le module "décodage" I a atteint (et, par conséquent, si le programme "concordance" est en train de traiter) l'entrée correspondant au délimiteur contenu dans le re-15 gistre DI. Le rappel du module "concordantiel" de matériel a exclusivement sorti un jeu de quatre valeurs (respectivement contenues dans les registres DI, N, S et DO) pour les entrées qui sont intéressantes et qui sont désignées par les paires de valeurs fournies par le module "cadrage". £0 La boucle comprenant les pas BR16, BR17 et BR18 a pour but de permettre au module "décodage" I d'explorer le vecteur d'apparition de délimiteur jusqu'à ce que soit trouvé un délimiteur égal au délimiteur de début contenu dans le registre DI où il a été stocké pendant BR15. A cet effet, si la comparai-25 son indique que le délimiteur du vecteur d'apparition de délimiteur contenu dans le registre TDI est plus grand que le délimiteur de début fourni par le module "concordantiel" contenu dans le registre DI, le pas BR18 est attaqué et le compteur NOC est décrémenté de 1, de sorte qu'il contient maintenant une valeur 30 identifiant l'entrée actuelle suivante dont le délimiteur de début sera obtenu à partir du vecteur d'apparition de délimiteur. Lorsque BR16 est repris, le délimiteur de valeur inférieure suivant est fourni à partir du vecteur d'apparition de 35 délimiteur par le module "décodage" I. Cette opération se poursuit jusqu'à ce que soit fourni par le module "décodage" I un délimiteur égal au délimiteur de début contenu dans le registre DI, c'est-à-dire "concordant" avec ce délimiteur de début, -628- 2334148 moment où BE19 est attaqué. A ce stade temporel, la valeur de NOC identifie le numéro de l'entrée du délimiteur de début contenu dans TDI. Pendant BR19, les trois instructions "virgule flot-• 5 tante" LDCIF sont exécutées. Le "minicalculateur" décrit ici comprend un module "virgule flottante". Les registres AG0-AC4-sont des registres de logiciel faisant partie de l'ensemble de programmes "virgule flottante". L'instruction "virgule flottante" LDCIF ACO,RLN pro-10 voque la conversion de la longueur de demande contenue dans le registre ELN sous la forme "virgule flottante" et son transfert dans le registre de matériel ACO. D'une manière analogue, les deux instructions LDCIF suivantes provoquent le stockage de la forme "virgule flottante" de la longueur de demande contenue 15 dans le registre ELN, dans le registre AC1 et la conversion de la valeur du nombre de correspondances contenue dans le registre N en notation en virgule flottante et son stockage dans le - registre de logiciel AC2. Pendant BR20, la valeur indiquée dans le dénominateur 20 des équations 8 et 9 du chapitre XVI intitulé MODULE "CONCORDANTIEL" est déterminée. A cet effet, le nombre de correspondances (N) du registre AC2 est retranché de la longueur de demande (ELIT) du registre ACO et la différence est placée dans le registre ACO. L'instruction "virgule flottante" MULF pro-25 voque une multiplication de la longueur de demande contenue dans le registre AC1 par la valeur de différence contenue dans le registre ACO et le résultat est stocké dans le registre ACO. En conséquence, la valeur HM = (LNRQ - N) * LNRQ a maintenant été formée dans ACO. L'instruction "virgule flottante" 30 LDCIF AC2,D0 provoque le transfert de la valeur dQ (équation 8) du registre de matériel 12 dans le registre de logiciel AC2 et l'instruction suivante ADDF AC0,AC2 assure l'addition de ces deux valeurs et le stockage du résultat dans le registre ACO. En conséquence, le registre ACO contient maintenant la valeur 35 indiquée dans le dénominateur de l'équation 8. Pendant BE21, le terme indiqué dans le numérateur de l'équation 8 est formé. A cet effet, l'instruction "virgule flottante" LDCIF AC3,S provoque la conversion de la valeur -629- 2334148 d formée par le module "concordantiel" sous la forme en mm K virgule flottante et son stockage dans le registre AC3. L'instruction suivante SUBI? AC2.AC3 retranche la valeur d„. du re- 1 mm gistre AG3 de la valetir dQ du registre AC2 et la différence est 5 stockée dans le registre AC2. Le registre AC2 contient ainsi . maintenant la valeur représentant le numérateur de l'équation 8. Pendant BR22, la valeur du registre AC2 représentant le numérateur de l'équation 8 est divisée par la valeur du registre AGO représentant le dénominateur de cette équation et le 10 résultat est rangé dans le registre AC2. En conséquence, le registre AC2 contient maintenant la valeur de dispersion effective S indiquée dans l'équation 8 du module "concordantiel" pour l'entrée spécifiée par le registre FOC, entrée dont le délimiteur de début est stocké dans TDI. 15 Pendant BR23, l'aiguillage de longueur LNGSW est vé rifié. L'aiguillage de longueur LNGS® peut être mis à 1 pendant le programme "analyse grammaticale" pour indiquer s'il y a lieu de tenir compte de la longueur pour déterminer la valeur concordantielle BV (voir équation 12 dans le chapitre XVI intitulé 20 MODULE "CONCORDANTIEL"). En conséquence, les deux instructions indiquées près de BR23 provoquent un contrôle destiné à vérifier si l'aiguillage LNGSW est à 1 et, dans l'affirmative, sont attaqués les pas BR25 à BR28 au cours desquels le facteur de longueur L (voir équation 12) est déterminé. Si l'aiguillage 25 LNGSW est à 0, alors est attaqué le pas BR24- au cours duquel l'instruction BFX7: LDCIF AC1,^1 est exécutée, ce qui provoque le stockage d'une valeur représentant un "1" dans le registre AC1, de sorte que, pendant le pas suivant BR29, un "1" est multiplié par la valeur de dispersion S contenue dans le registre 30 de logiciel AG2. Si la valeur L de l'équation 8 stockée dans le registre AC1 est la valetir "1", la valeur BV résultante formée pendant BR27 est identique à la valeur de dispersion S (voir équation 8) stockée dans le registre AC2. 35 On supposera maintenant que l'aiguillage LNGSW est à 1 et que le pas BR25 est attaqué. Pendant BR25, la valeur absolue de la différence entre la longueur effective de la demande (RLN) contenue dans le registre AC1 et la longueur de l'entrée -630- 2334148 de base de données (LS) stockée dans le registre ACO est calculée et le résultat est préservé dans le registre ACO. Cette valeur représente alors la valeur absolue de la différence LNRQ. - N qui est la valeur A de l'équation 11, chapitre XVI, 5 MODULE "CONCORDANTIEL". La valeur A formée dans le registre ACO est alors divisée par la valeur LNRQ transférée du registre RLN dans le registre AC1 et le résultat est élevé au cube, ce qui forme la valeur (j^)^ indiquée dans l'équation 11. A cet effet, l'instruction "virgule flottante" LDCIF AC0,LS 10 provoque la conversion de la longueur de l'entrée de la base de données contenue dans le registre LS sous la forme en virgule flottante et son stockage dans le registre ACO. L'instruction SUBI? provoque une opération consistant à retrancher la longueur de la réponse (N) contenue dans le registre AC1 de la 15 longueur de la demande (LNRQ) contenue dans le registre ACO et le résultat est stocké dans le registre ACO. En conséquence, le registre ACO contient maintenant le A (valeur DEL dans le listage de programme) indiqué dans l'équation 11. L'instruction ABSF ACO provoque la conversion de la valeur absolue de la 20 valeur A contenue dans le registre ACO sous la forme absolue en convertissant ainsi sous la forme positive les valeurs négatives éventuelles contenues dans ACO. L'instruction MOVF AC0,AC4-provoque le transfert de la valeur A du registre ACO du registre AC4. L'instruction DIVF AC0,AC1 provoque une division de la 25 valetir A du registre ACO par la valetir de longueur de demande stockée dans le registre ACI à partir de RLN et le résultat est rangé dans le registre ACO. L'instruction MOVF AC0,AC3 provoque une reproduction du résultat contenu dans le registre ACO, dans le registre AC3 et les deux instructions MULF sui-30 vantes élèvent cette valeur au cube et le résultat est stocké dans le registre ACO. En conséquence, à la fin de BR25, le registre ACO contient la valeur indiquée dans l'équation 11 et qui correspond dans le listing de programme à (g§f)^« Pendant BR26, la valeur A du registre AC4- est comparée 35 avec la valeur LNRQ de l'équation 11 (RLN dans le listing de programme) contenue dans le registre AC1. Si la première de ces deux valeurs est égale ou inférieure à la seconde, le pas BR27 est attaqué et la valeur indiquée dans la partie supérieure de -631- 2334148 l'équation 11 est calculée. Dans le cas inverse, BR28 est attaqué. On va maintenant considérer ce qui se passe en BR27 si A (DEL) est égal ou inférieur à LNRQ (voir équation 11 5 supérieure). L'instruction LDF AC1,ALPHA provoque la conversion de la valeur a (à savoir 0,63) sous la forme en virgule flottante et son stockage dans le registre AC1. Les deux instructions MULF suivantes élèvent au cube la valeur alpha 0,63 et le résultat est rangé dans AC1. L'instruction MTJLF ACO,AG1 10 provoque une multiplication de la valeur alpha élevée au cube A "X contenue dans le registre AC1 par la valeur (t-^q) contenue dans le registre ACO et le résultat est rangé dans le registre ACO. L'instruction LDCIF AC1,?^1 provoque la conversion de la valeur constante 1 en notation en virgule flottante et son stoc-15 kage dans le registre AC1. L'instruction SUBF AC1,AC0 a pour effet de retrancher la valeur a? (jj^>q)^ de la valeur 1 du registre AC1 et le résultat est rangé dans le registre AC1. Après BR27» le pas BR29 de l'organigramme est attaqué. On va maintenant considérer l'opération qui se déroule 20 pendant BR28 lorsqu'on utilise l'équation 11 inférieure (A > LNRQ). L'instruction LDCIF AC1^ 1 provoque le stockage à 1 dans le registre AC1. L'instruction DIVF AC1,AC0 provoque une division du "1" du registre AG1 par la valeur (gj|f)^ du registre ACO et le résultat est rangé dans le registre AC1. 25 Ainsi, la valeur L indiquée pour l'équation 11 inférieure a été calculée et rangée dans le registre AC1. En conséquence, en JOIN 7i le registre AC1 contient la valeur de l'équation 11 supérieure si BR27 a été attaqué, tandis que le registre AC1 contient la valeur L de l'équation 11 inférieure si c'est BR28 30 qui est attaqué. Pendant BR29, la valeur concordantielle finale BV est calculée. L'équation de la valeur BV figure dans l'équation 12 du chapitre XVI consacré au module "concordantiel". A cet effet, le facteur de longueur (L) est maintenant contenu 35 dans le registre AC1 et la valeur de dispersion est contenue dans le registre AC2 (S). En conséquence, l'instruction MULF AC1 ,AC2 provoque le calcul du produit de ces deux valetirs et le résultat est rangé dans le registre AG1. Le registre AC1 contient maintenant la valeur concordantielle finale BV. -632- 2334148 Pendant BR30, une comparaison est effectuée entre la valeur concordantielle BV et la valeur de délimitation de concordance BVCO. Si la valeur concordantielle est plus petite que la valeur de délimitation de concordance BVCO, c'est-à-dire 5 est inférieure à cette valeur, le pas BR32 est directement attaqué sans que rien soit stocké dans la zone de sortie PNBOUT du programme "concordance". Par contre, si pendant BR30, on trouve que la valeur concordantielle BV est égale ou supérieure à la valeur de délimitation de concordance BVCO, alors est 10 attaqué le pas BR315 au cours duquel le numéro d'entrée correspondant contenu dans le registre de logiciel NOC et la valeur concordantielle sont transférés en séquence, dans la zone de sortie PNBOUT. A cet effet, l'instruction JSR R5,INSERT provoque l'attaque du sous-programme "insertion" qui insère la 15 valeur de l'entrée (E) et la valeur concordantielle (BV) respectivement contenues dans NOC et dans AC1 à des emplacements essentiellement adressables de la zone PNBOUT, comme indiqué dans les grandes lignes par la Fig. 91* On va maintenant considérer le fonctionnement qui se 20 déroule au cours de BR32. Le registre de logiciel BRCNT a été réglé par le programme "cadrage" de telle manière qu'il identifie le nombre d'entrées transmises par le programme "cadrage" au programme "concordance" en vue de leur traitement par celui-ci. En conséquence, BRCNT contient une valeur identifiant le 25 nombre d'entrées comprenant chacune quatre valeurs stockées dans la zone 3 du module "mémoire" par le module "concordantiel". Chaque fois que l'une des entrées comprenant quatre valeurs de la zone 3 du module "mémoire" est traitée, le registre BRCNT est décrémenté de 1 au cours du pas BR32. A cet effet, 30 l'instruction DEC BRGNT décrémente la valeur contenue dans le registre BRCNT. Pendant BR33, un test est effectué pour déterminer si la valeur du registre BRCNT a été décrémentée à 0. Si cette valeur est supérieure ou égale à 0, le programme "concordance" 35 repasse en JOIN 4- où les pas BR15 et la suite sont répétés pour l'entrée à quatre valeurs suivante de la zone 3 du module "mémoire". Finalement, lorsque pendant BR33,BRCNT s'avère conteni:çKme valeur négative, le pas BR34- est attaqué et les -633- 2334148 contextes des registres EO - R4- sont restaurés en vue d'une reprise du programme "analyse grammaticale". En outre, l'instruction ADD RLN,S3 provoque l'addition de la valeur de longueur de demande stockée dans le registre ELN avec le contenu du registre de sommet de pile R3, ce qui "éjecte" ou élimine effectivement le numéro d'événement d'ESTAK qui vient d'être traité. Après BB34-, le déroulement du programme "concordance" est suspendu. F. Sous-programme "sortie" Le sous-programme "sortie" est appelé par le programme "cadrage" pendant les pas PI7 et PI11 et par le programme "concordance" pendant le pas BE3 et appelle à son tour l'intervention du module "sortie" de matériel. Le sous-programme "sortie" exige essentiellement, comme paramètres d'entrée : 1) un pointeur d'adresse pointant vers 1*en-tête de raccourci qui contient à son tour l'adresse d'une ligne de raccourci dans la "mémoire principale", ligne de raccourci qui doit être repermutéé jusqu'à la ligne 0 de son iso-entropicogramme ; 2) un pointeur pointant vers une zone de la mémoire principale dite "zone DOAR" pour un délimiteur ou un pointeur vers la zone Y/OAR pour un événement. Les contenus de DOAR et de WOAR sont représentés sur les Fig. 86 et 87. L'appendice B-4 contient le listage de programme relatif au sous-programme "sortie". La Fig. 97 est un organigramme qui met en évidence la séquence des opérations du sous-programme "sortie" et auquel on se référera dans la discussion qui va suivre. Pendant lo^as 01 du sous-programme "sortie", le contexte des registres de matériel RO à R4- du "minicalculateur" est préservé en vue d'un retour au programme appelant. Pendant 02, la ligne de raccourci (de délimiteur ou d'événement) est transférée dans la zone 1 du module "mémoire". Lors de l'attaque du sous-programme "sortie", le registre de matériel RO contient l'adresse de début d'un en-tête de raccourci et le registre R1 contient l'adresse de début de DOAR ou de WOAR, selon qu'une ligne de raccourci de délimiteur ou une ligne de raccourci "non de délimiteur" doit être sortie. En -634- 2334148 conséquence, pendant 02, l'instruction MOV 2(R0),R2 transfère le troisième mot de 1*en-tête de raccourci (à savoir le nombre d'apparitions de la ligne de raccourci correspondante) au registre R2. L'instruction MOVj^lO, STATUS provoque la mise à 0 5 et à 1, respectivement, des bascules m1, m2 du registre STATUS du module "jonction du système DPM", ce qui indique qu'une écriture dans la zone 1 du module "mémoire" est sur le point d'avoir lieu. L'instruction M0V^0,AI met à 0 le registre d'adresse AI du module "jonction du système DPM" de façon qu'il 10 pointe vers la première adresse de la zone 1 du module "mémoire" dans laquelle une écriture doit avoir lieu. L'instruction MOV (R0)+,R3 transfère le premier mot de 1'en-tête de raccourci (à savoir le pointeur d'adresse de base pointant vers la ligne de raccourci) au registre de matériel R3 et incrémente de 1 15 l'adresse contenue dans le registre RO. L'instruction MOV (R3)+,DATAO, DEC R2 et BNE .-2 provoque le transfert par le module "jonction du système DPM" de la ligne de raccourci, par l'intermédiaire du registre DATAO, dans la zone 1 du module "mémoire", aux emplacements spécifiés par les adresses contenues, 20 par exemple dans le registre AI. Le registre R2 contient la longueur en mots du raccourci. L'instruction DEC R2 provoque une décrémentation de 1 de la valeur contenue dans le registre R2, chaque fois qu'un m Pendant 03, les registres du dispositif IPEF sont initialisé s comme suit : -635- 2334148 TL -t— HW BL HW «—HW largeur de l'iso-entropicogramme 5 LIKEj^ numéro de la ligne de raccourci LN1 «t— longueur physique du raccourci LN2 -e- O A cet effet, l'instruction MOV £4 0,STATUS provoque la remise à O du registre STATUS et l'instruction MOV ^ 0,AI 10 provoque la remise à 0 du registre d'adresse AI, ce qui provoque l'adressage par le nodule "mémoire" du dispositif IPRF en commençant par le registre TL. Les sept instructions MOV suivantes provoquent le transfert de 1'information indiquée dans les registres indiqués du dispositif IPRF en séquence. 15 Pendant le pas 04 de l'organigramme, le module "sortie" de matériel est appelé. A cet effet, l'instruction MOV DMP+OMGO, STATUS provoque la mise à 1 de la bascule DPM et le réglage des bascules f1, f2, f3 à un état qui assure la sélection de la ligne de sortie OMGO du décodeur DC2. Il en résulte un appel 20 de l'intervention du module "sortie" de matériel comme décrit plus haut de façon détaillée. L'instruction BIT BDONE,STATUS provoque un contrôle par le "minicalculateur" de la bascule BDONE du registre STATUS jusqu'à ce que cette bascule soit mise à 1 pour indiquer que l'opération de sortie est achevée, 25 moment où le pas 05 de l'organigramme est attaqué. L'instruction BEO .-1 provoque un rebranchement du "minicalculateur" sur l'instruction BIT, jusqu'à ce que BDONE soit trouvé à l'état 0. Pendant le pas 05 de 1'organigramme, les paramètres 30 de sortie des registres OAR et OLN du module "sortie" sont transférés dans la mémoire principale du "minicalculateur". Il est rappelé ici que les registres OAR et OLET identifient respectivement la zone du module "mémoire" contenant le raccourci et la longueur en mots de la ligne de raccourci, ligne de 35 raccourci qui est maintenant contenue dans le module "mémoire". En conséquence, l'instruction CLR STATUS met à 0 le registre STATUS et l'instruction MOV j^6,AI provoque la mise à 6 du registre d'adresse AI, ce qui assure le transfert du numéro de la zone du module "mémoire" contenu dans le registre OAR du -636- 2334148 module "sortie", par l'intermédiaire de la porte DATAI, au bus I/O 1210 aboutissant au "minicalculateur". L'instruction MOV DATAI,(R1)+ provoque le stockage de la valeur appliquée au bus I/O 1210 dans le premier mot de la zone de mémoire à deux 5 mots (DOAE ou WOAR) spécifié par le registre RI et le contenu de celui-ci est incrémenté de 1. L'instruction MOV DATAI,(R1)+ provoque une incrémentation de 1 de l'adresse contenue dans le registre AI, de sorte que la longueur du raccourci contenue dans le registre OLN du module "sortie" est transmise par 10 l'intermédiaire de la porte DATAI au bus I/O 1210 tandis que la valeur de longueur de ligne de raccourci est stockée dans le second mot de la zone de deux mots spécifiée par le registre R1. L'adresse contenue dans le registre R1 est alors incrémentée. Pendant 06, les contenus des registres RO à R4- sont 15 ensuite restaurés en vue d'un retour au programme qui a appelé le sous-programme "sortie". G. Sous-programme MEMDPM Le sous-programme MEMDPM transfère une ligne de raccourci à partir de la mémoire principale du "minicalculateur" 20 dans un module "mémoire" spécifié. Le listate de programme correspondant au sous-programme MEMDPM est représenté dans l'appendice et la Fig-. 98 est un organigramme qui met en évidence la séquence de fonctionnement en utilisant des pavés ou cases MD1-MD7. Lors de l'attaque du sous-programme MEMDPM, les para-25 mètres d'entrée fournis sont les suivants : 1. Le registre RO contient un pointeur d'adresse pointant vers la zone de préservation de la mémoire principale (DAREA pour un raccourci de délimiteur ou WAREA pour un raccourci d'événement) à partir de laquelle un transfert doit être effectué. 30 2. Le registre R1 contient un pointeur d'adresse pointant vers une zone de préservation de deux mots (DOAR pour un raccourci de délimiteur ou WOAR pour un raccourci d'événement). Les Fig. 86 et 87 représentent ces relations. Les programmes "cadrage" (PI8, PI13, PI14-) et "concordance" (BR5, BR6, 35 BR12) appellent le sous-programme MEMDPM. Lors de cet appel, le pas MD1 est tout d'abord attaqué, pas au cours duquel le contexte des registres RO à R4 du "minicalculateur" ëst préservé en vue d'un retour au programme appelant. -637- 2334148 Pendant LÏD2, le numéro de zone de module "mémoire" et la longueur physique du raccourci sont obtenus à partir de l'une des zones de préservation de deux mots DOAR ou Y/OAR. A cet effet, l'instruction MOV R0,R2 provoque le transfert du 5 pointeur d'adresse pointant vers la zone de préservation de la mémoire principale (DAREA ou Y^AREA, Fig. 86, 87) du registre RO au registre R2. L'instruction MOV(R1)+,R3 provoque le transfert du contenu de l'emplacement de DOAR ou de WOAR spécifié par le registre R1 (c'est-à-dire du numéro d'une zone du module 10 "mémoire") au registre R3 et le pointeur d'adresse contenu dans le registre R1 est incrémenté de 1 de sorte qu'il pointe maintenant vers le second mot de la zone de stockage à deux mots (DOAR ou Y/OAR). L'instruction M0V(R1)+,R4 provoque le transfert du contenu de l'emplacement spécifié par R1 (c'est-à-15 dire de la longueur physique de raccourci provenant de DOLN ou Y/OU!) au registre R4. Les bits spécifiant la zone du module "mémoire" dans laquelle un transfert doit avoir lieu sont stockés dans les deux bits de plus faible poids du registre R3» tandis qu'en se référant à la Fig. 53, on peut'voir que les 20 bits de zone du module "mémoire" m1, m2 sont déplacés de trois bits à partir de l'extrémité de droit^du registre STATUS. Les trois instructions de déplacement vers la gauche suivantes ROL provoquent un déplacement de trois rangs vers la gauche du contenu du registre R3 en vue de son alignement avec le registre 25 STATUS. Pendant MD3, le registre STATUS et le registre d'adresse AI du module "jonction du système DPM" sont initialisés. A cet effet, l'instruction MOV R3,STATUS provoque le stockage du mot déplacé contenu dans le registre R3, dans le registre 50 STATUS, ce qui met les bits m1, m2 dans un état assurant la sélection de la zone convenable du module "mémoire". En outre, l'instruction M0Vj^0,AI provoque le stockage d'un "0" dans le registre AI, et, par conséquent, la sélection de l'adresse 0 de la zone du module "mémoire" spécifiée par le registre STATUS. 35 Pendant MD4, un mot est transféré à partir de la mé moire principale du "minicalculateur" au module "mémoire". Ce mot est stocké dans la zone du module "mémoire" spécifiée par les bits m1, m2 contenus dans le registre STATUS et à l'emplace -638- 2334148 ment spécifié par le registre d'adresse AI, ces deux registres appartenant au module "jonction du système DPM". L'instruction MOV (R2)+,DATAO assure que ce transfert s'effectue à partir de l'emplacement de mémoire de la zone de raccourci spécifiée par le registre R2 et le contenu de celui-ci est incrémenté de 1 en vue de la lecture suivante. Pendant MD5, la valeur représentant la longueur physique du raccourci contenue dans le registre R4 est décrémentée de 1 pour refléter le fait qu'un mot a été transféré dans le module "mémoire". Pendant MD6, l'instruction BHE .-2 provoque un retransfert à JOIN 1 si le contenu du registre R4 n'a pas été décrémenté à 0. Lorsque la longueur physique contenue dans le registre R4 a été décrémentée à 0, le pas MD7 est attaqué après MD6 et le contexte des registres EO à R4 est restauré en vue d'une reprise du programme appelant. H. Sous-programme DPMMEM Le sous-programme DPMMEM est le complément du sous-programme MEMDPM. Plus précisément, le sous-programme DPMMEM établit et transfère des données à partir d'une zone spécifiée du module "mémoire" dans une zone spécifiée de la mémoire principale. Les paramètres initiaux du sous-programme DPMMEM sont les suivants : 1. Le registre EO contient un pointeur d'adresse de base pointant vers la zone de préservation de la mémoire principale (DAREA. ou WAREA) à laquelle un transfert doit être effectué. 2. Le registre R1 contient un pointeur d'adresse de base pointant vers la zone de deux mots (DOAR ou WOAR) qui contient, dans son premier mot le numéro de la zone du module "mémoire" à partir de laquelle le transfert doit être effectué et, dans son second mot, la longueur physique en mots de la zone à transférer. L'appendice B contient le listage de programme relatif au sous-programme DPMMEM. La Fig. 99 représente la séquence de fonctionnement correspondant au sous-programme -DPMMM et identifie les pavés d'organigramme par les symboles DM1-DM7. On remarquera que la séquence de fonctionnement est fondamentalement la même que celle du sous-programme MEMDPM représenté sur la Fig. 98, à cela près que, pendant le pas DM4, l'instruction -639- 2334148 MOV" DATAI,(R2)+ provoque le transfert d'un mot à partir du module "mémoire" spécifié dans la zone de mémoire principale spécifiée par l'adresse contenue dans le registre R2 et non l'inverse. En conséquence, la description ne sera pas répétée. 5 I. Sous-programme "décodage" I Le sous-programme "décodage" I appelle le module "décodage" I de matériel. L'exécution du sous-programme "décodage" I présuppose que ce module de matériel a.été initialisé antérieurement au premier appel. L'information de sortie du module 10 "décodage" I comprend sept bits fournis par le registre D01 et qui sont suivis à leur extrémité de plus fort poids d'un huitième bit qui est toujours 0. Ce huitième bit représente l'information de sortie de la bascule de fin de fichier E0F1. En raison de la simplicité de l'organigramme, les pavés ne sont 15 pas étiquetés. Tant que la bascule de fin de fichier E0F1 n'est pas mise à 1, le module "décodage" I doit encore fournir au moins une valeur d'apparition décodée de plus. Par contre, dès que le module "décodage" I n'a plus rien à fournir, la bascule E0F1 est mise à 1. La valeur de huit bits résultante est trans-20 mise, par 1'intermédiaire du module "jonction du système DPM", au "minicalculateur" qui l'interprète comme représentant la fin des données décodées. On va maintenant examiner le déroulement du sous-programme "décodage" I. La fig. 100 représente l'organigramme du 25 fonctionnement du module "décodage" I. L'appendice B contient le listage de programme relatif au sous-programme "décodage" I. Initialement, le contexte des registres R1 à R4- est préservé en vue d'un retour au programme appelant après la suspension du sous-programme "décodage" I. Ensuite le module 30 "décodage" I est appelé et la valeur d'apparition codée absolue fournie par le module "décodage" I est préservée dans le registre RO. A cet effet, l'instruction MOV DFK+D1GO,STATUS provoque la mise à 1 de la bascule DPM du registre STATUS et l'actionnement des bascules f1, f2, f3 de ce même registre, ac-35 tionnement qui provoque à son tour la formation par le décodeur DC2 d'un signal vrai à la sortie D1G0, signal qui appelle à son tour l'intervention du module "décodage" I. -640- 2334148 Une fois que les opérations du module "décodage" I sont terminées, la bascule BDONE du registre STATUS est mise à 1. L'instruction BIT BDONE,STATUS provoque le contrôle de l'état 1 de la bascule BDONE. L'instruction BEQ.-1 provoque un rebranche-5 ment du "minicalculateur" sur l'instruction MOV précédente et une répétition de l'appel du module "décodage" I jusqu'à ce que la bascule BDONE soit à l'état 1. Lorsque la bascule BDONE est à l'état 1, l'instruction CLR STATUS est exécutée, ce qui provoque la remise à 0 du registre STATUS. L'instruction M0Vj^S,AI 10 provoque le stockage de la valeur 8 dans le registre d'adresse AI, qui provoque à sort tour le couplage de la sortie du registre D01 du module "décodage" I avec le bus I/O 1210. L'instruction suivante MOV DATAI,RO provoque le stockage de .la valeur d'apparition effective formée par le module "décodage" I 15 et qui est contenue dans le registre D01, dans le registre RO. Enfin, le sous-programme "décodage" I provoque une restauration du contexte des registres R1 à-R4 et l'exécution du sous-programme "décodage" I est alors suspendue. J. Sous-propramme "insertion" 20 Le sous-programme "insertion" est appelé par les pro grammes aux points indiqués ci-après. Le sous-programme "insertion" insère une paire de. valeurs comprenant un numéro d'entrée (E) et une valeur concordantielle (BV) à des emplacements de mémoire séquentiels dans la liste ordonnée de la zone PNBOUT 25 de la mémoire principale, voir 2213 sur la Fig. 102A et 223 sur la Fig. 102B. Dans ses grandes lignes, le déroulement de ce sous-programme implique l'insertion précitée de la paire de valeurs dans la liste ordonnée PNBOUT et le déplacement d'une position vers le bas du reste de la liste. Lorsque le sous-pro-30 gramme "insertion" est appelé, les valeurs suivantes ont été déterminées : 1. Le registre de logiciel NOC contient un numéro d'entrée (E). 2. Le registre de logiciel "virgule flottante" dit également ci-après par abréviation registre "flottante" "flottante" AC1 35 - contient une valeur concordantielle (BV) qui doit être stockée dans la zone de sortie PNBOUT immédiatement après le numéro d'entrée (E). -641- 2334148 En outre, PNBPTR est l'adresse de base d'une zone de deux mots PNBPTR contenant l'adresse de début de PNBOUT et une valeur qui identifie le nombre d'entrées maintenant stockées dans la zone de sortie PNBOUT. PNBCNT est l'adresse du second 5 mot de PNBPTR qui contient le nombre d'entrées. Les adresses PNBPTR et PNBCNT sont engendrées par l'assembleur lors de l'assemblage du listage de programme. L'appendice B contient le listage de programme relatif au sous-programme "insertion" et la Fig. 101 représente l'orga-10 nigramme correspondant, dont les pavés sont identifiés par les symboles IN1-IN8. Lors de l'appel du sous-programme "insertion", le pas IN1 est attaqué. Pendant IN1, le contexte des registres RO à R4 est préservé en vue d'un retour ultérieur au programme appe-15 lant. Pendant IN2, les pointeurs d'adresse de base PNBPTR et PNBCNT sont obtenus et stockés dans les registres R3 et R4, respectivement. L'instruction MOT N0C,R2 provoque le stockage du numéro d'entrée actuel (E) contenu dans le registre de logi-20 ciel NOC, dans le registre R2. Les registres R2, R3 et R4 étant chargés, les pas IN3 à IN7 de 1'organigramme du sous-programme "insertion" sont prêts â être exécutés, pas au cours desquels le numéro d'entrée actuel contenu dans le registre R2 et la valeur concordantielle BV contenue dans le registre "flottante" 25 AC1 sont stockés dans PNBOUT. Il est à noter que les paires de valeurs sont stockées de la même manière que dans PNBOUT de sorte que les valeurs concordantielles sont classées par ordre de grandeur décroissant. R3 pointe vers là paire actuelle (entrée,BT) à traiter. 30 L'instruction "virgule flottante" LDF AC0,2(R3) provoque la sortie par lecture à partir de PNBOUT de l'ancienne valeur concordantielle située à l'adresse spécifiée par R3 plus deux adresses et son stockage dans le registre "virgule flottante" ACO. 35 Pendant IN4, la valeur concordantielle actuelle stockée dans le registre "flottante" AC1 est comparé avec l'ancienne valeur concordantielle du registre ACO en utilisant l'instruction "virgule flottante" CMPF. Si la valeur concordantielle actuelle -642- 2334148 (3V) du registre "flottante" AC1 est inférieure ou égale à la grandeur de l'ancienne valeur concordantielle (BV) du registre ACO, le pas IN6 est directement attaqué, pas au cours duquel PNBOUT reste inchangé. Si la valeur concordantielle actuelle 5 (BV) du registre AC1 est plus grande que l'ancienne valeur concordantielle du registre ACO, alors la valeur concordantielle actuelle doit être stockée dans la liste contenue dans PNBOUT conjointement à son numéro d'entrée, au-dessus de l'ancienne valeur concordantielle (BV) du registre ACO (et de l'ancien 10 numéro d'entrée correspondant) et la liste PNBOUT doit être déplacée en conséquence. A cet effet, IN5 est appelé. Pendant IN5, l'instruction MOV (R3),R1 provoque la lecture de l'ancien numéro d'entrée (E) dans PNBOUT et son stockage dans le registre R1. L'instruction MOV R2,(R3)+ pro-15 voque le stockage du numéro d'entrée actuel à l'adresse spécifiée par le registre R3 et celui-ci est incrémenté. En conséquence, le nouveau numéro d'entrée du registre R2 (provenant de NOC) a remplacé l'ancien numéro d'entrée maintenant contenu dans le registre R1. L'instruction MOV R1,R2 provoque le trans-20 fert de l'ancien numéro d'entrée du registre R1 dans le registre R2, ce qui a pour effet que cet ancien numéro d'entrée devient le numéro d'entrée actuel. L'instruction "virgule flottante" LDF AC2,AC0 provoque le transfert de l'ancienne valeur concordantielle du registre "flottante" ACO dans le registre "flot-25 tante" AC2, où elle est temporairement préservée en tant que valeur concordantielle actuelle. L'instruction "virgule flottante" MOVF AC1,(R3)+ provoque le stockage de la valeur concordantielle actuelle (BV) contenue dans le registre "flottante" AC1 à l'adresse incrémentée spécifiée par le registre R3 dans 30 l'emplacement de mémoire qui suit le numéro d'entrée actuel. En outre, l'adresse contenue dans le registre R3 est incrémentée dans une mesure appropriée de façon qu'elle pointe maintenant vers l'ancien numéro d'entrée suivant contenu dans PNBOUT. L'instruction "virgule flottante" LDF AC2,AC2 provoque alors 35 le transfert de l'ancienne valeur concordantielle temporairement stockée dans le registre AC2, au registre "flottante" AC1. Après IN5 est attaqué le pas IN6 de l'organigramme, au cotirs duquel la valeur représentant le nombre d'entrées -643- 2334148 contenues dans PNBOUT est décrémentée de 1 pour refléter le fait qu'un numéro d'entrée et la valeur concordantielle associée contenues dans PNBOUT ont été traitées par le sous-programme "insertion". 5 Pendant IN7, la valeur du nombre d'entrées contenue dans le registre R4 est vérifiée et, si elle est plus grande que 0, ce qui indique qu'il reste d'autres numéros d'entrée et d'autres valeurs concordantielles associées à traiter dans PNBOUT, le noeud JOIN 1 de l'organigramme est repris et la va-10 leur du numéro d'entrée actuel ainsi que la valeur concordantielle actuelle stockées, respectivement, dans les registres R2 et AC1 sont traitées. De cette manière, les numéros d'entrée et les valeurs concordantielles sont classées dans PNBOUT par ordre de grandeur décroissant des valeurs concordantielles. 15 Lorsque la valeur du nombre d'entrées contenue dans le registre R4 a été décrémentée à 0, le pas IN7.1 est attaqué. A ce stade, les registres R2 et AC1 contiennent respectivement le numéro d'entrée restant et la valeur concordantielle restante qui doivent être stockés dans PNBOUT. A cet effet, les instruc-20 tions M07 et MOVF provoquent le stockage de ces valeurs dans PNBOUT sous la commande du registre d'adresse R3 et l'instruction INC provoque une incrémentation de la valeur du nombre d'entrées à l'emplacement spécifié par PNBCNT pour refléter le fait qu'un numéro d'entrée supplémentaire et la valetir concordantielle 25 associée ont été ajoutés à PNBOUT. Pendant IN8, le contexte des registres RO à R4 est restauré pour permettre un retour au programme appelant. K. Sous-programme "ordres" L'appendice B-10 représente le listage de programme 30 relatif au sous-programme "ordres". La Fig. 103 est un organigramme représentant la séquence d'opérations qui se déroule pendant l'exécution du sous-programme "ordres". La Fig. 103 utilise les symboles C1 à C42 pour identifier les divers pavés de l'organigramme. Le long du côté gauche de l'appendice B-10, 35 les symboles C1-C42 sont utilisés pour faire corréler les listages de programme avec les pavés représentés sur la Fig. 103. Dans ses grandes lignes, le sous-programme "ordres" est destiné à traiter un certain nombre de fonctions de servi -544- 2334148 tude en corrélation avec deux ordres qui peuvent être utilisés par le demandeur pour présenter sa demande au système. Comme décrit précédemment, ces deux ordres sont l'ordre "ERD" (fin) et l'ordre "CHANGE" (changer). Les articles qui peuvent être 5 modifiés par l'ordre "CHANGE" sont des "globaux" de logiciel et ont été désignés ci-dessus par a (alpha) utilisé pour calculer la valetir de longueur L de l'équation 11, par BVCO, valeur de délimitation de concordance, par LNGSY/, aiguillage de longueur, qui détermine si la longueur de la demande doit 10 être prise en considération pour la détermination d'une réponse, par I¥, largeur de cadre et par PCO, valeur de délimitation de cadre. Les fonctions primaires traitées par le sous-programme "ordres" sont les suivantes : une fois que le demandeur a tapé 15 la lettre E pour l'ordre END, le sous-programme "ordres" provoque l'impression par l'imprimante des deux lettres supplémentaires ND, de sorte que le mot d'ordre complet END est affiché; après que le demandeur a tapé la lettre C pour l'ordre CHANGE, le sous-programme "ordres" provoque l'impression par l'impri-20 mante des lettres supplémentaires HANGE, de sorte que le mot d'ordre complet CHANGE est affiché; une fois que le mot d'ordre complet CHANGE a été affiché et que le demandeur a tapé la lettre A pour le mot ALPHA (a), le sous-programme "ordres" provoque l'impression par l'imprimante des lettres supplémen-25 taires LFHA, afin d'afficher le mot complet ALPHA; après que le mot d'ordre complet CHANGE a été affiché et que la lettre B pour BVCO a été tapée, le sous-programme "ordres" provoque l'impression par l'imprimante des lettres supplémentaires VCO en affichant ainsi le mot complet BVCO; après que le mot com-30 plet CHANGE a été affiché et que le demandeur a tapé la lettre L pour LNGSW, le sous-programme "ordres" provoque l'impression par l'imprimante des lettres NGSW et, par conséquent, l'affichage du mot complet LNGSW; une fois que le mot complet CHANGE a été affiché, et que le demandeur a tapé les lettres PC, le 35 sous-programme "ordres" provoque l'impression par l'imprimante de la lettre supplémentaire 0, de sorte que le mot complet PCO est affiché; après ALPHA ou PBCO ou LNGSW ou Pïï (ce dernier mot étant entièrement tapé par le demandeur) ou après PCO dont la -64-5- 2334148 frappe est amorcée par le demandeur et complétée comme décrit ci-dessus par l'imprimante, le sous-programme "ordres" provoque automatiquement l'impression par l'imprimante du message "TO" (en); ultérieurement, après impression du message '"TO" 5 et lorsque le demandeur a ensuite introduit, soit une valeur entière (à savoir un pourcentage représentant EVCO, LîTGSW, PCO ou FW), soit une valeur en virgule flottante représentant a (ALESA), le sous-programme "ordres" stocke ces valeurs dans le "global" de programme approprié. Ces fonctions, ainsi que 10 d'autres fonctions et opérations du sous-programme "ordres" seront expliquées plus complètement dans l'exposé qui va suivre. On va maintenant examiner la séquence d'exécution du sous-prcgramme "ordres" en se référant à l'organigramme de la Fig. 103. Tout d'abord, il est rappelé en référence à l'organi-15 gramme du programme "composition" de la Fig. 102C que, lorsqu'un demandeur tape un E ou un C, cela indique qu'il introduit soit l'ordre END, soit l'ordre CHANGE. Il est également rappelé que cet E ou ce C sont détectés par le programme "composition" pendant le pas F6 et appellent l'intervention du sous-programme 20 "ordres". Initialement, pendant le pas C1 du sous-programme "ordres", le contexte du "minicalculateur" est préservé. Pendant C2, l'aiguillage ERRSW est remis à 0, de sorte qu'il peut être mis à 1 ultérieurement dans le cas où une er-25 reur est détectée au cours du déroulement du sous-programme "ordres". Pendant les pas C3 et la suite, le sous-programme "ordres" détermine si un E correspondant à un ordre END ou un C correspondant à un ordre CHANGE ont été ou non introduits. 50 A cet effet, pendant C3, le sous-programme "ordres" lit le caractère tapé sur la machine à écrire et le compare avec une représentation mémorisée du caractère E. Si le résultat de cette comparaison est "inégalité" ou "faux", le pas C4- de l'organigramme du sous-programme "ordres" est attaqué. 35 Pendant C4-, le même caractère est comparé avec une représentation mémorisée du caractère C et, si le résultat de la comparaison est "inégalité", le pas C5 est attaqué et l'aiguillage ER5SW est mis à 1 pour indiquer qu'il existe une -646- 2334148 condition prohibitive, c'est-à-dire que quelque chose d'autre qu'un E ou un C a été tapé par le demandeur à la suite d'un délimiteur de début, étant donné qu'il n'existe que deux ordres, à savoir l'ordre END et l'ordre CHANGE. Après C5 sont 5 attaqués le noeud JOIN 7 et le pas C30, dont les opérations sont décrites plus loin de façon plus détaillée. On va maintenant revenir au pas C4- de l'organigramme et supposer que le caractère tapé par le demandeur est un C. Le résultat de la comparaison effectuée pendant C4 est "égal" 10 ou "vrai" et C6 est attaqué. Pendant C6, le sous-programme "imprimante" est appelé, ce qui provoque l'impression automatique des lettres HANGE par l'imprimante, de sorte que le demandeur voit le mot CHANGE. Le sous-programme "ordres" attend alors que le deman-15 deur introduise sur la machine à écrire un caractère correspondant à l'information qui est à modifier. L'article à modifier est stocké dans le logiciel sous forme de "global". Pendant C7, le sous-programme "sélection d'un caractère" est appelé, ce qui provoque la lecture du caractère suivant introduit par le de-20 mandeur. Pendant C8, les drapeaux de logiciel FLTSW et BVFLG sont "effacés" pour être "remis" ultérieurement au cours de l'exécution du logiciel. Le drapeau FLTSW est un aiguillage "flottante'?" qui indique si un nombre en virgule flottante est en train d'être lu. BVFLG est un drapeau de logiciel qui, s'il 25 est à "1", indique qu'une valeur de délimitation de concordance a été introduite sur la machine à écrire et est en train d'être lue. Pendant C9, un contrôle est effectué pour déterminer si le caractère lu à partir de la machine à écrire pendant C7 30 est un A. Ce contrôle s'effectue, comme décrit précédemment, en comparant A avec une valeur préalablement mémorisée représentant A. Si le résultat de la comparaison est "égalité", ce qui indique qu'il s'agit bien d'un A, le pas C10 est attaqué et le sous-programme "imprimante" est appelé, ce qui provoque 55 l'impression par l'imprimante des lettres supplémentaires LEHA èn affichant ainsi le mot complet ALPHA. Jusqu'à présent l'imprimante a donc affiché la phrase partielle "CHANGE ALPHA" (changer ALPHA). -64-7- 2334148 ALPHA est un nombre en virgule flottante; en conséquence, pendant C11, l'aiguillage "flottante ?" FLTSW est mis à 1. Ultérieurement, pendant C12, un pointeur de logiciel est réglé de telle manière qu'il pointe vers l'emplacement de mé-5 moire du mot ALPHA qui a été réservé à la fin du programme "composition". Après C12, les noeuds CJOIN 6 et CJOIN 7 et le pas C30 sont attaqués. Pour revenir à C9, on va supposer maintenant que le résultat de la comparaison a été "inégalité" et que, par con-10 séquent C13 est attaqué. Pendant C13, le caractère est comparé avec une représentation mémorisée du caractère B. Si le résultat de cettoàouvelle comparaison est "égalité", C14- est attaqué et le sous-programme "imprimante" est appelé et provoque l'impression par l'imprimante des lettres VCO après la lettre 15 B, ce qui donne le mot affiché BVCO. En conséquence, à ce stade, les mots affichés par l'imprimante sont "CHANGE BVCO" (changer BVCO). Pendant C15, le drapeau BVFLG est à 1'pour indiquer que le demandeur est sur le point d'introduire une valeur de 20 délimitation de concordance (BVCO). Ensuite, pendant les pas C34-, C35 et G37, la valeur de délimitation de concordance BVCO est lue .et stockée à un emplacement BVCO réservé par le programme "composition". Pendant C16, un pointeur est réglé vers l'emplacement de mémoire du mot BVCO. Après C16, les noeuds 25 CJOIN 5, CJOIN 6, GJOIN 7 et le pas C30 sont attaqués. On va maintenant revenir en C13 et supposer que la comparaison a donné comme résultat "inégalité", ce qui indique que le caractère qui vient d'être lu n'est pas un B. C17 est alors attaqué et le caractère est comparé avec la désignation 30 mémorisée de la lettre L. Si le résultat de cette nouvelle comparaison est "égalité", C18 est attaqué et le sous-programme "imprimante" est appelé, ce qui provoque l'impression par l'imprimante des lettres NGSW après la lettre L, ce qui donne comme mot affiché LNGSW. A ce stade, la console d'opérateur affiche 35 les mots "CHANGE LNGSW" (changer LNGSW). Ensuite est attaqué le pas C19 au cours duquel un pointeur est réglé vers l'emplacement de mémoire contenant le mot LNGSW qui a été stocké à la fin du programme "composition". -648- 2334148 Un espace a été réservé pour toutes les variables de~ "global" pendant le temps d'assemblage à la fin du programme "composition". Après 019, lès noeuds CJOIN 4, CJCIN 5, CJOIN 6 et CJOIN 7 et le pas C30 sont attaqués. 5 . On va revenir maintenant en C17 et supposer que la comparaison a donné "inégalité", ce qui indique que le caractère n'est pas la lettre L. C20 est maintenant attaqué et le caractère est comparé avec la désignation mémorisée de la lettre P. Si une inégalité est détectée, le caractère n'est pas 10 un P et le pas C21 est attaqué, pas au cours duquel l'aiguillage ERKSW est mis à 1. L'aiguillage ERKSW est mis à 1 pour indiquer une erreur, étant donné que les seuls "globaux" admissibles sont A-ALPHA, B-BVCO, L-LNGSW, P-PW ou P-PCO et que si une égalité n'est pas détectée par C21, cela indique qu'un autre 15 caractère quelconque a été introduit et que, par conséquent, ce caractère introduit est une erreur. Après C21, les noeufs CJOIN 3, CJOIN 4, CJOIN 5, CJOIN 6 et CJOIN 7 et le pas C30 sont attaqués. On va maintenant revenir en C20 et supposer que la 20 comparaison a donné "égalité", ce qui indique que le caractère est effectivement un P. On remarquera toutefois que ce P pourrait tout aussi bien désigner un "global" PW~ qu'un "global" PCO. En conséquence, le pas C22 est attaqué et le sous-programme "sélection d'un caractère" est appelé pour attendre et lire le 25 caractère suivant introduit par le demandeur. Pendant C23, le caractère suivant introduit et lu est comparé avec la désignation mémorisée de la lettre C. Si une égalité est détectée, le pas C24 est attaqué et au cours de ce pas le sous-programme "imprimante" est appelé, ce qui provoque l'impression par l'im-30 primante de la lettre 0'après les lettres PC. C25 est alors attaqué et un pointeur est réglé vers l'emplacement de mémoire contenant le mot PCO qui a été stocké à la fin du programme "composition". Le drapeau BVPLG est mis, de sorte que le nombre introduit sous la forme PCO est converti en virgule flottante. 35 En conséquence, à ce stade la console d'opérateur affiche les mots "CHANGE PCO" (changer PCO). Après C25, les noeuds CJOIN 2 à CJOIN 7 et le pas C30 sont attaqués. -649- 2334148 On va maintenant revenir à C23 et supposer que la comparaison a donné "inégalité", ce qui indique que le caractère n'est pas la lettre C. Cela signifie que le caractère qui vient d'êtx^e lu doit être un W, qui est la lettre suivante du 5 mot PW. En conséquence, le pas C26 est attaqué et, au cours de ce pas, une comparaison est effectuée entre une désignation mémorisée de la lettre W et le caractère qui vient d'être introduit et lu. Si une égalité est détectée, le pas C27 est attaqué et un pointeur est réglé vers l'emplacement de mémoire '10 du mot PW. A ce stade, l'imprimants affiche les mots "CHANGE (changer PW). On va maintenant revenir en C26 et supposer que la comparaison a donné "inégalité". Cela signifie que le caractère tapé après la lettre P est quelque chose d'autre que C ou W 15 et, par conséquent, est erroné. C28 est alors attaqué et l'aiguillage EERSW est mis à 1. Après C27 ou C38, les noeuds CJOIN 1 à CJGIN 7 et le pas C30 sont attaqués. On va maintenant examiner le pas C30 de l'organigramme. Pendant C30, l'aiguillage ERKSW est vérifié pour déterminer si 20 c'est un "1" ou un "0". Si c'est un "1", il existe un état vrai indiquant la présence d'une erreur et C31 est attaqué. En C31, le sous-programme "imprimante" est attaqué, ce qui provoque l'impression par l'imprimante du message "erreur de composition". Après C31, les noeuds CJOIN 14 et CJOIN 11 et le pas 25 C42 sont attaqués. . On va maintenant revenir en C30 et supposer que l'aiguillage ERRSW est à l'état 0 et que par conséquent, il existe une condition "faux" indiquant que l'aiguillage d'erreur n'a pas été mis à 1 et qu'il n'y a donc aucune erreur. C32 est 30 alors attaqué et le sous-programme "imprimante" est tapé, ce qui provoque l'impression par l'imprimante du mot TO (en) après le message actuellement affiché sur l'imprimante. A ce stade, l'imprimante a affiché le mot "CHANGE" (changer) suivi de l'un des mots "ALPHA", "BVCO", "LNGSW", "PCO" ou "PW", suivi à son 35 tour du mot "TO" (en). Le sous-programme "ordres" doit maintenant lire la nouvelle valeur introduite sur la machine à écrire par le demandeur. -650- 2334148 Pendant C33, l'aiguillage FLTSW est vérifié pour déterminer si c'est un "1" ou tin "0". Si c'est un "0", il existe un état faux et le pas C34 est attaqué, pas au cours duquel le sous-programme "sélection d'un entier" est appelé, ce qui pro-5 voque la lecture d'une valeur entière à partir de la machine à écrire et sa conversion du code ASCII en code binaire. Pendant C35, le drapeau BVLFG est vérifié pour déterminer si c'est un "1" indiquant qu'une valetir BVCO est en train d'être traitée. Si le drapeau BVFLG est "0", il existe un état faux indiquant 10 qu'une valeur BVCO n'est pas en train d'être traitée et le pas 036 est attaqué, pas au cours duquel l'entier qui vient d'être lu est stocké à l'emplacement approprié par l'ordre MOV de logiciel. Après C36, les noeuds CJOIN 8, 9 et 11 et le pas C42 15 sont attaqués. On va maintenant revenir en C35 et supposer que le drapeau BVFLG est un "1", ce qui indiqué un état vrai et, par conséquent, que l'entrée introduite par le demandeur est une valeur BVCO. le pas C37 est alors attaqué, pas au cours duquel 20 la valeur BVCO est flottée et divisée par 100 pour la convertir d'une valeur de pourcentage en une valeur décimale comprise entre 0 et 1. Cette opération est effectuée par les ordres de logiciel. Après C37» les noeuds CJOIN 8 à 11 et le pas C42 sont attaqués. 25 On va revenir maintenant en C33 et supposer que le drapeau FLTSW est un "1" et, que par conséquent, il existe une condition "vrai" indiquant que le nombre en virgule flottante ALPHA (a) a été introduit sur la machine à écrire par le demandeur. Le pas C38 est attaqué et le sous-programme "sélection 30 virgule flottante" provoque la conversion du nombre introduit par le demandeur en notation en virgule flottante. Il est à noter que ce nombre est un nombre décimal compris entre 0 et 1, comme le sont toutes les Valeurs ALPHA (a). Pendant C39? la valeur ALPHA (a) en notation en virgule flottante a été stockée 35 à l'emplacement ALPHA et les noeuds" CJOIN 9 â CJOIN 11 et le pas C4-2 sont attaqués. On va maintenant revenir à nouveau en C3 et supposer que la comparaison avec le caractère a indiqué qu'un E a effec -651- 2334148 v tivement été introduit par le demandeur sur la machine à écrire et que, par conséquent, le résultat de la comparaison était "vrai", ce qui a provoqué l'attaque du pas C40. Pendant C40, le sous-programme "imprimante" provoque l'impression des 5 lettres ND par l'imprimante ce qui détermine l'affichage du mot EKD en indiquant ainsi qu'un ordre END a été introduit par le demandeur sur la machine à écrire. Pendant C41, le drapeau EffDFL est mis à 1, ce qui indique qu'un ordre EKD a été introduit et le noeud JOIN 11 est ensuite attaqué. 10 Pendant C42, le contexte du "minicalculateur" est res tauré sous la forme même qui existait lors de l'appel du sous-programme "ordres" par le programme "composition". Ensuite, l'exécution du sous-programme "ordres" est suspendue. L. Sous—"propjTaTmnp. "sélection d'un entier" 15 La Fig. 104 représente un organigramme du sous- programme "sélection d'un entier". La Fig. 104 comporte des pavés C340 à C348 représentant la séquence de fonctionnement qui correspond à l'exécution du sous-programme "sélection d'un entier". Vers la fin de l'appendice B-10, les symboles C340 à 20 C348 sont utilisés pour indiquer les listages de programme correspondants pour le sous-programme "sélection d'un entier". On va maintenant examiner le sous-programme "sélection c?u.n entier" en se référant à la Fig. 104. Le sous-programme "sélection d'un entier" est appelé pendant le pas C34 du sous-25 programme "ordres" représenté sur la Fig. 103. Le sous-programme "sélection d'un entier" convertit une chaîne numérique codée en ASCII sous la forme entière. En se référaht à la Fig. 104, on voit que, pendant le pas C340, le sous-programme "sélection d'un entier" lit un caractère à partir de la machine à écrire. 30 Pendant C341, ce caractère est comparé avec un code représentant un "'blanc"'. Si le caractère est un blanc, rien n'a été introduit par le demandeur et le pas C340 est repris. Cette boucle se poursuit jusqu'à ce qu'un caractère non blanc soit détecté pendant C341. Lorsqu'un caractère non blanc est détec-35 té pendant C341, il existe un état faux qui provoque l'attaque du pas C342 au cours duquel le registre E2 du "minicalculateur" est vidé afin d'être prêt à recevoir le résultat de la conversion de la chaîne numérique codée en ASCII. -652- 2334148 Pendant C34-3, le caractère lu à partir de la machine à écrire est comparé avec un code représentant zéro ét si le caractère est inférieur ou égal à zéro, le pas C344 est attaqué. Pendant C34-4, le caractère est comparé avec un code représentant 5 le nombre décimal 9 et si le caractère est supérieur ou égal à 9, le pas C34-5 est attaaué. Cette séquence qui se déroule pendant C343 et C344 est utilisée pour s'assurer que le caractère numérique codé en ASCII est compris entre zéro et neuf. Si cette condition existe, le pas C34-5 est atteint; sinon, le sous-10 programme "sélection d'un entier" représenté sur la Fig. 104-est suspendu et les opérations reprennent au pas C35 du sous-programme "ordres " (voir Fis. 103) tandis qu'un caractère reste contenu dans le registre R2. Pendant les pas C34-5 et la suite, le caractère est 15 converti en son équivalent binaire en retranchant la valetir représentant un zéro codé en ASCII du caractère. Le zéro codé en ASCII est représenté par le code ASCII numérique décimal décrit page B2-1 de l'ouvrage intitulé "Programming Languages'} publié par Digital Equipment Corp. en 1972. 20 Une fois qu'on a obtenu l'équivalent binaire du nombre, le pas C34-6 est attaqué et la valeur précédente qui est stockée dans le registre de logiciel R2 est multipliée par 10, ce qui la déplace d'une position décimale vers la gauche et le nombre actuel est ajouté au résultat partiel résultant. 25 Pendant C34-7, les résultats obtenus pendant C34-6 sont ajoutés au résultat de la soustraction effectuée en C34-5 et le résultat de cette addition est rangé dans le registre de logiciel R2. Pendant C34-8, le caractère ASCII suivant provenant de la machine à écrire est lu et les pas C34-3 à C34-8 sont répétés 30 comme décrit précédemment. Cette boucle se répète tant que des nombres sont introduits sur la machine à écrire. Dès qu'une quantité non numérique est introduite, le sous-programme en cours est suspendu à partir de C34-3 ou C344- et les opérations reprennent au pas C35 du sous-programme "ordres", tandis que le 35 résultat du calcul reste contenu dans le registre R2. En résumé, le sous-programme "sélection d'un entier" reçoit des caractères codés en ASCII à partir de la machine à écrire, convertit chaque caractère en code binaire pur, en re -653- 2334148 tranchant le code "binaire représentant un zéro en ASCII de chaque caractère pour former une valeur en ASCII modifiée, en multipliant la valeur ASCII modifiée par 10 et en ajoutant la valeur ASCII modifiée à un résultat précédent éventuel pour 5 former un nouveau résultat. Ce processus est décrit page 281, volume II de l'ouvrage "Seminumerical Algorithms" de Enuth, publié en 1960 par Addison-Wisley Publishing Co. M. Sous—programme "sélection virgule flottante" La Fig. 102 représente l'organigramme du sous-pro-10 gramme "sélection virgule flottante". Les pavés C380 à C388 sont utilisés pour décrire la séquence de fonctionnement qui se déroule pendant l'exécution du sous-programme "sélection de virgule flottante". Sur l'appendice B-10, un symbole C381 est indiqué le 15 long du côté gauche du listage de programme vers la fin du listage du sous-programme "ordres"; ce symbole identifie la portion du sous-programme "ordres" qui constitue le sous-programme "sélection virgule flottante". Le sous-programme "sélection virgule flottante" est 20 appelé pendant le pas C38 du sous-programme "ordres" (voir Fig. 103). Le sous-programme "sélection virgule flottante" convertit une chaîne numérique codée en ASCII (représentant un nombre décimal compris entre 0 et 1) en un nombre en virgule flottante. Lorsqu'il est appelé, le sous-programme "sélection 25 virgule flottante" attaque tout d'abord le pas C380, au cours duquel un caractère est lu à partir de la machine à écrire de l'imprimante. Ce caractère est comparé avec un code représentant un point (forme de représentation de la virgule sur la machine) pendant le pas C381. Si le caractère n'est pas un 30 point, le pas C380 est repris. Les pas C380 et C381 sont répétés jusqu'à ce qu'un point soit détecté pour indiquer le début du nombre décimal représentant ALPHA (a). Lorsqu'une égalité est détectée pendant C381, le pas C582 est attaqué. Pendant C382, le registre "sélection virgule flottante" 35 est chargé avec une valeur 0 et le registre de logiciel AC1 est chargé avec une valeur (.1) représentant 0,1. Les pas C383 et C384 du sous-programme "sélection virgule flottante" sont analogues aux pas C34-3 et C344 du sous-programme "sélection -654- 2334148 d'un entier" en ce sens qu'ils sont prévus pour permettre de s'assurer que le caractère ASCII qui vient d'être lu à partir de la machine à écrire est un nombre et que ce nombre est compris entre 0 et 9. Si cela est vrai, c'est-à-dire si le carac-5 tère est bien compris entre 0 et 9» le pas C385 de l'organigramme est attaqué. Pendant C385, l'équivalent binaire du caractère est calculé en retranchant le code ASCII représentant un "0" du caractère. 10 Pendant C386, le résultat obtenu au cours de C385 est converti en virgule flottante puis multiplié par la valeur 0,1 contenue sous la forme .1 dans le registre "virgule flottante" AC1. Pendant C387» tout résultat partiel contenu dans le registre ACO (première exécution du pas C387, le registre ACO 15 contient un 0) est ajouté au résultat de la multiplication effectuée pendant C386 et le résultat de cette addition est rangé dans ACO. En outre, pendant C387, AC1 est multiplié par la valeur 0,1 contenue dans le registre de logiciel "dixième" et le résultat est rangé dans le registre AC1. A la suite de 20 ces opérations, le nombre suivant traité par le sous-programme "sélection virgule flottante" sera effectivement divisé par 100. Pendant C388 le caractère suivant est lu et les pas C383 et la suite sont répétés. Cette boucle se répète jusqu'à ce que le dernier caractère soit lu et qu'une suspension soit 25 effectuée à partir de C383 ou C384, du fait que la comparaison indique que le caractère qui vient d'être lu est inférieur à 0 ou plus grand que 9. Lorsqu'une suspension est effectuée à partir de C383 ou C384-, le nombre en virgule flottante est contenu dans le registre ACC et le pas c38 de l'organigramme du 30 sous-programme "ordres" (Fig. 103) est repris. N. Sous-programme "demande de consultation" Le sous-programme "demande de consultation" est appelé au pas 3?7 du programme "composition" (Fig. 102C). Le pas ?7 du programme "composition" n'est attaqué et, par conséquent, le 35 sous-programme "demande de consultation" n'est appelé que si le premier caractère reçu de la machine à écrire est soit un délimiteur de phrase 7^, soit un délimiteur de mot #. En conséquence, F7 n'est attaqué que si le programme "composition" -655- 2334148 traite une demande adressée à la base de données par opposition à un ordre. En bref, le sous-programme "demande de consultation" lit les caractères à partir de la machine à écrire et convertit 5 chaque caractère qui suit le délimiteur du code ASCII en valeurs codées absolues (ou plus précisément codées en code absolu) qui représentent les numéros d'événement correspondants de la couche 0, et stocke les valeurs codées en code absolu résultantes dans la table PSTRING entre les délimiteurs de début et 10 de fin(voir 2211, FIG. 102A). En outre, le sous-programme "demande de consultation" appelle le sous-programme "analyse grammaticale" qui effectue l'opération d'analyse grammaticale, applique les fonctions "cadrage" et "concordantielle" aux résultats et stocke dans la zone de sortie PNBOUT (voir 2213» 15 Fig. 102A) les entrées qui sont supérieures à la valeur de délimitation de concordance. Les entrées de PNBOUT sont alors converties une par une en chaînes de nombres et de mots puis sont ensuite imprimées sur l'imprimante de la console d'opérateur. 20 On va maintenant examiner les détails du sous-programme "demande de consultation". L'appendice B-11 est un listage du sous-programme "demande de consultation". La Fig. 106 est un organigramme du sous-programme "demande de consultation" comportant des pavés identifiés par les symboles R1 à R29. La rela-25 tion entre le listage de programme de l'appendice B-11 et l'organigramme de la Fig. 106 est indiquée par les symboles R1-R29 représentés le long du côté gauche du listage de programme de l'appendice B-11. On va maintenant considérer' la 'séquence de fonctionne— 30 ment en se référant à la Fig'. 106. Comme décrit précédemment, le programme "composition" appelle le sous-programme "demande de consultation" au cours du pas F7 (voir Fig. 102C). Après avoir été appelé, le sous-programme "demande de consultation" attaque le pas R1 de son organigramme. Pendant R1, le contexte 35 du "minicalculateur" est préservé. Ensuite est attaqué le pas R2 au cours duquel des pointeurs sont réglés sur le début de la chaîne d'analyse grammaticale (PSTRING) dans laquelle les valeurs seront stockées pendant l'exécution du sous-programme -656- 2334148 "demande de consultation". En outre, pendant R2, le drapeau "suspension" est remis à 0 afin qu'il puisse être ensuite convenablement mis à 1 pour provoquer l'attaque par le sous-programme "demande de consultation" des pas R26 à R29 qui sont 5 les pas finals du sous-programme "demande de consultation". La Fig. 117 représente la table CVRTBL de la couche O indiquant les nombres ASCII et les numéros d'événement de couche correspondante utilisés dans le système. Comme indiqué, tous les numéros d'événement sont situés dans la table CVRTBL. 10 La valeur codée représentant le caractère ASCII fourni par la machine à écrire a son huitième bit à 1. Ce bit est extrait du caractère en retranchant la valetir octale 200 du caractère, de manière à convertir celui-ci en tin caractère ASCII vrai. Pour continuer l'étude de l'organigramme de la Fig. 15 106, pendant R3» le premier caractère obtenu à partir de l'opérateur pendant F3 du programme "composition" est vérifié pour déterminer si c'est un délimiteur de phrase. Si le premier caractère n'est pas un délimiteur de phrase, alors c'est que le demandeur a présenté une demande de couche 0 et les pas R4- et 20 la suite sont attaqués. Si le premier caractère est un délimiteur de phrase, alors c'est que le demandeur a présenté une demande de couche 1 et les pas R11 et la suite sont attaqués. Oh supposera qu'un délimiteur de phrase n'est pas détecté et que, par conséquent, il existe une condition "faux", 25 ce qui signifie qu'une demande de couche 0 est présentée par » le demandeur à l'imprimante. R4 est alors attaqué. Etant donné que le premier caractère n'est un délimiteur de phrase, il doit nécessairement être un délimiteur de mot. Par suite, pendant R4-, le délimiteur de mot # est transféré dans la chaîne PSTRING 30 et le pas R5 est attaqué. Pendant R5, le caractère suivant de la séquence de la demande est lu à partir du clavier. Au cours de R6, ce caractère est comparé avec une valeur codée représentant un délimiteur de mot (WDEL) et, si le caractère n'est pas un délimiteur 35 de mot, le pas R7 est attaqué et le caractère (en ASCII) est ajouté à l'adresse de base de la table CVRTBL pour permettre de trouver l'adresse de l'emplacement de mémoire correspondant qui contient le numéro d'événement de couche 0 correspondant. -657- 2334148 De cette manière, le caractère ASCII est converti en son numéro d'événement de couche 0. En outre, pendant R7, le numéro d'événement de couche 0 est stocké à l'emplacement disponible suivant dans la chaîne d'analyse grammaticale (PSTRING). 5 Après R7 est attaqué le pas R10, au cours duquel le drapeau "suspension" est vérifié pour voir si c'est un "1". Dans la négative, il existe une condition "faux" et le noeud JOIN 1 ainsi que le pas R5 sont repris, reprise au cours de laquelle le caractère suivant est lu à partir du clavier. Après R5 est 10 repris le pas R6, au cours duquel le nouveau caractère est comparé avec la représentation de délimiteur de mot mémorisée T.'DEL et, si le caractère n'est pas un délimiteur de mot, les pas R7 et RIO sont repris, comme décrit précédemment. La boucle comprenant JOIN 1 à R10 est répétée jusqu'à ce qu'un délimiteur 15 de mot # soit lu. Lorsque cela se produit, la comparaison effectuée pendant R6 donne "vrai" et les pas R8 et R9 sont attaqués. Pendant R8, la représentation de délimiteur de mot # mémorisée WDEL est stockée dans la chaîne d'analyse grammaticale PSTRING sous la forme # et le pas R9 est attaqué, pas au cotirs 20 duquel le drapeau "suspension" est mis à 1. Après R9, sont attaqués le noeud JOIN 2 et le pas R10. Pendant R10, on trouve alors que le drapeau "suspension" est un "1" et, par conséquent, correspond à un état "vrai", ce qui provoque l'attaque du noeud JOIN 8 et des pas R26 à R29. 25 Pendant R26, le pointeur R4- est réorienté vers le début de la chaîne "analyse grammaticale" PSTRIITG. Pendant R27, le sous-programme "analyse grasmaticale" est appelé, sous-programme au cours duquel toutes les entrées de la chaîne d'analyse grammaticale comportant une valeur concordantielle supérieure à la 50 grandeur de la valeur de délimitation de concordance BVCO sont stockées dans la zone de sortie PNBOUT. Pendant R28, le sous-programme "traitement d'une sortie" est appelé et convertit les entrées contenues dans la zone PNBOUT en chaînes de caractères et de mots, puis assure l'impression des mots sur l'imprimante 55 de la console d'opérateur. Ce processus se poursuit jusqu'à ce que la liste PNBOUT soit épuisée ou jusqu'à ce que le demandeur décide qu'il a reçu suffisamment d'informations et provoque une interruption de l'impression en indiquant cette décision en ré- -658- 2334148 ponse au message "désirez-vous une autre entrée ?". Dans les deux cas, R29 est ensuite attaqué. Pendant R29, le contexte original qui a été préservé pendant R1 est restauré et le déroulement du sous-programme "demande de consultation" est 5 suspendu. On va maintenant revenir au pas R3 de l'organigramme du sous-programm» "demande de consultation" et supposer que le premier caractère est un délimiteur de phrase, ce qui indique que le demandeur a présenté une demande de couche 1. Une condi-10 tion "vrai" se produit et les pas R11 et la suite sont attaqués. Un délimiteur de mot # suit toujours un délimiteur de phrase. En conséquence pendant R11, le délimiteur de phrase détecté pendant R3 et le caractère suivant de la chaîne de demande, à savoir un délimiteur de mot, sont transférés à des 15 emplacements séquentiels de la chaîne d'analyse grammaticale PSTRING. Pendant R12, le caractère suivant de la demande est lu à partir du clavier. Ce caractère peut être, soit un délimiteur de mot #, soit un caractère représentant une lettre. En 20 conséquence, le pas R13 est attaqué et le caractère est comparé avec la représentation mémorisée d'un délimiteur de mot et si la comparaison donne "vrai", c'est-à-dire si le caractère est bien un délimiteur de mot, alors R14 est attaqué et le caractère suivant de la demande est lu à partir du clavier. Si la compa-25 raison donne "faux", c'est-à-dire si le caractère n'est pas un délimiteur de mot, alors JOIN 3 est directement attaqué en sautant R14. R13 et R14 traitent alors la situation dans laquelle le demandeur a omis d'introduire un délimiteur de mot après un délimiteur de phrase. Pendant R11, un groupe est introduit 30 dans PSTRING pour 'analyse grammaticale". Toutefois le demandeur peut avoir introduit l'une ou l'autre des entrées suivantes : 1. 5"¥# 2. ££ Dans les deux cas, au moment où JOIN 4 est atteint, PSTRING 35 contient un groupe et RO contient la première lettre de la demande. JOIN 3, JOIN 4 et R15 sont séquentiellement attaqués. Pendant R15» le caractère qui vient d'être lu dans la demande -659- 2334148 est comparé avec la représentation mémorisée d'un délimiteur de mot et si le caractère n'est pas un délimiteur de mot, il existe une condition "faux" et R16 est attaqué; le même caractère est alors comparé avec une représentation mémorisée d'un 5 délimiteur de phrase. Si un délimiteur de phrase n'est pas détecté pendant R16, il existe une condition " faux" et cela indique que le caractère actuellement en èours de traitement est un caractère de la demande plutôt qu'un délimiteur et le pas R17 est attaqué. R17 est analogue à R7 en ce que le carac-10 tère, en code ASCII, est converti en numéro d'événement correspondant et est stocké à l'emplacement disponible suivant de la sécuence dans la chaîne d'analyse grammaticale PSTRING. Il est à noter eue le caractère représente une lettre, qu'il s'agisse d'une demande de couche 0 ou de mot ou d'une demande de 15 couche 1 ou dg£hrase. Après R17, les noeuds JOIN 5» JOIN 7 et le pas R25 sont séquentiellement attaqués. Pendant R25, le drapeau "suspension" est vérifié pour voir si c'est un "1". Dans l'affirmative, alors les pas R26 à R29 sont attaqués. Comme décrit plus 20 loin de façon plus détaillée, si le drapeau "suspension" est un "0", alors il existe une condition "faux" pendant RZ5 et JOIN 4, R15 et la suite sont repris. On va maintenant revenir en R15 et supposer que la comparaison révèle que le caractère qui vient d'être lu dans 25 la demande est un délimiteur de mot et que par conséquent il existe une condition "vrai". R20 est ensuite attaqué et le délimiteur de mot est transféré à l'emplacement séquentiel suivant de la chaîne d'analyse grammaticale PSTRING. Pendant R21, le caractère suivant de la demande est lu à partir du clavier. 50 Pendant R22, un contrôle est effectué pour déterminer si le caractère qui vient d'être lu est un délimiteur de phrase. Si le caractère n'est pas un délimiteur de phrase, alors les noeuds JOIN 6, JOIN 7 et le pas R25 sont attaqués. Si le drapeau "suspension" est un "0", la condition régnant pendant R25 35 est "faux" et JOIN 4- et R15 sont alors repris. Cela se produit lorsque le sous-programme "demande de consultation" vient de traiter un unique mot et que, du fait qu'il s'agit d'une demande de phrase ou de couche 1, la demande peut comprendre un autre mot. -660- 2334148 On va maintenant revenir en R22 et supposer qu'un délimiteur de phrase est détecté, ce qui crée une condition "vrai". Dans ce cas, le pas R23 de l'organigramme est attaqué et le délimiteur de phrase est transféré dans la chaîne d'ana-5 lyse grammaticale PSTRING. Ultérieurement, pendant-R24, le drapeau "suspension" est mis à 1 pour indiquer que le sous-programme "demande de consultation" a maintenant détecté le caractère END (fin) d'une demande de couche 1 ou de phrase. Ensuite sont attaqués les noeuds JOIN 6, JOIN 7 et le pas R25. 10 Cette fois, pendant R25, le drapeau "suspension" est à l'état 1, ce qui correspond à une condition "vrai" et, par conséquent, les pas R26 à R29 sont attaqués. On va maintenant revenir en R15* On supposera que la comparaison donne "faux" et que, par conséquent, le caractère 15 qui vient d'être obtenu à partir du clavier n'est pas un délimiteur de mot. R16 est alors attaqué. On supposera encore que, pendant R16, la comparaison donne "vrai", ce qui indique que le caractère est un délimitateur de phrase. Cette condition est remplie si le demandeur a terminé une présentation de 20 demande et si, au lieu de placer un délimiteur de mot à la fin du dernier mot, il a seulement placé un délimiteur de phrase. Dans ces conditions, R18 est attaqué et, au cours de ce pas, un délimiteur de mot et un délimiteur de phrase sont transférés dans la chaîne d'analyse grammaticale PSTRING. Après R18 est 23 attaqué le pas R19, au cours duquel le drapeau "suspension" est mis à 1 pour indiquer la fin de la demande de couche 1 ou de phrase. Après R19> les noeuds JOIN 5 et JOIN 7, le pas R25, le noeud JOIN 8 et le pas R26 à R29 sont alors attaqués. En résumé, pendant S26 à R29, le sous-programme "ana-30 lyse grammaticale" est appelé et renvoie les résultats qui sont situés dans la zone de logiciel PNBOUT. La zone de sortie PNBOUT contient une liste des entrées dans la couche 1 si une demande de couche 1 ou de phrase a été présentée, ou une liste d'entrées dans la couche 0 si une demande de couche 0 ou de 35 mot a été présentée. Les entrées de mot ou de phrase contenues dans PNBOUT sont des résponses possibles à la demande. On remarquera également que les réponses possibles à la demande laissées dans la zone PNBOUT par le sous-programme "analyse -661- 2334148 grammaticale" sont ordonnées, de la valeur concordantielle la plus élevée à la valeur concordantielle la plus faible. Pendant R28, le sous-programme "traitement d'une sortie" est appelé et provoque finalement l'impression par l'impri-5 mante de la console d'opérateur des résultats stockés dans PNBOUT. Une fois que le sous-programme "traitement d'une sortie" a été complètement exécuté, le pas R29 est attaqué et le con-* texte du "minicalculateur" est restauré tandis que le sous-programme "demande de consultation" renvoie au programme "com-10 position" qui demande l'entrée suivante. 0. Sous-programme "traitement d'une sortie" (PROCOUT) Le sous-programme "traitement d'une sortie" est appelé pendant R28 du sous-programme "demande de consultation" (voir Fig. 106). Le sous-programme "traitement d'une sortie" prend 15 les entrées qui ont été placées dans PNBOUT par le programme "analyse grammaticale" et engendre la réponse, ce qui provoque l'apparition d'une réponse correspondante sur l'imprimante de la console d'opérateur. L'imprimante affiche des lettres; en'conséquence, une 20 séquence de signaux codés en ASCII représentant des lettres doit être transmise à l'imprimante. Pat suite, si une demande de couche 0 a été présentée par le demandeur, le sous-programme "traitement d'une sortie" prend les entrées de PNBOUT qui représentent des mots, et des signaux sont transmis à l'impri-25 mante, de manière à provoquer l'impression de mots, lettre par lettre. Si une demande de couche 1 a été présentée, les entrées contenues dans PNBOUT sont des phrases et le sous-programme "traitement de sortie" prend les entrées de PNBOUT et engendre des signaux représentant une série de lettres également desti-50 nées à être imprimées à raison d'une à la fois. Etant donné que les données sont arrangées en couches, il est nécessaire d'utiliser un certain nombre de tables pour régénérer les données à partir des couches. Ces aspects du sous-programme "traitement d'une sortie" et d'autres encore devien-55 dront évidents à la lecture de l'exposé qui va suivre. Si l'on se réfère maintenant aux Fig. 1C2A et 102B, on voit que, lorsque le sous-programme "traitement d'une sortie" est appelé par le sous-programme "demande de consultation", le -662- 2334148 sous-programme "analyse grammaticale" a complété la zone PNBOUT. PNBOUT contient les réponses possibles à la demande sous la forme de paires de valeurs comprenant chacune une valeur d'entrée (E) et une valeur concordantielle (BV), ces 5 paires de valeurs étant classées par ordre, de la valeur concordantielle la plus élevée à la valeur concordantielle la plus basse. Le sous-programme "traitement d'une sortie" provoque alors.1'exécution du reste des opérations indiquées sur les 10 Fig. 102A et 102B après PNBOUT. Plus précisément, le sous-programme "traitement d'une sortie" répond à une demande de couche 0 et sort une seule entrée, c'est-à-dire un seul mot, à la fois, en série par lettres, jusqu'à ce que le nombre d'entrées de PNBOUT soit épuisé ou jusqu'à ce que le demandeur 15 indique qu'il ne désire plus d'autre réponse en tapant un "N" en réponse à la question : "désirez-vous une autre entrée ?". Leéous-programme "traitement d'une sortie" répond à une demande de couche 1 en sortant une entrée à la fois, c'est-à-dire une phrase à la fois, en série par lettres, jusqu'à ce que PNBOUT 20 soit épuisé ou jusqu'à ce que le demandeur indique, ici encore, qu'il ne désire plus d'autre réponse. La table G1 représente une série d'entrées comprenant chacune trois mots, le premier mot contenant le numéro d'entrée (E), le second mot contenant le délimiteur de fin (ED) de l'en-25 trée correspondante, et le troisième mot comprenant deux multiplets. Le premier de ces deux multiplets contient une valeur de longueur cumulée (AL) qui identifie la plus petite valetir d'apparition (instant d'événement) située au début de l'entrée correspondante, et le second multiplet contient la longueur ou 30 nombre de valetirs d'apparition (L) de l'entrée correspondante. La table G2 présente une structure analogue à celle de la table G1. On comprendra mieux la structure des tables G1 et G2 en se référant à la Fig. 108 qui concerne la table G2. La Fig. 108 35 est un croquis qui donne un exemple et met en évidence la correspondance entre la table G2 et la liste OLIST. OLIST est une zone de la "mémoire principale" dans laquelle de l'information est stockée juste avant la sortie assurée par le sous-programme -663- 2334148 "traitement d'une sortie". OLIST contient une série de paires de valeurs, la première valeur de chaque paire représentant un numéro d'événement de la couche 0 et la seconde représentant une valeur d'apparition (instant d'événement). Les paires de 5 valeurs sont rangées, dans un ordre des valeurs d'apparition décroissant de gauche à droite, comme on peut le voir sur la Fig. 108. En raison de la nature de la séquence d'entrée des données dans la base de données, il est nécessaire de renvoyer l'information à partir de la base de données par ordre décrois-10 sant des valeurs d'apparition. On va maintenant revenir au but de la table G-2. La valeur de longueur cumulée (AL) est un pointeur pointant vers les paires de valeurs de OLIST. Plus précisément, chaque valeur de longueur cumulée identifie la paire de valeurs conte-15 nant la plus petite valeur d'apparition de l'entrée correspondante ou mot correspondant. Par exemple, l'entrée 1 contient une valeur de longueur cumulée 4 qui identifie la quatrième paire de valeurs en partant de l'extrémité de gauche d'OLIST sur la Fig. 108. La longueur d'entrée identifie le nombre de 20 paires de valeurs contenues dans OLIST pour l'entrée correspondante. Ainsi, par exemple, on peut voir que l'entrée 4 d'OLIST contient quatre paires de valeurs. En gardant présent à l'esprit ce qui précède, on va maintenant considérer les détails du sous-programme "traitement 25 d'une sortie". L'appendice B-12 contient un listage de programme relatif au sous-programme "traitement d'une sortie" (PKOCOUT). La Fig. 107 contient un organigramme cui met en évidence la séquence de fonctionnement qui se déroule pendant l'exécution du sous-programme "traitement d'une sortie". La 30 Fig. 107 identifie les divers pavés de l'organigramme par les —-symboles P01 à P018. La correspondance entre le listage de programme de l'appendice B-12 et l'organigramme de la Fig. 107 est représentée le long du o—Ôté gauche de l'appendice B-12 où les mentions P01-P018 de la Fig. 107 sont reproduites. 35 On va maintenant examiner la séquence de fonctionnement en se référant à la Fig. 107» Pendant P01, le contexte du "mini-calculateur" est préservé de la manière précédemment décrite de façon qu'il puisse être renvoyé au sous-programme "demande -664- 2334148 de consultation". Pendant P02, le sous-progranme "traitement d'une sortie" détermine si la zone PNBOUT de la "mémoire principale" contient quelque chose. Si PNBOUT ne contient que des zéros, c'est-à-dire est vide, le pas P03 est attaqué et 5 le sous-programme "imprimante" est appelé, ce qui provoque l'impression par l'imprimante de la console d'opérateur du message "aucune correspondance n'a été trouvée". Après P03, le noeud JOIN et le pas P018 sont attaqués. Pendant P018, le contexte du "minicalculateur" est restauré sous la foime qui exis-10 tait au moment où le sous-programme "traitement d'une sortie" a été appelé. On va maintenant revenir à P02 et supposer que PKBCUT ne contient pas que des zéros et que, par conséquent, le sous-programme "traitement d'une sortie" a quelque chose à sortir. 15 La première opération consiste essentiellement à prendre .les numéros d'entrée dans PNBOUT et à les transférer dans la table G1 en complétant en même temps par des éros les second et troisième mots de chaque entrée, comme indiqué en 2215 sur la Fig. 102A. 20 Pendant P05, le sous-programme "organisation" est appelé par le sous-programme "traitement d'une sortie". Le sous-programme "organisation" explore la ligne de délimiteur de la base de données pour la couche correspondant à la demande, calcule la longueur de chaque entrée et détermine la longueur 25 cumulée depuis le début d'OLIST jusqu'au premier événement de chaque entrée. Le sous-programme "organisation" charge également les deux derniers mots de chaque entrée dans la table G1 en utilisant les valeurs déterminées pour chaque entrée. Après P05, le noeud JOIN .et le pas P06 sont séquen-30 tiellement attaqués. Pendant P06, l'une des entrées de trois mots est transférée de la table G1 à la table G2. Le sous-programme "traitement d'une sortie" marque le fait que la table G2 n'a qu'une longueur 1 en transférant la valeur 1 dans le registre R3 et le pas P07 est attaqué. 35 Pendant P07, le sous-programme "traitement d'une sor tie" appelle le sous-programme "génération", qui forme OLIST de la manière décrite à propos du programme "composition". -665- 2334148 Pendant P08, l'aiguillage de logiciel L1SW est vérifié. Si cet aiguillage est "0", cela indique une demande de couche O et s'il est "1", cela indique une demande de couche 1. Si l'aiguillage L1SY»r est un "0", il existe une condition "faux" 5 et le noeud JOIF ainsi que le pas P012 sont attaqués directement. Si l'aiguillage L1SW est un "1" et si, par conséquent, il existe une condition "vrai",le pas P09 est attaqué pour traiter une demande de couche 1. On va maintenant se référer à 10 la Fig. 102B qui représente la séquence de fonctionnement pour une demande de couche 1. La liste OLIST engendrée pendant P07 pour une demande de couche 1 est représentée en 2241. OLIST contient des numéros d'événement de la couche 1 identifiant des entrées ou mots de la couehe 0. Pendant P09, le sous-15 programme "traitement d'une sortie" prend les numéros d'événement de couche 1 dans OLIST et engendre, à partir de ces numéros, une nouvelle table G2 représentée en 2242. Cette nouvelle table G2 contient chacun des numéros d'entrée de la couche 0 correspondant à l'événement choisi dans OLIST pour traitement. En 20 outre, le sous-programme "traitement d'une sortie" complète par des zéros les second et troisième mots de chacune des entrées de trois mots. Le pas P010 est alors attaqué et le sous-programme "organisation" est appelé. D'une manière analogue à ce qui se 25 passe pendant P05, le sous-programme "organisation" examine chaque événement de la nouvelle table G2, détermine le délimiteur de fin (ED) pour chacun d'eux, détermine la longueur cumulée (AL) jusqu'à la plus petite valeur d'apparition pour chaque entrée, détermine la longueur (L) de chaque entrée, et place 50 cette information en association avec chaque numéro d'entrée dans la table G2 comme représenté en 2243. Le pas P011 est maintenant attaqué et le sous-programme "génération" est rappelé. Le sous-programme "génération" explore maintenant toutes les entrées de la table G2 et engendre 35 une OLIST telle que représenté en 2245 qui contient une série de paires de valeurs comprenant chacune une valeur de numéro d'événement de couche 0 et une valetir d'apparition, le tout comme décrit à propos du programme "composition". La liste -666- 2334148 OLIST résultante est représentée en 2245. La relation entre la table G2 représentée en 2243 et la liste OLIST représentée en 2245 est analogue à celle qui est indiquée sur la Fig. 108. Après P011, sont attaqués le noeud JOIN et le pas 5 P012, au'cours duquel le sous-programme "impression d'un caractère" (PRNTC) est appelé de façon répétée et au cours duquel la phrase est imprimée par l'imprimante sur la console d'opérateur. En résumé, le sous-programme "traitement d'une sortie" explore la liste OLIST représentée en 2245. Il obtient le ca-10 ractère et appelle le sous-programme "impression d'un caractère" qui transmet à l'imprimante un caractère codé en ASCII pour chaque événement de la liste OLIST représentée en 2245. A cet effet, et comme on peut le voir en se référant à la Fig. 108, la première entrée est 4, la longueur cumulée est 4 et sa 15 longueur d'entrée est 4. En conséquence, la valeur de longueur cumulée 4 est ajoutée à l'adresse de base d'OLIST, puis les quatre événements ou caractères de l'entrée sont convertis en code ASCII et imprimés par ordre de grandeur décroissant d'événement, en 20 allant de droite à gauche. Après l'impression de l'ensemble de l'entrée, P013 est attaqué. PNBCNT est initialement réglé au nombre d'entrées contenues dans la liste PNBOUT. Pendant P013, la valeur de PNBCNT 25 est décrémentée de 1 pour refléter le fait qu'une des entrées de PNBOUT a été traitée. Lorsque PNBCNT atteint 0, toutes les entrées de PNBOUT ont été traitées et le pas P014 est attaqué, pas au cours duquel le drapeau "suspension" est mis à 1, après quoi P017 est attaqué. 30 Si PNBCNT n'est pas 0, alors PC15 est attaqué après P013, ce qui provoque l'appel du sous-programme "imprimante", qui imprime le message "imprimer une autre entrée". Ce message constitue pour le demandeur un signal en réponse auquel il doit taper Y pour "YES" (ou) ou N pour "non" s'il n'a pas d'autre 35 demande à formuler. Si le demandeur tape Y pour "oui", les deux noeuds JOIN et le pas P01? sont successivement attaqués. Si le demandeur tape un N pour "non", le pas P016 est attaqué et, au cours de ce pas, le drapeau "suspension" est mis et les deux noeuds JOIN ainsi que le pas PC17 sont attaqués. -667- 2334148 Pendant P017, le drapeau "suspension1 est vérifié et s'il est "O", c'est-à-dire "faux", alors le noeud JOIN et le pas P06 sont attaqués et l'entrée de couche 1 suivante de la table G1 représentée en 2237 est transférée dans la table G2 5 comme représenté en 2239. Si le drapeau "suspension" est 1, ce qui indique une condition "vrai", alors est attaqué le pas P018 au cours duquel le contexte du "minicalculateur" est resaturé sous la forme qui existait au moment où le sous-programme "traitement d'une sortie" a été attaqué, et le sous-programme 10 "traitement d'une sortie* est alors suspendu. P. Sous—-profl-r'flTnmB "organisation". Le sous-programme "organisation" est appelé par le sous-programme "traitement d'une sortie" pendant les pas P05 et P010 (voir Fig. 107). Le sous-programme "organisation" prend 15 les tables G1 ou G2 sous la forme représentée en 2215 sur la Fig. 102A et en 2235 et 2242 sur la Fig. 102B et y charge le délimiteur de fin (ED) la longueur cumulée (IL) et la longueur d'entrée (L) (voir 2217 Fig. 1021 et 2237 , 2243 Fig. 102B). Le listage de programme du sous-programme "organisa-20 tion" est représenté dans l'appendice B-13. La Fig. 109 est un organigramme du sous-programme "organisation" comportant les pavés S1 à S17 pour représenter la séquence de fonctionnement. La correspondance entre le listage de l'appendice B-13 et l'organigramme de la Fig. 109 est indiquée le long du côté gauche 25 de l'appendice B-13 où les symboles S1 à S17 sont également utilisés. On va maintenant considérer laséquence de fonctionnement en se référant à l'organigramme de la Fig. 109. Pendant S1, le contexte du "minicalculateur" est préservé de façon 30 qu'il puisse être renvoyé au sous-programme "traitement d'une sortie" après achèvement du sous-programme "organisation". Le délimiteur de début et de fin relatif aux entrées des tables est déterminé à partir du délimiteur de la couche traitée. En conséquence, il est nécessaire d'engendrer une re-35 présentation de ligne 0 à partir du raccourci représentant le délimiteur* A cet effet, le pas S2 de l'organigramme du sous-programme "organisation" est attaqué et au cours de ce pas, le -668- 2334148 sous-programme "sortie" est appelé, ce qui provoque la formation de la ligne O du délimiteur. La zone 1 du module "mémoire" est la zone à partir de laquelle le module "décodage" I convertit une information 5 en code hybride en la transformant en valeurs d'apparition codées en code absolu. En conséquence, il est nécessaire que la représentation de ligne 0 du délimiteur soit stockée dans la zone 1 du module "mémoire". A cet effet est prévu le pas S3 de l'organigramme, qui détermine si le registre de logiciel 1C DOAR identifie la zone 1 du module "mémoire". Dans l'affirmative, l'organigramme se poursuit directement en S5 par l'intermédiaire de JOIN en shuntant S4. Si DOAR contient une valeur identifiant une autre zone quelconque du module "mémoire", alors la condition régnant pendant S3 est "faux" et le pas 15 S4- est attaqué. Pendant S4-, la représentation de ligne 0 du délimiteur est transférée dans la zone 1 du module "mémoire". Après S4, le noeud JOIN et le pas S5 sont attaqués. Pendant S5, le module "décodage" I est initialisé. 20 A cet effet, la longueur du délimiteur stocké dans la zone 1 du module "mémoire" est transférée du registre de logiciel DOLN au registre de logiciel LN1 du dispositif IFR]? par l'intermédiaire du registre DATAO du module "jonction du système DPM". En outre, la baseule D1NIT du registre STATUS est mise à 1 25 et le s.ous-programme "décodage".1 est appelé, ce qui provoque la génération par le module "décodage" I de la première valeur d'apparition du délimiteur contenu dans la zone 1 du module "mémoire" et le stockage de cette valeur dans le registre de logiciel TDI. 50 Antérieurement, au cours du déroulement du programme "traitement d'une sortie", la longueur de la table G1 (ou de la table G2) est stockée dans le registre de matériel R3 du "minicalculateur". Pendant le pas S6 du sous-programme "organisation" la longueur de la table est transférée du registre R3 35 au registre de logiciel WOLN où elle est préservée et un registre de logiciel SI3II (somme) est vidé ou mis à zéro. Comme décrit plus loin de façon plus détaillée, le registre de logiciel SBM est utilisé pour conserver la valeur de longueur cumulée qui est stockée dans G1TBL et G2TBL. -669- 2334148 Pendant les pas S8 à S12, la table G1 (ou la table G2) est explorée pour déterminer les entrées qui n'ont pas encore été traitées et, par conséquent, ne comportent pas de délimiteur de fin (ED), ni de valeur de longueur cumulée (11), ni de 5 valeur de longueur d'entrée (L). Pendant ce processus d'exploration, les valeurs manquantes sont chargées dans la table une par une en allant de la plus grande valeur d'entrée à la plus petite. A cet effet, le pas S8 est maintenant attaqué, pas au 10 cours duquel la première entrée de la table est vérifiée pour déterminer si elle a été traitée. Elle a été traitée si les valeurs manquantes ont été chargées, ce qui est vérifié en déterminant si la valeur de délimiteur de fin est présente dans la table. Si la valeur de délimiteur de fin est présente 15 dans l'entrée de la table en cours de vérification, alors il existe une condition "oui" et JOIN et S11 sont attaqués après S8. Si par contre la valeur de délimiteur de fin est manquante et si, par conséquent, l'entrée n'a pas été traitée, le pas S9 est attaqué. 20 Le registre R1 est remis à 0 pendant S7 et est utilisé pour stocker la valeur d'entrée maximale non encore traitée. Pendant S9, le numéro d'entrée obtenu par exploration de la table est comparé avec le numéro d'entrée maximal préservé dans le registre R1. Si le numéro d'entrée de la table est 25 le plus grand, il existe une condition "vrai" et S10 est attaqué après S9. Si la valeur d'entrée de la table n'est pas la plus grande, il existe une condition "faux" et le sous-programme "organisation" passe en S11 par l'intermédiaire des deux noeuds JOIN. Pendant S10, l'adresse dans la table du nouveau 30 numéro d'entrée maximal est préservée par transfert, du registre R2 dans le registre R4-. Pendant S11, le registre R2 est réglé de telle manière qu'il pointe vers l'entrée suivante de la table. En outre, la valeur représentant le nombre d'éléments traités contenue dans 35 le registre R3 est décrémentée de 1 pendant S12. Si la valeur décrémentée du nombre d'éléments n'est pas égale à 0, alors le sous-programme "organisation" repasse en S8 par l'intermédiaire de JOIN et, en S8, la nouvelle valeur d'entrée de la table est -670- r- 2334148 vérifiée pour déterminer si c'est la valeur d'entrée maximale. La boucle comprenant les pas S8 à S12 est répétée jusqu'à ce que tous les éléments de la table aient été vérifiés pour déterminer, pour chacun d'eux, s'il s'agit de la valeur d'entrée 5 maximale. Lorsque la valeur du nombre d'éléments contenue dans le registre R3 a été décrémentée à 0, alors le pas S13 est attaqué après S12. Pendant S13, l'adresse de la table qui contient l'entrée maximale est elle-même contenue dans le registre R4; la 10 valeur d'entrée maximale est contenue dans le registre R1. Le sous-programme "organisation" calcule alors le nombre de lectures nécessaire pour atteindre les délimiteurs de début et de fin dol'entrée. Etant donné que toute entrée de la couche comporte un délimiteur de fin, le nombre de lectures est égal au 15 nombre d'apparitions sur la ligne de délimiteurs. Ainsi par exemple, s'il existe quatre entrées comme indiqué pour l'entrée 4 sur la Fig. 108, il y a cinq apparitions sur la ligne de délimiteurs. L'un des délimiteurs identifie le début de la base de données et les quatre autres marquent le début des quatre 20 entrées de l'entrée 4. En conséquence, on obtient le nombre de lectures nécessaire en calculant la différence entre le numéro d'entrée et le nombre d'apparitions sur la ligne 0 et le résultat est stocké dans le registre de logiciel DNOC pendant S13. 25 Pendant S14-, le sous-programme "décodage" I et, par conséquent, le module "décodage" I, sont appelés de façon répétée, de sorte que ce module fournit les valeurs d'apparition effectives à partir du délimiteur contenu dans la zone 1 du module "mémoire" et la valeur du nombre d'éléments contenue dans 30 le registre R3 est décrémentée pour chaque appel jusqu'à ce que le contenu du registre R3 soit 0. A chaque lecture, le délimiteur fourni par le module "décodage" I est stocké dans le registre de logiciel TD1. Pendant S15, le délimiteur de fin est transféré du 35 registre TD2 dans le second mot de la table correspondant à l'entrée en cours de traitement. Cette opération est effectivement réalisée pendant le pas S15 au cours duquel l'instruction MOV TD1,TD2 préserve le délimiteur de début précédent qui devient alors le délimiteur de fin actuel. -671- 2334148 La longueur de l'entrée est alors stockée dans le troisième mot de la table correspondant à l'entrée en cours de traitement. En outre, pendant S15, la différence entre les contenus respectifs des registres de logiciel TD1 et TD2 est 5 calculée et décrémentée de 1, ce qui donne comme résultat la longueur de l'entrée en cours de traitement. La longueur cumulée depuis le début de l'entrée en cours de traitement est déterminée en ajoutant la longueur calculée qui vient d'être mentionnée au contenu du registre de logiciel SUM. Le contenu 10 résultant du registre SUM est alors la valeur de la longueur cumulée et ce contenu est transféré dans le troisième mot de la table correspondant à l1entrée en cours de traitement. En conséquence, pendant S15, le délimiteur de fin, la valeur de longueur cumulée et la valeur de longueur d'entrée sont ajoutés à 15 l'une des entrées de la table G1 ou de la table G2 (voir Fig. 108). Ensuite est attaqué le pas S16 au cours duquel la longueur de la table (stockée dans le registre de logiciel WOLN pendant S6) est vérifiée pour déterminer si elle est 0. 20 Si elle n'est pas 0, ce qui indique qu'il reste d'autres éléments à traiter dans la table, il existe une condition "oui" et le sous-programme "organisation" repasse par l'intermédiaire du noeud JOIN au pas S7 à partir duquel la boucle comprenant les pas S7 à S16 est répétée. La boucle de S7 à S16 est répé-25 tée pour chacune des entrées restantes de la table, ce qui complète la table. Lorsque S16 est attaqué et que WOLN a été décrémenté à 0, il existe une condition "non" et le pas S17 est attaqué, pas au cours duquel le contexte du "minicalculateur" est restauré sous sa forme qui existait au moment où le 30 programme "traitement d'une sortie" a appelé le sous-programme "organisation" et l'exécution du sous-programme "organisation" est suspendue. Q. Sous—~pmpjraTnme "génération" Le sous-programme "traitement d'une sortie" appelle 35 le sous-programme "génération" au cours des pas P07 et P011 (voir Fig. 107). Le sous-programme "génération" foime la liste OLIST représentée en 2221 sur la Fig. 102A et en 2241 et 2245 sur la Fig. 102B, en utilisant la table G2. Le listage de pro -672- 2334148 gramme relatif au sous-programme "génération" est représenté dans l'appendice B-14. Un organigramme du sous-programme "génération" est représenté sur la Fig. 110. Les Pjavés G1 à G22 représentent la séquence de fonctionnement qui se déroule pendant 5 l'exécution du sous-programme "génération". La correspondance entre le listage de programme et l'organigramme est indiquée le long du côté gauche de l'appendice B-14 en utilisant les symboles G1 à G22 de la Fig. 110. On va maintenant considérer la séquence de fonctiohne-10 ment qui se déroule pendant l'exécution du sous-programme "génération". Après l'appel de ce sous-programme, le pas G1 de l'organigramme est attaqué, pas au cours duquel le contexte du "minicalculateur" est préservé de façon qu'il puisse être ultérieurement renvoyé au stade même du sous-programme "traitement 15 d'une sortie" auquel l'attaque du sous-programme "génération" a été effectuée. Pendant G2, une préparation est effectuée pour former une ligne de référence dans la zone de la "mémoire principale" désignée sous le nom de WAREA. La ligne de référence de la zone WAREA est formée en prenant le délimiteur de fin 20 d'une entrée particulière de l'une des tables G1 ou G2, moins 1 et en décrémentant séquentiellement la valeur correspondante pour former autant de valeurs décrémentées que l'indique la longueur d'entrée de l'entrée correspondante de la table G1 ou G2. La série de valetirs d'apparition décrémentées est stockée 25 dans WAREA. Ces valeurs d'apparition sont les valetirs d'apparition de la base de données pour l'entrée en cours de traitement. Ainsi, par exemple, pour l'entrée 4 de la Fig. 108, le délimiteur de début 41 est décrémenté pour former une valeur d'apparition possible décrémentée 40 et est ensuite décrémenté trois 30 autres fois de manière à former successivement les valeurs d'apparition effectives 40, 39, 38 et 37• Ces valeurs d'apparition effectives sont stockées dans WAREA.Cette même procédure est répétée pour chacune des autres entrées de la table G1 ou G2. A ce stade, les valeurs d'apparition possibles ne sont pas 35 classées par ordre de grandeur décroissant. Par exemple, sur la Fig. 108, les valeurs d'apparition possibles 40 à 37 seraient suivies des valetirs d'apparition possibles 10 à 6 qui seraient à leur tour suivies des valeurs d'apparition possibles -673- 2334148 24- à 21, enfin suivies des valeurs d'apparition possibles 17 à 15. En conséquence est attaqué le pas G4- de l'organigramme, au cours duquel le sous-programme "classement" est appelé et 5 les valeurs d'apparition possibles sont alors classées en une chaîne continue de valeurs d'apparition par ordre de grandeur décroissant. Pendant G5, la ligne de référence est transférée dans 'la zone 2 de la "mémoire du système DHî". 10 Pendant G6, les registres de logiciel EFUMB et ESCAPE sont vidés. L'adresse d'OLIST est placée dans le registre 2(R2) et la longueur de la ligne de référence est transférée dans R3.R4- est réglé de manière à pointer vers L0ET/L1ET selon qu'il s'agit d'une demande de couche 0 ou de couche 1. L'ins-15 truction TST fait progresser R4- jusqu'au-delà du pointeur pointant vers 1'en-tête de raccourci de délimiteur. Ensuite est attaqué le pas G7, au cours duquel l'adresse de 1'en-tête de raccourci (LXET, c'est-à-dire LOET pour la couche 0 ou L1ET pour la couche 1) est transférée dans le 20 registre RO, tandis que l'adresse du début de la zone de mémoire WOAR est stockée dans le registre R1. A ce stade, toutes les valetirs d'apparition des entrées contenues dans la table G1 ou G2 sont elles-mêmes contenues dans WAREA. Il est maintenant nécessaire de déterminer 25 quels événements présentent ces valeurs d'apparition dans la base de données. On utilise à cet effet chacun des événements de la couche. Plus précisément, ce processus est réalisé en explorant de haut en bas la couche correspondante de la base de données pour déterminer s'il existe une valeur d'apparition 50 effective pour chaque événement dans la base de données (sur sa ligne 0 ou ligne d'entrée) correspondant à chaque valeur d'apparition possible contenue dans WAREA. La fonction DEL est utilisée pour accomplir cette tâche. A cet effet est attaqué le pas G7 de l'organigramme au 35 cours duquel l'adresse de l'en—tête de raccourci stockée dans R4 pendant G6 est incrémentée et stockée dans le registre RO. Pendant G7, le numéro de la zone du module "mémoire" qui contient le raccourci d'événement est stocké dans le re -674- 2334148 gistre R1. Pendant G8, le numéro de l'événement actuel est obtenu dans le multiplet de gauche de ENTJMB. Pendant G9, le sous-programme "sortie" est appelé et exécute la fonction DEL au cours de laquelle la valeur d'apparition effective présente 5 pour chaque événement identifié par la ligne de référence est déterminée. Le sous-programme "sortie" renvoie une valeur de deux mots, le premier mot étant le numéro de la zone du module "mémoire" qui contient le raccourci de sortie, numéro qui est stocké dans WOAR et le second mot étant la longueur du résultat 10 qui est stockée dans WOLN. Alors est attaqué le pas G10 au cotirs duquel la longueur du résultat stockée dans WOLN est vérifiée. Si elle est 0, aucune valeur d'apparition effective n'existe dans la hase de données sur la ligne de référence pour cet événement, ce qui 15 provoque l'attaque directe du noeud JOIN 5 de l'organigramme. Si la longueur du résultat est différente de 0, il existe bien des valeurs d'apparition effectives de ce type et le pas G11 de l'organigramme est attaqué. Pendant G11, un contrôle est effectué pour vérifier si 20 les résultats sont stockés dans la zone 1 du module "mémoire" (cela est vrai si le registre R1 contient la valeur 1). Ici encore, il est nécessaire que les résultats se trouvent dans la zone 1 du module "mémoire" pour que le module "décodage" I puisse convertir la forme codée hybride (codée en code hybride) 25 du résultat en forme codée absolue (codée en code absolu). Si le résultat n'est pas dans la zone 1 du module "mémoire", il existe une condition "non" et le pas G12 de l'organigramme est attaqué, pas au cours duquel les résultats sont transférés à la zone 1 du module "mémoire", cependant que le noeud JOIN 2 30 et le pas G13 sont séquentiellement attaqués. Si les résultats se trouvent déjà dans la zone 1 du module "mémoire", alors il existe une condition "oui" et JOIN 2 et G13 de l'organigramme sont séquentiellement attaqués. Pendant G13, le module "décodage" I est initialisé par 35 un transfert de la longueur du résultat à partir de l'adresse indiquée par le registre R1 dans le registre LN1 du dispositif IPEF du module "jonction du système DPM" et par la mise à 1 de la bascule D1INIT du registre STATUS. -675- 2334148 Pendant les pas G14 à G19, les résultats de l'opération DEL sont stockés conjointement au numéro d'événement correspondant dans OLIST pour former une série de paires de valeurs comme indiqué sur la Fig. 108. Pendant G14, le sous-programme 5 "décodage" I est appelé, ce qui assure l'obtention d'une valeur d'apparition effective codée absolue à partir du résultat codé hybride contenu dans la zone 1 du module "mémoire". Pendant G15» E0F1 est vérifié dans le module "décodage" I pour voir s'il est 1 ou vrai, ce qui indique que la fin de la zone "résultats" a 10 été atteinte ou s'ilést Ô ou faux, ce qui indique que cette fin de zone n'a pas été atteinte. On supposera maintenant que la fin du fichier de résultats n'a pas été atteinte par le module "décodage" I et que, par conséquent le pas G16 est attaqué. Pendant G16, le numéro 15 d'entrée est stocké à gauche de la valeur d'apparition effective obtenue pendant G14 et conjointement à cette valeur. A cet effet, pendant G17, la paire de valeurs est stockée dans OLIST à l'adresse spécifiée par le registre R2. Pendant G18, le contenu de R3, à savoir le nombre to-20 tal de paires de valeurs à stocker dans OLIST (nombre qui a été initialement stocké dans R3 pendant G6 (MOV W0LN,R3) est décrémenté de 1 pour indiquer qu'un événement a maintenant été stocké dans OLIST. En outre, un contrôle est effectué pour vérifier si le contenu du registre R3 est ou non égal ou infé-25 rieur à 0. Si le contenu du registre R3 est effectivement égal ou inférieur à 0, alors est attaqué le pas G19 au cours duquel le drapeau ESOAPE ("échappement") est mis à 1, tandis que l'exécution de l'organigramme repasse en G14 par l'intermédiaire des deux noeuds JOIN. Par contre, si le contenu du registre R3 30 n'a pas été décrémenté à 0, et, par conséquent, est plus grand que 0, G19 est shunté de sorte que G14 est directement attaqué. La boucle G14 à G18 est répétée jusqu'à ce que, pendant G15» E0F1 soit 1 et que, par conséquent, la fin de fichier soit détectée, moment où le noeud JOIN 5 et le pas G22 sont attaqués. 35 Pendant G20, le drapeau "échappement" est vérifié et s'il n'a pas été mis à 1, il existe une condition "faux", ce qui provoque une reprise du noeud JOIN 1 et du pas G7 de l'organigramme. Cette reprise assure l'obtention du raccourci d'é -676- 2334148 vénement suivant de la même couche et son traitement comme décrit ci-dessus. Cette opération est répétée jusqu'à ce que, pendant G18, le contenu de R3 ait été réduit à 0, ce qui indique que toutes les entrées d'OLIST ont été traitées, auquel 5 cas est attaqué le pas G19 au cotirs duquel le dtapeau "échappement" est mis. L'itération suivante du pas G20 provoque l'attaque du pas G21 au cours duquel OLIST est reclassée de telle manière que les paires de valeurs soient rangées par ordre de grandeur décroissant de valeur d'apparition d'événement. 10 OLIST contient maintenant une série de paires de valeurs (ou multiplets) dont la valeur de gauche contient le numéro d'événement et dont la valeur de droite est la valeur d'apparition d'événement correspondante. Les tables G1 ou G2, conjointement à OLIST sont alors 15 utilisées pour provoquer l'impression d'OLIST de la manière précédemment décrite. Pendant G22, le contexte est restauré et la commande repasse au programme "traitement d'une sortie". R. Sous-programme "classement" 20 Le sous-programme "classement" est appelé pendant G4- et G21 du sous-programme "génération" (voir Fig. 110). Le but d'un sous-programme "classement" est de classer le contenu d'OLIST de telle manière que les valeurs d'apparition d'événe-. ment soient rangées par ordre de grandeur décroissant. Il est 25 rappelé ici en référence à la Fig. 108 qu'OLIST contient une série d'entrées de mot et que chaque entrée de mots contient une paire de valeurs (multiplet), dont la première est un numéro d'événement et dont la seconde est une valeur d'apparition effective provenant de la couche correspondante de la base de 30 données. Le listage de programme du sous-programme "classement" est représenté dans l'appendice B-15. La Fig. 112 représente un organigramme du sous-programme "classement". Des pavés SRT1-SRT12 sont représentés sur la Fig. 112 pour identifier les 35 divers pas du déroulement du sous-programme "classement". La correspondance entre le listage de programme du sous-programme "classement" et l'organigramme de ce sous-programme est représentée le long du côté gauche de l'appendice B-15 où des sym -677- 2334148 boles correspondant à ceux des pavés de la Fig. 112 sont indiqués. Le classement est du type "à remontée" en ce sens que le contenu d'OLIST est exploré, à raison d'une paire de valeurs 5 à la fois et que lorsqu'on trouve dans une paire de valeurs une valeur d'apparition qui est plus grande que celle d'une paire précédente, cette paire de valetirs est remontée dans OLIST jusqu'à la position relative appropriée. On va maintenant se référer à l'organigramme du sous-10 programme "classement" représenté sur la Fig. 112; pendant SRT1, le contexte du "minicalculateur" est préservé de façon qu'on puisse revenir au sous-programme "génération" au point où il a été suspendu. ' Le sous-programme "génération" règle initialement le 15 registre RO au nombre de paires de valeurs contenues dans OLIST et qui sont à classer. Pendant le processus de classement, le sous-programme "classement" compare une valeur d'apparition actuelle d'OLIST avec la valeur d'apparition suivante de cette liste et, par conséquent, il est nécessaire de disposer d'un 20 pointeur correspondant à la valeur suivante d'OLIST faisant l'objet d'une comparaison. A cet effet, pendant SRT2, la valeur de longueur contenue dans RO est décrémentée de 1. Le registre R1 du "minicalculateur" contient l'adresse de début d'OLIST (qui y a été stockée par le sous-programme 25 "génération"). Pendant SRT5, l'adresse de début d'OLIST est transférée du registre R1 au registre R2 où elle est préservée. Après SRT3, le noeud SRTJ1 et le pas SRT4 de l'organigramme sont attaqués. Pendant SRT4, l'instruction GMPB(R1),2(R1) (voir appendice B-15) assure l'obtention de la valetir d'appari-30 tion actuelle et de la valeur d'apparition suivante à partir d'OLIST et la comparaison de ces deux valeurs. Si la valeur d'apparition actuelle est supérieure ou égale à la valeur d'apparition suivante, alors la valeur d'apparition actuelle se trouve dans la position correcte dans OLIST et le noeud SRTJ4-35 ainsi que le pas SRT10 sont attaqués. Si, par contre, la valeur d'apparition actuelle est plus petite que la valeur d'apparition suivante, alors la valeur d'apparition suivante doit être remontée vers le début d'OLIST jusqu'à sa position appropriée. -678- 2334148 En conséquence est attaqué le pas SRT5 au cours duquel l'adresse de la valeur d'apparition actuelle est transférée du registre R1 dans le registre R3 où elle est préservée. Ultérieurement sont attaqués le noeud SRTJ2 et le pas SRT6. Pendant SRT6, 5 l'instruction CMPB(R3),2(R3) provoque une lecture de la valeur d'apparition actuelle et de la valeur d'apparition suivante dans OLIST et une comparaison de ces deux valeurs. On remarquera que les deux mêmes valeurs sont comparées pendant SRT6 lorsque ce pas est attaqué après SRT4 et SRT5. Si la valeur 10 d'apparition actuelle est la plus petite, alors est attaqué le pas SRT7 où un échange se produit. Plus précisément, la paire de valeurs comprenant la valeur d'apparition actuelle et la paire de valeurs comprenant la valeur d'apparition suivante sont interchangées dans OLIST après quoi le noeud SRTJ3 et le 15 pas SRT8 de 1'organigramme sont séquentiellement attaqués. Si pendant SRT6, la valeur d'apparition actuelle est égale ou supérieure à la valeur d'apparition suivante, alors le noeud SRTJ3 et le pas SRT8 sont attaqués directement en shuntant l'opération d'échange de SRT7. 20 Pendant SRT8, le pointeur pointant vers la paire de valeurs contenant la valeur d'apparition actuelle du registre R3 est décrémenté de 1, puis est attaqué le pas SRT9 au cours duquel le pointeur R2 pointant vers le début d'OLIST est comparé avec la valeur décrémentée de R3 pour déterminer si le clas-25 sement a atteint le sommet d'OLIST. Si le pointeur actuel contenu dans R3 est égal ou supérieur au pointeur pointant vers le début dfOLIST contenu dans le registre R2, alors le noeud SRTJ2 et le pas SRT6 sont repris et la boucle comprenant SRTJ2 et SRT6 à SRT9 est répétée.Cette boucle est répétée jusqu'à ce 30 qu'on trouve que le pointeur actuel contenu dans le registre R3 est plus grand que le pointeur pointant vers le début d'OLIST contenu dans le registre R2, moment où le noeud SRTJ4 et le pas SRT10 sont séquentâàlement attaqués. Pendant SRT10, la valeur d'apparition actuelle vers 35 laquelle pointe le registre R1 est incrémentée de 1 afin d'assurer un pointage vers le "1" suivant d'OLIST. Pendant SRT11, la valetir de longueur contenue dans le registre RO est décrémentée de 1 et, si le résultat est plus grand que 0, le noeud -679- 2334148 SRTJ1 et le pas SRT4 sont attaqués et la boucle comprenant SRTJ1 et SRT4 à SRŒ11 est répétée jusqu'à ce que la valeur de longueur contenue dans le registre RO ait été décrémentée à O pour indiquer que toutes les paires de valeurs d'OLISï ont été 5 traitées. Lorsque cela se produit, le pas SRT12 est attaqué et le contexte du "minicalculateur" est restauré sous la foime qui existait dans le sous-programme "génération" au moment où le sous-programme "classement" a été appelé. S. Sous-programme "imprimante" 10 Le sous-programme "imprimante" est appelé par tout programme qui exige une sortie sur imprimante. Le listage de programme du sous-programme "imprimante" est représenté dans l'appendice B-16, L'organigramme décrivant la séquence de fonctionnement est représenté sur la Fig. 113. Les symboles 15 FRNTR1 à PRNTR6 sont utilisés pour identifier les pavés de l'organigramme de la Fig. 113. La correspondance entre l'organigramme et le listage de programme est représentée le long du côté gauche du listage de programme de l'appendice B-16 en utilisant les symboles de l'organigramme du sous-programme 20 "imprimante" de la Fig. 113. On va maintenant se référer à la Fig. 113 et au listage de l'appendice B-16. Comme décrit précédemment, le sous-programme "imprimante" est appelé pendant le pas P012 du sous-programme "traitement d'une sortie". Le sous-programme "impri-25 mante" attend un paramètre qui est l'adresse du message à imprimer. Ce paramètre est stocké immédiatement après l'instruction JSR R5 FRINTR d'appel du sous-programme "imprimante" . L'adresse dudit paramètre est contenue dans le registre R5. Le paramètre qui suit immédiatement l'instruction 30 précitée est 1'adressç&'un message. Ce message comprend deux parties. La première partie du message a un mot de longueur et indique la longueur du message en nombre de caractères et la seconde partie du message est constituée par les caractères ASCII à imprimer. Initialement, le contexte du "minicalculateur" 35 est préservé pendant PRNTR1 de sorte qu'un retour au sous-pro-gramme "traitement d'une sortie" peut être effectué. Pendant PRNTR2, l'instruction M0V(R5),+R1 assure l'obtention du paramètre (adresse de message) et son stockage dans -680- 2334148 le registre R1. L'instruction M0V(R1)+,R2 provoque la lecture du premier mot du message, c'est-à-dire de la longueur de celui-ci et son stockage dans le registre R2. Pendant PRNTR4-, un caractère du message est imprimé en 5 utilisant les instructions M0VB(R1)+,R0 et JSR R5,PRNTC. Pendant PRNTR5, la longueur du message contenue dans le registre R2 est décrémentée de 1 et si la valeur dé longueur décrémentée n'est pas 0, le noeud PRNTJ1 et le pas PRNTR4- sont repris. La boucle autour de PRNTJ1, PRNTR4- et PRNTR5 est répé-10 tée jusqu'à ce que la valetir de longueur contenue dans le registre R2 soit décrémentée à 0 et que, par conséquent, tous les caractères du message aient été sortis. Lorsque cela se produit, le contenu du registre R2 est 0, ce qui provoque l'attaque du pas PRKTR6 au cotirs duquel le contexte du "mini-15 calculateurn est restauré sous sa forme^ui existait dans le sous-programme "traitement d'une sortie" au moment où le sous-programme "imprimante" a été appelé. Le sous-programme "imprimante" est utilisé par tout module ayant un message à sortir. Dans tous les cas considérés 20 ici, le message était connu au moment de l'assemblage et est contenu à la fin du programme, voir B11-2. La procédure de "traitement d'une sortie" explore OLIST et obtient un caractère à sortir. Etant donné qu'il s'agit d'un unique caractère, P012 appelle le sous-programme "impression d'un caractère" directe-25 ment. " T. Sous-programme "impression d'un caractère" Le sous-programme "impression d'un caractère" est appelé pendant le pas PRNTR4- du sous-programme "imprimante" (Fig. 113) et pendant le pas P012 du sous-programme "traitement d'une 30 sortie" et provoque la frappe d'un caractère par l'imprimante. L'imprimante de la console d'opérateur comporte un registre STATUS identifié par le symbole TPS (état de la téléimprimante) et un autre registre désigné par le symbole TPB (tampon de la téléimprimante). 35: L'appendice B-17 contient le listage de programme re latif au sous-programme "impression d'un caractère". Etant donné que ce sous-programme est relativement simple, aucun organigramme n'a été représenté et, par conséquent, on se référera à l'appendice B-17 pour l'exposé qui va suivre. -681- 2334148 Initialement, le "minicalculateur" détermine si l'imprimante est prête à recevoir un caractère à imprimer. A cet effet, l'instruction TSTB TPS provoque un contrôle du registre TPS pour vérifier si ce registre est prêt à recevoir un caractère. L'imprimante contrôle son état de façon asynchrone. Lorsqu'un caractère est placé dans le registre TEB, l'imprimante assure l'opération mécanique d'impression du caractère. Lorsqu'elle a achevé cette tâche, elle met à 1 le bit DQNE (fait) dans TPS. L'instruction EPL.-4- provoque un rebranchement sur l'instruction précédente si l'imprimante n'est pas prête. La boucle serrée entre les deux premières instructions est maintenue jusqu'à ce que le bit DOHE de TPS soit mis à 1. Lorsque cela se produit, l'instruction MOVB RO,TPB est exécutée, exécution au cours de laquelle un caractère est transféré du registre RO du "mi.njcalculateur" au registre TPB de l'imprimante, ce qui provoque l'impression du caractère. L'instruction suivante provoque la suspension du sous-programme "impression d'un caractère". TJ. S ous-programme "sélection d'un caractère" L'appendice B-18 représente le listage de programme relatif au sous-programme "sélection d'un caractère". Etant donné que le sous-programme est très simple, aucun organigramme n'est représenté. En bref, le sous-programme "sélection d'un caractère" est appelé par le sous-programme "demande de consultation", le sous-programme "composition", et les sous-programmes "sélection d'un entier" et "sélection virgule flottante" (voir Fig. 106). Le sous-programme "sélection d'un caractère" est appelé chaque fois que le programme désire obtenir de l'information à partir du clavier. Le sous-programme "sélection d'un caractère" obtient un caractère en code ASCII à partir de la machine à écrire de la console d'opérateur et provoque l'impression de ce caractère par l'imprimante pour permettre son observation par le demandeur, puis transmet une valeur codée en ASCII représentant le caractère au "minicalculateur". En se référant à l'appendice B-18, on voit que le fonctionnement est le suivant : la machine à écrire (ou son clavier) -682- 2334148 de la console d'opérateur comporte un registre dénommé TES (état de clavier de Télétype) et un registre dénommé TKB (tampon de clavier de Télétype). L'instruction INC TES prépare le clavier à recevoir du demandeur un caractère en déverroviillant 5 le clavier de façon que le demandeur puisse taper un caractère. Les instructions TSTB TES et BEL .-4 forment une "boucle qui fait attendre le sous-programme "sélection d'un caractère" jusqu'à ce que le demandeur ait tapé un caractère sur le clavier de la machine à écrire. Une fois qu'un caractère a été intro-10 duit,le système descend jusqu'à la boucle formée par les instructions TSTB TES et BPL .-4, boucle dans laquelle le système attend à nouveau jusqu'à ce que l'imprimante soit prête à recevoir un caractère. Cette attente est assurée par la boucle d'instructions TSTB TES et BPL.-4. Lorsque l'imprimante est 15 prête, l'inscription MOVB TKB,TPB et transfère le caractère qui vient d'être introduit sur le clavier de la machine à écrire, du registre TKB au registre TPB de l'imprimante, où il est imprimé et affiché pour le demandeur. L'instruction suivante MOVB TKP, EO provoque le transfert du même caractère du registre 20 TKP du clavier de la machine à écrire au registre RO du "mini-calculateur". L'instruction BICB ^200, EO élimine un bit supplémentaire qui est toujours mis à 1 dans EO mais qui n'est pas utilisé par le "minicalculateur". La dernière instruction provoque la restauration du contenu du "minicalculateur" à l'empla-25 cernent du sous-programme "demande de consultation" où il était resté. XXXIH. ORGANISATION DU MATERIEL ET BU LOGICIEL POUR LA FORMATION D'UNE BASE DE DONNEES STRATIFIES A. Structure de la base de données stratifiée 30 Généralement, le problème du stockage et du recouvre ment de données a été rendu complexe par les demandes contradictoires de la technologie et de l'économie. Les systèmes sont généralement structurés avec une connaissance anticipée quant à la structure de la demande de recouvrement. Tout écart majeur 35 par rapport à cette stratégie bien définie se traduit généralement par un chaos ou au mieux par une ambiguïté. La solution de ce problème consiste habituellement en des travaux coûteux et laborieux de restructuration de la base de données pour satisfaire aujç&emandes nouvelles. -683- 2*34148 Par contraste avec les solutions antérieures, une structure de "base de données suivant l'invention offre les avantages suivants : 1) moins d'espace physique nécessaire; 2) temps de recouvrement plus courts ; 3) un recouvrement non 5 prévu à l'avance est traité avec la même facilité que des recouvrements prévus à l'avance; 4) facilité de restructuration et de mise à jour; 5) facilité de spécification de nouveaux critères de recouvrement; et 6) facilité de spécification et d'exécution d'un processus. 10 Pour mieux comprendre l'invention dans son application la structure de base de données stratifiée, on procédera tout d'abord à un exposé général de la manière dont les structures de base de données suivant l'invention et de la technique antérieure sont obtenues. 15 On peut tout d'abord donner la définition ci-après en tant qu'hypothèse de travail : le recouvrement de l'information implique la structuration et le stockage de grandes quantités de données entre lesquelles existent des relations déterminées, de façon que tout ou partie de ces données puissent être re-20 couvrées à tout moment désiré avec précision et rapidement. On va maintenant considérer les structures de base de données existantes et la structure de base de données suivant l'invention à la lumière de la définition ci-dessus. Quèlles que soient leurs caractéristiques physiques, les bases 25 de données actuellement connues peuvent être considérées comme des systèmes qui «surent une transformation conceptuelle de données d'entrée en un domaine d'instants d'événement linéaire. A mesure que chaque unité de base (par exemple un caractère, une lettre, un nombre ou un autre symbole) dite "événement" 50 est introduite dans le système, elle fait l'objet d'une affectation conceptuelle d'une valeur de position linéaire qui correspond à l'état suivant d'un mécanisme d'ordonnancement séquentiel ou d'horloge. Ce concept d'un système de base de données de la technique antérieure est représenté sur la Fig. 114. 35 Avec une base de données ainsi conçue, le problème du recouvrement de l'information peut être apparenté au problème consistant à répondre à la question suivante : Où, dans cette séquence linéaire, apparaissent les événements de la demande ? -684- 2334148 i Si le mécanisme d'ordonnancement des événements de la base de données est considéré comme étant une horloge et si les valeurs de position sont considérées comme étant des instants d'horloge, la question devient : à quel instant d'horloge de la séquence 5 les événements de la demande apparaissent-ils ? On peut répondre à cette question en explorant linéairement la base de données jusqu'à ce qu'on trouve la réponse à la demande de consultation. Dans le cas de grandes hases de données, cette approche viole la définition précédente d'après laquelle l'information 10 doit être recouvrée rapidement. Un des moyens pour obtenir la vitesse de recouvrement voulue est d'examiner rapidement une base de données de type connu et de rechercher les zones où la présence d'une réponse semble probable. A cet effet, on a proposé d'ajouter des fi-15 chiers d'index inversés pour divers mots-clés à la base de données, les fichiers de mots clés permettent d'examiner la base de données beaucoup plus rapidement que dans le cas d'une recherche linéaire. L'inconvénient de cette approche réside en ce que la demande doit contenir un système de mots-clés. Cela 20 signifie que l'organisateur de la base de données doit savoir à l'avance ce que seront les demandes présentées à cette base et tirer de cette connaissance les mots à utiliser comme mots-clés, puis créer des fichiers de mots-clés. Il existe encore d'autres inconvénients. Si les de-25 mandes adressées à la base de données changent (c'est-à-dire sont inattendues), alors l'ensemble du système doit être restructuré de façon que de nouveaux fichiers de mots-clés puissent être établis. Cette procédure est coûteuse et demande beaucoup de temps. 30 La structure de données stratifiée suivant l'invention est une extension du concept des fichiers d'index (mots-clés) inversés. Le côté droit de la Fig. 115 représente un exemple d'une base de données suivant l'invention dont chaque ligne horizontale représente un événement différent, tandis que 35 l'ordre d'apparition des événements sur chaque ligne est identifié par la valeur des numéros de chaque ligne. Les numéros correspondent à l'horloge (ou mécanisme d'ordonnancement) indiquée e$ bas et à droite de la figure. En conséquence, con- -685- 2334148 trairement à 11 ordonnancement des données représenté sur la Fig. 114, une structure de données suivant l'invention est organisée en une collection de fichiers d'index inversés, comme représenté sur la Fig. 115- Il suffit alors que chaque fichier 5 contienne une information de position ou temporelle. Les avantages de ce type de système sont les suivants : 1) seuls les événements (par exemple des lettres ou des mots) qui sont spécifiés dans la demande ont besoin d'être recherchés; en conséquence, il suffit d'examiner une portion relativement 10 petite de la base de données pour chaque demande particulière, ce qui se traduit par une réduction du temps de recherche; 2) les valeurs de position d'horloge des événements (dites également valeurs d'apparition d'événement) peuvent être comparées entre elles jusqu'à ce qu'on trouve une séquence exacte- 15 ment identique à la demande ou bien, si on le désire, jusqu'à ce qu'on trouve une séquence "presque" identique à la demande d'entrée. Cette caractéristique permet un recouvrement d'après le contexte. Suivant l'invention, une réponse à une demande doit 20 être régénérée avant qu'elle puisse être sortie. Le processus de régénération implique la découverte des événements dont les valetirs d'horloge sont séquentiellement ordonnées dans une certaine gamme. Cependant, quels que soient les inconvénients de cette exigence, ils sont largement compensés par 1'augmenta-25 tion de vitesse, la possibilité de manipuler des demandes non prévues à l'avance et la possibilité de donner tme réponse d'après le contexte (par exemple une réponse imparfaitement exacte). On va maintenant considérer l'exemple représenté dans 30 les tables 2k et 2B. On supposera que la phrase "THIS IS A TEST" (Ceci est un test) doit être introduite dans la base de données. Comme représenté dans la table 2A, une horloge est déclenchée de façon que les valetirs d'instant d'événement engendrées par elle correspondent aux événements d'entrée à mesu-35 qu'ils sont introduits dans la base de données. La table 2B représente chaque événement de l'exemple de la table 2A sous la forme d'un fichier d'index inversés. Chaque fichier d'index inversés est dénommé "séquence d'instants d'événement". -686- 2334148 En conséquence» la table 2B représente une structure de données suivant l'invention qui inverse complètement l'information d'entrée. Ceci donne au système suivant l'invention une grande vitesse de recouvrement, permet l'utilisation de demandes 5 non prévues à l'avance et permet de formuler des réponses imparfaitement exactes à une demande. En conséquence, on peut répondre à la question précédemment indiquée "A quels instants d'horloge de la séquence les événements de la demande apparaissent-ils ?", en posant la ques-10 tion : "A quels instants d'horloge l'événement est-il apparu ?" pour chaque événement de la demande et en déduire une réponse, la structure de données de base représentée sur la table 2B a été désignée ici sous le nom de "couche". Un autre moyen grâce auquel l'invention permet d'accé-15 lérer une recherche consiste à stocker exclusivement de l'information nouvelle. Si une information introduite dans la base de données est déjà contenue dans celle-ci, il n'est pas nécessaire de la stocker à nouveau. En conséquence, suivant l'invention, on utilise une structuration hiérarchique de couches qui permet 20 d'éliminer toute redondance des données d'entrée. De cette manière, l'information est concentrée, un plus faible volume de mémoire physique est utilisé et un temps de recherche plus court suffit pour recouvrer les données. Un tel agencement est représenté à titre d'exemple dans les tables 60B et 60C précédemment 25 décrites. D'après la description ci-dessus d'une couche, une couche peut être considérée comme une collection de séquences d'instants d'événement, la séquence d'horloge de chaque événement comprend seulement les valeurs d'horloge indiquant l'ins-30 tant auquel l'événement correspondant s'est produit ou est apparu. (ïïoter à titre d'exemple la table 2A). Une autre façon de considérer la couche est de la comparer à une matrice bidimensionnelle dont les rangées (lignes) sont les événements primaires associés à la couche et dont 35 chaque colonne est associée à un signal d'horloge (ou comme décrit ci-dessus, à une valeur d'apparition d'événement). Chaque fois qu'un événement apparaît, un 1 binaire est représenté en association avec la rangée et la colonne convenables (voir table 2A). -687- 2334148 Une couche peut donc être considérée comme un "topogramme" indiquant la séquence des événements à mesure qu'ils sont introduits dans la "base de données. Les séquences sont fractionnées en groupes dits "entrées" de façon qu'en contrô-5 lant le flux de données d'entrée, il soit possible de repérer l'introduction de données redondantes. A cet effet, un "séparateur de groupes" qui a été dénommé ici "délimiteur" est introduit dans le flux de données sous la forme d'un caractère spécial. Les délimiteurs peuvent être naturels et être consti-10 tués par exemple par les espaces entre les mots dans une base de données à contexte. Ils peuvent également être artificiels et séparer par exemple des instructions "source" dans un programme de calculateur. Les délimiteurs fractionnent la couche en "groupes" ou "entrées", chacun de ces groupes ou entrées 15 étant constitué par une séquence d'événements comprise entre deux délimiteurs. Lorsqu'une seconde couche est introduite, elle comporte des "événements" qui sont des "entrées" dans la première couche et dont les valeurs d'horloge changent seulement ("tops") 20 lorsqu'un délimiteur est reconnu pour la première couche. On a considéré ici la première couche comme étant une couche 0 et la seconde comme étant une couche 1. Le flux de données d'entrée est contrôlé et l'on obtient une séquence d'événements actuelle entre des délimiteurs sur la couche 0. La couche 0 25 est vérifiée pour déterminer si la séquence d'événements actuelle a déjà été introduite dans la base de données. Dans l'affirmative, elle comporte une ligne correspondante contenant un numéro d'événement de la couche 1. En conséquence, l'instant d'horloge séquentiel suivant de la couche 1 est ajouté à la sé-30 quence d'instants d'événement pour la séquence d'événements actuelle. Si la séquence d'événements actuelle n'existe pas dans la couche 0, elle est ajoutée en tant qu'entrée (c'est-à-dire en tant que valeur d'horloge sur une ou plusieurs lignes d'événement) à la couche 0 et l'entrée est alors ajoutée sous 35 forme de nouvelle ligne et de nouveau numéro d'événement dans la couche 1. En conséquence, on voit que seules des entrées non répétées sont introduites sur la couche 0 et que ces entrées -688- 2334148 correspondent à des événements de la couche 1. En conséquence, une séquence d'événements redondants de la couche 0 est ajoutée sous la forme d'une unique valeur d'horloge sttr la couche 1. La séquence a donc été concentrée en une unique valeur d'hor-5 loge alors qu'elle exigerait normalement toute une séquence de valeurs d'horloge. Ce processus peut également être inversé. En conséquence, chaque événement de la couche 1 est complètement décrit par une séquence d'événements de la couche 0. En outre, le concept de l'invention pourrait être élar-10 gi de manière à inclure des délimiteurs destinés à éliminer les redondances sur la couche 1. Par exemple, dans les modes de réalisation.décrits ci-dessus, les couches 0 et 1 identifient respectivement des lettres et des phrases. Une couche 2 pourrait être ajoutée pour identifier des paragraphes ou des cha-15 pitres, etc. Le processus est récursif et n'a besoin d'être limité que lorsqu'il n'existe plus aucune redondance pouvant être éliminée dans le système. Le résultat de cette procédure est un ordonnancement hiérarchique de couches liées entre elles par des dé limite tir s qui rattachent les entrées d'une couche donnée 20 à des événements de la couche immédiatement supérieure. Ces délimiteurs peuvent alors être considérés comme une sorte de "ciment" qui assemble les couches entre elles. Les délimiteurs peuvent être implicites en ce sens que la Nième entrée d'une couche peut pointer implicitement vers le Fième événement de 25 la couche immédiatement supérieure. Il est à noter également qu'aucune mémorisation de ce pointeur n'est nécessaire. En outre les délimiteurs peuvent être explicites en ce sens qu'ils peuvent être constitués par une table qui établit une relation entre chaque entrée d'une couche et des événements d'autres 30 couches. La structure de cette table peut varier entre une simple table de pointeurs et une couche elle-même. Il est à noter également que les événements primaires qui forment la couche la plus inférieure ne sont pas limités à une chaîne littérale mais pourraient être également un processus 35 à effectuer. Ces processus de base peuvent être stratifiés de la même manière que celle qui a été décrite ci-dessus. Des processus de manipulation très complexes peuvent être aisément décrits et ceci sans modification de la structure de base de la 689- 2334148 base de données. En conséquence, une demande pourrait déclencher une réponse déterminée d'après le contexte, dite ici "contextuelle" ou encore déclencher un processus destiné à assurer l'exécution d'une tâche quelconque. 5 En gardant présente à l'esprit la description générale ci-dessus d'une structure de base de données stratifiée, on va maintenant considérer la définition des couches de façon plus détaillée. A cet effet, on utilisera la relation d'instants d'événement précédemment mentionnée. 10 Chaque ligne ou événement d'une couche consiste en une séquence d'instants d'événement en ce sens qu'elle représente un jeu ordonné de valeurs qui sont homogènes et qui représentent à leur tour Tin rythme ou séquence de signaux d'horloge. "Une - couche est une collection entièrement formée de toutes les sé- 15 quences d'instants d'événement de ce type qui est (1) isosynchrone, c'est-à-dire que chaque rangée est une séquence binaire et que l'apparition d'un événement quelconque est un instant d'horloge pour toutes les entrées et (2) à extrémité ouverte, c'est-à-dire qu'elle peut être développée. 20 L'ordonnancement est contenu dans le concept de la stratification. On considérera maintenant l'exemple de deux couches A et B. 1. La couche A est immédiatement supérieure à la couche B si un événement de la couche A est élaboré par une séquence 25 définie de façon univoque de la couche B. 2. Toute apparition d'un événement "a" sur la couche A implique la même séquence plus détaillée b-j-p ^^2' *** sur la couche B. On remarquera également que la couche B est inférieure à la couche A. 30 3. La couche A est entièrement supérieure à la couche B si tous les événements de la couche A sont élaborés sur la couche B. 4-, La couche A est partiellement supérieure à la couche B si seul un sous-ensemble de l'événement de la couche A 35 peut être élaboré sur la couche B; par exemple les événements "a^ ,a2,... £A" pourraient être élaborés par la couche B tandis que les événements "an+i9 an+2'* * *,an+m ^ soirfc élaborés par la couche C. -690- 233*148 5. Les couches peuvent être emboîtées de telle façon que la couche A soit entièrement supérieure à la couche B, et que celle-ci soit à son tour entièrement supérieure à la couche C, c'est-à-dire que la couche A exige que la couché B 5 soit définie. La couche B exige que la couche C soit définie. 6. Il existe des couches primaires qui comportent des signes d'événement qui sont primaires pour l'ensemble du système; par exemple dans un système à texte, les libellés (lettres, nombres ou numéros, ponctuation) sont prélevés sur la 10 couche la plus inférieure. Les événements primaires peuvent être (i) des chaînes binaires, qui sont les événements, (ii) des actions à effectuer (processus). 7. Un événement peut être primaire à différents niveaux dans ce système : (i) il peut être primaire à l'égard 15 de l'interpréteur ou programme d'interprétation qui élabore les événements sur cette couche, c'est-à-dire être primaires dans le cadre du concept des interpréteurs de ces événements; (ii) l'événement peut être entièrement primaire, c'est-à-dire qu'aucun interpréteur de l'ensemble du système ne peut alors 20 l'élaborer davantage. 8. Des délimiteurs sont liés aux divers interpréteurs et constituent le "ciment" qui assemble une couche donnée avec une autre. Cette liaison peut être implicite, par exemple l'entrée "n" d'une couche donnée est en relation avec l'événe- 25 ment "n" de la couche supérieure. La liaison peut également être explicite, par exemple sous la forme d'une table qui établit une relation entre l'entrée "i" d'une couche donnée et l'événement "0" de la couche supérieure. Les délimiteurs aident également à définir le domaine d'un interpréteur dans lequel 30 des événements sont primaires à l'égard de cette couche. - On va maintenant considérer un exemple spécifique de la base de données stratifiée suivant l'invention. Dans cette base de données, les quatre structures de base de données principales à considérer sont les suivantes : tout d'abord la 35 base de données stratifiée elle-même qui est représentée sur la Fig. 116; en second lieu, la structure de certaines tables de conversion dénommées CVRTBL et CVTBL2 qui sont représentées sur la Fig. 117j en troisième lieu, ESTAK, la pile d'événements, -691- 2334148 qui est représentée sur la Fig. 118; enfin, en quatrième lieu, l'espace disponible et l'espace libre et leur gestion conjointement à la zone de stockage de la mémoire principale. On va maintenant considérer les détails de la struc-5 ture de base de données stratifiée représentée sur la Fig. 116. La structure de la base de données stratifiée de la Fig. 116 est analogue à celle qui est représentée sur les Fig. 78 et 79» mais elle est plus complète, comme on le verra ci-après. Dans l'exemple, la base de données stratifiée comporte deux couches, 10 la couche 0 et la couche 1. Chaque couche comporte un en-tête de couche vers lequel pointe un pointeur qui, dans le cas de la couche 0, est LOPTR et, dans le cas de la couche 1, L1PTR. Chaque en-tête de couche contient quatre mots de description comme suit : le premier mot (LOET - couche 0, LIED - couche 1) 15 pointe vers l'adresse de la table de pointeurs d'événement de la couche correspondante; le second mot contient la largeur d'iso-entropicogramme (HSfO - couche 0, HW1 - couche 1) de la couche correspondante; le troisième mot contient le nombre d'événements (ïfEO - couche O, HE1 - couche 1) associé à la 20 couche correspondante; enfin, le quatrième mot contient la valetir de "top" actuelle de l'horloge (TIKO - couche 0, TIK1 -couche 1) associée à la couche correspondante. Dans l'exemple considéré, la couche 0 comporte .128 événements correspondant aux 128 différents caractères ASCII 25 possibles. Des événements supplémentaires pourraient être introduits en augmentant le nombre de bits des caractères. Toujours dans l'exemple, la couche 1 contient 256 événements. En se référant aux tables de pointeurs d'événement, on voit que la table de pointeurs d'événement de la couche 0 contient un poin-30 teur pour chacun des événements 1 à 128, plus un délimiteur, plus un raccourci nul, sur la couche 0 et que la table de pointeurs d'événement de la couche 1 contient un pointetir pour chacun des événements 1 à 256 sur la couche 1, plus un délimiteur, plus un raccourci nul. Pour la couche 0, LOET est un 35 pointeur d'adresse pointant vers l'adresse qui contient le pointeur du délimiteur de la couche 0, tandis que l'adresse immédiatement précédente contient un pointeur d'adresse pointant vers un raccourci nul. Pour la couche 1, L1ET est un -692- 2334148 pointeur d'adresse pointant vers l'adresse contenant le pointeur du délimiteur de la couche 1, tandis que l'adresse immédiatement précédente contient un pointeur d'adresse pointant vers le raccourci nul. Gomme décrit plus loin de façon plus 5 détaillée, il est possible de présenter à la base de données une demande utilisant un événement de demande que la base de données stratifiée ne contient pas. Lorsqu'une demande présentée vise un événement non contenu dans la base de données, la demande est simplement dirigée vers le pointeur situé en "-1" 10 dans LOET pour le raccourci nul. D'une manière analogue, lorsqu'une information est demandée à la base de données, il y a des moments où aucune entrée de couche 0 ne satisfait au critère de précision de concordance. Dans ce cas, le raccourci nul est substitué au mot demandé. 15 Les pointeurs d'adresse des événements 0 respectifs des tables de pointeurs d'événement de la couche 0 et de la couche 1 pointent vers les en-têtes de raccourci des délimiteurs de la couche 0 et de la couche 1. Selon un exemple destiné à faciliter l'explication, la table de pointeurs d'événe-20 ment de la couche 1 contient des pointeurs pour 256 événements. C'est le nombre maximal d'événements possible pour la structure de données de huit bits de largeur dont on a supposé qu'elle est adoptée dans le système DBî représenté ici à titre d'exemple. 25 Une zone de stockage d'une capacité de 1K est réservée en mémoire principale aux en-têtes de raccourci. Lorsqu'un nouvel événement est affecté soit à la couche 0, soit à la couche 1, la formation d'un nouvel en-tête de raccourci est déclenchée pour ce nouvel événement. A cet effet, un mot poin-30 teur identifié par le symbole NXTSH (en-tête de raccourci suivant) pointe vers le début de la nouvelle zone de quatre mots qui est disponible pour un en-tête de raccourci. Après l'utilisation des quatre mots suivants pour un en-tête de raccourci, le pointeur NKTSH est avancé de quatre mots de façon qu'il pointe main-35 tenant vers les quatre autres mots suivants disponibles pour un en-tête de raccourci. Les en-têtes de raccourci, une fois qu'ils sont créés, ne sont pas détruits au cours du programme décrit ici. Cependant, une telle caractéristique de destruction peut -693- 2334148 être désirable et peut être incorporée au programme dans le cadre de la présente invention. La zone de la mémoire principale destinée au stockage des lignes de raccourci, représentée dans ses grandes lignes le 5 long du côté droit de la Fig. 116 va maintenant être décrite. Les lignes de raccourci sont stockées dans une zone de stockage de raccourcis de la mémoire principale. Cette disposition peut aisément être adaptée à un espace de stockage sur disques en utilisant un arrangement de disques classique et des techniques 10 de transfert. Les lignes de raccourci sont stockées de cette manière dans l'ordre dans- lequel la mémorisation de chacune d'elle est nécessaire. En conséquence, les lignes de raccourci de la couche 0 et de la couche 1 sont entremêlées dans la zone de stockage des lignes de raccourci. Chaque ligne de raccourci 15 d'événement ou chaque ligne de raccourci de délimiteur fait l'objet d'un pointage de la part d'un en-tête de raccourci d'événement correspondant ou d'un délimiteur correspondant de la manière décrite précédemment à propos des Fig. 78 et 79» La structure des en-têtes de raccourci est représentée sur les Fig. 20 78 et 79 et a été précédemment décrite en référence à ces figures. Lorsque de nouvelles lignes de raccourci sont créées tandis que d'anciennes lignes de raccourci sont éliminées, la mémoire n'est pas immédiatement modifiée par une éjection des 25 anciennes lignes de raccourci et une compression de l'espace de stockage. Au lieu de cela, il existe une liste enchaînée de zones d'espace libre disponibles dans une zone de stockage dite "d'espace libre". Chaque zone d'espace libre contient un pointeur d'adresse pointant vers la zone d'espace libre sui-30 vante. Lorsqu'un nouveau raccourci doit être introduit dans la base de données, un contrôle est effectué à travers toute la liste enchaînée de zones d'espace libre pour déterminer si la nouvelle ligne de raccourci peut être introduite dans l'une quelconque des zones d'espace libre. La dernière zone d'espace 35 libre contient un pointeur qui pointe vers une zone de mémoire dite "d'espace disponible" (qui correspond aux tores de la mémoire principale qui ont été laissés disponibles pour les raccourcis). L'espace libre et la liste des pointeurs d'espace -694- 2334148 libre seront décrits de façon plus détaillée conjointement à la structure de stockage de données. On notera toutefois dès maintenant que l'expression "espace libre" dans l'acception utilisée ici se réfère à la zone de la mémoire principale qui a 5 été rendue vacante par des lignes de raccourci qui ne sont plus utilisées, tandis que l'expression "espace disponible" se réfère à la zone dans laquelle aucune ligne de raccourci n'a encore été stockée. On va maintenant considérer la structure et le contenu 10 des tables CVRTBL et CVTBL2 représentées sur la Fig. 117. La table CVRTBL est utilisée pour convertir des caractères codés en ASCII en numéros d'événement sur la couche 0. La table CVTBL2 est utilisée pour reconvertir des numéros d'événement de la couche 0 en caractères codés en ASCII. CVRTBL contient 15 des numéros d'événement de couche 0 et les caractères codés en ASCII sont utilisés comme index d'adressage de la table CVRTBL. Comme décrit précédemment à propos du programme "composition", lorsqu'un caractère d'entrée est reçu de la console d'opérateur, l'équivalent binaire du nombre octal 200 est retranché de ce 20 caractère pour former un caractère codé en ASCII. Pour convertir un caractère codé en ASCII en numéro d'événement de couche 0, on ajoute ce caractère codé en ASCII à l'adresse de base CVRTBL et le contenu de l'adresse résultante est le numéro d'événement de couche 0 correspondant. La table CVTBL2 contient 25 des caractères ASCII et les numéros d'événement de couche 0 forment un index de consultation de la table CVTBL2. Pour convertir un numéro d'événement de couche 0 en caractère ASCII correspondant, ce numéro d'événement de couche 0 est ajouté à l'adresse de base CVTBL2 et le contenu de l'adresse résultante 30 est le caractère ASCII correspondant. On va maintenant considérer la manière dont les tables CVRTBL et CVTBL2 sont formées. Il est rappelé que, comme représenté sur la Fig. 116, l'adresse LOET "-1" est l'adresse du pointeur de 1'événement -1, pointeur qui pointe vers un en-35 tête de raccourci nul. Initialement, l'ensemble du contenu de CVRTBL est initialisé en stockant le numéro d'événement -1 à chacun de ses emplacements de mémoire. En outre, la table CVTBL2 est initialisée de telle façon que chacun de ses emplace -695- 2334148 ments contienne une valeur codée en ASCII représentant le symbole * . Le symbole * est utilisé ici en tant que caractère non valide. Un compteur d'événement de logiciel formé par NEO dans 5 l1en-tête de la couche 0 est utilisé pour compter les nouveaux événements (en code ASCII) à mesure qu'ils sont reçus et introduits dans la base de données. Le compteur d'événement forme les numéros d'événement sur la couche 0. Lors de l'introduction d'information dans la base de 10 données, on détermine tout d'abord si le caractère ASCII reçu est un nouveau caractère et, par conséquent, n'a pas encore été introduit dans la base de données. Si c'est un nouveau caractère, la valetir codée en ASCII est ajoutée à l'emplacement de la table CVTBL2 dont l'adresse est déterminée en ajoutant 15 NEO à l'adresse de base CVTBL2. Les nouveaux caractères sont déterminés comme suit : un caractère ASCII reçu est ajouté à l'adresse de base CVRTBL de la table CVRTBL et le contenu de l'adresse résultante dans CVRTBL est vérifié pour déterminer si c'est ou non un nombre négatif. S'il est négatif, cela in-20 dicue que le caractère ASCII actuel n'a pas encore été ajouté à la base de données et le numéro d'événement indiqué par le compteur d'événement est stocké à l'emplacement adressé de CVRTBL. Lorsque le numéro d'événement est ajouté à un emplacement de mémoire particulier de CVRTBL, le caractère codé en 25 ASCII correspondant est ajouté aux emplacements de mémoire CVTBL2 dont l'adresse est CVTBL2 plus le numéro d'événement (c'est-à-dire NEO) et un nouvel en-tête de raccourci correspondant est composé pour l'événement particulier. Si le caractère ASCII reçu a été précédemment introduit dans la table CVRTBL, 30 le contenu de l'emplacement d'adresse dans CVRTBL est positif (étant donné que tous les numéros d'événement de couche 0 sont positifs) et le processus de stockage dans la table décrit ci-dessus est sauté. Lors de la sortie d'un numéro d'événement de couche 0, 35 la représentation codée en ASCII correspondante peut être obtenue par simple addition du numéro d'événement à l'adresse de base, CVTBL2, de la table CVTBL2, pour former l'adresse de l'emplacement correspondant dans lequel le caractère codé en ASCII correspondant peut être lu. -696- 2334148 On va maintenant considérer la structure ESTAK telle qu'elle est représentée sur la Fig. 118. La manipulation d'ESTAK a été considérée en fonction du programme "composition" et des programmes associés. ESTAK est une pile dans laquelle 5 tous les numéros d'événement d'une demande sont poussés à mesure qu'ils sont reçusdans le système. Le nombre d'événements poussés dans ESTAK est compté par les registres de logiciel RLNO et RLN1. En conséquence, une fois qu'un mot complet (c'est-à-dire une série de signes ou de lettres compris entre 10 deux délimiteurs #) a été introduit dans le système, le nombre total de numéros d'événement de couche 0 poussés dans ESTAK est reflété par ELM). En se référant à la Fig. 18, exemple a, on voit que TOS est le pointeur de sommet de pile d'ESTAK, tandis que RLÎTO représente le nombre de numéros d'événement de 15 couche 0 contenus dans ESTAK et tandis que RLN1 représente le nombre de numéros d'événement de couche 1 contenus dans ESTAK, ces deux registres étant tous deux initialement mis à O. L'exemple b suppose que quatre numéros d'événement de couche 0 ont été stockés dans ESTAK, RLNO contenant alors la valeur 4. 20 Une fois que le délimiteur (#) de fin est rencontré, cela indique qu'une entrée complète est contenue dans ESTAK. Les numéros d'événement constituant cette entrée dans ESTAK sont alors traités en utilisant le programme "cadrage" (décrit ci-dessus) pour déterminer si l'entrée (c'est-à-dire la séquence 25 de signes ou de numéros d'événement) a déjà été rencontrée et, par conséquent, a été stockée dans la base de données. Si la séquence a été rencontrée précédemment, un numéro d'événement de couche 1 est renvoyé, numéro qui représente la séquence de numéros d'événement en question. Si la séquence particulière de 30 numéros d'événement n'a pas été rencontrée précédemment, alors la séquence de numéros d'événement de la couche 0 est introduite dans celle-ci et on affecte à ces numéros le numéro d'entrée séquentiel suivant de la couche 1 qui est à son tour stocké au sommet d'ESTAK. Ce cas est représenté par l'exemple c 35 de la Fig. 118 où l'événement 11 est représenté, le premier "1" représentant la couche 1 et le second "1" représentant le numéro d'événement 1 de la couche 1. La séquence correspondante de numéros d'événemerfc de la couche 0 est retirée d'ESTAK en rédui -697- 2334148 sant la valeur représentée par RLNO du nombre de numéros d'événement de couche O et en incrémentant de 1 le compte de RLÎÎ1. De cette manière, une série d'événements tels que des lettres formant des mots peut être introduite en tant que phrase dans 5 la structure de la base de données. Lorsque le délimiteur ^ de fin d'une phrase est rencontré, le registre KLF1 représente le nombre d'entrées de couche 1 d'ESTAK alors ajoutées à la couche 1 de la base de données. Gomme décrit plus loin de façon plus détaillée, les entrées sont ajoutées à la base de données 10 en utilisant le module "modification". On va maintenant considérer les structures et les principes généraux permettant de maintenir un espace disponible. La Fig. 119A représente l'espace disponible (ou zone de stockage) réservé aux lignes de raccourci. Lorsqu'une ligne de rac-15 courci est calculée, elle est placée dans l'espace disponible et le premier mot de l'entrée de raccourci (qui correspond à la ligne de raccourci) est ajouté de telle façon qu'il devienne un pointeur pointant vers l'adresse de début de la ligne de raccourci. Il est rappelé ici que, comme indiqué sur les Fig. 78 20 et 79, le troisième mot de 1*en-tête de raccourci contient la longueur de raccourci (en mots). Pendant le processus de changement de lignes de raccourci, une nouvelle ligne de raccourci d'une longueur plus petite ou plus grande que celle de l'ancienne peut être calculée. 25 En conséquence, l'espace de stockage de la ligne de raccourci modifiée n'est plus exactement le même que celui de l'ancienne ligne de raccourci. Pour assurer cette possibilité, une liste enchaînée dite "liste de pointeurs d'espace libre" est prévue et son début est identifié par un pointeur de logiciel FSP. 30 Cette liste contient un jeu ordonné de pointeurs d'espace libre. Chaque zone d'espace libre comprend deux mots d'en-tête et une section libre. Le premier des deux mots d'en-tête est un pointeur pointant vers le point d'enchaînement dit ici "maillon" suivant de la chaîne que forme la liste (comme indiqué par des 35 flèches sur la Fig. 119B) et le second mot d*en-tête représente la longueur de la section d'espace libre correspondante. Chaque fois que de l'espace est créé à partir de l'espace disponible pour une nouvelle ligne de raccourci, la longueur de l'espace -698- 2334148 nécessaire pour cette nouvelle ligne de raccourci est incrémentée de deux mots pour les deux mots d'en-tête. Cette disposition est très importante car elle économise du temps de traitement lorsqu'on cherche à déterminer si une nouvelle ligne de 5 raccourci peut être ajoutée dans une section d'espace libre particulière. On va maintenant se référer à la Fig. 119C et considérer la procédure générale qui est adcptée pour ajouter une entrée de ligne de raccourci à la liste d'espace libre. On supposera 10 qu'à l'origine le maillon A pointe vers le maillon B qui pointe à son tour vers le maillon suivant de la liste. On supposera également qu'une nouvelle section C doit être ajoutée à la liste enchaînée. La section d'espace libre C à ajouter comporte une adresse de début qui est plus grande que l'adresse de la 15 section A mais plus petite que celle de la section B. Pour maintenir cet ordre de grandeur dans la liste ordonnée, il suffit de "jongler" avec les pointeurs de façon que l'adresse du maillon C soit placée dans le maillon A et que l'ancien maillon qui se trouvait en A soit placé dans le maillon C. Les lignes 20 en trait interrompu indiquent la configuration antérieure à l'addition dans la section C et les lignes en trait plein indiquent la configuration modifiée. On va maintenant se référer à la section 119D et considérer le fonctionnement général qui se déroule lors de l'ad-25 dition de données à une zone d'espace libre. L'exemple a de la Fig. 119D représente la condition régnant avant l'insertion , de la ligne de raccourci. Comme représenté, le maillon A pointe vers le maillon B qui pointe à son tour vers le maillon C. On supposera pour faciliter 1'explication qu'une portion de la 30 section B doit être attribuée à une nouvelle ligne de raccourci. On supposera également que les sections contenant les maillons A, B et C contiennent les valeurs de longueur 4, 8 et 5, respectivement. On supposera enfin que la nouvelle ligne de raccourci exige une longueur de cinq mots, ce qui donne un espace 35 libre de trois mots plus 1'en-tête de deux mots. En conséquence, lorsque la nouvelle ligne de raccourci de cinq mots est placée dans la section contenant le maillon B, celui-ci ne disparaît pas de l'espace 8 mais, en fait, est déplacé vers la droite comme indiqué en B. -699- 2334148 Il est rappelé ici que l'expression "espace libre" désigne dans la présente description la liste enchaînée de zones libres qui ont été rendues vacantes par des lignes de raccourci tandis que l'expression "espace disponible" désigne 5 la zone de la mémoire principale dans laquelle aucune ligne de raccourci n'a encore été stockée. Une fonction dénommée ici "récupération des positions inutilisées" va maintenant être décrite. Une fois que l'espace libre dépasse une certaine longueur en mots, il est nécessaire 10 de comprimer la zone de stockage de façon que la totalité de l'espace libre redevienne de l'espace disponible. Ce qui va suivre explique cette opération. La Fig. 119E représente en (a) un exemple de la zone de stockage de la mémoire principale antérieurement à la récu-15 pération des positions inutilisées. On remarquera que l'espace libre comprend des sections d'espace libre enchaînées de 5, 4-et 7 mots de longueur et un espace disponible, ces sections d'espace libre et cet espace disponible étant séparés les uns des autres par des sections de stockage de ligne de raccourci 20 respectives A2, A3 et A4. Les sections d'espace libre peuvent être considérées comme formant -une liste linéaire s'étendant de gauche à droite en partant du pointeur FSP. On a en outre représenté un pointeur PI pointant vers le maillon de la première section d'espace libre et un pointeur P2 pointant vers 23 le début de la section de ligne de raccourci A2. La procédure générale consiste à déplacer l'ensemble de la zone de stockage de ligne de raccourci vers la gauche jusqu'à ce que les sections d'espace libre soient éliminées, c'est-à-dire transformées en espace disponible. La première opération consiste à 30 déplacer la zone de stockage d'espace libre comprise entre P1 et P2 vers la gauche. Au cours de ce processus, toutes les sections de ligne de raccourci dont l'adresse initiale est plus grande que le pointeur PI reçoivent de nouvelles adresses initiales qui sont déplacées vers la gauche dans une mesure 35 égale à la longueur de la première section d'espace libre. Au cours de cette première opération, le pointeur PI est déplacé à partir de sa position actuelle vers la droite dans une mesure égale à la longueur de A2 et le pointeur P2 est déplacé, de la -700- 2334148 section de raccourci A2 jusqu'au début de la section de ligne de raccourci suivante A3, comme représenté en (b) sur la Fig. 119E. Bien que les en-têtes de raccourci aient été ajustés, ils ne pointent pas tous vers des données significatives étant 5 donné qu'une portion seulement de la base de données a été déplacée vers la gauche. Ce processus se répète pour la section d'espace libre suivante de longueur 4. Le résultat est représenté en (c) sur la Fig. 119E et l'on peut voir que la section de ligne de rac-10 courci A3 a été déplacée vers la gauche et est devenue adjacente à la section de ligne de raccourci A2 tandis que des sections libérées de longueurs respectives 5 et 4 sont groupées en une seule comme indiqué à l'emplacement désigné par la mention "section libérée". Ce processus se répète jusqu'à ce que 15 tout l'espace libre soit éliminé et soit transformé en espace disponible et jusqu'à ce que le pointeur d'espace libre FSP ait été ajusté sur le début de l'espace disponible. Les entêtes de raccourci sont ajustés pour le nouvel emplacement des sections de ligne de raccourci correspondantes et, par 20 conséquent, pointent vers les nouvelles adresses initiales des lignes de raccourci correspondantes. Le résultat est tel que représenté en (d) sur la Fig. 119E. B. Programme "base de données", niveau 1 Le programme "base de données", niveau 1, assure les 25 fonctions principales du programme "base de données" (niveau 0) à savoir : l'initialisation, la formation de couches, qui construit la base de données précédemment décrite et la demande présentée à la base de données, le tout comme décrit précédemment de façon plus détaillée à propos du programme "composi-30 tion". L'initialisation prépare la base de données à recevoir une information d'entrée en "amorçant" des tables et des entêtes. Elle consiste à : 1. Initialiser CVRTBL avec un nombre négatif qui correspondra au raccourci "nul"; 35 2. Initialiser CVTBL2 avec des partout représen tant des caractères non valides ; 3. Initialiser 1'en-tête de couche 0 et à placer une première entrée dans le raccourci de délimiteur; -701- 2334148 4. Initialiser 1'en-tête de couche 1 et à placer une première entréodans le raccourci de délimiteur; 5. Initialiser le raccourci "nul"; 6. Initialiser le pointeur d1en-tête de raccourci (KXTSH) et le pointeur d'espace libre (FSP); 7. Initialiser les "globaux" : LNGSW, ESCAPE, PW, BVCO, ESTAK. Le programme "base de données" range en séquence les opérations de l'ensemble du processus "base de données" depuis l'initialisation jusqu'à la formation des couches en vue de leur utilisation ultérieure pour le traitement de demandes. Le code de programme correspondant à l'exécution du programme "base de données" est représenté dans l'appendice B-22. La Fig. 121 est un organigramme du programme "base de données" et représente sa séquence générale d'exécution. Des symboles DB1.0 à DB12.0 sont utilisés. La correspondance entre le code de programme et l'organigramme est représentée dans l'appendice B-22 où les symboles correspondant aux pavés de l'organigramme sont représentés pour le code correspondant. On va maintenant examiner le déroulement du programme "base de données" en se référant à la Fig. 121. Le programme "base de données" est chargé et exécuté par l'utilisateur. A cet effet, celui-ci donne au système des instructions de chargement du programme "base de données" sur les tores de la mémoire principale et l'exécution de ce programme. Pendant le pas DB1.0 de l'organigramme, le contexte des registres du "minicalculateur" est stocké en vue d'un retour au système d'exploitation dit "operating system". Pendant DB2.0, 1'aiguillage ENDFLAG (de drapeau de fin) est remis à 0 en vue de son utilisation ultérieure pendant les pas DB9.0, DB11.0 du programme "base de données" pour indiquer la fin de ce programme et pour assurer une commande convenable pendant le pas DB11.0 de l'organigramme de celui-ci. Le noeud JOIÎT 1 et le pas DB3.0 de l'organigramme sont ensuite attaqués. Pendant DB3-0, l'instruction JSR R5,PRINTR est exécutée, ce qui provoque l'appel du sous-programme "imprimante" (décrit précédemment) et, par conséquent, -702- 2334148 la transmission, d'un caractère codé en ASCII à l'imprimante, caractère qui représente un groupe +#. Le "+" signale à l'utilisateur que le système est prêt à exécuter un ordre. La commande passe alors au pas DB4-.0 de l'organigramme 5 au cours duquel un caractère d'ordre est lu à partir du clavier. L'utilisateur a le choix entre la frappe d'un "I" représentant l'initialisation, d'un "A" indiquant que des données doivent être annexées à la hase de données, ou d'un "R" indiquant qu'une demande (request) doit être présentée à la "base de don-10 nées, ou enfin d'un "E" pour indiquer une fin de séance (end). Toute autre entrée effectuée par l'utilisateur sur la machine à écrire de la console d'opérateur est considérée comme une erreur. Le caractère est obtenu à partir de la machine à 15 écrire en utilisant le sous-programme "sélection d'un caractère" décrit plus haut à propos du programme "composition" et des sous-programmes associés. Ensuite est attaqué le pas DB5.0 de l'organigramme au cours duquel le caractère qui vient d'être lu pendant 20 DB4-.0 est vérifié pour déterminer son type. A cet effet, on utilise une série d'instructions de comparaison. Tout d'abord une comparaison est effectuée pour le caractère I (initialisation). A cet effet, l'instruction CMPB R0,I est exécutée, ce qui provoque une comparaison du 25 caractère qui vient d'être lu et stocké dans le registre RO avec la représentation mémorisée du caractère I. Si cette comparaison donne "égalité", l'instruction BEQ.+2 provoque l'attaque par le programme "base de données" de niveau 1 du pas DB6.0 de son organigramme et, par conséquent, du bloc 30 (ou ensemble de pavés) "initialisation" du programme "base de données". Si la comparaison donne "inégalité", l'instruction JMP TLEM fait sauter le programme en TLBM où l'instruction CMPB RQ,A,BEQ.+2 assure un test pour vérifier si le caractère 35 est un A et si, par conséquent, la portion "pavé de formation de couches" (DB7.0) du programme doit être exécutée. Si le résultat de ce test est "inégalité", l'instruction JMP TREQ provoque un saut en TREQ. -703- 2334148 En TREQ, le caractère est examiné pour déterminer si c'est un R par l'instruction CMPB RO,R et, dans l'affirmative, la commande passe en DB8.0 où une demande ultérieure présentée par le demandeur est traitée. On remarquera que le caractère R 5 représente une demande et appelle l'exécution du programme "composition" précédemment décrit. Si le caractère n'est pas un R, l'instruction BNE TEND provoque un saut en TEND. En TEND, le caractère est examiné pour déterminer si c'est tin E en exécution de l'instruction CMPB R0,E et, dans 10 l'affirmative, la commande passe au pas DB9.0 de l'organigramme au cours duquel l'instruction JSR R5,PRINTR est exécutée, ce qui appelle l'exécution du sous-programme "imprimante" qui provoque à son tour une sortie du message "ND" après le caractère "E" sur l'imprimante et l'aiguillage ENDFLAG est mis à 1, 15 ce qui provoque l'attaque de DB12.0 après le pas DB11.0 de 1'organigramme. Si, pendant DB4-.0, une impossibilité totale de comparaison est détectée, (c'est-à-dire si le caractère est un caractère autre que I, A, R ou E), le pas DB10.0 de l'organi-20 gramme est attaqué et le sous-programme "imprimante" est appelé, ce qui provoque l'impression du message "message d'erreur" par l'imprimante. Après l'un des pas DB6.0, DB7.0, DB8.0, DB9.0 ou DB10.0 de l'organigramme, le noeud JOIN 2 et le pas DB11.0 25 de l'organigramme sont attaqués et l'aiguillage ENDFLAG est vérifié. S'il a été mis à 1, ce qui se produit si l'utilisateur a introduit un E au cours du pas DB4-.0 de l'organigramme, l'instruction TST ENDFLAG détecte cette condition et provoque un saut au pas DB12.0 de l'organigramme, où le contexte du "mi-30 nicalculateur" est restauré et où l'exécution de l'organigramme est suspendue. Si, pendant DB11.0, l'instruction TST ENDFLAG détermine que l'aiguillage ENDFLAG n'a pas été mis à 1, le noeud JOIN 1 et le pas DB3.0 de l'organigramme sont repris et un autre groupe est transmis au demandeur pour lui permettre 35 d'introduire un autre caractère d'ordre qui sera lu pendant le pas DB4.0 de l'organigramme du niveau 0 du programme "base de données". -704- 2334148 C. Programme "initialisation de couche", niveau 2 On va maintenant examiner le programme dont l'exécution est demandée au cours du pas DB6.0 de l'organigramme du programme "hase de données" de la Fig. 121. L'exécution du 5 programme "initialisation de couche" est appelée et ce programme initialise la base de données pour lui permettre d'accepter des données d'entrée. Le programme "initialisation de couche" est un programme de niveau 2 et son code est décrit sous le titre BLOC 10 "INITIALISATION DE COUCHE" de la table B-22. L'organigramme du programme "initialisation de couche" est représenté sur la Fig. 122. Les pavés de cet organigramme sont identifiés par les symboles DB6.0 à DB6.12. La correspondance entre le code de programme "initialisation de couche" et les pavés de l'organi-15 gramme est indiquée dans l'appendice B-22 en utilisant les symboles de l'organigramme. Comme décrit précédemment, si pendant le pas DB5-0 du programme "base de données" (Fig. 121) un caractère d'ordre I est détecté, le pas DB6.0 est attaqué et le programme "ini-20 tialisation de couche" est appelé. Pendant le pas DB6.1 de l'organigramme du programme "initialisation de couche" représenté sur la Fig. 122, les instructions JSR P5,PRINTR et WORD INITMSG sont exécutées, ce qui provoque la sortie du message "initialiser" et son impression par l'imprimante en vue de son 25 observation par l'utilisateur. Ensuite est attaqué le pas DB6.2 de l'organigramme au cours duquel chacun des emplacements d'entrée de la table CVRTBL est mis à -1 pour identifier des emplacements vides (voir Fig. 120). Cette opération est assurée par l'instruction MOV H" 2,R1 qui provoque le stockage 30 d'un 2 dans le registre R1 et par l'instruction NEG R1 qui rend négatif le contenu de R1 qui contient donc ensuite une valeur -2. On va donner maintenant une courte explication de la raison pour laquelle un -2 est stocké au lieu d'un -1. Logique-35 ment, il est désirable d'adresser l'emplacement situé un mot avant (-1) l'adresse CVRTBL. Toutefois, étant donné que le PDP-11 est une machine adressable par multiplet et étant donné qu'un mot contient deux multiplets, on adresse en fait un -705- 2334148 emplacement situé deux multiplets avant (-2) CVRTBL. Par conséquent, les entrées dans CVRTBL sont initialisées à Cependant, les organigrammes indiquent -1 étant donné que du point de vue logique cette valeur correspond à ce qui se produit. 5 Pendant DB6.3, un caractère ASCII représentant un signe * est stocké dans chacun des emplacements de mémoire de la table CVTBL2. Le signe astérisque (*) est utilisé pour indiquer la présence d'un caractère actuellement indéfini dans CVTEL2 (voir Fig. 120). 10 NXTSH est un pointeur qui pointe vers le début de l'espace disponible réservé dans la zone de la mémoire principale aux en-têtes de raccourci (voir Fig. 116). Pendant le pas DB6.4- de l'organigramme "initialisation de couche" de la Fig. 122, le pointeur de logiciel NXTSH est initialisé, c'est-15 à-dire mis à une valeur initiale représentée par l'adresse de début SEEDHDR. En se référant aux Fig. 78 et 116, on rappellera ici que 1'en-tête de couche 0 a une longueur de quatre mots et contient les articles d'information indiqués. Pendant db6.5 20 de l'organigramme, les quatre mots de l'en-tête de couche 0 sont initialisés comme suit : MOV LOPTR,R1 transfère l'adresse de base de 1'en-tête de couche 0 dans le registre R1 ; MOV j^LOET,(R1)+ transfère l'adresse de la table d'événements de couche 0 dans le premier mot de 1'en-tête de couche 0 dont 25 l'adresse est identifiée par le registre R1 puis incrémente l'adresse; les deux instructions M0V/V1,(R1)+ provoquent la mise à 1 des deux mots suivants de 1'en-tête de couche 0 représentant, respectivement, la largeur d'iso-entropicogramme (HWO) et le numéro d'événement de couche 0 (NEO); CLR (R1)+ 30 met le compte d'instants d'événement de couche O(TIKO) à une valeur initiale 0. Pendant DB6.6, un en-tête de raccourci et une ligne de raccourci sont engendrés pour le délimiteur de couche 0. Les instructions agissent comme suit : MOV KXTSH,LOET transfère 35 le pointeur d'adresse pointant vers 1'en-tête de raccourci disponible suivant dans le premier mot de la table d'événements de couche 0 (LOET) et MOV NXTSH,R1 préserve la même adresse dans le registre R1; ADD?^10,NXTSH ajoute 10g = 8^q à -706- 2334148 l'adresse de NXTSH de manière à "shunter" quatre mots (de deux multiplets de longueur chacun) qui sont nécessaires pour un entête de raccourci; AS est un pointeur d'adresse pointant vers l'espace disponible de stockage de ligne de raccourci et 5 MOV^AS,(R1)+ transfère l'adresse dans le premier mot de l'entête de raccourci de délimiteur. L'adresse contenue dans R1 est alors incrémentée au mot suivant (pour le numéro de ligne de raccourci) de l'en-tête de raccourci; CLR(R1)+ met à 0 le numéro de ligne de la ligne de raccourci de délimiteur et in-10 crémente l'adresse contenue dans R1 au mot suivant (longueur de raccourci) de 1*en-tête de raccourci de délimiteur; M0Vj«^1,(R1 )+ transfère un 1 dans le mot "longueur de raccourci" de 1'en-tête de raccourci délimiteur et incrémente l'adresse contenue dans R1 à l'adresse du quatrième mot (nombre d'appa-15 ritions sur la ligne); M0V^1,(R1) transfère tin 1 dans le nombre d'apparitions du mot "ligne" de 1'en-tête de raccourci de délimiteur et CLR AS met à 0 la première valeur d'apparition d'instant d'événement de la ligne de raccourci 0 du délimiteur. 20 Pendant le pas DB6.7 de l'organigramme, les quatre mots de l'en-tête de couche 1 sont initialisés d'une manière analogue à celle qui a été décrite en ce qui concerne l'entête de couche 0 en DB6.5« Pendant le pas DB6.8, l'en-tête de raccourci et la ligne de raccourci du délimiteur de couche 1 25 sont engendrés d'une manière analogue à celle qui a été précédemment décrite à propos du pas DB6.5 pour l'en-tête de couche 0. Pendant DB6.9, un en-tête de raccourci nul est formé pour des événemen s non existants. A cet effet, un pointeur 50 d'adresse pointant vers l'en-tête de raccourci nul est stocké à l'emplacement du pointeur d'entrée -1 dans la table de pointeurs d'événement de couche 0 et à l'emplacement du pointeur d'entrée -1 de la table de pointeurs d'événement de couche 1 et un en-tête de raccourci nul est formé. 35 MOV NXTSH,R1 stocke l'adresse d*en-tête de raccourci disponible suivante dans R1; ADD^IO,NXTSH met à jour le pointeur pointant vers l'en-tête de raccourci disponible suivant; -707- 2334148 MOV R1, LOET-2 dans le mot convenable MOV R1,L1ET-2 dans le mot convenable 5 OLR (R1)+ ) CLR (R1)+ ) CLR (R1)+ ) CLR (R1) + ) Pendant DB6.10, le pointeur de logiciel d'espace 10 libre FSP est initialisé de façon qu'il pointe vers le début de l'espace disponible utilisé pour stocker des lignes de raccourci au moyen de l'instruction MOV^AS+4-,PSP. En outre, le premier mot de l'espace disponible est mis à 0 en utilisant l'instruction CLR @ PSP. En conséquence, le pointeur PSP 15 sera ultérieurement utilisé comme élément initial d'une liste enchaînée qui se formera lors du stockage de lignes de raccourci dans la zone de stockage "espace disponible". A mesure que de nouvelles lignes de raccourci sont ajoutées et que les anciennes lignes de raccourci sont éliminées, le pointetir 20 d'espace libre PSP est utilisé pour former une chaîne en gardant, trace de tout l'espace inutilisé à l'intérieur de la zone de stockage. Pendant DB6.11, certains "globaux" sont initialisés en vue d'être utilisés ultérieurement lors de l'appel du programme 25 "cadrage". A cet effet, une valeur de libellé 1 est stockée dans le registre de logiciel LNGSW et les registres de logiciel "échappement" et IV sont remis à 0. En outre, l'instruction LDCIF provoque le stockage d'une valeur représentant la valeur de délimitation de concordance de 100 % dans le registre de 30 logiciel "flottante" ACO et 1'instruction STF ACO,BVCO provoque le transfert de cette valeur du registre "flottante" ACO dans le registre de logiciel BVCO. Pendant DB6.12, ESTAK est initialisé par stockage de l'adresse de son début dans le registre R3. R3 est ultérieure-35 ment utilisé comme pointeur de sommet de pile d'ESTAK. Ultérieurement, l'exécution de l'organigramme "initialisation de couche" est suspendue. place l'adresse d*en-tête de raccourci de LOET; place l'adresse d'en-tête de raccourci de L1ET; créent l'en-tête de raccourci nul en mettant toutes les entrées à 0. -708- 2334148 D. Prop;T»aiTmie "formation de couche", niveau 2 Le programme "formation de couche" est un programme de niveau 2 qui intervient au cours du bloc DB7.0 de l'organigramme du programme "base de données" de la Fig. 121. Le pro-5 gramme "formation de couche" crée des couches à mesure qu'elles sont nécessaires, complète les anciennes entrées d'une couche et manipule l'espace de stockage à mesure que d'anciens raccourcis sont remplacés par de nouveaux. Le système de programmation décrit ici est destiné à 10 créer un système à deux couches, comprenant la couche 0 et la couche 1. On comprendra aisément que la formation de couches supplémentaires est toutefois possible dans le cadre de la présente invention. Le code de programme du programme "formation de couche" 15 est représenté en DB7.0 et la suite du listage de l'appendice B-22. La Fig. 123 représente l'organigramme du programme "formation de couche" de niveau 2. Cet organigramme contient des pavés identifiés par les symboles DB7.0 à DB7-11 pour identifier les divers pas de l'organigramme. La correspondance entre le 20 code de programme et l'organigramme est représentée dans l'appendice B-22 en utilisant les symboles de l'organigramme. L'exécution du programme "formation de couche" est demandée lorsque, pendant le pas DB5.0 du programme "base de données" (voir Fig. 121), une lettre d'ordre "A" est détectée. 25 Pendant le pas DB7.1 de l'organigramme du programme "formation de couche", les instructions JSR R5,PEINTE et .WORD AFEMSG provoquent la frappe du message APPEHD sur l'imprimante de la console d'opérateur pour indiquer à l'utilisateur qu'il peut maintenant introduire de nouvelles données ou modifier d'an-30 ciennes entrées dans une couche de la base de données. Pendant le pas DB7.2 de l'organigramme, le drapeau "suspension" LBXIT du programme "formation de couche" est retiré ou remis à 0. Pendant les pas DB7.3 et DB7.4- les actions suivantes se déroulent. Les instructions JSR R5,PRINTR et 35 .WORD- BGHMSG provoquent la transmission par le sous-programme "imprimante" des caractères à l'imprimante, ce qui provoque l'impression des symboles suivis d'un blanc. Les deux instructions MOV L1ET,-(R3) et MOV L0ET,-(R3) provoquent le remplis -709- 2334148 sage des deux emplacements consécutifs d'ESTAK qui commencent par l'adresse initialement contenue dans R3 avec des adresses d*en-tête de raccourci représentant les délimiteurs de début de la couche 0 et de la couche 1. Les instructions 5 MOV /^1,RLF1 et MOV j^1 ,RLNO mettent à 1 les registres de logiciel RLU1 et RLÎJO qui représentent chacun un événement, respectivement sur les couches 1 et 0. Etant donné que le programme est sur le point d'annexer de l'information à la base de données, on supposera que cette 10 information commence par une nouvelle phrase. Une phrase commence toujours par les symboles de délimiteurs H1 et Pendant DB7.5, le caractère suivant est lu à partir de la machine à écrire de la console d'opérateur au moyen du sous-programme "sélection d'un caractère" et est stocké dans le registre RO. 15 L'opérateur a le choix entre introduire ou non un blanc (tf) sur la machine à écrire. Pendant DB7.6, le caractère provenant de la machine à écri're est vérifié pour déterminer si c'est un blanc (tf) et, dans l'affirmative, est attaqué le pas DB7.7 au cours duquel le caractère suivant est lu à partir de la 20 machine à écrire et stocké dans le registre RO. Si le caractère lu pendant BB7.5 n'est pas un blanc, le pas DB7.8 est attaqué de sorte que DB7.7 est sauté. Pendant DB7.8, l'instruction CMPB R0,CR est utilisée pour déterminer si le dernier caractère provenant de la machine 25 à écrire (maintenant stocké dans le registre RO en code ASCII) est un caractère de retour du chariot. Dans l'affirmative, ce caractère signale la fin de l'opération "formation de couche" et, en conséquence, le pas DB7.10 est attaqué et le drapeau "suspension" LBXIT est mis à 1, puis le noeud LBMJ3 ainsi 30 que le pas DB7.11 sont successivement attaqués. Si l'on trouve que le caractère n'est pas un caractère de retour du chariot pendant DB7.8, le pas DB7-9 est attaqué et l'entrée introduite par l'utilisateur est entièrement traitée. Comme décrit plus loin de façon plus détaillée à pro-35 pos du programme "traitement d'une entrée", les caractères sont lus à partir de la machine à écrire de la console d'opérateur jusqu'à ce qu'un autre délimiteur de phrase ££ soit atteint et traité de la manière décrite plus loin. Après l'un -710- 2334148 des pas DB7.9 ou DB7.10 est attaqué le pas DB7-11 au cours duquel le drapeau LBXIT de suspension du programme "formation de couche" est vérifié pour déterminer si c'est un 0 et, dans l'affirmative, le noeud LBRJ1 est repris après quoi la boucle 5 comprenant les pas DB7.3 à DB7.11 est répété pour une autre phrase. De cette manière, une ou plusieurs phrases peut ou peuvent être ajoutée(s) à la "base de données stratifiée. Si le drapeau "suspension" est trouvé égal à 1, alors le déroulement du programme '"formation de couche" est suspendu. 10 E. Programme "traitement d'une entrée", niveau 3 Le programme "traitement d'une entrée" est appelé pendant le pas DB7.9 du programme "formation de couche" de niveau 2 et est, par conséquent, un programme de niveau 3» Le programme "traitement d'une entrée" traite l'entrée introduite 15 par l'utilisateur jusqu'au pas DB7.9 du programme "formation de couche". A ce stade du fonctionnement, deux adresses d'entête de raccourci sont empilées sur ESTAK et représentent, respectivement, le délimiteur de phrase 44 et le délimiteur de mot }S. RLHO et RLÎT"1 sont tous deux à 1. Le programme "traitement 20 d'une entrée" accepte alors les événements qui constituent une phrase à partir de la machine à écrire de la console d'opérateur et place ces événements dans la base de données. Le code de programme du programme "traitement d'une entrée" est représenté en DB7.9.0 et la suite dans l'appendice 25 B-22. La fig. 124 représente un organigramme du programme "traitement d'une entrée". Les pavés du programme "traitement d'une entrée" sont identifiés par les symboles DB7-9.0 à DB7.9.24 et les symboles correspondants sont utilisés pour identifier le code correspondant dans l'appendice B-22. 30 Pendant l'exécution du programme "traitement d'une entrée", les caractères ASCII sont lus à partir de la machine à écrire au moyen du sous-programme "sélection d'un caractère" et tant que les caractères ne sont pas des délimiteurs, le programme "traitement d'une entrée" effectue un contrôle pour 35 vérifier si ces caractères particuliers ont été précédemment traités. Si un caractère a été précédemment traité, l'emplacement correspondant de CVRTBL contient un numéro d'événement (c'est-à-dire est non négatif). Si le caractère a été précé -711- 2334148 demment traité, le numéro d'événement correspondant est obtenu à partir de CVRTBL et est empilé sur ESTAK. S'il s'agit d'un nouveau caractère qui n'a jamais été introduit dans la base de données jusqu'à présent, des ajuste-5 ments appropriés sont effectués dans les deux tables de conversion CVRTBL et CVTBL2 pour créer un numéro d'événement pour le nouveau caractère de la couche 0 et ce numéro d'événement est empilé sur ESTAK. Cette opération se poursuit jusqu'à ce qu'un délimiteur de mot ou de couche O (if) soit rencontré. Lorsque 10 le délimiteur # est rencontré, RLHO identifie les événements de couche 0 de l'entrée qui vient d'être introduite par l'utilisateur et ces événements de couche 0 sont alors traités et sont ainsi ajoutés à la couche 0 s'ils ne se trouvent pas déjà sur cette couche. Le processus ci-dessus est assuré par le sous-15 programme "traitement d'une entrée de couche 0" et sera décrit de façon plus détaillée à propos de la Fig.125. Lorsqu'un délimiteur de phrase 44 est rencontré, une détermination est effectuée pour s'assurer que. la dernière entrée de couche 0 a été traitée, puis les événements sont ajou-20 tés sur la couche 1 de la base de données. Le nombre d'événements de l'entrée de couche 1 est identifié par la valeur contenue dans RLFl. Il n'est pas nécessaire de déterminer si l'entrée a déjà été effectuée sur la couche 1 du fait qu'on n'a considéré ici que le cas d'un système à deux couches dans le-25 quel, par définition, aucune redondance n'est supprimée sur la couche 1. En gardant présente à l'esprit la description générale ci-dessus, on va maintenant considérer de façon plus détaillée la séquence de fonctionnement effective relative au programme 30 "traitement d'une entrée" représentée dans 1* organigramme de la Fig. 124 et dans le code correspondant. Pendant DB7-9.1, le drapeau PEXIT de suspension du programme "traitement d'une entrée" est effacé ou remis à 0 et l'aiguillage PIPSW est mis à 1. L'aiguillage provoque ensuite l'appel du programme "cadrage" 35 pour déterminer si l'entrée en cours de traitement a été stockée dans la base de données stratifiée, sauf si cet aiguillage est remis à 0. -712- 2334148 On remarquera que la première attaque des pas DB7.9.2 et DB7.9.3 s'effectue, soit après DB7.6, soit après DB7.7 de l'organigramme du programme "formation de couche" (Fig. 123) et que, par conséquent, l'entrée correspondante n'est jamais 5 un délimiteur de mot # ni un délimiteur de phrase 44 • Toutefois, pendant DB7.9»2, l'instruction CMPB RO,BLANK effectue un contrôle pour vérifier si le caractère ASCII actuel en cours de traitement est un délimiteur # indiquant une fin de mot. Si le caractère n'est pas un délimiteur de fin de mot, l'ins-10 truction BNE CLB provoque l'attaque du pas DB7.9.3 de l'organigramme, pas au cours duquel le caractère est contrôlé d'une manière analogue pour déterminer si c'est un délimiteur de phrase 4=4. Dans la négative, le pas DB7.9.4- de l'organigramme est attaqué et l'aiguillage de couche 1 L1SW est remis à 0 pour 15 indiquer une entrée de couche 0 et pour provoquer la prise de décision convenable en DB7.9.15. Le registre de logiciel PC est réglé pendant DB7.9.22 de façon qu'il contienne noraialement le caractère d'événement précédent introduit dans la "base de données. Toutefois, initia-20 lement, le registr^de logiciel PC contient un 0. Pendant le pas DB7.9.5 de l'organigramme, un contrôle est effectué pour déterminer si le caractère précédent du registre PC est tin délimiteur de mot #, ce qui signifierait que le programme "traitement d'une entrée" est juste en train de commencer à traiter 25 un nouveau mot. Si un délimiteur de mot 16 est détecté pendant DB7.9.5, le pas DB7.9.6 de l'organigramme est attaqué. On remarquera que le pas DB7.9.6 est normalement toujours attaqué par le premier caractère d'entrée "non de délimiteur". DB7.9.8 est normalement attaqué directement après DB7.9.5 pour les ca-30 ractères d'entrée suivants. Pendant DB7.9.6, un signal d'événement de couche 0 représentant l'adresse d'en-tête de raccourci du délimiteur de mot 16 est stocké dans ESTAK à l'adresse spécifiée par l'adresse contenue dans le registre de sommet de pile R3, moins 1. A cet 35 effet, l'instruction MOV L0ET,-(R3) provoque tout d'abord une décrémentation de 1 de l'adresse contenue dans le registre de sommet de pile R3 puis le remplissage de l'emplacement correspondant d'ESTAK avec l'adresse d'en-tête de raccourci repré -713- 2334148 sentant le délimiteur # de début de mot. En outre, l'instruction INC RLNO incrémente la valeur contenue dans RLNO gui représente le nombre d'événements de l'entrée sur la couche O, maintenant dans ESTAK. 5 Pendant DB7.9.7, 1'aiguillage PIPSW est mis à 1, ce qui provoque ultérieurement l'appel du programme "cadrage". Le noeud PEJ2 et le pas DB7.9.8 de l'organigramme sont alors successivement attaqués. Pendant DB7.9.8, on détermine si le caractère ASCII actuel en cours de traitement est un nouveau ca-10 ractère. Ce n'est pas un nouveau caractère si l'emplacement correspondant de CVRTBL ne contient pas un nombre négatif. Si l'on examine le code de l'appendice B-22 en DB7.9.8, on voit que le registre RO contient maintenant le caractère ASCII. Sur ce même code, en DB7.9-8, on voit égale-15 ment que 1'instruction MOV CVRTBL(RO),R1 provoque l'addition de l'adresse de base CVRTBL de la table CVRTBL à la valeur codée en ASCII contenue dans le registre RO pour déterminer l'adresse correspondante dans la table CVRTBL. Le contenu de l'emplacement correspondant de CVRTBL est sorti par lecture 20 et stocké dans le registre R1. Si la valeur contenue dans R1 (provenant de CVRTBL) est un nombre négatif, le caractère contenu dans RO estun nouveau caractère et l'instruction BMI .+3 provoque un branchement de l'exécution du programme trois instructions plus loin, c'est-à-dire au pas DB7.9.10 de l'organi-25 gramme. Par contre, si la valeur contenue dans le registre R1 n'est pas négative, ce registre contient maintenant un numéro d'événement de couche 0 précédemment formé qui représente le caractère codé en ASCII maintenant contenu dans le registre RO. En conséquence, le caractère de RO n'est pas un nouveau carac-30 tère et le pas DB7.9.9 de 1'organigramme est attaqué. Pendant le pas DB7.9.9 de l'organigramme, l'instruction MOV R1 ,R2 provoque un transfert du numéro d'événement de couche 0, du registre R1 au registre R2. Ensuite, le noeud PEJ3 et le pas DB7.9.13 de 1*organigramme sont successivement 35 attaqués. On va maintenant revenir en DB7.9.8 et supposer qu'un nouveau caractère codé en ASCII est détecté (c'est-à-dire qu'un nombre négatif a été obtenu à partir de CVRTBL et détecté dans -714- 2334148 le registre R1), ce qui provoque l'attaque du pas DB7.9.10 de 1' organigramme. Pendant DB7-9.10, étant donné qu'un nouveau caractère codé en ASCII est détecté, le système calcule le numéro d'événe-5 ment de couche 0 suivant dans l'ordre et insère ce numéro à l'emplacement de la table CVRTBL qui correspond au nouveau caractère ASCII tandis que celui-ci est stocké de l'emplacement de CVTBL2 qui correspond au nouveau numéro d'événement. Le compteur de logiciel NEO fournit un compte des nouveaux événe-10 ments de couche 0 (caractèresASCII) rencontrés. A cet effet, l'instruction INC NEO incrémente la valeur du nombre d'événements contenue dans le registre NEO. L'instruction suivante MOV NE0,R2 provoque le stockage du nouveau numéro d'événement de couche 0 du registre NEO dans le registre R2 où il est pré-15 servé. L'instruction suivante MOVB R2,CVRTBL(R0) provoque le stockage du nouveau numéro d'événement de couche 0 du registre R2 à l'emplacement de CVRTBL spécifié par l'adresse de base CVRTBL plus la valeur du nouveau caractère ASCII contenu dans le registre RO. L'instruction suivante MOVB R0,CVTBL2'R2) pro-20 voque le stockage du nouveau caractère codé en ASCII contenu dans le registre RO à l'emplacement de la table CVTBL2 spécifié par l'adresse de base CVTBL2 plus la valeur du nouveau numéro d'événement de couche 0 préservé dans le registre R2. Pendant DB7.9«115 un en-tête de raccourci est créé 25 pour le nouvel événement introduit dans les tables CVRTBL et CVTBL2 et l'adresse de ce nouvel en-tête de raccourci est stockée dans LOET. A cet effet, comme on peut le voir sur le code, l'instruction MOV NXTSH,R1 provoque le transfert de l'adresse de base du nouvel en-tête de raccourci du registre de logiciel 30 NXTSH au registre R1. L'instruction ADD?^10,NXTSH provoque une incrémentation de l'adresse contenue dans NXTSH au début de la zone de stockage d'en-tête de raccourci disponible suivante. L'instruction MOV R1,L0ET(R2) provoque le transfert de l'adresse de base du nouvel en-tête de raccourci, du registre R1 à 35 l'emplacements la table de pointeurs d'événement de couche 0 (LOET) spécifié par l'adresse de base LOET plus la valeur du numéro d'événement de couche 0 préservé dans le registre R2. De cette manière, la table de pointeurs d'événement de couche O -715- 2334148 est mise à jour, de sorte qu'elle contient, à l'emplacement relatif par rapport à sa base qui correspond au nouveau numéro d'événement, un pointeur d'adresse pointant vers la base de l'en-tête de raccourci correspondant. En outre, les quatre ins-5 tructions CLR (R1)+ suivantes effacent les quatre mots dans la zone de stockage dfen-tête de raccourci en créant ainsi un entête de raccourci nul. Pendant le pas DB7-9.12 de l'organigramme, l'aiguillage PIPSW est remis à 0. Il en est ainsi en raison du fait qu'on 10 sait maintenant que l'entrée de couche 0 en cotirs de traitement n'a pas été précédemment stockée dans la base de données de sorte qu'un "cadrage" destiné à déterminer si elle est présente est inutile. Pendant les pas DB7.9*13 et DB7-9.14- de l'organigramme, 15 l'adresse d'en-tête de raccourci de couche 0 correspondant au numéro d'événement préservé dans R2 est empilée sur ESTAK et le nombre d'événements de l'entrée spécifié par le registre de logiciel RLNO est incrémenté de 1. A cet effet, l'instruction MOT L0ET(R2),-(R3) provoque le stockage de l'adresse d'en-tête 20 de raccourci à l'emplacement d'ESTAK spécifié par l'adresse contenue dans le registre R3, moins 1, et l'instruction INC RNLO incrémente de 1 le nombre d'événements contenu dans RLNO. Ensuite, le noeud PEJ6 et le pas DB7.9»22 de l'organigramme sont attaqués. 25 Pendant DB7.9.22, le nouveau caractère actuel contenu dans RO est préservé dans le registre de logiciel PC en tant que caractère précédent sous la commande de l'instruction MOVB R0,PC. Pendant DB7.9.'23, le drapeau PEXIT de suspension du 30 programme "traitement d'une entrée" est vérifié pour déterminer s'il a été mis à 1 pour indiquer que toute l'entrée de couche 0 (actuellement en cours d'introduction) a été traitée. Si le drapeau de suspension PEXIT est un 0, et donc n'a pas été mis à 1, le pas DB7.9«24 de l'organigramme est attaqué et l'instruc-35 tion JSR R5,GETC appelle le sous-programme "sélection d'un caractère" dont l'exécution assure l'obtention du caractère d'entrée suivant à partir de la machine à écrire, après quoi les pas DB7.9.2 et la suite de l'organigramme sont repris. -716- 2334148 On va maintenant revenir au point DB7.9.3 de l'organigramme et supposer qu'un délimiteur de phrase 44 est détecté, ce qui indique la fin d'une phrase, le pas DB7-9.15 de l'organigramme est attaqué et, au cotirs de ce pas, l'aiguillage L1SW 5 est vérifié pour déterminer si c'est un 1. L1SW est un 1 si DB?.9•21 a été précédemment attaqué (voir Fig. 125, PLE11) et si, par conséquent, tous les événements de l'entrée de couche O (actuellement en cours d'introduction) ont été traités. Si le drapeau L1SW est un O, ce qui indique que toutes les entrées 10 relatives à la couche 0 n'ont pas été traitées, les entrées introduites jusqu'à présent sur la couche 0 sont traitées par une attaque du pas DB7.9.16 de l'organigramme. Pendant DB7-9.16, l'instruction JSR .R5 PLOE provoque l'appel du programme "traitement d'une entrée de couche O'1 15 et ce programme traite à son tour l'entrée de couche 0. Le déroulement du programme "traitement d'une entrée de couche 0" sera décrit de façon plus détaillée ci-après à propos de la Fig. 125. Après DB7.9.16 ou directement après DB7.9«15 si l'ai-20 guillage L1SW est un 1, le pas DB7.9.17 de l'organigramme est attaqué. Pendant DB7.9.17, l'en-tête de raccourci du délimiteur 44 de fin de phrase de la couche 1 est empilé sur ESTAK et la longueur de l'entrée de couche 1 spécifiée par la valetir contenue dans le registre RLH1 est incrémentée de 1. A cet effet, 25 comme on peut le voir en se référant au code, l'instruction MOY L1ET,-(R3) donne à l'emplacement d'ESTAK spécifié par l'adresse contenue dans le registre R3, moins 1, une valeur correspondant à l'adresse d'en-tête de raccourci de l'événement de délimiteur 44 de couche 1 et l'instruction INC RLN1 incré-30 mente de 1 le nombre d'événements de l'entrée sur la couche 1 spécifié par le registre RLN1. Pendant DB7-9.18, le programme "addition de N événements" est appelé et les événements associés aux entrées actuelles de couche O dont les en—têtes de raccourci de couche 1 35 sont maintenant dans ESTAK sont ajoutés à la couche 1 de la base de données. Le nombre de ces événements est spécifié par la valeur contenue dans le registre RLN1. -717- 2334148 L'instruction JSE E5,ADDNE provoque l'appel du sous-programme "addition de N événements" qui, à son tour prend les événements du sommet d'ESTAK et les ajoute à la base de données stockée sur la couche appropriée. 5 Pendant DB7-9.19, l'aiguillage L1SW est remis à O et les événements qui se trouvent sur le sommet d'ESTAK et dont le nombre total est spécifié par la valeur contenue dans ELN1, sont retirés d'ESTAK. A cet effet, l'instruction ADD ELN1,E3 provoque une incrémentation du pointeur de sommet de pile E3 10 dans une mesure égale à la valeur contenue dans RLlïi, ce qui en fait provoque la suppression des entrées qui se trouvaient dans ESTAK. En outre, l'instruction OLE RLN1 vide ELK1, c'est-à-dire le remet à 0. Pendant DB7.9.20, le drapeau PEXIT de suspension du 15 programme "traitement d'une entrée" est remis à 0 pour indiquer que l'entrée actuelle a été traitée et que, par conséquent, le déroulement du programme "traitement d'une entrée" . peut être suspendu. Le noeud PEJ6 et le pas DB7.9•22 de l'organigramme ' sont alors attaqués. 20 Pendant DB7.9.22, comme décrit ci-dessus, le caractère ASCII actuel contenu dans le registre EO est stocké dans le registre de logiciel PC en vue d'être utilisé en tant que caractère précédent pour des opérations ultérieures lors de la reprise du pas DB7.9.2 de l'organigramme. 25 Si le drapeau de suspension PEXIT est mis à 1 pendant DB7.9.20, alors pendant DB7.9.23 l'exécution de 11 organigramme du programme "traitement d'une entrée" est suspendue. On va maintenant revenir à DB7.9.2 et supposer que le caractère de délimiteur de mot # est détecté.Cela indique que 30 le dernier événement d'une entrée de mot a été atteint. Alors est attaqué le pas DB7.9-21 de l'organigramme au cours duquel un sous-programme "traitement d'une entrée de couche 0" est appelé pour introduire l'entrée dans la base de données stockée. A cet effet, l'instruction JSE E5,PL0E provoque l'appel du 35 sous-programme "traitement d'une entrée de couche 0".Pendant le sous-programme "traitement d'une entrée de couche 0", si l'entrée dont les numéros d'événement de couche 0 sont maintenant contenus dans ESTAK est déjà stockée dans la couche 0 de la « -718- 2334148 base de données, le numéro de cette entrée de couche 0 (événement de couche 1) est obtenu et l'en-tête de raccourci dudit événement est stocké sur ESTAK aux lieu et place des valeurs de couche 0 d'ESTAK sans que l'entrée elle-même soit stockée 5 dans la couche O. Sinon, l'entrée d'ESTAK est ajoutée à la couche 0 et l'en-tête de raccourci de couche 1 de l'entrée de couche O est stocké dans ESTAK. F. Sous-programme "traitement d'une entrée de couche O" En bref, le sous-programme "traitement d'une entrée 10 de couche 0" extrait les en-têtes de raccourci de couche 0 RLNO supérieurs d'ESTAK et, en utilisant le "cadrage", détermine si cette entrée est déjà représentée dans la couche 0 de la base de données stockée. Dans l'affirmative, le numéro d'entrée de couche 0 (numéro d'événement de couche 1) est renvoyé et son 15 adresse d'en-tête de raccourci est stockée sur ESTAK sans que l'entrée elle-même soit stockée dans la couche 0. Dans la négative, des signaux représentant les événements de couche 0 RLNO supérieurs d'ESTAK sont ajoutés à la couche 0 de la base de données stockée au moyen du sous-programme "addition de N événe-20 ments" et le numéro d'entrée de couche 0 (numéro d'événement de couche 1) est renvoyé. Les événements de couche 0 RLNO supérieurs sont également "éjectés1' d'ESTAK et l'adresse d'en-tête de raccourci du numéro d'événement de couche 0 dérivé est empilée sur ESTAK tandis que RLN1 est incrémenté pour indiquer qu'un 25 événement de couche 1 a été ajouté à ESTAK et tandis que L1SW est mis à 1 dans le cas où le numéro d'événement de couche 1 suivant est un caractère (.44) de fin de phrase. Le sous-programme "addition de N événements" prend simplement les événements RLNO ou RLN1 supérieurs dans ESTAK 30 selon l'état de L1SW et les ajoute à la couche appropriée en utilisant le module "modification". Le stockage est mis à jour comme décrit précédemment et comme on le verra en détail à propos du sous-programme "addition de N événements". Le code de programme du sous-programme "traitement 35 d'une entrée de couche 0" est représenté dans l'appendice B-22. La Fig. 125 est un organigramme du sous-programme "traitement d'une entrée de couche 0". Les différents pavés de l'organigramme sont désignés par les symboles PLE1 à PLE12. La corres -719- 2334148 pondance entre le code de l'appendice B-22 et les divers pavés de l'organigramme est identifiée dans ce code en utilisant les symboles de la Fig. 125. Lors de la mise en exécution du sous-programme "trai-5 tement d'une entrée de couche 0", les n entrées supérieures d'ESTAK sont les n adresses d'en-tête de raccourci des événements de la couche 0 (,£90 ,.*Eon) constituant l'entrée actuelle (mot) à traiter. Le sous-programme "traitement d'une entrée de couche 0" effectue tout d'abord un test et pour l'une des ré-10 ponses à ce test il découvre que l'entrée est déjà stockée dans la couche 0 de la base de données stockée et il empile l'adresse d'en-tête de raccourci de couche 1 du numéro d'événement correspondant à cette entrée sur ESTAK; dans le' cas de l'autre réponse au test en question, le programme "traitement 15 d'une entrée de couche 0" ajoute les n événements de couche 0 à la couche 0 de la base de données stockée lors de l'entrée suivante. Puis ledit sous-programme empile l'adresse d'en-tête de raccourci de couche 1 du numéro d'événement sur ESTAK. Ledit sous-programme est appelé, soit pendant 20 DB7.9.16, soit pendant DB7.9.21 de l'organigramme du sous-programme "traitement d'une entrée" de la Fig. 124. Pendant PLE1, le contexte du registre R1 est préservé. Pendant PL2, une valeur représentant l'adresse d'en-tête de raccourci du délimiteur de fin est stockée sur le sommet d'ESTAK. Cela se produit 25 sous la commande de l'instruction MOV L0ET,-(R3) qui provoque un remplissage du contenu de l'adresse inférieure d'une unité à celle qui est spécifiée par R3 avec la première entrée de la table LOET. En outre, l'instruction INC RLNO incrémente de 1 le nombre d'événements de couche 0 contenus dans ESTAK spécifié 30 par RLNO. Pendant PLE3, un contrôle est effectué pour déterminer si l'aiguillage de logiciel de "cadrage" PIPSW a été mis à 1 en exigeant ainsi un appel du programme "cadrage". Si l'aiguillage de "cadrage" n'a pas été mis à 1, et, par conséquent, 35 est 0 le pas PLE4 de l'organigramme est attaqué. On se rappellera que l'aiguillage "cadrage" est à 0 (n'est pas mis à 1) si un nouveau caractère d'entrée est contenu dans l'entrée de mot actuelle (c'est-à-dire un caractère qui \ -720- 2334148 n'a pas été précédemment introduit). Pendant PLE4, des signaux représentant les événements RLNO supérieurs d'ESTAK sont ajoutés à la couche 0 de la "base de données au moyen du sous-programme "addition de N événements" de la Fig. 126. Ensuite, le 5 noeud PLEJ2 et le pas PLE9 de l'organigramme sont attaqués. On va maintenant revenir en PL3 et supposer que l'aiguillage "cadrage" est mis à 1, ce qui indique que le programme "cadrage" doit être appelé pour déterminer si ce mot (ou en-' trée) existe déjà dans la couche 0. Si l'aiguillage "cadrage" 10 est mis à 1, le pas PLE5 est attaqué et un "cadrage" est effectué pour déteiminer si l'entrée de mot en question se trouve déjà dans la couche 0. Pendant PLE6, un contrôle est effectué pour déterminer si une correspondance exacte a été trouvée au cours de l'opération de "cadrage" précédente. A cet effet, 15 l'instruction TST PNBCNT vérifie la présence éventuelle d'un zéro dans PNBCNT, zéro qui indiquerait une correspondance exacte et l'instruction BNE .+3, si une correspondance exacte est trouvée, saute les deux instructions suivantes en provoquant l'attaque du pas PLE8. Si une correspondance exacte n'est 20 pas trouvée, le pas PLE7 de l'organigramme est attaqué et le sous-programme "addition de N événements" est appelé, ce qui provoque le stockage de signaux représentant les événements de couche 0 RLNO supérieurs d'ESTAK dans la couche 0 de la base de données. Les événements ajoutés dans la couche 0 de la base 25 de données forment l'entrée suivante. On va maintenant revenir en PLE6 et supposer qu'une correspondance exacte a été trouvée pendant l'opération de "cadrage". Une correspondance exacte est trouvée pendant l'opération de "cadrage" si tous les événements de la couche 0 cons-30 tituant l'entrée dans ESTAK ont été trouvés exactement dans la base de données stockée. Une concordance exacte doit être trouvée tant en ce qui concerne la position des événements que leur séquence. Dans ces conditions, le pas PLE8 de l'organigramme est attaqué, et le numéro d'entrée de couche 0 est obtenu et 35 utilisé comme numéro d'événement de couche 1. A cet effet, l'instruction MOV PNBOUT,R1 provoque le transfert du numéro d'entrée, qui a été laissé au sommet de PNBOUT par le programme "cadrage", de PNBOUT dans le registre R1. Après PLE8, les -721- 2334148 noeuds PLEJ1 et PLEJ2 et le pas PLE9 de 1 * organigramme sont successivement attaqués. Pendant PLE9, les événements qui constituent l'entrée de couche O supérieure sur ESTAK et qui, soit ont été ajoutés sur la couche O pendant PLE7, soit ont été 5 trouvés déjà existants dans la base de données, sont éliminés d'ESTAK. A ce stade, le registre RLNO spécifie le nombre de ces événements et, en conséquence, pendant PLE9, l'instruction ADD RLNO,R3 ajoute la valeur contenue dans RLNO au pointeur de sommet de pile R3 qui "shunte" ou, en fait, éjecte ces événe-10 ments d'KSTAK. En outre, l'instruction CLR RLNO remet à 0 la valeur du nombre d'événements contenue dans le registre RLNO. Alors est attaqué le pas PLE10 de l'organigramme au cours duquel le numéro d'événement de couche 1 contenu dans le registre R1 est utilisé pour stocker l'adresse d'en-tête de 15 raccourci associée sur ESTAK. A cet effet, l'instruction MOT LIET(R1),-(R3) provoque le stockage de l'en-tête de raccourci de couche 1 associé au numéro d'événement, une adresse au-dessous de celle qui existe dans le registre R3. De plus, l'instruction INC RLN1 provoque une incrémentation de 1 de la 20 valeur du registre RLN1 qui identifie le nombre d'événements présents sur la couche 1. ** Pendant PLE11, l'instruction INC L1SW met à 1 1'aiguillage de couche 1 L1SW pour indiquer une condition possible de fin d'entrée de couche 1 ou de phrase. Si le caractère reçu 25 suivant est un 44, alors la commande passe du pas DB7-9.15 au noeud PEJ4. Le but de L1SW est de fournir un moyen permettant de distinguer les conditions de fin de phrase suivantes : 44lé lé ... lé 4=4 (pas de blanc (#) avant le 44 final) 30 et 44)6 ... Dans le premier cas, pour que les mots de la phrase puissent être traités (c'est-à-dire pour qu'on puisse effectuer.un traitement de couche 1) il est nécessaire de terminer tout d'a-35 bord le traitement du mot final. Cela fait l'objet d'une détection en DB7.9.15 si L1SW = 0. En conséquence, le pas DB7.9.16 est attaqué et le mot final est traité puis la phrase est à son tour traitée (DB7.9.17 - DB7-9.20). -722- 2334148 Pendant PLE12, le contexte du registre R1 est restauré sous la forme qu'il présentait lors du déclenchement du sous-programme "traitement d'une entrée de couche 0". G. Sous-programme "addition de N événements", niveau 1 5 l'appendice B-22 représente le code du sous-programme "addition de N événements". La Fig. 126 est un organigramme montrant la séquence d'exécution du sous-programme "addition de N événements", programme de niveau 1. Les symboles ANEO à ANE18 sont utilisés pour identifier les pavés de l'organigramme. 10 Ces mêmes symboles sont utilisés dans le code pour montrer la relation entre celui-ci et l'organigramme. Le sous-programme "addition de N événements" est celui qui ajoute, soit dans la couche 1, soit dans la couche 0 de la base de données, les signaux qui représentent les événements 15 formant l'entrée supérieure sur ESTAK. La valeur de N, qui représente le nombre d'événements à ajouter est spécifiée par RLNO pour une entrée de couche 0 et par RLN1 pour une entrée de couche 1. En se référant au pas ANEO de l'organigramme, on voit que le symbole X est utilisé pour identifier indifféremment 20 un 1 ou un 0 pour la couche 1 ou pour la couche 0. On voit donc que le sous-programme "addition de N événements" stocke de l'information soit sur la couche 0, ou sur la couche 1 de la base de données. Le sous-programme "addition de N événements" est appelé 25 pour ajouter des événements sur la couche 0 au cours des pas PLE4 et PLE7 du sous-programme "traitement d'une entrée de couche 0" (Fig. 125) et il est appelé pour ajouter des événements sur la couche 1 au cours du pas DB7.9.18 du programme "traitement d'une entrée" (Fig. 124). 30 Lors du déclenchement du sous-programme "addition de U événements", la structure de stockage convenable est la suivante : si L1SW = 0, ESTAK contient à son sommet des adresses d'en-tête de raccourci de couche 0 et l'on a RLNO = N » nombre de ces événements de couche 0; si L1SW = 1, ESTAK contient à 35 son sommet des adresses d'en-tête de raccourci de couche 1 et l'on a RLN1 = N = nombre de ces événements de couche 1. Pendant le pas ANE1 de l'organigramme, les contextes des registres RO, R2 et R4 sont préservés en vue d'un retour -723- 2334148 au programme d'origine. Pendant ANE2, l'aiguillage L1SW est examiné pour déterminer si c'est un 1 identifiant que des événements doivent être ajoutés sur la couche 1, ou un 0 indiquant que des événements doivent être ajoutés sur la couche 0. Si l'aiguillage L1SÏÏ est un 0 désignant la couche 0, le pas ANE3 de l'organigramme est attaqué et le programme obtient l'adresse de l'en-tête de couche 0 et la valeur de largeur d'iso-entropicogramme HWO ainsi que la valeur de nombre d'événements, ELNO. La valeur du nombre d'entrées est décrémentée de 1. A cet effet, l'instruction MOV LOPTR,LPTR transfère le pointeur d'événement de couche 0 (LOPTR) de la couche 0 au registre LPTR. L'instruction MOV HW0,HW transfère la valeur de largeur d'iso-entropicogramme HWO, de HWO dans le registre de logiciel HW. L'instruction DEC ELN provoque le transfert de la valeur de nombre d'événements de couche 0 (sur ESTAK) du registre ELNO à ELN et sa décrémentation de 1. La valeur contenue dans ELNO est décrémentée de 1 dans ELN afin d'éliminer du compte le délimiteur # de début stocké dans ESTAK.. Pour revenir à ANE2, si l'aiguillage L1SW est un 1, indiquant qu'une addition doit être effectuée star la couche 1, le pas ANE4 de l'organigramme est attaqué; au cours de ce pas, le pointeur d'en-tête de couche 1 (L1PTR), la valeur de largeur d'iso-entropicogramme (EWl) et le nombre d'entrées de couche *1 (dans ESTAK) sont transférés à LPTE, HW et ELN et là valeur contenue dans RLN est décrémentée de 1 de la même manière que celle qui a été décrite ci-dessus en ce qui concerne les paramètres de couche O correspondants traités pendant ANE3. Après ANE4-, les noeuds ANEJ1, ANEJ2 et le pas ANE5 de l'organigramme sont attaqués. Pendant ANE5, l'instant d'événement suivant est calculé. A cet effet, les instructions et leurs fonctions sont les suivantes : MOV© LPTE,LXET transfère l'adresse de la table de pointeurs d'événement de couche appropriée dans LXET; MOV LPTE,E2 transfère l'adresse de la base de l'en-tête de couche approprié dans B2; INC 6(R2) incrémente de 1 l'un des instants d'événe ment TIKO, TIK1. -724- 2334148 Pendant ANE6, l'instruction CMP 2(R2),6(R2) provoque une comparaison entre la valeur de largeur d'iso-entropicogramme (HSO ou HW1) et le nouvel instant d'événement (TIKO ou TIK1 ) stocké dans les mots 1 et 4 de l'en-tête de couche relatif à 5 la couche en cours de traitement (voir Fig. 120). Si la nouvelle valeur de largeur d'iso-entropicogramme (HWO ou HW1) est la plus petite, le pas ANE7 de l'organigramme est attaqué et la valeur de largeur d'iso-entropicogramme est doublée dans l'entête de couche correspondant . Si, pendant ANE6, la valeur de 10 largeur d'iso-entropicogramme (HWO ou HW1) est trouvée plus grande que celle du nouvel instant d'événement, alors ANE8 est directement attaqué en shuntant AKE7. . Pendant ANE8, un vecteur de modification est calculé. Ce vectetir de modification est la valeur d'instant d'événement 15 TIKO ou TIK1 relative à la couche correspondante actuellement en cours de traitement et il doit être stocké dans la zone 1 du module "mémoire". A cet effet, les instructions indiquées dans l'appendice B-22 pour ARE8 et leurs fonctions sont les suivantes : 20 MOV H" 1 ,CNGDPM stocke un 1 dans CNGDPM, ce qui assure la sélection de la zone 1 du module "mémoire"; MOY ?^1 jCNGLÎTG stocke une valeur 1 dans CNGLNG pour la longueur de la ligne de raccourci de modification; 25 MOV 6(R2),CNGVEC transfère TIKO ou TIK1 à partir de l'entête de couche correspondant dans CNGVEG; MOV j^/CHGVEC,R0 stocke l'adresse de CNGVEC dans RO en vue de 1 'appel du programme MEMDPM; MOV j^CNGDPM,R1 appellent le programme MEMDPM qui 30 JSR R5,MEMDHI transfère la valeur du vecteur de modifica tion, de CNGVEC dans la zone 1 du module "mémoire". En conséquence, après ANE8, le vectetir de modification de l'instant d'événement actuel (c,est-à-dire de la valetir d'apparition 35 actuelle) est stocké dans la zone 1. du module "mémoire". Pendant ANE9, la ligne de raccourci de l'événement maintenant traité est stockée dans la zone 2 du module "mémoire". Pendant ANE10, le programme transfère les six valeurs suivantes -725- 2334148 à partir des registres indiqués, dans les registres indiqués du dispositif IPRF : 1. HW —> TL 2. 0 -> BL 5 3. 0 IR 4-, Le numéro de ligne de la ligne de raccourci est transféré à partir du second mot de l'en-tête de raccourci (2[R4]) dans le registre "n° de ligne" du dispositif IPRF; 10 5. La longueur du vecteur de modification est trans férée à partir de CNGDPM+2 dans le registre LN1 du dispositif IPRF : 6. La longueur du raccourci est transférée à partir de SEEDPM+2 dans le registre LÎT2 du dispositif 15 IPRF. Pendant ANE11, le module "modification" est appelé, ce qui provoque une modification appropriée par le vecteur de modification contenu dans la zone 1 du module "mémoire" du raccourci dont la ligne de raccourci est contenue dans la zone 2 20 du module "mémoire" en ajoutant ainsi le compte d'instants d'événement (TIKO ou TIK1) à la ligne de raccourci. Pendant ANE12, la nouvelle ligne de raccourci est transférée à la zone de la mémoire principale dénommée WAREA. Pendant ANE13, le programme "mise en mémoire d'un nou-25 veau raccourci" (Fig. 127) est appelé, ce qui provoque la mise en mémoire du nouveau raccourci. Pendant ANE14-, l'en-tête de raccourci de la ligne de raccourci modifiée qui vient d'être mise en mémoire, est ajusté en fonction des nouvelles valeurs. Plus précisément, le numéro 30 de ligne du raccourci, la longueur du raccourci, et le nombre d'apparitions sur la ligne 0 de la ligne de raccourci sont mis à jour. A cet effet, pendant ANE12, le nouveau numéro de ligne a été stocké dans CNGLIN et la longueur de la nouvelle ligne de raccourci a été stockée dans CNGLNG. En outre, à ce stade, ^5 le registre R1 contient l'adresse de base de l'en-tête de raccourci de la nouvelle ligne de raccourci. En conséquence, l'instruction MOV CNGLIN,2(R4-) provoque le stockage du numéro de ligne de la nouvelle ligne de raccourci au second emplacement -726- 2334148 de l'en-tête de raccourci correspondant et l'instruction MOV CNGLKG,4(R4) provoque le stockage de la nouvelle valetir de longueur de ligne de raccourci dans le troisième mot de l'entête de raccourci correspondant, l'instruction INC 6(H4) pro-5 voque le stockage du nombre de 1 ou d'apparitions de la ligne O de la ligne de raccourci dans le quatrième mot de l'en-tête de raccourci correspondant. De cette manière, l'événement actuellement en cours de traitement a été mis à jour de sorte que l'en-tête de raccourci et la ligne de raccourci correspondante 10 reflètent le nouveau raccourci. Pendant ANE15, la valeur du nombre d'événements stockée dans RLN est décrémentée de 1 au moyen de l'instruction DEC R1N. l'instruction BEQ .+2 provoque l'attaque du pas ANE16 de l'organigramme si R1N a été réduit à 0, ce qui indique qu'il 15 ne reste plus d'entrée à traiter. Si R1N n'a pas été réduit à 0, l'instruction «JÎIP ÂNEJ2 provoque un saut en arrière de la séquence du sous-programme an noeud ANEJ2 de l'organigramme, noeud à partir duquel 1* exécution de la boucle comprenant ANE5 à ANE15 est répétée pour l'événement suivant d'ESTIX. La boucle 20 comprenant ANE5 à ANR15 est ainsi répétée jusqu'à ce que RLN soit réduit à 0, ce qui indique que tous les événements d'ESTAK ont été introduits dans la base de données. On supposera maintenant que tous les événements ont été traités et que le pas ANE16 est attaqué. Pendant ANE16, 25 l'aiguillage L1SW est vérifié pour déterminer si c'est un 1 indiquant l'introduction d'une entrée de couche 1. Si l'aiguillage L1SW est un 0, ce qui indique une entrée de couche 0, alors le noeud ANEJ4 et le pas ANE18 de l'organigramme sont directement attaqués. Si l'aiguillage L1SW est un 1, ce qui 30 indique une entrée sur la couche 1, alors est attaqué le pas ANE17 de l'organigramme au cours duquel le pointeur L1PTR pointant vers l'en-tête de couche 1 est transféré dans le registre R4. L'instruction INC 4(R4) provoque une incrémentation de 1 de la valeur représentant le nombre d'événements contenus dans 35 NE1, troisième mot de l'en-tête de couche 1, pour refléter le fait qu'un autre événement a été introduit dans la couche 1 de la base de données. En outre, les instructions ci-après assurent les fonctions indiquées : -727- 2334148 MOV 4(R4-),R1 provoque le transfert de NE1 de l'en-tête de couche 1 dans R1; MOV NXTSH,L1ET(R1) transfère l'adresse de l'en-tête de raccourci suivant à la position correspondante de 5 la table de pointeurs d'événement de couche 1 en créant ainsi une zone de stockage d'en-tête de raccourci; MOV NXTSH,R2 préserve cette adresse dans R2; ADD 7^10,NXTSH met à jour le pointeur d'en-tête de raccour ci O ci au niveau du pointeur disponible suivant: CLR (R2) + ^ créent un raccourci nul en garnissant en- CLR (R2) + ) tièrement de zéros les quatre mots de la CLR (R2) + ) zone de stockage d'en-tête de raccourci nou- CLR (R2) ) vellement créée. 15 Pendant ANE18, le contexte de la machine qui existait lors de l'appel du sous-programme est rétabli et l'exécution du sous-programme est suspendue. H. Programme "mise en mémoire d'un nouveau raccourci"» niveau 2. 20 L'appendice B-22 contient le listage de programme du programme "mise en mémoire d'un nouveau raccourci", un programme de niveau 2. La Fig. 127 est un organigramme du programme "mise en mémoire d'un nouveau raccourci". Les pavés de l'organigramme de la Fig. 127 sont identifiés par les symboles 25 ANÈ13.0 à ANE13.11. La correspondance entre le code de programme de l'appendice B-22 et l'organigramme de la Fig. 127 est indiquée sur le code de programme en utilisant les symboles de l'organigramme . Le programme "mise en mémoire d'un nouveau raccourci" 30 est appelé pendant le pas ANE13 du s ous-programme "addition de N événements" (Fig. 126). Ce programme place la nouvelle ligne de raccourci dans la zone de stockage de ligne de raccourci (voir Fig. 116). Pendant ANE13.1, les contextes des registres R2, R3 et 35 R4- du "minicalculateur" sont préservés. Pendant ANE13.2, un "2" est ajouté à la longueur de la valeur du nouveau raccourci qui est maintenant contenue dans CNGLNG- afin de tenir compte des deux mots nécessaires pour l'adresse de longueur (voir Fig. 116). -728- 2334148 La longueur modifiée de la valeur du nouveau raccourci est alors placée dans le registre de logiciel NSLN. A cet effet, l'instruction MOY CNGLNG,NSLN stocke la longueur de la nouvelle ligne de raccourci dans NSLN. L'instruction ADDj^2,NSLN ajoute la 5 valeur 2 à la valeur de la nouvelle ligne de raccourci contenue dans NSLN. En outre, pendant ANE13.2, la valeur représentant la longueur de l'ancienne ligne de raccourci est obtenue à partir de sa zone de stockage temporaire dans SEEDPM+2 et est stockée dans le registre de logiciel OSLN. A cet effet, l'instruction 10 MOV SEEDPM+2,OSLN est exécutée. Avant l'attaque du bloc "mise en mémoire d'un nouveau raccourci", la longueur de l'ancien raccourci a été transférée de l'en-tête de raccourci à l'emplacement SEEDHî+2. Les deux mots situés en SEEDPM et en SEEDPM+2 ont été utilisés par le 15 sous-programme MEMDPM lors du transfert de l'ancien raccourci au module "mémoire" du système DPM. Lorsque la commande atteint ANE1J.2, la longueur de l'ancien raccourci est encore contenue sans modification dans SEEDPM+2. Le pas ANE13.3 est maintenant attaqué, pas au cours 20 duquel l'ancienne valeur de longueur est comparée avec la nouvelle valeur de longueur, ces deux valeurs étant respectivement contenues dans les registres OSLN et NSLN. Si l'ancienne valeur de longueur contenue dans OSLN est la plus petite, le pas ANE13.4 est attaqué pour assurer une recherche d'espace libre 25 par exécution du programme "recherche d'espace libre" (ïig. 128). Le programme "recherche d'espace libre" réoriente un pointeur contenu dans R1 vers la zone de stockage dans laquelle la nouvelle ligne de raccourci peut être ajoutée. Pendant ANE13-5, la nouvelle ligne de raccourci est 30 insérée dans "espace libre". A cet effet, l'instruction mov CLNLNG,R0 provoque le stockage de la longueur de la nouvelle ligne de raccourci dans le registre RO. L'instruction movj^vVAREA,R2 provoque le stockage de l'adresse de début de la zone WAREA qui contient la nouvelle ligne de raccourci dans le 35 registre R2. Le registre R1, après l'opération "recherche d'espace libre" du pas ANE13.4- contient l'adresse du début de l'espace qui contiendra le nouveau raccourci. Cet espace peut être soit un espace libre, soit un espace disponible. L'instruction -729- 2334148 MOT (R2)+,(R1)+ provoque le transfert d'un mot à partir de l'adresse de WAREA spécifiée par le registre R2 dans la zone d'espace libre spécifiée par l'adresse contenue dans le registre R1 et les adresses respectivement contenues dans les registres 5 E2 et E1 sont ensuite incrémentées chacune de 1. L'instruction DEC RO provoque une décrémentation de 1 de la valeur de la longueur de la nouvelle ligne de raccourci contenue dans le registre RO. L'instruction BNE .-2 provoque la répétition des instructions MOV (R2)+,(R1)+ et DEC RO jusqu'à ce que la valeur 10 de la longueur de la nouvelle ligne de raccourci contenue dans le registre RO ait été décrémentée à 0 pour indiquer que chacun des mots delà ligne de raccourci a été transféré dans la zone d'espace libre vers laquelle pointe le registre R1. Une fois que la valeur contenue dans RO a été décrémentée à O, le pas 15 ANE13-6 est attaqué et le sous-programme "libération d'espace" (Fig. 129) est exécuté, ce qui renvoie l'espace qui était occupé par l'ancienne ligne de raccourci dans la liste "espace libre". Le noeud PNSJ1 et le pas ANE13.9 sont alors attaqués. Pour revenir à ANE13.3, si la longueur de l'ancienne 20 ligne de raccourci contenue dans OSLN est égale^ôu supérieure à celle de la nouvelle ligne de raccourci contenue dans NSLN, les pas ANE13.7 et ANE13.8 de l'organigramme sont attaqués et la nouvelle ligne de raccourci est insérée dans la zone de stockage qui était jusqu'alors occupée par l'ancienne ligne de 25 raccourci. A cet effet, l'adresse, située à l'adresse spécifiée par R4-, est l'adresse du début de la zone de stockage qui contenait l'ancienne ligne de raccourci et est stockée dans le registre R1. L'instruction MOT CNGLNG,RO provoque le stockage de la longueur de la nouvelle ligne de raccourci dans le registre 30 RO. WAREA contient la nouvelle ligne de raccourci. L'instruction MOTj^WAREA,R2 provoque le stockage de l'adresse de début de WAREA dans le registre R2. L'instruction MOT (R2)+,(R1)+ provoque le transfert d'un mot, à partir de l'emplacement de mémoire de WAREA spécifié par le registre R2 à l'emplacement de 35 la zone de stockage de l'ancienne ligne de raccourci spécifié par le registre R1 et les adresses respectivement contenues dans ces deux registres sont alors incrémentées. L'instruction DEC RO décrémente de 1 la valeur de la longueur de la nouvelle -730- 2334148 ligne de raccourci contenue dans le registre RO pour refléter le fait qu'un mot a été transféré de WAREA dans la zone de stockage de l'ancienne ligne de raccourci. L'instruction BNE .-2 provoque un retour arrièrodu programme par branchement 5 sur l'instruction MOY (R2)+,(R1)+. Cette boucle est répétée jusqu'à ce que chacun des mots de la nouvelle ligne de raccourci ait été transféré de WAREA dans la zone de stockage de l'ancienne ligne de raccourci. Lorsque la valeur de longueur de la nouvelle ligne 10 de raccourci contenue dans RO a été réduite à 0, tous les mots ont été transférés de WAREA dans la zone de stockage de l'ancienne ligne de raccourci et le pas AÎTE13.8 de l'organigramme est attaqué. Pendant ANE13.8, le reste de l'espace de stockage pré-15 cédemment occupé par l'ancien raccourci est libéré. A cet effet, l'instruction MOY 0SLN,R0 transfère la longueur de l'ancienne ligne de raccourci dans le registre RO. L'instruction SUB CNGLNG,RO provoque une soustraction au cours de laquelle la longueur du nouveau raccourci contenue dans CNGLNG est re-20 tranchée de la longueur de l'ancien raccourci contenue dans RO. La différence obtenue représente l'étendue d'espace à libérer. L'instruction JSR R5,RLSP provoque l'appel de l'exécution du sous-programme "libération d'espace" (Fig. 120). Ensuite, le noeud PNSJ1 et le pas ANE13.9 de l'organigramme sont attaquée. 25 Pendant ANE13.9, un contrôle est effectué pour déterminer s'il existe plus de 1000 mots d'espace libre inutilisé et, dans l'affirmative, le pas ANE13.10 est attaqué. En se référant au code de programme relatif à ANE13.9» on voit que le registre de logiciel TJNSP contient une valeur 30 représentant l'espace libre inutilisé. L'instruction CMP/^1750, UNSP provoque une comparaison entre le nombre mots contenus dans l'espace libre et la valeur octale 1750 (1750g = 1000^q). Si la comparaison donne "vrai", alors l'instruction BLOS .+2 provoque l'appel de l'exécution du programme "récupération 35 des positions inutilisées". Si une égalité n'est pas détectée, alors l'instruction JMP FNSJ2 provoque l'attaque du pas ANE13.11 de l'organigramme. Pendant ANE13.11, le contexte des registres préservés est restauré. -731- 2334148 I. Prng-paîmnfi "-recherche d1 espace libre", niveau 3» L'appendice B-22 contient le code de programme relatif au programme "recherche d'espace libre". La Fig. 128 représente un organigramme du programme "recherche-d'espace libre". L'or-5 ganigramme contient des pavés identifiés par les symboles ANE13.4-.1 à ANE13.4-.14. La correspondance entre le code et l'organigramme e syndiquée dans le code en utilisant les symboles de l'organigramme. Ce programme explore la liste d'espace libre pour re-10 chercher une section susceptible de contenir la nouvelle ligne de raccourci. Si une telle section est trouvée, la liste d'espace libre est ajustée et un pointeur pointant vers cette section est renvoyé. Si aucune section de ce genre n'est trouvée, un pointeur pointant vers "espace disponible" est renvoyé. En 15 ARE13.4.1, les contextes respectifs des registres R2 et R3 sont préservés. En ANE13.4-.2, le registre R1 est initialisé à 0, le registre R3 pointe vers l'adresse du pointeur variable d'espace libre et le registre R2 pointe vers la première adresse contenue dans "espace libre". En ANE13.4-.3, NSLN (longueur du nou-20 veau raccourci) est comparée avec la longueur de la section actuelle d'espace libre. Si- la longueur du nouveau raccourci est inférieure ou égale à cette section, la commande passe en ANE13-4-.4-. Les pointeurs sont ajustés de telle façon que le maillon précédent de la liste d'espace libre pointe autour de 25 l'espace qui sera utilisé pour stocker la nouvelle ligne de raccourci. En ANE13.4-.5, le maillon actuel est ajusté pour refléter son nouvel état. A ce stade, on a trouvé une section susceptible de contenir le nouveau raccourci. Toutefois, il reste de l'espace libre et cet espace résiduel doit être ajouté 30 à la liste d'espace libre de 119D (a et b). En ANE13.4.6, la variable d'espace inutilisé (UNSP) est diminuée dans une mesure équivalant à la longueur de la nouvelle ligne de raccourci. La commande passe alors en ANEi3.4-.i3. 35 Pour revenir à ANE13.4-.3, si la longueur de la nou velle ligne de raccourci est plus grande que la section actuelle d'espace libre, le pas ANE13.4-.7 est attaqué et R3 est mis à jour, c'est-à-dire que le pointeur actuel devient pointeur -732- 2334148 précédent. R2 pointe vers l'espace libre disponible suivant. En AUE13.4-.9, un contrôle est effectué pour déterminer s'il existe encore un autre maillon dans la liste d'espace libre ou si la fin de la liste a été atteinte. Si la fin de la liste 5 n'a pas été atteinte, la commande descend en AME13.4-.13. Si la fin de la liste a été atteinte, R1 est ajusté de façon qu'il pointe vers le début de l'espace disponible et la liste enchaînée précédente est ajustée de façon qu'elle pointe au-delà de l'étendue d'espace nécessaire pour stocker le nouveau raccourci. 10 Ces opérations sont effectuées au cours des pas ANE13.4-.10 et ANE13.4-.11. En ANE13.4-.12, le nouveau début de l'espace disponible est repéré par un maillon O. La commande descend en AHE13.4-.13 où le registre 1 est vérifié. S'il est égal à 0, la commande remonte en AKE13.4-.3 et une autre section de la liste 15 enchaînée est vérifiée. Sinon, les registres R2 et R3 sont restaurés et la commande sort de ce pavé avec E1 pointant vers la zone de stockage qui contiendra la nouvelle ligne de raccourci. J. S ous—x>r oppvHBTn a "libération d'espace", niveau 3 Le code de programme relatif au sous-programme "libéra-20 tion d'espace" est contenu dans l'appendice B-22. La Fig. 129 représente un organigramme du sous-programme "libération d'espace". Les divers pavés de l'organigramme sont désignés par les symboles RS1 à ES11. La correspondance entre le code de programme et l'organigramme est représentée dans le code en 25 utilisant les symboles identifiant les pavés de l'organigramme. Le sous-programme "libération d'espace" est appelé au cours des pas AHE13.6 et ÂNE13.8 du programme "mise en mémoire d'un nouveau raccourci" (Fig. 127). Ce sous-programme comporte comme paramètres d'entrée un pointeur pointant vers la section 30 de zone de stockage à libérer et la longueur de cette section. Le programme explore simplement d'un bout à l'autre la liste enchaînée d'espace libre et insère le nouveau maillon à l'emplacement convenable. L'espace libre supplémentaire est reflété dans la variable d'espace inutilisé, ÏÏNSP. Initialement, pen-35 dant ES1, les contextes respectifs des registres R2 et R3 sont préservés. La commande passe alors en ES2; au cours de ce pas, R2 est pointé vers le début de l'espace libre, B1 contient l'adresse de la zone à libérer, RO contient la longueur de cette -733- 2334148 zone et E3 pointe vers l'adresse de début de l'espace libre. E3 est un pointeur pointant vers le maillon précédent et E2 est un pointeur pointant vers le maillon actuel. Pendant BS3, E1 est comparé avec E2. L'adresse de la zone à libérer est compa-5 rée avec l'adresse actuelle. Si l'adresse de la zone à libérer est inférieure à l'adresse actuelle, cela indique que l'espace libéré doit être inséré dans la liste à cette position. Pendant BS4-, le nouveau maillon et sa longueur sont insérés dans la liste d'espace libre de la Fig. 119c. 10 En BS5, l'ancien maillon est ajusté et en ES6, E2 est vidé pour assurer une suspension. La commande passe en ES9. Pour revenir à ES3, si E1, adresse de la zone à libérer est plus grande que E2, adresse actuelle du maillon, alors ES7 est attaqué et B3 reproduit R2. En d'autres termes, le 15 pointeur actuel devient pointeur précédent et R2 est mis à jour pour pointer vers le maillon suivant de la chaîne. La commande descend en BS9 et R2 est vérifié. S'il n'est pas 0, la commande remonte en ES3« Si E2 est 0, l'espace inutilisé est incrémenté de la longueur de la section qui vient d'être insé-20 rée, ce qui est reflété dans RO. Les registres E3 et E2 sont restaurés et le sous-programme "libération d'un espace" est momentanément abandonné. K. Programme "récupération des -positions inutilisées, niveau 5 25 L'appendice B-22 contient le code de programme relatif au programme "récupération des positions inutilisées". La Fig. 130 est un organigramme du programme "récupération des positions inutilisées". Les symboles ANE13.10.1 à ANE13.10.10 sont utilisés pour identifier les divers pavés de l'organigramme et sont 30 utilisés également dans le code de programme pour identifier le code correspondant. Le programme "récupération des positions inutilisées" est appelé au cours du pas ÂNE13.10 du programme "mise en mémoire d'un nouveau raccourci" (Fig. 127). Le programme "récu-35 pération des positions inutilisées" explore la liste enchaînée d'espace libre et renvoie dans l'espace disponible l'espace libre situé à la fin des lignes de raccourci. -734- 2334148 En d'autres termes, partout où il existe une brèche dans la zone de stockage, cette brèche est refermée et le pointetir contenu dans les en-têtes de raccourci est mis à jour en conséquence. Cette opération a été résumée dans l'exposé 5 ci-dessus relatif aux structures de données. En conséquence, en ANE13.10.1, le contexte des registres R2, R3 et R4 est préservé. En AHE13.10.2, R2 pointe vers la première zone d'espace libre et R3 pointe vers la première adresse disponible susceptible d'être utilisée pour la compression. R3 pointe vers le début de 10 l'espace à comprimer, R4 pointe vers la première adresse de données située au-delà de cette zone libre. En A1E13.10.3, le programme "ajustement d'en-tête de raccourci" est appelé et les entêtes de raccourci de la couche 0 sont ajustés. En ANE13.10.4, les en-têtes de raccourci de la couche 1 sont ajustés. Puis, 15 en ANE13.10.5, les données sont "remontées" pour éliminer la zone libre. En ANE13.10.6 le pointeur de données (R4) est ajusté de façon qu'il pointe vers les données situées au-delà de cette nouvelle zone libre. En ME13.10.7» le pointeur suivant est obtenu. En AME13.10.8, un contrôle est effectué pour déter-20 miner si la liste enchaînée d'espace libre a été complètement explorée. Dans la négative, la commande repasse en ANE13.10.3. Dans l'affirmative, le pointeur d'espace libre est réajusté de façon qu'il pointe vers le premier mot libre disponible en mémoire. En AHE13.10.10, les registres R2, R3 et R4 sont restau-25 rés et le sous-programme est momentanément abandonné. L. Sous-programme "ajustement d'en-tête de raccourci" Le code de programme relatif au sous-programme "ajustement d'en-tête de raccourci" est contenu dans l'appendice B-22. L'organigramme de ce sous-programme est représenté sur 30 la Fig. 131. Les pavés de l'organigramme sont identifiés par les symboles ASH1 à ASH8 et ces symboles sont également utilisés pour identifier le code correspondant. Le sous-programme "ajustement d'en-tête de raccourci" est appelé pendant les pas AÏTE13.10.3 et ANE13-10.4 du programme 35 "récupération des positions inutilisées", Fig. 130. Dans ses grandes lignes, le sous-programme "ajustement d'en-tête de raccourci" ajuste les en-têtes de raccourci des couches 0 et 1. Ce sous-programme effectue une recherche parmi -735- 2334148 les événements associés à la couche correspondante. Tous les événements dont les raccourcis sont situés à des adresses supérieures à l'adresse de la section d'espace libre en cours de compression sont réduits dans une mesure égale à la longueur 5 de ladite section d'espace libre. En considérant l'espace disponible comme une liste linéaire, ceci équivaudrait à un déplacement vers la gauche. En ASH1, le contexte est préservé. En ASH2, RI pointe vers la table d'événements de la couche appropriée et RO pointe 10 vers le nombre d'événements de cette couche, qu'il s'agisse de la couche 0 ou de la couche 1. En ÀSH3, le registre R3 pointe vers l'adresse de l'en-tête de raccourci actuel. En ASH4, R4-pointe vers l'adresse du raccourci. En ASH5, l'adresse du raccourci, R4, est comparée avec l'adresse d'espace libre actuelle 15 qui a été introduite dans le programme en tant que paramètre contenu dans R2. Si R4 est plus grand que R2, c'est-à-dire si le raccourci est situé au-delà de cet espace libre, l'en-tête de raccourci est ajusté en retranchant la longueur de la section d'espace libre actuelle à l'adresse du raccourci comprenant cet 20 en-tête de raccourci. Cela reflète simplement le fait que quelque part le raccourci va être déplacé vers la gauche dans une mesure égale à la longueur de la zone d'espace libre en cours de compression. En ASH7, une valeur "1" est retranchée du nombre d'entrées. En d'autres termes, le système s'apprête à 25 exécuter cette boucle en examinant toutes les entrées dans la table d'événements de couche. Si le résultat de la soustraction effectuée pendant ASH7 n'est pas 0, le "pas ASH3 est attaqué. S'il est 0, le contexte est restauré et le sous-programme est momentanément abandonné. 30 Bien que des tables et des enchaînements de mémoire soient représentés ci-après à titre d'exemple, il doit être bien entendu que ces tables et ces enchaînements peuvent être remplacés par le mécanisme de stratification précédemment décrit. -736- 2334148 APPENDICE A INDEX DES TABLES Table n° Description ; Page nc 5 1 Exemple de la couche de mots O 740 2A Exemple d'horloge d'événement 741 2B Exemple de vecteurs d'apparition codés absolus provenant de la couche 0 de la table 1 741 10 3 Exemple de la couche de phases 1 742 4A-E Exemple d'iso-entropicogramme 743-746 5 Exemple de permutation d'une ligne, de la ligne 0 à la ligne 1 de la table 4 747 6 Exemple de "delta" 748 15 7 Exemple d'iso-entropicogramme sans zéros 749 8 Exemple de vecteurs d'apparition sous la forme codée "chaîne de bits" et sous la forme codée ■absolue1' 749 9 Exemple de codage hybride 750 20 9^ Modification de l'événement hypothétique "X" 751 9B Exemple de permutation 752 9C Delta renversé par rapport à celui de la table 6 753 25 9D Exemple de permutation 754 9E Exemple d'opération DEL 754- 9F Exemple d'opération DEL de variante 755 10 " Symboles utilisés pour identifier des si gnaux émanant d'un module sur des lignes 30 de commande entrée/sortie 756 11 Entrées et sorties primaires des modules du système DPM de la Fig. 1 757-764 12 Liste des registres, compteurs et bascules du module "codage" 765 35 13 Liste des registres, compteurs, bascules et multivibrateurs du module "décodage" I 766 14 Exemple de fonctionnement du module "delta" 767 -737- 2334148 Table APPENDICE A INDEX DES TABLES (Suite) Description Page n° 15 Liste des principaux registres, compteurs 5 bascules et multivibrateurs du module "delta" 768 16 Liste des principaux registres, compteurs bascules et multivibrateurs du module "raccourcissement11 769-770 10 17 Liste des principaux registres, compteurs bascules et multivibrateurs du module "sortie" 770-771 18-32 Exemples relatifs au module "cadrage" 772-781 33 Liste des principaux registres, compteurs, 15 bascules et multivibrateurs du module "cadrage" 782-783 34-40 Exemples du fonctionnement associé au mo- 784-788 dule "concordantiel" 41 Exemple de fonctionnement du module ,fcon- 20 cordantiel" 789-795 42 Etats des bascules m1 et m2 du module "jonction du système DIM" et de zones correspondantes choisies du module "mémoire" 796 25 43 Etats des bascules m1 et m2 du module "jonction du système DPM" et de zones choisies de la "mémoire P/B" 796 44 Exemple de permutation à travers un iso-entropicogramme utilisant la ''matrice de 30 commutateurs" et le module "mémoire" 797 45 Exemple du fonctionnement de la "matrice de commutateurs" et du module "mémoire" 798-799 46 Exemple de permutation dans la machine de concentration et de recouvrement de va-35 riante de la Fig. 61 800 47 Iso-entropicogramme correspondant à l'exemple de la table 46 800 48 Exemple de fonctionnement du module "delta" 2 801 40 49 Liste des principaux registres, compteurs et bascules du module "delta" 2 802 -738- 2334148 APPENDICE A INDEX DES TABLES (Suite) Table n° Description Page n° 5 50A Liste des entrées/sorties du module "delta" 2 803 50B Liste des entrées/sorties du module "permutation" 2 804 50C Liste des entrées/sorties du module 10 "permutation" 3 804 50D Liste des entrées/sorties du module "rac courcissement" 2 805 50E Liste des entrées/sorties du module "sortie" 2 805 15 50F Liste des entrées/sorties du module "modification" 2 806 50G Liste des entrées/sorties de la "mémoire auxiliaire" II 806 51 Exemple d'iso-entropicogramme du modxile 20 "permutation" 2 807 52 Exemple d'opération de permutation par le module "permutation" 2 dans 1*iso- entropic ogramme de la table 51 808 53 Principaux registres, compteurs et bas- 25 cules du module "permutation" 2 809 54 Inutilisé 55 Ebcemple d'opération de permutation par le module "permutation" 3 dans 1'iso-entropicogramme de la table 51 810-811 30 56 Liste des principaux registres, compteurs et "bascules du module "raccourcissement" 2 812 57 Liste des registres, compteurs et bascules du module "sortie" 2 813-814 58 Exemple de fonctionnement du module "sor- 35 tie" 2 815-816 58A Liste des registres, compteurs et bascules du module "modification" 2 817 59 Drapeaux, registres, et zones de mémoire de "matériel" et de "logiciel" utilisés 40 pour le programme "analyse grammaticale" 818-819 -739- 2334148 APPENDICE A INDEX DES TABLES (Suite) Table n° Description " Page n° 60A Exemple de forme d'une demande de couche de mots O et d'une demande de couche de phrases 1 820 60b-60o Exemple d'exécution des programmes "analyse grammaticale", "cadrage" et "concordance" 821-831 61 Drapeaux, registres et zones de mémoire de matériel et de logiciel, utilisés pour le programme "cadrage" 832-837 62 Drape aux, registres et zones de mémoire de matériel et de logiciel, utilisés pour le programme "concordance" 838-841 63 Drapeaux, registres et zones de mémoire de matériel et de logiciel utilisés pour le sous-programme "sortie" 841 64 Drapeaux, registres et zones de mémoire de matériel et de logiciel, utilisés pour le sous-programme MEMDPM 842 65 Drapeaux, registres et zones de mémoire de matériel et de logiciel, utilisés pour le sous-programme DPMMEM 842 66 Drapeaux, registres et zones de mémoire de matériel et de logiciel, utilisés pour le sous-programme "décodage" I 843 67 Drapeaux, registres et zones de mémoire de matériel et de logiciel, utilisés pour le sous-programme "insertion" 844 -740- 2334148 APPENDICE A (suite) TABLE 1 COUCHE DE MOTS 0 POUR LA PHRASE "THIS IS A TEST" VALEURS D'APPARITION POSSIBLES OU INSTANTS D'EVENEMENT t h i s i s a 1 t 1 e 1 S t 1 1 lignes evenements 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 4 1 i 0 0 0 0 1 0 0 - -0 0 1 0 0 0 0 1 1 t 0 1 0 0 0 0 0 jo 0 0 1 0 0 1 0 2 h 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 3 i 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 4 S 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 5 A 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 6 E 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 -741- 2334148 TABLE 2A 1111111 horloge 01234567890123456 information d'entrée 'fcTHIS-BIS-BÀ-BTEST#* TABLE 2B Evénements de données Yeotetirs d'apparition [0, 5, 8, 10, 15] T [1, 11, 14] H [2] I [3, 6] S [4, 7, 13] . A [9] E [12] -742- 2334148 TABLE 3 COUCHE 1 POUR LA PHRASE "THIS IS A TEST" LIGNE N° EVENEMENTS 0 Délimi—teur de phrase 1 THIS 2 IS 3 A TEST 4 5 (nouveau mot suivant) ,3,, pointeur implicite VALEURS D'APPARITION POSSIBLES OU INSTANTS D'EVENEMENT t i -> 0 1 2 3 • 4 5 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 3 4 5 décalé (de +1) pour -74-3- 2334148 TABLE 4-A EXEMPLE D ' ISO-ENTROPICOGRAMME LIGNE D'ENTREE—>0 RACCOURCI 1 2 3 4- 5 6 7 LIGNE D'ENTREE/ SORTIE —> S VALEURS D'APPARITION POSSIBLES OU INSTANTS D'EVENEMENT 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 0 1 1 -744- 2334148 TABLE 4-B LIGNES Entrée 1 2 3 4 5 6 (rac- 7 cour- ci) 8 9 10 11 12 13 14 15 Entrée/ sortie 16 valeurs d1apparition 111111 012345678901 2 345 1110101001101010 1001111101011111 V~l 11010000111 1 ,0 000 1011100010001000 1110010011001100 1001011010101010 1101110111111111 O 1011001100000000 1110101010000000 100111111100 0000 1101000000100000 1011100000110000 11100 10000101000 1001011000111100 1 10 11101001000 10 101 1 001110110011 1110101001101010 — 2 rangs ) voir deux d'écart ) lignes rangs ; ^ dépasse .1 rang ) voir d'écart ) 5 lignes r5 rangs; r lepasse le bord bas — 1 rang ) voir d'écart ) 9 lignes le bord J Bouclage * Bouclerait. Arrêt La rangée 7 (10110011) est la représentation la plus courte de l'information d'entrée. -745- 2334148 TABLE 4-C largeur = 16 0 1 2 5 4 5 6 7 8 9 10 11 12 13 14 15 LIGNE 7 10110011 TABLE 4-D ligne 7 déplacée de 0 1 0 1 1 0 0 1 1 Ligne 7 déplacée de 8 1 0 1 1 0 0 1 1 Résultat de "XOR" Ligne 15 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 Résultat déplacé de 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 Résultat de "XOR" Ligne 16 1 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 -W- 2334148 TABLE 4-E Rangée 7 déplacée deO 0,2,3,6,7 Rangée 7 déplacée de 8 8, 10, 11, 14, 15 Résultat opération XOR - Rangée 15 0, 2, 3, 6, 7, 8, 10, 11, 14, 15 Résultat déplacé de 1 1, 3, 4-, 7, 8, 9, 11» 12, 15, 16 Résultat opération XOR - Rangée 16 0, 1, 2, 4, 6, 9, 10, 12, 14 -747- 2334148 TABLE 5 110 10 10 1110 10 1 -Tronquer ici 0 -748- 2334148 TABLE 6 DELTA VALEURS D'APPARITION POSSIBLES OU INSTANTS D1EVENEMENT 01234 5 6 7 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 -74-9- 2334148 TABLE 7 TABLE 8 01234-567 VALEURS D'APPARITION POSSIBLES 11101010 VECTEUR D'APPARITION - FORME "CHAINE DE BITS" 0 12 4 6 VECTEUR D'APPARITION - FORME ABSOLUE -750- 2334148 TABLE 9 EXEMPLE DE CODAGE HYBRIDE BIT DE TYPE Mot 1 0 - forme "chaîne de bits" 1 - forme absolue l liliiiiioi -125 Absolue 00100010 119 121 123 118 120 122 124 0 /0//0//0/ 10 10 114 116 115 1110 0100 11011101 00110100 87 89 91 86 88 90 92 -Apparitions en chaîne binaire 123, 119 Apparitions en chaîne binaire 116, 114 -100 Absolue -93 Absolue -Apparitions en chaîne binaire 90, 88, 87 etc. -751- 2334148 TABLE 9-A MODIFICATION D'UN EVENEMENT HYPOTHETIQUE "X" iO a) Apparition de 'X' ï Modifications : b) Effacements : c) Insertions ï d) Vecteur de modification: e) XOR de a) et d) : f) Raccourci de 'X* après modifications : O 2 6 10 12 6 1 1 0 Ligne 5 12 3 3 1 8 9 11 6 8 9 11 12 2 3 8 9 10 11 Valeur de ligne 0 O g) Raccourci de 'X' : h) Vecteur de modification i) XOR de g) et h) î Ligne 6 Ligne 6 Ligne 6 Valeur de ligne 0 6 12 Valeur de ligne 1 6 12 Ô) Raccourci i) 5 Valeur de ligne 0 -752- 2334148 ■ TABLE Q-B N° DE ijIGNE VALEURS j RITION* >0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 011110 0 0011110000 1 1 0001 0001 0001 0 00 2110 01 1 0011001100 31010101010101010 4 1111111111111111 Ligne de^ /j o 0 0 0 0 000000000 0«~ raccourci y 6 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 8 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 9 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 11 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 12 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 13 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 14 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 15 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 Nouvelle ligne de I raccourci : 6 + 15 = 21 = [_5 modulo 16 Nouveau raccourci : Ligne Valeur de ligne 5 0 -753- 2334148 TABLE 9-C DELTA RENVERSE PAR RAPPORT A CELUI DE LA TABLE 6 N° DE LIGUE i 7 6 LIGNES 5 10 4 3 2 1 0 VALEURS D'APPARITION POSSIBLES 01234-567 11111111 01010101 00110011 0001 0001 00001111 000001 01 00000011 00000 0 01 15 -754- 2334148 TABLE 9-D ligne de raccourci 2 - Table 4-A Ligne de raccourci décalée de 2 5 XOE (Ligne 4 - Table 4-A) 01234567 11 01 0000 00110100 1110 0 10 0 TABLE 9-E 10 15 01 234567 - Valeurs d'apparition possibles 1 0 0 0 1 - ligne 4 du delta de la table 9-C 1 1 -intervalles- t 1 0 0 1 0 0 - Ligne 4 de la table 4-A XOE ->1 /N .Indique la présence de la valeur d'apparition 6 sur la ligne d'entrée de la table 4-A -755- 2334148 TABLE 9-F Ligne d'entrée originale Raccourci 10 Différence entre ligne de raccourci et fin de 1'iso-entropicogramme (5) 01254-5 67 10011001 1 110 10 10 1 2 10111111 110 0 11 3 11100000 r 4- 100100 0 0 5 11011000 ^ 6 10110100 7 11101110 0 10011001 Ligne de delta 5 décalée 15 Pour vérifier colonne 5 : Ligne de raccourci Ligne de delta 5 déplacée 1110 0 0 110 0 11 20 "ET" 1 1 0 0 0 0 =4Pa?ité ^paire En conséquence, la colonne 5 de la ligne d'entrée originale contient un "0". 25 Pour vérifier la colonne 3 î Ligne de raccourci Ligne de delta 8 déplacée Hjjfpn 0 0 1110 110 0 11 00001 o 'impaire En conséquence la colonne 3 de la ligne d'entrée originale contient un "1". -756- 2334148 TABLE 10 MODULE "CONCORDANTIEL" B MODULE "MODIFICATION" MODULE "JONCTION DU SYSTEME DBt" MODULE "CODAGE" pas de mnémonique spécial utilisé EM 10 MODULE "DECODAGE" I MODULE "DECODAGE" II MODULE "DELTA" DBI D2M DM MODULE "SORTIE" OU MODULE "CADRAGE" PI MODULE "PERMUTATION" RM MODULE "RACCOURCISSEMENT" SM 15 "MATRICE DE COMMUTATEURS" S -757- 2334148 TABLE 11 ENTREES/SORTIES DES MODULES MODULE "CODAGE" ENTREES 5 ETL (8 bits) EBL (8 bits) 10 EIR (8 bits) 15 MW (8 bits) Bascule EFIRST 20 Bascule ELAST limite supérieure d'écrêtage chargée à partir du registre TL du dispositif IPRF par le module "sortie" limite inférieure d'écrêtage chargée à partir de BL de IPRF par le module "sortie" valeur d'intervalle chargée à partir de IR de IPEF par le module "sortie" largeur d'iso-entropicogramme chargée à partir de HW de IPBF par les modules "raccourcissement", "modification", ou "sortie" mise à 1 pour initialiser mise à 1 pour forcer l'écriture du mot codé hybride final SORTIES EOP (1 bit de drapeau 25 +7 bits) MLN3 (8 bits) 30 mot codé hybride écrit dans le module "mémoire " (bit de drapeau =0 identifie un mot en chaîne de bits; bit de drapeau = 1 identifie un mot codé absolu) transmis aux modules "décodage" I et II pour indiquer le nombre de mots codés hybrides écrits dans le module "mémoire" -758- 2334148 TABLE 11 (Suite) MODULE "CODAGE" (Suite) MOC (8 bits) - transféré dans module "raccourcissement" pour identifier le nombre de valeurs d'apparition codées sous la forme codée hybride et stockées dans le module "mémoire" MODULE "DECODAGE" I ENiEREES 10 MLN1 (8 bits) 15 longueur physique en mots de l'information d'entrée stockée dans la zone du module "mémoire" en cours de lecture. Chargée par le module appelant à partir de LN1 ou LN2 du dispositif IPRF, ou de MLN3 du module "codage", ou de 0RT2 du module "sortie" D1FST 20 25 Mot codé hybride dans l'une des zones du module "mémoire" SORTIES le module appelant (par l'intermédiaire de signaux appliqués à la porte 228) met D1FST à 1 lors du premier appel du module "décodage" I pour assurer la conversion d'un mot hybride de manière à indiquer le premier appel 30 D01 (8 bits) E0F1 (1 bit) compteur qui indique la valeur d'apparition en question du mot codé absolu bascule qui indique que le nombre de mots spécifié par ML1 ont été décodés par le module "décodage" I -759- 2334148 TABLE 11 (Suite) MODULE "DECODAGE" II Les ENTREES/SORTIES sont analogues à celles du module "décodage" I MODULE "DELTA" ENTREES DELI (8 bits) DELFST (1 bit) SORTIES DELO (8 bits) DELEND (1 bit) nombre de lignes à permuter chargées par le module appelant à partir de TI du module "raccourcissement" ou de CLIHE du module "modification", ou de DS6 du module "sortie" bascule d'initialisation mise à 1 lorsque le module appelant désire l'exécution d'un nouveau traitement contient les puissances de 2 composantes de la valeur contenue dans DELI et est sorti dans le module appelant bascule qui, à 1'état 1, indique que la valeur stockée dans DELI a été complètement transformée en ses puissances de 2 composantes MODULE "RACCOURCISSEMENT" ENTREES SMHW (8 bits) SMLI (8 bits) largeur d'iso-entropicogramme chargée à partir de HW du dispositif IPEF numéro de ligne de ligne de raccourci chargé à partir de "n° de ligne" du dispositif IPRF ou à partir de CLINE du module "modification" -760- 2334148 MODULE "MEMOIRE" raccourci actuel (mots de LN1) 10 LH1 (8 bits) 15 SORTIES SLINE (8 bits) SLN (8 bits) 20 MODULE "MEMOIRE" - nouveau raccourci (mots de SLN) 25 OAR (2 bits) ONOC (8 bits) 30 MODULE "PERMUTATION" TABLE 11 (Suite) - le raccotirci actuel en code hybride est (1) stocké dans la zone 1 du module "mémoire" si le "minicalculateur" appelle le module "raccourcissement" par l'intermédiaire du programme de l'utilisateur, ou (2) stocké dans la zone n du module "mémoire" (n = 1, 2, 3) si le module "modification" appelle le module "raccourcissement" . - nombre de mots ou longueur physique du raccourci actuel reçu de MLN1 ou MLN2 des modules "décodage" I et II. - numéro de ligne de la nouvelle ligne de raccourci - longueur en mots physique du nouveau raccotirci. - nouveau raccourci contenu dans les zones du module "mémoire" désignées par OAR - contient le numéro de la zone du module "mémoire" qui contient le nouveau raccourci - contient le nombre de valeurs d'apparition effectives du nouveau raccourci ENTREES/SORTIES comme pour les autres modules -761- 2334148 TABLE 11 (Suite) MODULE "MODIFICATION" ENTREES valeur de ligne de modi- - valeur de ligne du vecteur de modifi-aiSjfÏTim°neaelXT m oation en provenance de la zone 1 du module "mémoire" valeur de ligne de raccourci (longueur en mots de LN2) 10 CLINE (8 bits) CLN (8 bits) 15 MLN1 de "décodage* I et II (8 bits) SORTIES - valeur de ligne du raccourci qui doit être modifiée, obtenue à partir de la zone du module "mémoire" - numéro de ligne de raccourci fourni par "n° de ligne" de IPRF - longueur physique de la valeur de ligne de raccourci fournie par LN2 de IPRF - longueur physique de la valeur de ligne du vecteur "modification" fournie par LN1 de IPRF, ?0 25 50 55 Les mêmes que celles qui ont été indiquées pour le module "raccourcissement11. MODULE "SORTIE" ENTREES MLN2 du module "décodage" II MLN1 du module "décodage" I (8 bits) - longueur de la valetir de ligne de raccourci fournie par LN1 de IPRF - longueur de la valeur de ligne de la ligne de référence fournie par LN2 de IPRF - largeur de 1'iso-entropicogramme de raccourci fournie par El de IPRF - numéro de ligne de la valeur de ligne de raccourci fournie par "n° de ligne" de IPRF 0RT3 (8 bits) OHW (8 bits) OLINE (8 bits) -762- 2334148 DELOP (1 bit) TABLE 11 (Suite) - actionne DELOP à partir du module "jonction du système DPM" ETL du module "codage" EBL du module "codage" EIR du module "codage" 10 valeur de ligne du raccourci valeur de ligne du vecteur de référence SORTIES 15 OAR 20 zone du module "mémoire" désignée par OAR OLN MODULE "CADRAGE" ENTREES HT (8 bits) LNRQR (8 bits) 30 MLN1 du module "décodage" I (8 bits) - limite supérieure fournie par TL de IPRF - limite inférieure fournie par BL de IPRF - valeur d'intervalle fournie par IR de IPRF - fournie par une zone du module"mémoire " - fournie par une zone du module "mémoire " numéro de la zone du module "mémoire" qui contient l'information de sortie information de sortie longueur de l'information de sortie contenue dans la zone du module "mémoire" désignée par OAR 25 largeur de cadre chargée à partir de PS de IPRF lors du premier appel; représente la largeur du cadre longueur de la demande (en événements) chargée à partir de LNRQ de IPRF lors du premier appel valeur de longueur de ligne de raccourci chargée à partir de LN1 de IPRF -763- TABLE 11 (suite) Valeur de ligne de la - valeur de ligne de raccourci située ligne O (en mots de LN1 ) , , dans la zone 1 du module memoxre MLN2 du module "décodage" - longueur du vecteur d'apparition 5 bits) d'événement de délimiteur chargée à partir de LN2 de IPEF et à partir de PSAU DELIM (mots de LN2) - valeur d'apparition d'événement de délimiteur située dans la zone 2 du 10 module "mémoire" PFIRST (1 bit) - bascule d'initialisation actionnée exclusivement avant le premier appel PLAST (1 bit) - bascule de fin, actionnée exclusive ment avant le dernier appel 15 INFORMATION DE SORTIE INTERMEDIAIRE PMn (n = 1, 2) - contient des valeurs pour chaque ap parition traitée de chaque vecteur d'apparition d'événement vi - valeur d'apparition après la sous-20 traction d'un décalage 1 vii - "compte de correspondances", c'est-à- dire nombre d'exécutions du calcul de ce numéro d'apparition au cours du processus de "cadrage" 25 - la dernière valeur de la zone est mise à -1 INFORMATION DE SORTIE FINALE La zone 3 du module "mémoire" contient l'information de sortie finale. Les deux valeurs suivantes sont prévues 30 pour chaque entrée de la demande : Vi - meilleure valeur d'apparition "candi date" au rôle d'apparition de début de la demande en ce qui concerne cette entrée -764- 2334148 TABLE 11 (suite) Vii 10 15 20 25 - compte de correspondances; si le bit de signe est mis (-1) cela indique une concordance exacte. - La dernière valeur de la zone est mise à -1 MODULE "CONCORDANTIEL ENTREES LNRQR (8 bits) - longueur de la demande (en événements) fournie par LNRQ de IPRF MLN1 du module "décodage" - longueur de la valeur de ligne du * vecteur d'apparition d'événement ac tuel fournie par LN1 de IPRF - fournie par la zone 1 du module "mémoire " Valetir de ligne du raccourci MLN2 du modxile "décodage" - longueur du vecteur d'apparition d'événement de délimiteur fournie DELIM données PM bascule BFIRST par LN2 de IPRF - vecteur d'apparition d'événement de délimiteur contenu dans la zone 2 du module "mémoire" - valeurs d'apparition d'événement de début de la demande, dans certaines entrées de cette couche, qui doivent être vérifiées et stockées dans la. zone 1 de 1^. "mémoire P/B" - actionnée par le module "jonction du système DPM" pour initialiser avant le premier appel - actionnée par le module "jonction du système DPM" avant le dernier appel mais exclusivement pour cette demande . DONNEES DE SORTIE FINALES 35 La zone 3 du module "mémoire" contient les jeux suivants de quatre valeurs pour la meilleure entrée dans la couche 0 : 1. délimiteur de début d'entrée 2. nombre N de correspondances ^ïnin 40 4. dft 30 BLAST -765- 2334148 TABLE 12 MODULE "CODAGE" REGISTRES EBL 5 EHW ETL El EIE EO 10 EOP ET ER 15 MAE3 COMPTEURS CTR NOC 20 MLÏT3 BASCULES BSW EFRST 25 ELAST limite inférieure largeur dfiso-entropicogramme limite supérieure entrée d'information actuelle intervalle entrée d'information précédente information de sortie différence entre l'entrée précédente et l'entrée actuelle nombre de bits disponibles résiduel dans un mot en chaîne de bits en cours de formation registre d'adresse de mémoire chaîne de bits nombre d'apparitions longueur physique de l'information de sortie aiguillage "chaîne de bits" première boucle dernière boucle -766- 2334148 TABLE 15 MODULE "DECODAGE" I IHR1 10 BCTR1 D01 MAR1 MLN1 15 20 D1END D1FST D1SW D1EKD E0F1 MSR1 25 D1G0 D1MEND REGISTRES registre d'entrée et de décalage pour mots hybrides COMPTEURS indique les bits restant à convertir dans le mot en chaîne de bits contenu dans IHR1 forme une sortie de mot absolu indique des adresses du module "mémoire1' indique les mots restant à convertir dans la zone du module "mémoire" BASCULES fin d'information d'entrée première entrée de mot hybride commande de lecture (0) dernier mot absolu transféré au module appelant fin des opérations bit de plus fort poids, ou bit de drapeau, du mot en chaîne de bits contenu dans IKR1 MULTIVIBRATEURS MONOSTABLES modxile "décodage" mis en service mot absolu prêt ou sorti TABLE 14 MODULE DELTA EXEMPLE DE FONCTIONNEMENT PREMIER REGISTRE SECOND REGISTRE 128 64 32 16 8 4 2 1 128 64 32 16 8 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 • . o 0 i 4 2 1 NOMBRE DE DE-PLACEMENTS 0 0 0 0 0 0 0 1 0 0 0 2 0 0 0 3 0 0 0 4 0 0 0 5X 1 0 0 6X 0 1 0 7 0 0 1 8X ro Oi oi #» 00 -768- 2334148 TABLE 15 MODULE "DELTA" REGISTRES DELI registre d'entrée (8 bits) DELO registre de sortie (8 bits) BASCULES DELEND 10 DELFST à l'état 1, indique que DELI a été complètement transformé en ses puissances de 2 composantes à l'état 1, indique le premier appel du module "delta" -769- 2334148 TABLE 16 MODULE "RACCOURCISSEMENT" REGISTRES OAR Registre de zone de sortie de mémoire - contient le 5 numéro de la zone "sortie de mémoire" avec la valetir de la ligne de raccourci actuelle; ONOC Nombre d'apparitions dans la ligne de raccourci possible actuelle; SDN Nombre actuel de lignes permutées par rapport à la 10 ligne d'entrée ; SLINE Numéro de la ligne de raccourci possible actuelle; SLN Longueur de la ligne de raccourci possible actuelle; SMHW Largeur (et longueur) de l'iso-entropic ogramme; SMLI Numéro de la ligne actuelle; 15 TO Différence entre les deux plus grandes valeurs d'ap parition; T1 Valeur de la différence entre la largeur d'iso- entropicogramme et la plus grande valeur d'apparition ou plus grande des deux différences comprenant 20 d'une part, la différence entre les deux plus gran des valeurs d'apparition et d'autre part, la différence entre la largeur d'iso-entropicogramme et la plus grande valeur d'apparition; Ï3 Stockage temporaire de la plus grande valeur d'appa- 25 rition; BASCULES SCE Déverrouillage de l'horloge; CNG Inhibition de l'horloge à l'entrée de la "matrice de commutateurs" 30 SMB Empêche le module "décodage" I de décrémenter MLN3 sous le contrôle de l'horloge pendant le calcul relatif au module "raccourcissement"; SMEND 5 SMGO OBW 10 0R1 0RT1 15 OLINE 0H2 ORSN 20 0RT2 25 0RT3 OAR 30 "77°- 2334148 TABLE 16 (Suite) MULTIVIBRATEURS MONOSTABLES Actionné à la fin d'une opération de recherche de raccourci; Module "raccourcissement" mis en service TABLE 17 MODULE "SORTIE" REGISTRES Largeur d ' i s o-entropic ogramme; Registre "sortie" 1 pour valeur d'apparition de valeur de ligne de raccourci permutée provenant du module "décodage" I; Registre "sortie" temporaire 1 pour valeur d'apparition de test provenant du module "décodage" II; Contient le numéro de la ligne de raccourci; Registre "sortie" 2 - contient l'information de sortie du modxile "décodage" II et les résultats de la soustraction effectuée au cours de l'opération 8; Mémorise la plus grande puissance de 2 composante (OHW - OLINE), c'est-à-dire la distance dont la valeur de ligne de raccourci doit être permutée pour atteindre la ligne d'entrée; Registre temporaire - mémorise la valeur de la longueur de ligne de raccourci après la première permutation; Registre temporaire 3 - contient la longueur physique de la ligne de référence située dans la zone 2 du module "mémoire"; Registre de zone de sortie - contient le numéro de la zone de mémoire qui mémorise l'information de sortie finale constituée par les valeurs d'apparition qui ont été trouvées présentes; -771- 2334148 TABLE 17 (Suite) OLF Contient la longueur physique de l'information de sortie finale. BASCULES 5 DELOP DELOP = 1 provoque l'exécution de la fonction DEL; SS Bascule utilisée pour déterminer l'information de cycle, c'est-à-dire que chaque information d'entrée doit être vérifiée au moyen de cette bascule; SW Utilisée pour déterminer la sortie. Si elle est 10 mise à 1 à la fin du cycle 2, alors la sortie est 0RT1 ; OPSW Utilisée pour indiquer au module "codage" que le montage d'écrêtage est en action. TABLE 18 INSTANTS D'EVENEMENT 0 1 234-56789 10. 11 12 13 14- 15 Evénements *6 10 0 00100101 00001 0,5,8,10,15 vecteur E.O. de délimiteur T 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1,11,14 H 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 I 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 3,6 S 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 4,7,13 Vecteurs d'apparition d'événement relatifs aux apparaissent dans la base de données. événements T-H-I-S tels qu'ils TABLE 19 INSTANTS D'EVENEMENT 0 1 2 3 4 5 6 '? 8 9 10 11 12 13 14 15 Evénements % •1? 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 H T 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1,11,14 (Décalage H 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 (Décalage I 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1,4 (Décalage S 0 YL 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1,4,10 (Décalage ^--l'apparition de "IS" est représentée ici [un "bit" dans chaque rangée entrée rigoureusement exacte vecteurs E.O. pour T-H-I-S décalés vers la gauche / \ délimiteur de début -774- TABLE 20 INSTANTS D'EVENEMENT 2334148 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Evénements 5 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0,5,8,10,15 S 0 0 0 0 10 0 1 0 0 0 0 0 1 0 0 4,7,13 I 0 0 0 -A o o 1 0 0 0 0 0 0 0 0 0 3,6 T 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1,11,14 Vecteurs d'apparition d'événement relatifs aux événements S-I-T 10 tels qu'ils apparaissent dans la base de données de la table 1. TABLE 21 INSTANTS D'EVENEMENT 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Evénements 15 V 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 s 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 i 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 H3 ' 0 0 0 0 0 0 0 0 o :i; 0 0 1 0 0 0 4,7,13 (décalage = 0) 2,5 (decalage =1) -1,9,12 (décalage = 2) 20 Vecteurs E.O. pour S-I-T décalés vers la gauche ; '-limite de délimiteur franchie ~775~ 2334148 TABLE 22 INSTANTS D'EVENEMENT 10 11 12 13 14 15 Evénements S I T 0 0 0 0 largeur totale de cadre traite le mot "TEST" Centre de cadre Nombre de correspondances ■ ■■ ■ ' a lfxnterxeur du cadre 14 1 15 13 2 12 2 11 1 -776- 2334148 TABLE 25 INSTANTS 331 EVENEMENT 8 9 10 Evénements 5 16 10 1 1 S 0 0 I 0 0 T 0 0 Largeur totale du cadre 10 il n'y a pas de correspondance TABLE 24 INSTANTS D'EVENEMENT 5 6 7 8 Evénements 15 16 10 0 1 l 1 1 S 0 0 1 I 10 0 T 0 0 0 Largeur totale du cadre 20 traite le mot "IS" Centre de cadre Nombre de correspondances 7 - 1 6 2 -777- 2334148 TABLE 25 INSTANTS P'EVENEMENT 0 12 3 4 5 Evénements 5 yf 100001 I l l S 0 0 0 0 1 I 0 0 10 0 T 0 0 0 0 0 \ y / Largeur totale du cadre 10 traite le mot "THIS" Centre de cadre Nombre de correspondances 4 1 3 2 2 1 15 1 1 -778- 2334148 TABLE 26 Traduction de la table 19 en notation linéaire BOUCLE 1 T CORRESPONDANCES 1 11 14 111 ^ représente la ligne T ) BOUCLE 2 TH CORRESPONDANCES 1 11 14 2 11 ) représente la ligne T,H, c'est-à-dire que l'événement H a été décalé de 1 et ajouté à BOUCLE 1 10 BOUCLE 3 THI CORRESPONDANCES 4 11 1 1 14 1 ) représente la ligne T,H,I, ^ c'est-à-dire que l'événe- ) ment I a été décalé de 2 ^ et ajouté à BOUCLE 2 BOUCLE 4 15 THIS 1 4 CORRESPONDANCES 4 10 2 1 11 14 ) représente la ligne T,H,I,S, c'est-à-dire que l'événement S a été décalé de 3 et ajouté à BOUCLE 3 -779- 2334148 TABLE 27 Traduction de la table 20 sous la forme linéaire BOUCLE 1 S 4 7 13 ) représente la rangée S CORSES- . . . ) PONDANCES ) BOUCLE 2 SI CORRESPONDANCES 2 4 5 7 13 ) représente les rangées S, I, ^ c'est-à-dire que l'événe- 1 1 1 1 1 n ment I a été décalé de 1 j et aj outé à BOUCLE 1 ; BOUCLE 3 SIT CORRESPONDANCES 2 4 5 11111 7 12 13 ) représente les rangées ^ S, I, T., c'est-à-dire que ' ) l'événement T a été déca-^ lé de 2 et ajouté à ^ BOUCLE 2; Nota : les valeurs -1 et 9 sont tombées à l'extérieur de la largeur de cadre et ont été abandonnées. -780- 2334148 TABLE 28 25 mouvement du cadre largeur totale du cadre 5 Instant 1 d'événement 0^12^54-56782 10 11_ 12 13 14- 15 Nombre de correspondances 1111 11 10 Le cadre est initialement centré sur l'instant d'événement situé le plus à droite et se déplace vers la gauche à raison d'une colonne (apparition temporelle) à la fois. Chaque fois le nombre de correspondances est ajouté et un compte de correspondances maximal est conservé pour chaque entrée. Lors du traitement d'une 15 entrée, si le nombre de correspondances maximal est plus grand que 0, alors le centre de cadre relatif à l'entrée et son compte de correspondances maximal sont sortis. TABLE 29 Traduction de la table 22 sous la forme linéaire 20 Centre Nombre de . , de corres- ^— cadre1116 cadre pondances centre de cadre 1 1 T 10 11 12 13 Ii li 14- 1 11 13 2 sortie 13 12 2 11 1 TABLE 30 30 Traduction de la table 23 sous la forme linéaire Centre Nombre de o« Il de corres- sortie -1 — — — cadre pondances -781- 2334148 TABLE 51 Traduction de la table 25 sous la forme linéaire Centre de Nombre de corres- cadre pondances 5 6 7 8 7 1 11 6 2 Sortie 6 TABLE 52 Traduction de la table 24 sous la forme linéaire 10 Centre de Nombre de corres- cadre pondances i 1 r Q. 1 2 1 * 1 4 1 11 3 2 15 2 1 1 1 Sortie 5 -782- 2334148 15 20 25 TABLE 55 REGISTRES, COMPTEURS ET BASCULES DU MODULE "CADRAGE" Registres et 5 compteurs M1 M2 10 M5 OUT 30 PSAV MAX N DI T 35 RII RI CV Compteur d'adresse "de lecture" de la "mémoire P/B" ; Compteur d'adresse "d'écriture" de la "mémoire P/B"; Compteur d'adresse fd*écriture" de la zone 3 du module "mémoire"; Registre qui contient la valeur "centre de cadre" s'il existe une "correspondance" pour une entrée; contient un -1 s'il n'y a pas de correspondance pour l'entrée considérée; Registre de préservation temporaire pour LN2 à partir de IPRï1; Registre utilisé comme mémoire temporaire pour mémoriser le nombre de correspondances maximal actuel d'une entrée contenu dans un cadre; Compteur qui contient toujours un compte de "correspondances" pour une apparition temporelle associée contenue dans RII; Registre contenant la valeur de délimiteur de début actuelle; Registre utilisé, dans la première partie, pour mémoriser l'apparition temporelle minimale à considérer pour une entrée donnée; dans la seconde partie, il est utilisé pour déterminer si une apparition temporelle est contenue dans un cadre; Registre utilisé pour mémoriser une apparition temporelle lue dans la "mémoire P/B"; Registre de mémorisation d'une valetir lue dans le vecteur d'apparition d'événement considéré; Compteur utilisé dans la partie deux pour garder trace du centre de cadre; -783- 2334148 PW PWC 10 15 20 25 30 BIAS (décalage) LNRQ P1-P35 Bascules PFIRST PLAST ET GT SGN PFLG TABLE 53 (Suite) Registre destiné à garder un relevé constamment mis à jour des correspondances à l'intérieur d'un cadre au cours de la partie deux; Registre qui contient la largeur de cadre; Registre qui contient la largeur de cadre -1. Lorsque cette valeur est retranchée du délimiteur de début, elle donne l'apparition temporelle minimale qui doit être considérée pour l'entrée actuelle; Compteur qui contient le compte de décalages qui est le nombre à retrancher des apparitions temporelles de l'événement considéré; Registre qui mémorise la longueur de la demande; Compteur de commande. Actionnée lorsque l'événement à traiter est le premier événement d'une demande à traiter; Actionnée lorsque l'événement à traiter est le dernier événement d'une demande à traiter; Bascule d'égalité actionnée lorsque deux valeurs comparées dans l'unité ALU sont égales entre elles; Bascule de supériorité actionnée lorsque deux valeurs comparées dans l'unité ALU sont telles qu'on ait : valeur 1 y valeur 2; Utilisée comme bit de signe pour le^egistre MAX -actionnée lorsqu'une apparition exacte a été trouvée, rétablie dans le cas contraire; Bascule de drapeau qui indique à quel moment M1 doit être commandé par l'horloge au cours de l'impulsion P32. -784- 2334148 TABLE 54 MODULE " C ONCORDANTI EL" Déplacement POISSON O PRISON 3 PRISON 6 PRISON 7 PRISON 9 PRISON TABLE 55 10 15 D9 PRISON 6+6+6+6+7+7 = 38 5+6+5+3+4+4 = 25 0+6+0+0+1+1 = 8 1+6+1+1+0+0 = 9 5+6+5+3+2+2 = 22 -785- 2334148 TABLE 56 MODULE " CONCORDANTIEL11 PRISON COMPROMISE 11 12 1$ 14 15 16 17 18 19 20 /S DECALAGE t - MIN* ■instants d'événement TABLE 37 Evénements de la demande DECALAGE (ô) t + DECALAGE Valeurs ô classées P R I S 0 N 6 5 4 3 2 1 14 15 18 19 16 20 20 22 22 18 18 20 20 22 22 -786- 2334148 TABLE 38 MODULE "CONCORDANTIEL" SORTIE INTERMEDIAIRE FINALE DAÎIS MODULE "MEMOIRE" 18 (CP) 5 14 (min) 5 (n) 18 (ô) 20 (ô) 20 (6) ô mid (point milieu des va-10 leurs classées) 22 (ô) 22 (ô) TABLE 39 SORTIE FINALE DU MODULE "CONCORDAJTIEL" STOCKEE DANS 15 LE MODULE "MEMOIRE" (ZONE 3) 10 (BD) délimiteur de début de l'entrée 5 (n) nombre d'événements concordants entre la de mande et la réponse (nombre de correspondances) 6 (d • ) somme des écarts par rapport à ô mif min' 20 32 (dQ) somme des écarts par rapport au premier événement de la réponse -787- 2334148 TABLE 40 MODULE "CONCORDANTIEL" Exemple : on supposera que les mots suivants ont été "collectés" par le "cadrage" : 5 1. PRISON 2. IMPRISONMENT 3. PRISONER 4. PRISM 5. POISON 10 6. POISSON 7. IMPERSONATE 8. OPINIONATED 9. PRINCESS 10. SIREN 15 11. RIPEN 12. REASON 1$. NOSIRP 14. NONEROSIT Si la demande est "PRISON", le fonctionnement du système classe-20 ra les mots ci-dessus comme suit : Longueur INCL Longueur vï/O 1. PRISON 100% 100% 2. PRISONER 99,1% 100% 3. POISON 83,3% 83,3% 25 4. POISSON 78,86% 78,95% 5. IMPRISONMENT 75% 100% 6. IMPERSONATE 73,1% 85,1% 7. PRINCESS 70,1%- 70,3% -788- 2334148 TABLE 40 (Suite) 8. 9. 10. 11. 12. 13. 14 N0NPR0SIT prism REASON OPINIONATED RIPEN NOSIRP SIREN Longueur INCL 69,96% 66,6% 62,8% 57,790 57% 50% 49,9% Longueur W/0 72,22% 66,7% 62,8% 66,7% 57,1% 50% 50% -789- 2334148 TABLE 41 MODULE "CONCORDANTIEL" EXEMPLE Partie 1 5 Conditions initiales pour le premier appel du module "concordantiel" pour l'événement "Sn Contenu de IPRF î LNRQ = 3 longueur de la demande "SIT" LN1 = 3 longueur du vecteur E.O. "S" 10 LN2 = 4 longueur du vecteur d'apparition de délimiteur ZONE 1 DU MODULE "MEMOIRE" 1 0 0 0 1 1 0 1 j 00100000) Vecteur E.O. "S" [13, 7, 4] 15 0 0 0 0 0 0 1 oi ZONE 2 DU MODULE "MEMOIRE" 10001111) ) 0 101 0000) Vecteur d'apparition de délimiteur 0 0 0 0 0 1 0 0 | [15, 10, 8, 5, o] 20 00000001) -790- 2334148 Adresse 0 1 2 3 Faire BFIRST BLAST TABLE 41 (Suite) ZONE 1 DE LA "MEMOIRE P/B" Valeur contenue Nom de la valeur 13 centre de cadre 6 centre de cadre 3 centre de cadre -1 fin de zone - 1 -0 10 Partie 2 Contenu de la zone 2 de la "mémoire P/B" à la suite de la PREMIERE SUSPENSION après le traitement du vecteur E.O. "S", 15 20 25 Adresse 0 1 2 3 4 5 6 7 8 9 10 11 12 Valeur contenue Nom de la valeur 14 13 1 16 7 7 1 10 4 4 1 7 -1 CP MIN nombre de correspondances ô CP MIN nombre de correspondances ô CP MIN nombre de correspondances ô entrée "TEST" entrée "IS" entrée "THIS" fin de zone -791- 2334148 TABLE 41 (Suite) Partie 3 Conditions initiales pour le second appel du module "concordantiel" pour l'événement "I" Contenu de IPRF LN1 = 2 Longueur du vecteur E.O. "I" LN2 = 4 Longueur du vecteur d'apparition de délimi teur Vecteur E.O. "I" (6, 3) ZONE 2 DU MODULE "MEMOIRE" comme représenté dans la partie 1 de la table 41 ZONE 2 DE LA "MEMOIRE P/B" comme représenté dans la partie 2 de la table 41 Faire BLAST ZONE 1 DU MODULE "MEMOIRE" 10000110 ) 00000100 ] -792- 2334148 - TABLE 41 (Suite) Partie 4 Contenu de la "mémoire P/BM après la SECONDE SUSPENSION qui suit le traitement du vecteur E.O. "I" ZONE 1 DE LA "MEMOIRE P/B" 10 15 20 Adresse 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Valeur contenue Nom de la valeur 14 13 1 16 7 6 2 8 10 4 3 2 5 7 -1 OP MIN nombre de correspondances Ô CP MIN nombre de correspondances Ô 6 CP MIN nombre de correspondances ô fin de zone entrée "TEST" entrée "IS" entrée "THIS" -793- 2334148 TABLE 41 (Suite) Partie 5 Conditions initiales pour le troisième appel du module "concordantiel" pour le dernier événement "T" Contenu de IPRF LERQ = 3 longueur de la demande "SIT" LN1 = 3 longueur du vecteur E.O. "T" LN2 = 4 longueur du vecteur d'apparition de délimi teur ZONE 1 SU MODULE "MEMOIRE" 10001110 Yecteur E.O. "T" (14, 11, 1) ZONE 2 DU MODULE "MEMOIRE" comme représenté dans la partie 1 de la table 41 ZONE 1 DE LA "MEMOIRE P/B" comme représenté dans la partie 4 de la table 41 Paire BLAST « 1 -794- 2334148 TABLE 41 (Suite) Partie 6 Contenu de la zone 2 de la "mémoire P/B" après la TROISIEME SUSPENSION qui suit le traitement du vecteur E.O. "T" 10 15 20 25 Adresse 0 1 2 5 4 5 6 7 8 9 10 11 12 13 14 15 16 Valeur contenue Nom de la valeur 14 13 2 15 16 7 6 2 8 10 4 1 3 2 5 7 -1 CP min Nombre de correspondances ô Ô CP min Nombre de correspondances Ô Ô CP min Nombre de correspondances Ô ô ô fin de zone > entrée "TEST" entrée "IS" entrée "THIS" -795- 2334148 TABLE 41 (Suite) Partie 7 Contenu de la zone 3 du module "mémoire" après la QUATRIEME SUSPENSION 10 15 20 Adresse 0 1 2 3 4 5 6 7 8 9 10 11 Valeur 10 2 1 5 5 2 2 6 0 3 5 11 Nom de la valeur délimiteur de début nombre de correspondances (N) d • _ min d0 délimiteur de début nombre de correspondances (N) d • min d0 délimiteur de début nombre de correspondances (N) ^toi entrée "TEST" entrée > "IS" entrée "THIS" m -796- 2334148 TABLE 42 MODULE "JONCTION DU SYSTEMS DH'" Bascules I 0 1 Mie (DS1 , zone 1 du module "mémoire") 0 0 M2e (DS2, zone 2 du module "mémoire") 1 1 M3e (DS3, zone 3 du module "mémoire") TABLE 43 MODULE "JONCTION DU SYSTEME DJFM" 10 Pour la "mémoire P/B" Bl/j m2 0 1 M1e (DS2t zone 1 de la "mémoire P/B") 1 0 M2e (DS1, zone 2 de la "mémoire P/B") 9 troxq.'Bq.rmtiQtj Ç uo-xq.'eq.Tiîmcad 'q tto'tq.Bq.TinKced-£ uo-j3-^Q-WSiSd: Z uoTq.sq.tiiajrad X aoxq.'eq.tmxsj tesos l LO LOOO 111010000010101100 LOIOIU 0100LLLLOLOOLllLL100IL0ILLOOL101 001L10 LO L10001010 LOOO L00101ILOll • 000101100 LOOOO L100 L111000 L101001. 0000 L1011100000 LOOO10 LOOOO LOO111 OOOOO LOO LOlLlLlLOOOOlLOOOOO i1101 OOOOOO L L LOO LO10lOOOOO LOOOOOOLOIt OOOOOOO10 L L LOOllOOOOOO11LlL L LOOl 000000001LO LOOO10000000101010 U t 003000000 LOO 11L LOOOOOOOO L100 L101 OOGOOOOOOO l LiOlOL L L11L IL 10 L L1011 ^>0000000000010 L1001010 LO LO 110 LOOl ^IIIIUILIIIIOOIQOOIIOOLIOOIOOIU 101010 LO LO 1011 LOOOO 1000 LOOO 11 LO l LOO L1001LOO L10 LOOOOO L LlLOOOO1011 LOOO LOOO LOOO 1001LlL L101011111001 £=?10000L L L LOOQO11101010 L1001010 L11 =^10000010 LOOOOO LO L100 L10 l"l LOO L101 0 L LlL L LOO LlL L L100 LOOO LOO1011LO11 00 LO10 LOOO 101010001111000 L101001 000 L1001L L100 L LOOOO10 LOOOO100111 0000 LOOO10 LOOOlOOOOOllOOOOO11101 OOOOOl1L10011L LOOOOOOlOOOOOO10II OOOOOO10100010lOOOOOOO LlL111LOOl 0000000 L LOOOO LlL111L111LOlOLOlll -lOOOOOOOOlOOOOO 100000000011001101 llllllllLOOOOOOllllllllllOlllOlt rv-01910 LO LO L11U110101010 LO L101001 1 U.01 LOO UO 101010011001 LOO 1001 II I -no L l LO L110 L10011000 LOOO tOOO 11101 100101LO LOO100010000lll100001011 . lp^011 LOO 1001L100001L111010111L LOOl 0.9^113;!—I LO LOOO l L10 lOOOOO 101011001010111 l068«SfrC2L068Z9Sl?e2l068^SVe2lO Z Z l. f 2S IS 05 62 82 IZ 92 sz vz €2 22 12 02 61 81 a « SI n Zi 21 u oi 6 s 1 s fr z 2 l 0 f euSJI •8H *££2 -IAL- TABLE 45 Bascule â? Bascule d." Bascule d* Zone 1 du Zone 2 du Zone 3 du achemine- achemine- achemine- module module module ment du ment du ment du "mémoire" "mémoire" "mémoire" Commentaires module "dé-module "dé- module Signal codage" I codage" II "codage" SP SM1 S11 S22 S31 — ligne 0 — — Initialiser affirmer SM5 Meilleur raccourci S11 ligne 0 RM8 S21 S32 — RM12 1 Permuter ligne 0 ligne 1 SM11 Inhiber déverrouillage SM12 S12 S21 S32 1 affirmer SM5 Meilleur raccourci S22 ligne 1 RM8 S12 S33 1 RM12 1 Permuter ligne 0 ligne 1 ligne 3 SM11 Inhiber déverrouil- lage SM12 S13 S22 S33 SM5 non affirmé RM8 S13 S23 S31 1 Préserver ligne 1 RM12 0 Permuter ligne 5 ligne 1 ligne 3 Inhiber déverrouillage SM11 SM12 S11 S23 S31 SM5 non affirmé SM5 RM8 S11 S21 S33 0 KM12 0 Permuter ligne 5 ligne "1 ligne 7 SM11 Inhiber déverrouil- lage TABLE 45 (Suite) Signal Bascule d1 Bascule d' Bascule d' achemine- achemine- acheminement du ment du ment du module " Zone 1 du Zone 2 du Zone 3 du module module module "mémoire" "mémoire" "mémoire" Commentaires SM12 S13 affirmer SM5 RM8 S13 RM12 Permuter BM8 S11 RM12 Permuter SM11 SM12 S12 SM5 non affirmé EM8 RM12 Permuter RM8 RM12 Permuter SM11 SM12 S12 S11 S12 S21 S23 S21 521 522 S21 S21 S33 531 532 S32 531 532 S32 0 1 1 0 ligne 15 ligne 1 ligne 7 ligne 15 ligne 16 ligne 7 0 0 0 0 ligne 20 ligne 16 ligne 7 ligne 20 ligne 21 ligne 7 Préserver ligne 7 Inhiber déverrouillage Inhiber déverrouillage ARRET avec raccourci dans zone 2 du module "mémoire" (ligne 21) -800- 2334148 TABLE 46 Valeurs d'apparition possibles > 01224567 0, 2, 4, 6 Nombres de décalages -> Ligne 6 > 10101010 0 111001 0 0 2 1110 0 1 0 0 4 1110 0 10 0 6 1 1 10 0 1 11010000 0 0 TABLE 47 yko 11100100 1 10010110 2 11011101 *° 3 10110011 4 11101010 5 10011111 __ 6 11010000 7 10111000 8 11100100 TABLE 48 DELRO » 5 (101) DELCOL - 0 (000) possible Ligne Ponction implicite (DEtÛÔL + DELRO) par bit Résultat 0 000 101 111 + 101 111(7) 1 0 1 001 101 110 + 101 111(7) 1 1 2 010 101 101 + 101 101(5) 0 5 011 101 100 + 101 101(5) 0 4 100 101 011 + 101 111(7) 1 4- 5 101 101 010 + 101 111(7) 1 5 En conséquence, les résultats 1100011 identifient, les valeurs d'apparition possibles 0, 1, 4 et 5« Oeci correspond à la rangée 5 du delta (Table 6). - 802- 2334148 TABLE 49 MODULE "DELTA" 2 REGISTRES ET COMPTEURS 10 DELCOL (8 bits) - Compteur de valetir d'apparition (colonne) possible Mémoire d'iso-entropicogramme Mémoire de valeur de ligne de delta Registre de sortie de valeur d'apparition Compteur de valeur d'apparition possible (colonne) ou de valeur d'apparition possible déplacée DELHW (8 bits) DELRO (8 bits) DELO (8 bits) DELV (8 bits) DELEND 15 DELFST DELOVL FI - P5 BASCULES - à l'état "1w, indique qu'une ligne de delta entière a été engendrée. - à l'état '"I", indique la première attaque de 1'organigramme de la Fig. 63. - à l'état "1", indique que la ligne déplacée dépasse la largeur de 1'iso-entropicogramme. - Compteur de commande 1513- * -803- 2334148 TABLE 50 A MODULE "DELTA" 2 ENTREES DELV - Valeur du déplacement qui est une valeur 5 d'apparition possible de la ligne donnée, en provenance de OP du module "sortie" 2 ou de D01 du module "décodage" I. DELRO - Nombre de lignes à permuter qui est le nombre de lignes de delta en provenance de 10 RIL du module "permutation" 3 ou de OP du modxile "sortie" 2 ou de RIL du module "permutation" 2. DELHW - Valeur de largeur d'iso-entropicogramme en provenance de HW de IPRF. -;5 Bascule DELFST - Mise à "1" par le module "jonction du système DPM" lors du premier appel. SORTIES DELO 20 DELEND DELOVL - Valeurs d'apparition constituant la ligne de delta spécifiée par DELRO. - A l'état "1", indique la fin d'une ligne de delta. - A l'état "1", indique que des valeurs d'appa- v rition déplacées d'une ligne dépassent la largeur de 1'iso-entropicogramme. -804- 2334148 MODULE "PERMUTATION" 2 ENTREES TABLE 50B Module "mémoire "Matrice de commutateurs"2 Module "décodage" I Module "codage 10 RU - ligne à permuter dans la zone appropriée - tous ont été convenablement ini-tialisés - contient le nombre de lignes à permuter SORTIES Module "mémoire" 15 - L'une des zones contient la nouvelle ligne codée (le nouveau numéro de ligne se trouve dans le module "raccotircissement" 2). TABLE 50C MODULE "PERMUTATION" 3 Identique à la TABLE 50B -805- 2334148 TABLE 50D MODULE "RACCOURCISSEMENT" 2 ENTREES Raccourci actuel dans la zone 1 de la "mémoire du système DPM" 5 SMHW (8 bits) SMLI (8 bits) 10 CNG (1 bit) SORTIES NOC (8 bits) SLINE (8 bits) '15 SLN (8 bits) OAR (2 bits) - largeur de l1iso-entropicogramme chargée à partir de IPRF - numéro de ligne de l'information contenue dans la zone 1 de la "mémoire du système DPM" - bistable utilisé pour refléter un appel lancé par le module "modification" 2 - nombre de 1 de la ligne de raccourci - nouveau numéro de ligne du raccourci - longueur physique en mots du raccourci - numéro de la zone de mémoire contenant le racc ourci Nouveau raccourci dans zone 3 de la "mémoire du système DPM". TABLE 50E 20 MODULE "SORTIE" 2 ENTREES La ligne de raccourci se trouve dans la zone 1 du module "mémoire"; Si nécessaire, la ligne de référence se trouve dans la zone 2 du module "mémoire". 25 30 OHW (8 bits) OLINE (8 bits) DELOP (1 bit) SORTIES OLN (8 bits) OAR (2 bits) 35 - largeur d'iso-entropicogramme fournie par IPRF - numéro de ligne de raccourci fourni par IPRF - bistable mis à 1 si la fonction DEL est désirée - longueur de la ligne 0 du raccourci - zone de mémoire contenant la représentation sous forme de ligne 0 de raccourci (3) du raccourci contenu dans la zone 3 du module "mémoire" -806- 2334148 TABLE 50F MODULE "MODIFICATION" 2 ENTREES La ligne de modification se trouve dans la zone 1 du 5 module "mémoire"; La ligne de raccourci se trouve dans la zone 2 du module "mémoire" ; CLINE contient le numéro de ligne de la ligne de raccourci chargée à partir de IPRF 10 SORTIES Comme pour le module "raccourcissement" 2 TABLE 50G "MEMOIRE AUXILIAIRE" H ENTREES 15 MAR (8 bits) 20 25 30 MAR (8 bits) MIR (8 bits) - registre d'adresse de mémoire pour la zone de mémoire A1. Chargé à partir de DS5/WBP du module "permutation" 2, ou de DS5/WBP du module "permutation" 2, ou de DS4- du module "jonction du système DPM" ou de M1/M2 du module "cadrage" ou de DS1/M2 du module "concordantiel". - registre d'adresse de mémoire pour la zone de mémoire A2. Chargé à partir des mêmes modules que MAR de la mémoire A1. En outre, il reçoit des signaux de WP/WT du module "sortie" 2. - registre d'entrée de mémoire. Il reçoit son information d'entrée de DS4 du module "permutation" 2, de DS4 du module "permutation" 3, de RII du module "osrtie" 2, de DS3 du module "jonction du système DPM", de DS2 du module "cadrage" ou de DS4 du module "concordantiel" . SORTIES MDR-1 (8 bits) 35 - registre de données de mémoire pour la zone de mémoire 1. Son information de sortie est transmise aux modules "permutation" 2, "permutation" 3, "sortie" 2, "jonction du système DPM", "cadrage" et "concordantiel". MDR2 (8 bits) - comme pour MDR1 "8°7- 2334148 TABLE 51 Valeurs d* apparition, -possibles ou d'entrée Ligne N° 0 1 2 3 4 5 6 7 o t i 0 1 1 0 1 Ô ô 1 1 1 1 0 1 1 1 0 2 1 0 0 1 1 0 0 1 3 1 1 0 1 0 1 0 1 4 1 0 1 1 1 1 1 1 5 1 1 1 0 0 0 0 0 6 1 0 0 1 0 0 0 0 7 1 1 0 1 1 0 0 0 O, 2, 3, 5) -808- 2334148 TABLE 52 CYCLE 1 CYCLE 2 01234-567 1 11 1 111 1111 '8 Vecteur E.O. de la ligne d'entrée de 1'iso-entropicogramme CO, 2, 3, 5) Ligne 3 de "delta" avec écart 5 (valeurs 5, 6, 7)* ^—Ligne 3 de delta avec écart 3 (valeurs 3, 4-, . 5, 6) CYCLE 34 0001 1001 1111 £—Après première opération XOR (valeurs 3, 4, 7) écart 2 (valeurs 2, 3, 4, 5) 0 0 1 0 0 1 0 1 (valeurs 2, 5, 7) CYCLES 4, 5 1111 4— Ligne 3 de delta avec écart 0 (valeurs 0, 1, 2, . 3) v 11010101 «-• Ligne 3 de l'iso-entropicogramme (valeurs 0, 1, 3, 5, 7) * Ignorer toutes les valeurs d'apparition possibles au-delà de 7» -809- 2334148 TABLE 55 MODULE "PERMUTATION" 2 REGISTRES RIL - Nombre de lignes à permuter fourni par le module 5 "raccourcissement" 2 ou par le module "sortie" 2 ; WBP - Registre pointetir d'écriture pour la "mémoire AM II" ; WAP - Registre pointeur de lecture pour la "mémoire iM II" ; 10 WAS - Registre pointeur de lecture inverse pour la "mé moire AM II"; WAT - Registre pointetir pour le nombre de lectures dans la "mémoire AM II"; RI - Valeur d'apparition intermédiaire provenant de la 15 "mémoire AM II" ; RII - Mémoire de la valeur d'apparition de la ligne de delta provenant du module "delta" 2 ; BASCULES FF 20 _ p-io - Arrêt ; - Compteur de commande -810- 2334148 TABLE 55 MODULE "PERMUTATION" 3 - EXEMPLE Conditions initiales : Registre T3 du module "raccourcissement" 2 =3 (Nombre de lignes à permuter) Zone du nodule "mémoire" = 0,2,3,5 (Vecteur E.O. de la ligne d'entrée) 10 Conditions après le cycle 1 : "MEMOIRE AM II" ZONE 1 ZONE 2 Adresse Valeur 15 0 1 2 3 5 6 7 WAS = WAT - 3 20 Conditions après le cycle 2 : "MEMOIRE AM II" ZONE 1 ZONE 2 Adresse Valeur 25 0 3 1 4- 2 7 3 WAS = WAT = 3 -811- 2334148 TABLE 55 (Suite) Conditions après le cycle 3 : "MEMOIRE AM II" ZONE 1 ZONE 2 Adresse Valeur 0 1 2 3 WAS = WAT = 3 2 5 7 Conditions après le cycle 4 et après "suspension" : "MEMOIRE AM II" ZONE 1 ZONE 2 Adresse Valeur 0 1 2 3 N1 = 7 N2 = 5 0 1 3 -812- 2334148 10 15 REGISTRES ET COMPTEURS T1 TO T3 SN SMHW SMLI NOC SLN SLINE 20 TABLE 56 MODULE "RACCOURCISSEMENT" 2 Mémoire temporaire; Stocke la différence entre les deux plus grandes valeurs d'apparition; Garde un relevé constamment à jour du nombre de lignes dont le module "permutation" 3 a peimuté; Stocke la plus grande valéur d'apparition de la ligne de raccourci; Stocke la valeur de largeur d'iso-entropicogramme; Stocke le numéro de ligne de la ligne d'entrée de 1*iso-entropicogramme; Stocke le nombre d'apparitions de la ligne de raccourci ; Stocke la longueur en mots de la ligne de raccourci ; Stocke la longueur de la ligne de raccourci actuelle dont le numéro est stocké dans T3 25 BASCULES CNG SMB P1-P13 - Indique un appel lancé par le module "modification" ; - Indique le moment auquel les registres de longueur doivent être décrémentés; - Compteurs de commande. -813- 2334148 10 15 20 COMPTEURS /REGISTRES WB WP WT OHW OLINE DO N El EU E2 M3 SLN TABLE 57 MODULE "SORTIE" 2 DESCRIPTION Compteur positif pour pointeur de lecture de la "mémoire AM II" ; Compteur positif pour pointeur d'écriture de la "mémoire AM II"; Compteurs négatif ou "décompteur" pour pointeur de lecture de la "mémoire AM II"; Largeur d'iso-entropicogramme; Valeur de la ligne donnée; Valeur de ligne de delta déplacée; Valeur de différence indiquant le nombre de lignes à permuter; Valeur d'apparition à contrôler sur la ligne d'entrée; Stocke une valeur d'apparition de la ligne donnée, une valeur provenant de la "mémoire AM II" et la valeur maximale 255; Valeur de différence indiquant la valeur d'apparition minimale pouvant être affectée par des valeurs de delta déplacées; Pointeur d'adresse d'écriture de la zone 3 du module "mémoire" Contient la longueur physique de la ligne régénérée; -814- 2334148 BASCULES DELOP EPS1 T P1-P11 TABLE 57 (Suite) MODULE "SORTIE" 2 DESCRIPTION Mise à "1" si la fonction DEL est désirée; Utilisée pour déterminer le moment auquel une lecture de "décodage" I est nécessaire pendant la fonction DEL; Utilisée pour contrôler la parité du résultat de la fonction DEL; Compteur de commande 2022. -815- 2334148 10 15 20 TABLE 58 EXEMPLE DE FONCTIONNEMENT DU MODULE "SORTIE" 2 Ligne/ colonne 0123456 7 0 10110 100 1 11101110 2 10011001 5 11010101 4 10111111 5 11100000 6 -A O o •A o o o o 7 11011000 Ligne d'entrée Ligne de raccourci Iso-entropicogramme de l'exemple Zone 1 du module "mémoire" MODULE "SORTIE"2 "n° de ligne 5 HW 8 LN1 2 zone 3 Valetirs de IPRF 25 Dans cet exemple, le module "sortie" 2 n'utilise pas la fonction DEL -816- 2334148 10000010 01100000 TABLE 58 (Suite) 10000110 10000010 zone 1 zone 2 zone 3 contenu du module "mémoire" avant l'appel HW - "n° de ligne" = nombre de lignes à permuter 8-5=3 ligne de delta devant être engendrée par le module "delta" 2 premier cycle 10 colonne 0 1 2 3 4 5 6 7 (1) 1 1 1 0 0 0 0 0 ligne de raccourci (2) 1 1 1 1 ligne de delta alignée et déplacée 15 (3) 0 0 0 0 0 0 0 Opération ET sur (1) et (2) 0 « parité de (3) par conséquent, aucune valeur n'est écrite dans la zone 3 du module "mémoire" second cycle 20 colonne 0 1 2 3 4 5 6 7 (1) 1 1 1 0 0 0 0 0 ligne de raccourci (2) 1 1 1 ligne de delta alignée et déplacée (3) 1 1 1 0 0 0 0 0 opération ET sur (1) 1 = parité de (3) par conséquent, la valeur (2) est écrite dans la zone 3 du module "mémoire" 30 Indifférent zone 1 Indifférent zone 2 10000010 zone 3 contenu du module "mémoire" après l'appel Dans cet exemple, le module "sortie" 2 utilise la fonction ML -817- 2334148 TABLE 58A MODULE "MODIFICATION" 2 COMPTEURS/REGISTRES 10 HI EII CLINE registre utilisé pour stocker des valeurs lues par le module "décodage" I registre utilisé pour stocker des valeurs lues par le module "décodage" II registre utilisé pour stocker le numéro de ligne de la ligne de raccourci en provenance de IPRF BASCULES 15 P1-P6 Bascules du type SF7474 utilisées pour créer un générateur d'impulsions. -818- 2334148 TABLE 59 DRAPEAUX, REGISTRES ET ZONES DE.MEMOIRE DE MATERIEL ET DE LOGICIEL UTILISES POUR LE PROGRAMME "ANALYSE GRAMMATICALE" REGISTRES 5 GENERAUX RO Contient l'adresse de la zone de deux mots RO PNBPTR PNBCNT > liste PNBOUT 10 15 R1 R2 R3 R4- R5 20 R6 (SP) DRAPEAUX L1SW EXIT 25 (suspension) 20 ESCAPE ("échappement") BRSW Ceci permet au module appelant d'obtenir les résultats de la demande. Inutilisé par "analyse grammaticale" Contient la représentation du caractère actuel de la chaîne PSTRING qui contient la demande. Pointe vers une pile ESTAK. Cette pile contient les pointeurs pointant vers les en-têtes de raccourci des événements à traiter. Pointe vers la chaîne de demande qui a été composée par le sous-programme "demande de consultation". Registre de sous-programme Registre de pile de matériel. 0 si la demande vise la couche 0, 1 si la demande vise la couche 1. Drapeau de commande de "boucle utilisé lors de l'exploration de lettres en vue de la formation d'un mot. Drapeau de commande de boucle utilisé lors de l'exploration de mots pour former une phrase, c'est-à-dire que, tant que "échappement" n'est pas mis, la commande remonte au noeud JOIN 2 et un nouveau pointeur d'en-tête de raccourci de mot est empilé sur ESTAK. Drapeau "concordantiel". Il est mis à 1 si le module "concordantiel" doit être appelé. Dans le cas contraire, le drapeau BRSW est mis à 0. -819- 2334148 TABLE 59 (Suite) DRAPEAUX, REGISTRES ET ZONES DE MEMOIRE DE MATERIEL ET DE LOGICIEL UTILISES POUR LE PROGRAMME "ANALYSE GRAMMATICALE" VARIABLES 5 DE STOCKAGE RLNO Ce mot est utilisé pour conserver un relevé cons tamment mis à jour de la longueur du mot actuel analysé grammaticalement. La longueur est donnée par le nombre de lettres du mot. 10 RLN1 Ce mot est utilisé pour conserver un relevé constam ment maintenu à jour de la longueur de la phrase actuelle analysée grammaticalement. La longueur est donnée par le nombre de mots. WDEL Constante contenant line représentation binaire du délimiteur de mot. SDEL Constante contenant une représentation binaire du délimiteur de phrase. PNBPTR Constante dont la valeur est l'adresse de début d'une liste destinée à contenir les résultats du 20 processus de "cadrage" et du processus "concordan tiel". TABLES LOET L1ET Table contenant les pointeurs pointant vers les entêtes de raccourci de tous les événements de la couche 0. Table contenant les pointeurs pointant vers les entêtes de raccourci de tous les événements de la couche 1. -820- 2334148 TABLE 60A EXEMPLE DE FORME DE DEMANDE DE MOT OU DE COUCHE 0 ET DE DEMANDE DE PHRASE OU DE COUCHE 1 Demande de -phrase 4 V — Y Y Demande de mot Y — t - Ou # est un délimiteur de phrase, et ou }î (blanc) est un délimiteur de mot. u o to •Ul N> O s Ul Entrée —-Valeur d'ap- THIS IS 3 . •. .'4 •• • • TEST 5 WHICH THE • • 7 BEST k.I L;J.« couche 0 K°d!évÉnemenb EfeéHnenb - • \ 1 ' ... ► — - -*• .... . ... ...... • ■ 0 1 1 i J 1 1 1 * 1 T 1 1 1 1 1 ' 2 H 1 1 1 1 3 I 1 • 1 1 4 l S 1 1 1 1 5 A 1 f % 6 E 1 1 » 7 . W » t* • 8 C 1 • 9 B - . 1 • • l 00 1 Couche 0 TABLE 60B Exemple de dis^ramme de couche de .la base ; de données "échantillon" pour les programmes "analyse grammaticale". ro M Ol OP -822- 2334148 TABLE 60B (Suite) Entrée -> . TOIS IS A TEST mica THE BEST THIS IS BEST Valeur d'apparition possible \ 0 1 2 3 4 5 6 7 8-9 10 11 12 13 14 15 Couche 1 N° d'événement ~ —q-r 1 ! . 2 3 4 5 6 7 Evene- ment # THIS IS A TEST VJHICH 1HE BEST Couche 1 -823- 2334148 TABLE 6OC H BETTER ^ DEMANDE > A 5 m = 1 ESTAS PNBOUT PCO = 3 ^ BVCO =0,50 10 15 TABLE 60D Emplacements significatifs de la mémoire principale après l'analyse de la demande. PSTRING # BETTER i> : = c* '■(pointeur de chaîne d'entrée^ R4 20 ESTAK ELNO PNBOUT 6 ^►240^— sommet de pile 224 204 25 204 224 236 (pointeurs LOET) -824- 2334148 TABLE 60E APRES LE PROGRAMME "CADRAGE" CONTENU DE LA MEMOIRE PRINCIPALE ESTAK 240 224 204 204 224 236 (pointeurs LOET) CONTENU DE LA ZONE 1 DE LA "MEMOIRE P/B" valeurs de centre de cadre pour des entrées de couche 0 devant être vérifiées par le programme "concordance" RLNO PNBOUT 6 A_> -825- 2334148 TABLE 60F MEMOIRE PRINCIPALE APRES L'APPEL DU PROGRAMME "CONCORDANCE" RLNO 6 PNBPTR PNBCNT /-> PNBOUT PNBCNT (nombre d'entrées) r 7 N° de /"BEST" \ l'entrée \( meilleur)/ 0,699 Valeur concordantielle TABLE 60G R4 R4 se comporte comme un pointeur pen dant le traitement d'ESTAK entre 236 ('B') et 240 ('R'). Le pointetir de sommet de pile ESTAK reste inchangé. -826- 2334148 TABLE 605 Après traitement par le module "cadrage" du premier événement "B" de la "base de données MODULE "MEMOIRE" zone 1 zone 2 zone 3 26 30 25 21 15 10 8 5 o Zone 2 de la "mémoire P/B" 26 (valeur d'apparition décalée) 1 (nombre de correspondances) -1 (fin de zone) -827- 2334148 TABLE 601 Après traitement du second événement "E" MEMOIRE PRINCIPALE ZOHE 1 DE LA "mémoire P/B" ESTAK ) 5 240 R4 26 224 j 2 204 / 23 204 J 1 224 4T 11 10 236 1 -1 -828- 2334148 TABLE 60J Après achèvement du programme "cadrage" MEMOIRE PRINCIPALE ESTAK R4 -, 5 ^-5> 240 224 Zone 5 du module "mémoire" 204 26 (CP) ' 204 4 (Nombre de correspondances) 224 21 (CP) 10 236 2 (Nombre de correspondances) -1 (CP) 0 (Nombre de correspondances) 12 (CP) 3 (Nombre de correspondances) 15 -1 (CP) 0 (Nombre de correspondances) -1 (CP) 0 (Nombre de correspondances) ' -1 (CP) 20 - 0 (Nombre de correspondances) -829- 2334148 TABLE 60K Mémoire avant l'appel du •programme "concordance" MEMOIRE PRINCIPALE Zone 1 de la "mémoire P/B" 10 ESTAK 1, 240 224 204 204 224 236 R4 J 26 12 -1 TABLE 60L 'P 20 Après la première passe du module "concordantiel" Zone 2 de la "mémoire P/B" 27 26 1 32 12 255 0 -1 centre de cadre pour "BEST" (meilleur) entrée actuellement le plus à gauche de la réponse nombre de correspondances entrée ajustée -830- 2334148 TABLE 60M Après la seconde passe du module "concordantiel" Zone 1 de la "mémoire P/B" 28 centre de cadre actuel 26 entrée actuellement le plus à gauche 2 nombre de correspondances 32 > entrées ajustées 32 13 12 1 17 -1 TABLE 60N Après achèvement de la dernière passe du module "concordantiel" ; Zone 1 de la "mémoire P/B" 25 délimiteur de début 5 nombre de correspondances 4 ô (ô-min) 28 dO 10 4 4 18 -831- 2334148 TABLE 6o0 Après achèvement du pro^Tamine "concordance" ESTAK ^40\ 224/ ne sont [ plus l néces-204 [ saires 204 224 2361 PNBPTR PIÏBCNT rPNBOUT 7 (n° de l'entrée) 0,699 (BV) -832- 2334148 TABLE- 61 DRAPEAUX, REGISTRES ET ZONES DE MEMOIRE DE MATERIEL ET DE LOGICIEL UTILISES POUR LE PROGRAMME "CADRAGE" REGISTRES 5 GENERAUX RO 10 15 R1 20 25 30 35 R2 R3 R4 R5 R7 DRAPEAUX L1SW Registre de paramètre; 1. Pointe vers un en-tête de raccourci lorsque le sous-programme "sortie" est appelé; 2. Pointe vers DAREA si les sous-programmes de gestion de mémoire DPMMEM/MEMDPM sont appelés pour manipuler un raccourci de délimiteur; 3. Pointe vers WAREA si les sous-programmes de gestion de mémoire DPMMEM/MEMDPM sont appelés pour manipuler un raccourci "non de délimiteur"; Registre de paramètre; 1. Pointe vers la zone de deux mots située en DOAR si les sous-programmes "sortie", DPMMEM ou MEMDPM sont appelés pour manipuler un raccourci de délimiteur; 2. Pointe vers la zone de deux mots située en WOAR si les sous-programmes "sortie", DPMMEM ou MEMDPM sont appelés pour manipuler un raccourci "non de délimiteur"; Utilisé dans PI22 en tant que pointeur temporaire de raccourci de délimiteur; Pointe vers la pile d'événements ESTAK; Pointe vers l'adresse PTR de pointeur LXET contenue dans ESTAK actuellement en cours de traitement; après PI22, ce registre pointe vers la liste de sortie PNBOUT; Pointeur d'instruction de renvoi; Pointeur d'instruction; Est 0 si les événements d'ESTAK proviennent de la couche 0; - est 1 si les événements d'ESTAK proviennent de la couche 1 ; -833- 2334148 ESCAPE (échappement; 10 BRSW LIBELLES 15 #0 4M #2 *6 20 #30 FIRST LAST DPM PIPGO 25 PBM BDOHE y TABLE 61 (Suite) Est 0 si les événements en cours de traitement proviennent de la couche 0 et si la réponse doit être donnée à partir de la couche 1 ; est 1 si les événements d'ESTAK proviennent de la couche 0 et si la réponse doit être donnée à partir de la couche 0 ou si les événements d'ESTAK proviennent de la couche 1 et si la réponse doit être donnée à partir de la couche 1 ; Drapeau de planification du programme "concordance"; 0 si le programme "concordance" ne doit pas être planifié; - 1 si le programme "concordance" doit être planifié. Constantes octales utilisées principalement pour mettre à 1 des hits dans les registres STATUS et AI du module "jonction du système DPM" Constantes octales utilisées pour mettre à 1 des bits dans le registre STATUS du module "jonction du système DPM" -834- 2334148 LIBELLES (Suite) 4 DOAE 5 fDAEEA 10 #WOAE 4WAREA 20 #PNBOUT TABLE 61 (Suite) Adresse de la zone commençant en DOAR. Cette valeur est chargée dans le registre R1 antérieurement à l'appel des programmes "sortie", DPMMHfl ou MEMDPM pour manipuler un raccourci de délimiteur; Adresse de la zone commençant en DAREA. Cette valeur est chargée dans le registre RO antérieurement à l'appel des programmes DPMMEM, MEMDPM pour manipuler un raccourci de délimiteur; Adresse de la zone commençant en WOAR. Cette valeur est chargée dans R1 antérieurement à l'appel des programmes "sortie", DPMMEM ou MEMDPM pour manipuler un raccourci "non de délimiteur"; Adresse de la zone commençant en WAREA. Cette valeur est chargée dans RO antérieurement à l'appel des programmes DPMMEM ou MEMDPM pour manipuler tin raccourci "non de délimiteur"; Adresse de la zone commençant en PNBOUT. Cette valeur est chargée dans R4 en PI22. C'est un pointeur de la liste de sortie dont les entrées sont les paires ordonnées : vi - n° d'entrée vii - valeur concordantielle -835- 2334148 TABLE 61 (Suite) ELEMENTS STOCKES EN MEMOIRE L1PTR 5 HW1 RLN1 LOPTR 10 HWO RLNO 15 LPTR H» 20 RLN 25 DNOC NOC Adresse de début de l'en-tête de couche de la couche Largeur de 1'iso-entropicogramme pour la couche 1; C'est le second mot de l'en-tête de couche 1; Zone d'un seul mot utilisée pour mémoriser la longueur (en mots) d'une demande visant la couche 1; Adresse de début de l'en-tête de couche 0; Largeur d'iso-entropicogramme pour la couche O; cette valeur est le second mot de l'en-tête de couche 0; Zone d'un seul mot utilisée pour mémoriser la longueur (en lettres) d'une demande visant la couche 0; Mot commun qui pointe vers LOET si L1SW est 0; L1ET si L1SW est 1; Mot commun qui contient HWO si L1SW est 0; Hî/1 si L1Sï(' est 1 ; Mot commun qui contient RLNO si L1SW est 0; RLN1 si L1SW est 1; Mot qui mémorise le nombre de 1 contenus dans la ligne 0 de délimiteur; Mot utilisé pour refléter le numéro de l'entrée sur la couche actuellement en cours de traitement; -836' 2334148 TABLE 61 (Suite) ELEMENTS STOCKES EN MEMOIRE (suite) WOLN DOLN 10 PW PCO 15 PNPCNT A2AD 20 M3AD BRCNT 25 OV NH Second mot de la zone commençant par WOAR. Il contient la longueur de la représentation de ligne 0 du raccourci "non de délimiteur" actuellement en cours de traitement; Second mot de la zone commençant par DOAR. Il contient la longueur de la représentation de ligne 0 du délimiteur actuellement en cours de traitement; Constante représentant la largeur du cadre; Constante représentant la valeur de délimitation de cadre, c'est-à-dire le nombre minimal de correspondances nécessaire dans un cadre; Second mot d'une zone commençant par PNBPTR. Il contient le nombre d'entrées de la liste de sortie PNBOUT; Valeur d'un seul mot qui garde trace de l'adresse d'écriture dans la zone 1 de la "mémoire P/B"; Valeur d'un seul mot qui contrôle l'adresse de lecture de la zone 3 du module "mémoire"; Compteur de relevé qui contrôle le nombre d'écritures effectuées dans la zone 1 de la "mémoire P/B"; Zone d'un seul mot qui contient une valeur de centre de cadre lue dans la zone 3 du module "mémoire"; Zone d'un seul mot qui contient le nombre de correspondances présentes dans le cadre qui vient d'être lu dans la zone 3 du module "mémoire"; -837- 2334148 TABLE 61 (Suite) REGISTRES DU MODULE "JONCTION DU SYSTEME DPM" STATUS AI 10 DATAI DATAO 15 Ce registre est lu, écrit et contrôlé par l'ensemble de programmes. Les configurations binaires formées dans ce registre déterminent la séquence d'événements dans la machine DFM; Registre d'adresse. Les zones qu'il adresse sont déterminées par des bits contenus dans le registre STATUS; Registre d'entrée. Toutes les lectures (sauf STATUS) de la machine DEM sont transmises conditionnellement par l'intermédiaire de ce registre; Registre de sortie. Toutes les écritures (sauf STATUS et AI) sont transmises conditionnellement par l'intermédiaire de ce registre. -838- 2334148 TABLE 62 DRAPEAUX, REGISTRES ET ZONES DE MEMOIRE DE MATERIEL ET DE LOGIOIEL UTILISES POUR LE PROGRAMME "CONCORDANCE" RO Registre de paramètre 5 1. Pointe vers un en-tête de raccourci si le sous- programme "sortie" est appelé. 2. Pointe vers DAREA si les programmes de gestion de mémoire DPMMEM/MEMDPM sont appelés pour manipuler un raccourci de délimiteur. 10 3. Pointe vers WAREA si les programmes de gestion de mémoire DPMMEM/MEMDPM sont appelés pour manipuler un raccourci "non de délimiteur". RI Registre de paramètre 1. Pointe vers la zone de deux mots située en 15 DOAR si un appel des programmes "sortie", DPMMEM ou MEMDPM est effectué pour manipuler un raccourci de délimiteur. 2. Pointe vers la zone de deux mots située en WOAR si un appel.des programmes "sortie", DPMMEM 20 ou MEMDPM est effectué pour manipuler un rac courci "non de délimiteur". R2 Non utilisé par le module "concordantiel". R3 Pointe vers le sommet d'ESTAK. R4- Pointe vers l'adresse de l'en-tête de raccourci du 25 raccourci actuel en cours de traitement. REGISTRES "VIRGULE FLOTTANTE" AC0-AC4- Registres internes de l'ensemble de programmes "virgule flottante" sur le PDP-11/4-5. Sont utilisés 30 pour stocker un certain nombre de valeurs temporaires et intermédiaires. On pourra trouver ces valeurs en examinant l'organigramme, la description et le code du module "concordantiel". DRAPEAUX 35 LNGSW 4-0 0 si les longueurs de la demande et des réponses possibles ne doivent pas être utilisées pour calculer une valeur concordantielle; 1 si les valeurs de la demande et des réponses possibles doivent être utilisées pour calculer une valeur concordantielle. -839- 2334148 TABLE 62 (Suite) LIBELLES #1 #2 5 #6 #30 D9 > Constantes octales Constante décimale 9 10 FIRST^ LAST BMGO DPM PBM D1INIT BDONE 15 + WOAE > 20 WAEEA #DOAE # DAEEA Constantes octales utilisées pour mettre à 1 les divers bits dans le registre STATUS du module "jonction". 30 Adresse de WOAE. Cette valeur est chargée dans le registre E1 si les sous-programmes "sortie", DPMMEM, MEMDPM sont appelés pour manipuler un raccourci "non de délimiteur". Adresse de WAEEA. Cette valeur est chargée dans le registre RO si les sous-programmes DBMEM, MEMDPM sont appelés pour manipuler un raccourci "non de délimiteur". Adresse de DOAE. Cette valeur est chargée dans le registre EO si les sous-programmes "sortie", DPMMEM ou MEMDPM sont appelés pour manipuler un raccourci "non de délimiteur". Adresse de DAEEA. Cette valeur est chargée dans le registre EO si les sous-programmes DPMMEM ou MEMDPM sont appelés pour manipuler un raccourci de délimiteur. -840- 2334148 TABLE 62 (Suite) ELEMENTS STOCKES EN MEMOIRE 10 RLN PNBCNT WOLN DOLN 15 DNOC NOC AICNT 20 DI 25 30 N S 35 DO 40 TDI TD2 Zone d'un seul mot contenant la longueur de la demande actuellement en cours de traitement. Compteur de relevé. Ce mot contient le nombre d'entrées contenues dans la liste de sortie PNBOUT. Second mot de la zone commençant par Y«OAR. Il contient la longueur de la représentation de ligne 0 du raccotirci "non de délimiteur" actuellement en cotirs de traitement. Second mot de la zone commençant par DOAR. Il contient la longueur de la représentation de ligne 0 du raccotirci de délimiteur pour cette demande. Mot ciui mémorise le nombre de 1 contenus dans la représentation de ligne 0 de délimiteur. Mot utilisé pour refléter le numéro d'entrée de couche actuelle en cours de traitement. Mot utilisé comme pointetir d'adresse pointant vers la zone 3 de la mémoire DPM (du système DPM) lors de la lecture des résultats du processus concordantiel. Première valeur d'un jeu de quatre valeurs lues dans la zone 3 de la mémoire DPM. Cette valeur contient une valeur de délimiteur de début pour l'entrée dont l'état concordantiel est reflété dans les trois valeurs qui suivent. Seconde valeur lue dans la zone 3 de la mémoire DIM. Cette valeur contient le nombre d'événements de la^ demande qui sont également apparus dans cette entrée. {troisième valeur lue dans la zone 3 de la mémoire DPM. Cette valeur reflète le degré minimal de rapprochement entre les événements de la demande et ceux de cette entrée. Quatrième valeur lue dans la zone 3 de la mémoire DPM. Cette valeur représente une valeur de séparation maximale entre les événements de la demande et ceux de cette entrée. Cette valeur sera utilisée comme valeur de normalisation. Mot utilisé pour mémoriser le délimiteur de début de l'entrée sur le point d'être traitée. Mot utilisé pour mémoriser le délimiteur de fin de l'entrée sur le point d'être traitée. -84-1- 2334148 TABLE 62 (Suite) ELMENTS STOCKES EN MEMOIRE (Suite) LS Mot utilisé pour mémoriser la longueur de l'entrée en cours de traitement. REGISTRES DE JONCTION Identiques à ceux du module "cadrage". 10 TABLE 63 DRAPEAUX, REGISTRES ET ZONES DE MEMOIRE DE MATERIEL ET DE LOGICIEL UTILISES POUR LE SOUS-PROGRAMME "SORTIE" REGISTRES GENERAUX RO Ri 15 R2 R3 R4- LIBELLES - Pointe vers l'en-tête de raccourci du raccourci à sortir; - Pointe vers une zone de deux mots; - Chargé avec la longueur physique du raccourci; -Chargé avec l'adresse du raccourci; - Inutilisé. #0 20 #10 1=5 > Constantes octales DPM CMGO Constantes octales utilisées pour mettre à 1 des ■> bits du registre STATUS du module "jonction du :5 [ système DPM" BDONEj ELEMENT STOCKE EN MEMOIRE HW Mot qui contient la largeur d'iso-entropicogramme de la couche associée à ce raccourci. 30 REGISTRES DE JONCTION Identiques à ceux du module "cadrage". -842- 2334148 TABLE 64 DRAPEAUX, REGISTRES ET ZONES DE MEMOIRE DE MATERIEL ET DE LOGICIEL UTILISES POUR LE SOUS -PROGRAMME MEMDPM REGISTRES GENERAUX 5 RO - Pointe vers la zone de préservation de la mémoire principale (DAREA ou WAREA) à partir de laquelle un transfert doit être effectué; R1 - Pointe vers une zone de deux mots (DOAR ou WOAR); R2 - Chargé à partir de RO ; 10 R3 - Chargé avec le premier mot (numéro de zone du module "mémoire") vers lequel pointe R1, c'est-à-dire avec la zone dans laquelle un transfert doit être effectué; R4 - Chargé avèc le second mot (longueur physique en 15 mots du raccourci contenue dans DOLN ou WOLN) vers lequel pointe R1; REGISTRES DE JONCTION Identiques à ceux qui ont été décrits à propos du module "cadrage ". 20 TABLE 65 DRAPEAUX, REGISTRES ET ZONES DE MEMOIRE DE MATERIEL ET DE LOGICIEL UTILISES POUR LE SOUS-PROGRAMME DPMMEM REGISTRES GENERAUX RO - Pointe vers la zone de préservation de la mémoire 25 principale (DAREA ou WAREA) dans laquelle un transfert doit être effectué; R1 - Pointe vers une zone de deux mots (DOAR ou WOAR) ; R2 - Chargé à partir de RO ; R3 - Chargé avec le premier mot (numéro de zone du mo-30 dule "mémoire") vers lequel pointe R1 ; R4 - Chargé avec le second mot (longueur physique en mots du raccourci contenue dans DOLN ou WOLN) de la zone vers laquelle pointe R1 ; REGISTRES DE JONCTION 35 Identiques à ceux du module "cadrage". -84-3- 2334148 TABLE 66 DRAPEAUX, REGISTRES ET ZONES DE MEMOIRE DE MATERIEL ET DE LOGICIEL UTILISES POUR LE SCUS-PROGRAMME "DECODAGE" I REGISTRES 5 GENERAUX RO "El R2 10 R3 R4- - Utilisé pour mémoriser la valeur qui vient d'être lue dans le module "décodage" I de matériel; - Inutilisé; - Inutilisé; - Inutilisé; - Inutilisé; LIBELLES 15 #10 Constante octale utilisée pour "amorcer" le registre de jonction AI. AI provoque à son tour la transmission conditionnelle des résultats fournis par le module "décodage" I et stockés dans le module "mémoire", à DATAI. 20 DPM DiGO BDONE Valeurs octales utilisées pour mettre à 1 les "bits m1, m2, m3 du registre STATUS du module "jonction du système DPM". REGISTRES DU MODULE 25 "JONCTION DU SYSTEME DPM" STATUS AI 30 DATAI Identiques à ceux qui ont été décrits à propos du module "cadrage" -844— 2334148 TABLE 67 DRAPEAUX, REGISTRES ET ZONES DE MEMOIRE DE M4.TERIEL ET DE LOGICIEL POUR LE SOUS-PROGRAMME "INSERTION" REGISTRES 5 GENERAUX RO Inutilisé; R1 Inutilisé; R2 Contient le numéro de l'entrée actuelle à insérer; R3 Pointe vers la zone de mémoire PNBOUT; 10 R4- Contient le nombre d'entrées dans PNBOUT, c'est-à- dire qu'on a R4- = PNBOUT ; REGISTRE DE L'ENSEMBLE DE PROGRAMMES "VIRGULE FLOTTANTE" 15 ACO Contient la valeur concordantielle (BV) de l'entrée actuelle présente dans PNBOUT ; AC1 Contient la valeur concordantielle (BV) de l'entrée actuelle à insérer dans PNBOUT ; MEMOIRE PRINCIPALE 20 PNBPTR Contient l'adresse de début de la zone de mémoire PNBOUT ; PNBCNT Contient le nombre d'entrées de PNBOUT. -845- 2334148 APPENDICE B INDEX DIS LISTAGES DE PROGRAMME Page n° B-1 Programme "analyse grammaticale" 846-848 B-2 Programme "cadrage" 849-853 5 B-3 Programme "concordance" 854-858 B-4 Sous-programme "sortie" 859-860 B-5 Sous-programme MEMDPM 861 B-6 Sous-programme DPMMEM 862 B-7 Sous-programme "décodage" I 863 10 B-8 Sous-programme "insertion" 864-865 B-9 Programme "composition" 866 B-10 Sous-programmes "ordres", "sélection d'un entier", et "sélection virgule flottante" 867-870 B-11 Sous-programme "demande de consultation" 871-873 15 B-12 Sous-programme "traitement d'une sortie" 874-877 B-13 Sous-programme "organisation" 878-880 B-14 Sous-programme "génération" 881-883 B-15 Sous-programme "classement" 884 B-16 Sous-programme "imprimante" 885 20 B-17 Sous-programme "impression d'un caractère" 886 B-18 Sous-programme "sélection d'un caractère" 886 B-19 STRUCTURE DE DONNEES DU PROGRAMME "C0MP0SITI0N"887-889 B-20 STRUCTURES DE DONNEES 890-892 B-21 Constantes définies par le programme 25 "composition" 893 B-22 Code du programme "base de données" 894-896 A. "Initialisation de couche" 896-905 B. "Formation de couche" 905-916 C. "Demande de consultation" de couche 916 30 D. Traiter une entrée "couche zéro" 918 E. "Addition de N événements" 920 P. "Mise en mémoire d'un nouveau raccourci" 924 G. "Recherche d'espace libre" 925 H. "Récupération des positions inutilisées" 929 35 I. "Libération d'espace" 932 J. "Ajustement d'en-tête de raccourci" 934 K. Variables supplémentaires demandées par la méthode de formation de couche. 936 2334148 10 -846-B - 1 PROGRAMME "AITALYSE GRAJ.IMAT IC AL5 " PARSE - Ceci est le programme "analyse grammaticale" permettant d'executer les fonctions "cadrage" et "concordantielle" -On suppose que R4 pointe vers une chaîne de demande - qui a été préalablement traitée au point de vue forme et exactitude Fonctions des registres dans ce module RO registre de paramètre 15 20 30 - RI registre de paramètre - R2 registre de travail " - R3 pointeur de pile d'événements (ESTAK) - R4 pointeur de chaîne de demande' - SP pointeur de registre de pile PARSE: ' MOV RO,-(SP) ; préserver registres volatils MOV R1,-(SP) • MOV R2,-(SP) MOV R3,-(SP) (PA1) MOV R4 (SP} CLR L1SW ; remettre à 0 aiguillages de décision CLR ESCAPE CLR BRSW MOV #ESTAX,R3 ; R3 pointe vers pile d'événe tPAl) ments MOV (R4)+,R2 ; prendre un caractère (PA2) CMP R2,WDEL ; le caractère est-il un déli miteur de mot ? BEQ PF1 î sortie "vrai", c'est un déli miteur de mot (PA3) CLR RLN1 . } mettre longueur de demande d couche 1 à 0 TST (R4) + ; sauter délimiteur de mot 2334148 10 15 20 25 -847-BR JOIN1 (PA4) PF1: INC ESCAPE INC LNGSW (PA5) J0IN1:J0IN2: CLR RLNO. (PA6) JOIN3 : (PA7) (PA12) (PAS) PF2: (PA11) (PA9) PF3; (PA10) CLR EXIT MOV (R4)+,R2 CMP R2,SDEL BNE PF2 INC L1SW INC EXIT INC ESCAPE JMP J0IN5 CMP R2,WDEL BNE PF3 INC EXIT JMP J0IN4 MOV L0ET(R2},-(R3) INC RLNO 50 (PA13)J0IN4:J0IN5: TST EXIT BNE .+2 JMP J0IN3 (»'A14) JSR R5, PIPE fl'A15) TST BRSW BEQ PA16 ! sortie "décision" ; mettre à 1 aiguiliage de décisicn "échappement" î mettre à 0 indicateur de longueur de demande de couche 0 ; prendre un autre caractère j le comparer avec "délimiteur de phrase" t sortie "faux", c'est-à-dire "non égal" ; sortie "vrai"; mettre à 1 aiguillage de décision "couche 1" t mettre à 1 aiguillages de décision "sus-' pension" et "échappement" » sortie "décision" » le caractère est-il tin délimiteur de mot? t sortie "faux". ce n'est pas un delimi-~ teur de mot j mettre à 1 "suspen-• si on" j sortie "décision" (de la décision) ; pousser pointeur vers en-tête de rac-î courci de cet événement sur î ESTAK j incrémenter longueur de demande de couche 0 l le drapeau "suspension" est-il mis ? 1 sortie "vrai" î sortie "faux" -itérer î effectuer "cadrage" î une détermination de concordance.est-elle nécessaire ? * ï sortie "faux" (non) 2334148 -848- 10 15 20 (PA17) (PA16) PA16: (PA18) J0IN6: (PA19) -0t;* (PA21) (PA20) PA20: (PA22) (PA23) PEXIT: 25 JSR R5,BRIGHT BR JOIN6 ADD RLN,R3 TST ESCAPE BNE PEXIT TST PNBCNT BEQ PA20 MOV &PNBPTR,R2 BR .+3 MOV #2;R2 NEG R2 MOV L1ET(R2),-(R3) INC RLN1 JMP J0IN3 MOV (SP)+,R4 MOV (SP}+,R3 MOV (SP)+#R2 MOV (SP)+,$1 MOV (SP)+,RO MOV #PNBPTR,RO RTS R5 ; exécuter fonction concordantielle ; sortie "décision" ; ajuster pile } tester aiguillage "échappement" ; s'il est à 1, alors sortir tout ce qui se ; trouve dans la liste ; non J prendre numéro d'événement "te plus" correspondant i empiler pointeur d'en-^ tête de raccourci d'évé-j nement de couche 1 sur ESTAK t incrémenter longueur de •t demande de couche 1 ; répéter le cycle ; restaurer contexte ; établir paramètre de sortie t renvoyer au demandeur 2334148 PIPE (cadrage) -849-B - 2 PROGRAMME "CADRAGE Processus ae "caarage". Ce processus assure l'exécution de la fonction de matériel "cadrage" et effectue la préparation du processus "concordance" si nécessaire. Le processus "concordance" n'est pas planifié si les deux conditions suivantes sont remplies : a. une concordance exacte est trouvée b. "échappement" n'est pas mis à 1 (PII} PIPE: 10 15 20 25 30 (PI2) (PI5) (PI6) (PI3) BF1: (PI4) JOIN1: (PI7.1) MOV R0,-(SP) MOV RI,-(SB}. MOV R2,-(SP) MOV R3,-(SP) MOV R4,-(SP) TST L1SW BEQ BF1 MOV eLlPTR.RO MOV L1PTR,LPTR MOV HW1,HW MOV RLN1,RLN BR JOIN1 MOV €L0PTR,R0 MOV LOPTR,LPTR MOV HW0,HW MOV RLNO,RLN LDCIF ACO,RLN MULF ACO,FPCO ADDF ACO,FRND STCFI ACO,PCO î préserver contexte • vérifier aiguillage "couche 1" î sortie "faux",c'est-à-dire vers coucheO ; RO contient un pointeur d'en-tête de raccourci de délimiteur de phrase } initialiser pointeur de couche ; initialiser largeur d'hologramme ; initialiser longueur de demande J sortie "décision" ; RO«-pointeur de longueur de raccourci ae délimiteur de, mot ; preserver pointeur de couche approprié ; la largeur d'hologramme est la valeur de couche 0 j initialiser longueur de demande ; "flotter" longueur de demande ! multiplier par délimitation de cadre ; arrçndir à l'unité supérieure ; stçcker nartiç çn-tiere dans "délimitation de cadre" 2334148 -850- (PI7.2) MOV |DOAR,Rl JSR R51OUTPUT MOV 2 (RC>) ,DNOC (PI8) MOV #DAREA,RO 5 JSR R5,DPMMEM (PI9) MOV 'FIRST,STATl MOV #1,BRSW-. 10 . (PI10) MOV R3,R4 ADD RLN,R4 15 (P-Ill) J0IN2: MOV - (R4) ,R0 MOV #WOAR,RI • JSR R5,0UTP0T (PI12) CMP #1,W0AR 20 . BEQ JÔIN3 - (PI13) MOV «WAREA, RO JSR R5,DPMMEM MOV #1, (RD JSR R5,MEMDPM 25 (PI13.1)J0IN3: CMP R4,R3 BNE .+2 (PI13.2) ADD LAST,STATUS (PI14) MOV #DAREA,RO MOV #D0AR,R1 30 MOV #2,(RI) JSR R5,MEMDPM préparer pour fonction "sortie" engendrer rançée 0 du raccourci de délimiteur préserver nombre de 1 contenus dans rangée 0 préparer transfert transférer le raccourci de la zone de mémoire de DH! à DAEEA mettre à 1 bit FIRST dans registre STATUS mettre à 1 drapeau de planification du processus "concordantiel" pointeur R4 vers sommet de pile R4- pointe vers la première entrée à traiter î RO est le pointeur d'en-tête de raccourci de la zone d'é- - vénement actuel appelée à ; recevoir des valeurs de sortie ; engendrer rangée 0 du raccourci J le raccourci est-il dans la zone 1 de la mémoire DEM - (du système DPM) ? ; oui-aucune action n'est né-; cessaire t— préparer zone de travail pour le transfert ', transférer de DPM dans WAREA ; assurer transfert dans zone 1 ; transférer de WAREA dans ' zone 1 de DPM préparer'transfert de la ligne 0 de délimiteur dans zone 2 DPM -851- 2334148 (PI15) 10 15 20 (PI16) (PI17)' (PI18) tPI21) (PI22)PIPADJ: MOV #6,AI MOV WOLN,DATAO MOV DOLN,DATAO MOV PW,DATAO MOV RLN,DATAO ADD DPM+PIPGO,STATUS BIT BDONE,STATUS BEQ .-1 MOV #0,STATUS CMP R4 ,R3 BEQ .+2 JMP JOIN2 MOV #PNBOUT,R4 MOV fiXPTR,R2 MOV 6(R2),NOC DEC NOC CLR A2 AD CLR M3AD CLR BRCNT 25 î préparer écriture dans IERF , écrire LN1 î écrire LN2 î écrire largeur de cadre î écrire LNRQ ; appeler module "cadrage" ; faire test d'achève-• ment t itérer jusqu'à achèvement î vider registre STATUS j vérifier dernière bouille ou achèvement j itérer î R4 pointe vers liste sortie î pointeur vers en-tête de raccourci du délimiteur approprié t NOC est le nombre de I de la rangée 0 du délimiteur ï ajuster NOC ai vue de l'utiliser coupa pointeur de numéro d'evenement implicite } adresser pointeur mémoire auxiliaire" II î adresse pointeur zone 2 "mémoire" j compteur destiné à garder trace du nombre d'événements transmis à "concordantiel" 2334148 (PI23)J0IN5: 5 (PI24) 10 (PI25) (PI29) 15 (PI30) 20 JOINS: (PI26) PF2: 25" (PI28) -852- MOV #30,STATUS MOV M3AD,AI MOV DATAI,OV MOV DATAI,NH ADD #2,M3AD TST OV . BMI JOIN 9 TST NH BMI PF2 CMP NH,PCO BLT JOIN6 MOV 10+PBM,STATUS «f MOV A2AD,AI MOV OV,DATAO INC A2AD INC BRCNT JMP JOIN8 TST ESCAPE BEQ PF3 MOV 10+PBM,STATUS MOV A2AD,AI MOV OV,DATAO INC A2AD ; préparer pour lecture dans zone 3 "mémoire" ; adresse de mémoire à lire ï lire deux valeurs dans zone 3 "mémoire" ; OV-centre de cadre, NH-nombre de correspondances ; adresser pointeur adresse de mémoire ; le centre de cadre est-il négatif ? j oui, ignorer entrée t le nombre de coxrespoodanœs est-il négatif ? ; sortie "négatif", c'est-à-dire correspondance exacte j comparer avec valeur de délimitation ; plus petit que - ignorer ; préparer écriture dans ■"mémoire auxiliaire" ; préparer le registre d'adresse } sortir par écriture centre ae cadre ; incrémenter pointeur d'adresse de mémoire ; incrémenter compte concordance 1 sortie "décision" ; "échappement" est-il mis ? » sortie "faux" (non) sortir par écriture centre de cadre dans "mémoire auxiliaire" -853- 2334148 10 15 20 25 INC BRCNT JMP J0IN7 ; ; inorementer compte concordance sortie "décision" (PI27) PF3: CLR BRSW MOV N0C,-(R4) 7 9 remettre à 0 aiguillage "concordance" empiler numéro d'événement MOVF F1,-(R4) • g. empiler BV = 100 % MOV #1,BRCNT INC PNBCNT 7 mettre compte de correspondances à 1 CLR NOC • 9 assurer sortie "boucle (PI31)J0IN6: JOIN7: J0IN8: JOIN9: DEC NOC î la demande est-elle finie ? (PI32) BMI .+2 • t oui - suspendre JMP J0IN5 i non - itérer (PI33)JOINIO: TST BRCNT BNE .+3 (PI34) CLR BRSW CLR PNBCNT (PI33.1) BR .3-5 TST BRSW BEQ .+2 (PI33.2) MOV A2AD,AI MOV -1,DATAO (PI35) MOV (SP)+,R4 MOV (SP)+,R3 - MOV (SP)+,R2 9 restaurer contexte MOV (SP)+,R1 MOV (SP)+,RO RTS R5 i renvoyer 2334148 BRIGHT (concor-» dance) -854-B - 5 PROGRAMME "CONCORDANCE" _ Ce processus assure l'exécution de la fonction concordantielle sur les événements ELN de la pile. Il calcule ensuite une valeur concordantielle (BV). Si "échappement" est mis, toutes les valeurs concordantielles supérieures à une valeur de délimitation spécifiée sont ordonnées et renvoyées au demandeur. Si "échappement" n'est pas mis, la meilleure valeur est préservée dans BVMAX et le contenu de celui-ci est renvoyé au demandeur. 10 15 20 25 (B#!)BRIGHT: MOV RO,-(SP) MOV RI/-(SP) ! préserver registres MOV R2/-(SP) î MOV R3,-(SP) MOV R4,-(SP) (BR2) MOV R3,R4 î R4^— sommet d'ESTAK ADD RLN,R4 } R4 MOV FIRST,STATUS • 9 initialiser bascule FIRST MOV |D9,AI î préparer transfert dans IPRF MOV RLN,DATAO • 9 initialiser LHEQ CLR PNBCNT 9 effacer liste de sortie (SJttjgroiNlî MOV - (R4) ,R0 m 9 E1 en-tête de raccourci de l'entrée actuelle MOV #WOAR,RI • 9 les résultats vont ici JSR R5,OUTPUT • 9 repermuter à rangée 0 (BR4) CMP 11,WOAR ; le résultat est-il dans la zone 1 de DIM ? BEQ JOIN2 • 9 oui - aucun transfert n'est nécessaire (BR5) MOV fWAREA,RO • 9 préparer transfert JSR R5,DPMMEM 9 transférer de DPM à WAREA MOV #1,W0AR • 9 assurer un transfert dans zone 1 DHÎ JSR R5,MEMDPM 9 transférer de WAREA dans zone 30 1 DEM -855- 2334148 (BR6)JOIN2: MOV #2,DOAR ; préparer et - • MOV #DOAR,RI t transférer extension de la MOV #DAREA,R0 i rangée 0 du délimiteur dans JSR R5,MEMDPM m t zone 2 de la mémoire DIM (BR7) MOV MOV #6 /AI WOLN,DATAO t S préparer transfert dans IPEF transférer dans LN1 ' MOV DOLN,DATAO * i transférer dans LN2 (BR7.1) CMP R3,R4 m t ceci est-il le dernier événement à traiter ? BNE .+2 i non (BR7.2) ADD LAST,STATUS t oui - mettre à 1 bit LAST dans le registre STATUS (BR8) ADD DPM+BRGO,STATUS BIT BDONE,STATUS BEQ .-t mettre en action module ! "concordantiel" de matériel ; itérer jusqu'à ce que ce soit fait MOV #0,STATUS • t vider STATUS (BR9) ' CMP R4,R3 1 vérifier si achèvement BEQ .+2 } ce n'est pas le dernier événement JMP J0IN1 t itérer (BR12)BVADJ: MOV #1,D0AR • t transférer le délimiteur dans zone "1 de la mémoire • MOV fDOAR,RI î DB£ de façon qu'il puisse MOV #DAREA,RO • « être décodé JSR R5,MEMDPM MOV #6, AI • r introduire valeur de lon MOV gueur pour le module DOLN,DATAO S "décodage" I MOV D1INIT,STATUS • t initialiser le module de matériel CLR AICNT m t initialiser le compteur • d'adresse (BRI3) MOV DNOC,NOC • g initialiser NOC - ce compteur sera utilisé pour calculer le DEC NOC i numéro d'événement actuel -856- 2334148 (BR14) (BR15)J0IN4: 5 10 (BR16)J0IN5: 15 . • - (BR17) 20 (BR18) JSR R5,DC0DE1 MOV RO,TDI MOV #30,STATUS MOV AICNT,AI MOV DATAI,DI MOV DATAI,N MOV DATAI,S MOV DATAI,DO ADD #4,AICNT MOV TDI,TD2 JSR R5,DC0DE1 MOV RO,TDI SUB TDI,TD2 MOV TD2,LS DEC. LS CMP TDI,D1 .DEÇ CMBV BEC NOC BR JOIN5 î appeler module "décodage" I î préserver comme valeur précédente î préparer lecture zone 1 mémoire DHI ; préparer pointeur d'adresse ; délimiteur de début i nombre de correspondances ' ^min • • _ ; Do . ; ajuster compteur d'adresse îlire uné autre valeur de délimiteur ïpréserver la valeur 1 LS ïpréserver valeur actuelle y l'emplacement convenable a-t-il été atteint ? î"égal" - calculer valeur concordantielle î"non égal" - revenir en arrière --857 (BR19)CMBV: LDCIF ACO,RLN LDCIF AC1,RLN LDCIF AC2,N (BR20) SOBF AC0,AC2 5 MULF ACO,AC1 LDCIF AC2,D0 ADDF AC0,AC2 (BR21) LDCIF AC3,S • SUBF AC2,AC3 10 (BR22) DIVF AC2,AC0 (BR23) TST LNGSW BEQ BFX7 (BR25) LDCIF ACO,LS 15 SUBF ACO , AC1 ABSF ACO MOVF ACO,AC4 • DIVF ACO,AC1 MOVF ACO,AC3 MULF ACO,AC3 20 MULF ACO ,AC3 (BR26) CMPF AC4,AC1 CFCC BLOS BFX6 25 (BR28) LDCIF AC1,#1 DIVF AC1,AC0 BR JOIN 6 2334148 ; convertir longueur en virgule flottante «préserver longueur dans AC1 ; convertir nombre de correspondances en "flottante" ; ACO ^— LN-N • ACO ; convertir Do en virgule flottante ; ACO « (LN-ÏF) *LN+Do • convertir d^-in en virgule flottante ; AC24— Do-djjjin, avec d^n = S ÎAC2 î convertir LS en .virgule flottante ; ACO — |lS-LN[ J AC4 = A = |LS-LN| »ACO l ACO-fe (a/LN)5 ; comparer Â:LN ïcopier codes de condition ïprendre un 1 "flottante" ; AC1 j 1/(A/LN)5 -858- 2334148 (BR27)BFX6: LDF AC1,ALPHA MULF AC1,ALPHA MULF AC1,ALPHA MULF • ACO,AC1 5 LDCIF .AC1,#1 SUBF AC1f ACO BR JOIN 6 (BR24)BFX7: LDCIF AC1,#1 10 (BR29)JOIN6: MULF AC1/AC2 JQIN7; (BR30) CMPF AC1,BVC0 CFCC BLT JOIN 8 15 (BR31) JSR 0 R5,INSERA (BR32) JOINS: DEC BRCNT (BR33) BLT .+2 20 JMP JOIN4 (BR34) MOV (SP)+,R4 MOV (SP)+,R3 ADD RLN/R3 MOV (SP)+,R2 25 MOV (SP) + ,R1 MOV (SP)+,R0 RTS R5 ; prendre valeur alpha (a) ; AC1 a3 i ACO «— (aA/LN)3 î prendre 1 "flotté" ; AC1 îil n'y a pas lieu de prendre en considération la longueur iAC1 = BV*L ! comparer avec valeur de délimitation îcopier code de condition ■î ne pas insérer ; insérer la valeur ïla demande est—elle finie ? t non Iitérer ; restaurer R4- îrestaurer pointeur de pile jajuster pour refléter état actuel trenvoyer 2334148 -859- ;OUTPUT -(sortie) ; B-4 SOÏÏS-PROGRAEME "SORTIE" Ce programme provoque la génération de la rangée 0 (01) CXOTOT: MOV 10 15 (02) 20 (03) 25 30 du raccourci spécifié dans le paramètre d'entrée RO pointe vers en- -tête de raccourci RI bloc de sortie de deux mots MOV RO,-(SP) MOV RI»-(SP) HOV R2f-(SP) î préserver contexte MOV R3/-ÎSP) MOV R4,-(SP) MOV MOV 4 (RO) ,R2 #10/STATUS c. ! prendre longueur physique du raccourci préparer écriture dans zone 1 MOV #0/AI jinitialiser registre d'adresse MOV MOV (R0) + ,R3 (R3)+,DATA0 lle pointeur de raccourci passe dans R3 ; sortir un mot DEC R2 i BNE MOV .-2 #0/STATUS ;itérer jusqu'à ce que ce soit fini . MOV #0,AI jpréparer IERF HOV HW,DATAO ;TL^- HW MOV #0,DATAO îBL-t-O" MOV #0,DATAO ;IR 0 MOV HW,DATAO ;HW«— m MOV (R0)+,DATAO " ;"n° de lignenuméro de ran- -860- 2334148 (03.1) 5 (03.2) (04) (05) 10 MOV MOV TST BEQ ADD ADD BIT BEQ CLR MOV MOV MOV î LN1-*— longueur du raccourci î LR2-*- WOLN (R0)+,DATAO WOLN,DATAO WOLN #2 DELOP,STATUS DPM+OMGO,STATUS;exécuter fonction "sortie" de matériel BDONE,STATUS .-1 . STATUS #6,AI DATAI,(Rl)+ DATAI,(Rl)+ •itérer jusqu'à ce que l'exécution de la fonction soit achevée ^préparer sortie valeurs ;prendre OAR ÏOEH (06) 15 20 MOV MOV MOV MOV MOV RTS (SP)+,R4 (SP)+,R3 (SP)+,R2 (SP)+,R1 (SP)+,RO R5 î restaurer contexte jrenvoyer -861- 2334148 B-5 SOUS-PHOGEAMKE MEKDBI (MEMOIRE ERINCIPAIE —>MODULE "MEMOIRE") transférer paramètres de la mémoire principale dans DPM (module "mémoire") RO pointe vers zone de préservation dé la mé moire principale RI pointe vers zone de deux mots i) zone de mémoire DPM dans laquelle le transfert doit être effectué ii) longueur du transfert en mots 10 15 20 25 30 (MD1) MEMDPM: MOV RO,-(SP) MOV R1,-(SP) MOV R2,-(SP) MOV R3,-(SP) MOV R4#-(SP) (MD2) MOV R0,R2 MOV (R1) + ,R3 MOV (Rl)+,R4 ROL R3 ROL R3 ROL ' R3 (MD3) MOV R3, STATUS MOV #0,AI " (MD4) MOV (R2)+,DATAO (MD5) DEC R4 (MD6) BNE .-2 (MD7) MOV (SP)+,R4 MOV (SP)+,R3 MOV (SP)+,R2 MOV (SP)+,R1 MOV (SP)+,R0 ;préserver contexte ;B2 contient le nombre de mots ; à transférer à partir de la j zone de mémoire (zone DPM) tajuster R3 pour registre 'status jpréparer transfert ; transférer un mot î itérer jusqu'à ce que ce soit fait j restaurer contexte RTS R5 I renvoyer -862- 2334148 B-6 SOUS-PROGRAMME DHfl'EM (MODULE "MEMOIRE"-* I-ET'QIRE PRINCIPALE') Transférer de module "mémoire" DPM dans mémoire principale. Paramètres RO pointe vers zone de préservation mémoire prin cipale Rl pointe vers zone de deux mots i) zone de la mémoire DPM à partir de laquelle le transfert doit être effectué ii) longueur du transfert en mots 10 15 (DMl)DPMŒM: MOV MOV HOV MOV HOV 20 25 30 RO/-(SP) Rl#-(SP) R2,-(SP) R3,-(SP) R4,-(SP) j préserver contexte (DM2) MOV R0,R2 ? R2 pointe vers zone mémoire principale MOV (R1) + ,R3 t R3 contient zone mémoire DBî MOV (R1) + ,R4 j R4- contient nombre de mots à transférer ROL R3 ROL R3 î ajuster R3 pour registre STATUS ROL R3 (DM3) MOV R3 /STATUS ; préparer transfert MOV #0,AI (DM4) MOV DATAI, (R2) + ; transférer un mot (DM5) DEC R4 ^décrémenter compte de mots (DM6) BNE .-2 jrebrancher en arrière jusqu'à ce que ce compte soit 0 (DM7) MOV (SP)+,R4 MOV (SP)+,R3 MOV (SP)+,R2 ; restaurer contexte MOV (SP)+,R1 MOV (SP)+,RO RTS R5 -865- 2334148 B-7 SOUS-EROGRAlilTE "DECODAGE" I (D1JDOQDEI: MOV MOV MOV MOV Rl,-(SP) R2,-{SP) R3,-(SP> R4,-(SP) ; préserver contexte (D2) 10 , 15 (D3j J0IN1: JQIN2: 20 MOV BIT BEQ CLR HOV HOV MOV HOV HOV HOV RTS DPM+D1G0,STATUS t appeler module "décodage" X BDONE,STATUS . .-1 STATUS fLQAI DATAI,RO (SP) + ,R4 {SP)+,R3 (SP)+,R2 (SP)+,R1 R5 î itérer jusqu'à ce que ce soit fini i lire résultat et l'introduire dans HO i restaurer contexte 2334148 -864- B—8 SOUS-PROGRAf-îME "INSERTION" (JNl)INSEKrs MOV RÛ,-(SP) MOV RI,-(SP) MOV . R2,-(SP) MOV R3,-(SP) MOV R4f- (SP) ; préserver contexte 10 (IN2) MOV MOV MOV (3N3)J0IN1: LDF (IN4) 15 (IN5) 20 25 CMPF CFCC BLOS MOV MOV MOV LDF MOVF LDF (IN6)J0IN2: DEC (IN7) (IN7.1) 30 BLT JMP MOV MOVF INC PNBPTR,R3 ; R3. pointe vers liste PNBOUT PNBCNT,R4 ; R4 contient le nombre d'entrées de cette liste N0C,R2 t R2 contient numéro d'entrée ACO,2(R3) ï prendre la valetir concordantielle AC1,AC0 f comparer valeur actuelle avec valeur de la liste copier codes de condition J0IN2 î inférieur - aucun échange n'est nécessaire (R3),R1 ; préserver numéro d'événement liste R2,(R3)+ ? insérer numéro actuel R1,R2 i l'ancienne liste devient ac tuelle AC2,AC0 j préserver valeur de liste AC1, (R3)+ } insérer valeur actuelle dans liste AC1,AC2 j l'ancienne valeur de liste de vient valeur actuelle R4 i en a-t-on fini ? .+2 ; oui JOIN î itérer R2,(R3)+ ; insérer entrée AC1,(R3)+ j finale PNBCNT j refléter une autre entrée -865- 2334148 (IN8) MOV (SP) + ,R4 MOV (SP)+/R3 HOV (SP)+,R2 ; restaurer contexte HOV (SP)+,R1 5 MOV (SP)+,R0 RTS R5 î renvoyer -866- 2334148 b-9 10 15 25 FORMAT: MOV RO,-(SP) MOV RI#-(SP) (FI) MOV R2,-(SP) ! préserver contexte MOV R3/-(SP) MOV R4,-(SP) CLR ENDFL S enlever drapeau "fin" (F2) JOINlO: JSR R5,PRINTR ; sortir un astérisque (*) de retour du chariot et d'avance WORA CRLFA ; ment d'un interligne CF3) JSR R5 ,GETC î prendre un caractère et le stocker dans EO (F4> CMP " RO,SDEL ; délimiteur de phrase ? BEQ JOIN20 t oui (F5) CMP RO ,WDEL ; délimiteur de mot ? BEQ JÔIN20 î oui (F6) JSR R5 ,COMMAND ; faire test "ordre ?" . BR JOIM30 • # (F7) J0IN2Û: JSR R5,REQUEST ; traiter une demande (F8) J0IN3Q: TST ENDFL » est-ce fait ? BEQ JOINlO ;non MOV (SP)+,R4 ; oui (F9) MOV (SP)+,R3 ; restaurer contexte MOV (SP)+,R2 . MOV (SP)+,R1 MOV (SP)+,RO RTS R5 2334148 -867- B-10 SOUS-PROGRAl"!ES "ORDRES". "SELECTION" D'UN ENTIER" ET "SELECTION VIRGULE FLOTTANTE" 5 — COHHAND: MOV RO,- (SP) . (ordres) MOV R1*-{SP) (Cil MOV R2,-(SP) j préserver contexte - MOV R3,-(SP) MOV R4,-(SP) 10 (C2i CLR ERRSW ; mettre à 0 aiguillage "erreur" CC3) CMPB . ROrE î le caractère est-il un "E" ? BNE .+2 ; non JMP C40 t oui CC4] CMPB RO,C 1 le caractère est-il un "C" ? 15 C6 BEQ 1 oui CC5Î INC ERRSW j sinon, afficher drapeau "erreur" 1 JMP CJOIN7 CC6) C6: JSR R5,PRINTR i imprimer : .WORD CNGMSG î "HANGE" 20 (C7) JSR R5,GETC î lire un autre caractère CLR FLTSW ï mettre à 0 aiguillage "flotter" CLR BVFŒJG j et BVFLG (C9) CMPB RO,A î le caractère était-il un "A* 25 BNE Cl 3 t non (CIO) JSR R5,PRINTR î imprimer la chaîne : - .WORD ALPHMS6 ; "LFHA" (Cil) INC FLTSW ; mettre à 1 aiguillage "flotter" { C12) • MOV #ALPHA,RI î mettre pointeur sur ATÏFHA 50 JMP CJ0IN6 ( C13) C13 : CMPB RO,B î le caractère est-il un "B"? 2334148 -868— BNE C17 ; non (C14) JSR R5,PRINTR ; imprimer "VCO" .WORD BVCOMSG î (C15) INC BVFLG î mettre à 1 BVFLG (C16) MOV #BVCO,Rl î mettre pointetir sur BVCO JMP CJOIN6 1 (C17) C17 : CMPB R0,L ; le caractère est-il un "L" ? BNE C20 t non (C18) JSR R5,PRINTR ; imprimer le message : .WORD LNGMSG l "NGSYJ" (C19) MOV JMP «LNGSW,RI CJOIN6 ; mettre pointeur sur LNGSW (C20) C20: CMPB RO,P ! le caractère est-il un "P" ? BEQ C22 ; oui (C21) INC ERRSW î non - afficher "erreur" JMP CJOIN6 f (C22) C22î JSR R5,GETC y lire un autre caractère (C23) CMPB RO,C ' » le caractère est-il un "C" ? BNE C26 t non (C24) MOVB OfRO î transférer lettre 0 dans EO JSR R5,PRNTC î aller imprimer le caractère (C25) MOV INC JMP «FPCO,Rl BVFLG CJOIN6 ; mettre pointeur sur PCO ; régler pour virgule flottante • § (C26) C26: CMPB RO,W i le caractère est-il Tin "W" ? BNE C28 ;non (C27) MOV #PW,Rl ; mettre pointeur sur PW BR CJOIN6 • # (C28) C28: INC . ERRSW îmettre à 1 aiguillage "erreur" ( C30) CJ0IN6: TST ERRSW ? tester aiguillage "erreur" BEQ C32 ;il n'est pas à 1 2334148 -869- JSR R5 ,PRINTR ; sortir un signal "retour du chariot et avancement d'un (C31J .WORD CRLF ;interligne" JSR R5,PRINTR îsortir un message "erreur" •WORD ERRMSG ; 5 JMP CJOINIO (C32) C32: JSR R5,PRINTR îimprimer "TO" .TORD TOMSG (C33) TST FLTSW ;vérifier si drapeau "flottante" BNE C380 îest mis 10 (C340) C340: JSR R5,GETC {prendre un caractère (C341) CMPB RO ,BLANK îest-ce un blanc ? BEQ C340 joui (C342) CLR R2 îvider registre "totalisateur" (C343) C343: CMPB 2ERO,RO ?s'assurer qu'on a un numéro, 15 BGT C35 le'est-à-dire s'assurer que (C344) CMPB NINE,RO ÏO^EO^.9 BLT C35 (C345) SUBB ZERO,RO îprendre équivalent binaire du numéro (C346) MOL TEN,R2 îmultiplier ancienne valeur partielle 20 (C347). ADD R0,R2 îpar 10 et ajouter nouvelle valeur (C348) JSR R5,GETC l lire un autre caractère BR C343 jrebrancher en arrière . (C35) C35: TST BVFLG ;est-on en train de traiter » BVCO BNE C37 ï oui 25 CC36) MOV R2,(RI) introduire nouvelle valeur JMP CJOINIO • # C37: LDCIF AC0,R2 convertir E2 en "flottante" (C37) DIVF AC0,F100 diviser par 100 MOVF ACO,(RI) fstocker la valeur 30 JMP CJOINIO # -870- 2334148 (C380) C380: (C381) (C382) 5 (C383) C383: (C384) 10 (C385) (C386) (C387) 15 (C388) » (C39) C39 : CJOINIO-: C40: 20 (C40) (C41) CJOINll: (C42Î 25 JSR R5,GETC CMPB RO,PERIOD BNE C380 LDCIF AC0,#0 LDCIF AC1,TENTH CMPB ZERO, RO BGT C39 CMPB NINE,RO BLT C39 SUBB ZERO,RO LDCIF AC2/RO MULF AC2,AC1 ADDF AC0,AC2 MULF AC1/TENTH JSR R5,GETC BR C383 MOVF ACO,(RI) BR CJOINll JSR R5,PRINTR .WORD ENDMSG INC ENDFL MOV (SP)+,R4 MOV (SP)+,R3 MOV (SP)+,R2 MOV (SP)+,R1 MOV (SP) + ,RO RTS R5 • prendre un caractère ; l'examiner au point de vue virgule décimale , AOO = 0 î AC1 = 0,1 • s'assurer que la valeur est 7 comprise entre 0 et 9» c'est- à-dire qu'on a bien : ; 0£ RO—9 î calculer équivalent binaire t convertir en "flottante" i multiplier par puissance négative î de 10 et ajouter à ACO î multiplier puissance de 10 ; par 0,1 et lire caractère l stocker résultat ; imprimer "UD" î mettre le drapeau "fin" 2334148 sous REQUEST: ide de.cor (RI) (R2) 10 CR3) IR11) (R12) 15 (R13) (R14) HOV MOV HOV HOV HOV HOV CLR CMPB BNE HOV HOV JSR CMPB BNE JSR . RJQIN4: 20 (Ri5) CR16) (RI 7) 25 (R18) RQ18: 50 (R19) BEQ CMPB BEQ MOVB MOV JSR JHP HOV MOV INC -871-B-11 -PROGRAT.J'E "DSMAFD5 DE CONSULTATION" RO,-(SP) RI»-(SP) R2,-(SP) R3,-(SP) R4,-(SP) #PSTRING,R4;demande insérée ici EXIT - jenlever drapeau "suspension" RO,SDEL ; RQ4 RO,(R4)+ ; introduire le délimiteur de phrase WDEL,(R4)+ ïintroduire délimiteur de mot R5,GETC îprendre un caractère RO,WDEL ? .+2 R5,GETC CMPB RO,WDEL îprendre caractère suivant ; est-ce un délimiteur de mot ? RQ20 [OUI RO,SDEL jest-ce un délimiteur de phrase ? RQ18 CVRTBL(RO),R2 ;prendre valeur dans table R2,(R4)+ ;la placer dans la chaîne R5,GETC " lire un caractère * #' RJ0IN5 : WDEL,(R4)+ {introduire délimiteur de mot SDEL,(R4)+ jet délimiteur de phrase EXIT ;mettre "suspension" 2334148 10 15 20 25 30 -872- JMP RJOIN5 (R20) RQ20: MOV WDEL, (R4)+ introduire délimiteur de mot (R21) JSR R5,GETC îlire un caractère (R22) CMPB RO,SDEL délimiteur de phrase ? BNE RJOIN6 ' ï non (R23) MOV SDEL(R4)+ ; oui, l'introduire (R24) INC EXIT fmettre "suspension" RJOIN5: RJOIN6: TST EXIT ; c'est fait (R25) BEQ RJ0IN4 î non JMP RJ0IN8 îvenir ici pour traiter tme demande de mot, c'est-à-dire ;une demande couche 0 i MOV JSR CMPB (R4) RQ4; (R5) RJOIN1: (R6) WDEL, (R4) + R5,GETC RO ,WDEL (R7) (R8) RQ8: (R9) RJ0IN2: (RIO) BEQ RQ8 MOVB CVRTBL(RO),R2 MOV R2 ,(R4)+ JMP RJ0IN2 MOV WDEL,(R4)+ INC EXIT TST EXIT BEQ RJ0IN1 ; la demande esir obtenue î nfaintgnant, traiter la dfemande (R26) RJ0IN8: MOV #PSTRING,R4 (R27> JSR R5,PARSER (R28) JSR R5, PROCOUT î jlire un caractère » est-ce un délimiteur de mot ? ; prendre la valeur ; la transférer dans liste R4- 7 introduire un délimiteur de mot î mettre "suspension." î ; remettre R4- à 0 jappeler le programme "analyse grammaticale" «traiter les résultats -873- 2334148 MOV (SP)+,R4 (R29 ) MOV (SP)+,R3 MOV (SP)+,R2 MOV (SP)+,R1 5 MOV (SP)+,RO RTS R5 2334148 -874-B-12 S0US-PR0GRM,1IE "TRAITEMENT D'UNE SORTIE" j Le programme "analyse grammaticale" reprend avec EO pointant vers une zone de deux mots ' i) pointe vers liste PNBOUT . l ii) nombre d'entrées contenues dans la liste 10 1.5 PROCOUT; (traitement d'une sortie) (poil (P02). 0?O3) P04: 20 (P04) P045: 25 30 MOV RO, - (SP) MOV RI,-(SP) MOV R2,—(SP) r préserver contexte MOV R3,-(SP) MOV R4,-(SP) TST . 2 (RO) i y a-t-il quelque chose dans la liste ? BNE P04 t oui JSR R5,PRINTR i informer le demandeur du fait que rien .WORD NULLMSG t n'a été trouvé JMP P0J0IN5 t MOV 2(RO),R4 ; E4 MOV #G1TBL,R2 • » E2*- adresse de la table G1 MOV (RO),R3 . } E3v pointeur de PNBOUT CLR EXIT i enlever drapeau "sus- (P05) pension" MOV (R3)+,(R2)+ j transférer numéro d'entrée dans G1 CMPF ACO,(R3)+ ; sauter valeur concordan tielle en vigueur CLR (R2)+ ; effacer deux entrées CLR (R2J+ ; dans la table G1 DEC R4 } décrémenter E4 BNE P045 ; rebrancher en arrière tant qu'il n'est pas àO MOV #G1TBL, R2 îremettre R2 sur début de table MOV 2(R0),R3 ;R3 = longueur de table 2334148 .-875- ■ MOV LPTR/R4 î E4- pointe vers LXET JSR R5,SETUP » regarnir table G1 MOV IG1TBL,G1ADR ; E1 pointe vers début de G1 ; 12 vers début de table G2 5 P06: MOV MOV tG2TBL,R2 GlADR,Rl 10 (P061 MOV MOV MOV MOV #1,R3 (R1) + ,R2 (R1)+,2{R2) (R1)+,4(R2) tE3 contient longueur de G2TBL » transférer numéro d'entrée ; transférer délimiteur de fin .« introduire longueur CP06) MOV R1,G1ADR ; préserver index dans G1 (P07) MOVB JSR 4 (R2) ,5 (R2) R5,GENERATE ; rendre les longueurs égales /traiter l'entrée 15 (P08) TST BEQ L1SW P0J0IN2 îest-on sur.la couche 1 ? Jnon MOV W0LN,R3 îE5 = longueur d'OLIST P095: MOV MOVB #0LIST,R4 1(R4),R5 ;R4- pointe vers début de liste /prendre numéro d'entrée 20 (P09) MOV R5,(R2)+ /transférer dans table G2 CLR (R2} + ;effacer CLR (R2) + • r TST - DEC (R4) + R3 «pointer vers entrée suivante ï 25 BNE P095 } (POIOJ MOV MOV «G2TBL/R2 W0LN/R3 jinitialiser pour prépara^ tion f MOV LPTR/R4 * t JSR R5,SETUP t 50 (POU) JSR R5/GENERATE t P0J0IN2: MOVB 4 (R2) /Rl jprendre longueur de cette entrée -876- 2334148 . P0124: (P012) IP0131 CP0141 P015: IP015) (P016) P0J0IN4: MOV #OLIST,R4 ADDB 5(R2),R4 TST - (R4) MOVB 1(R4),R5 MOVB CVTBL2(R5),R0 JSR R5,PRNTC DEC RI BNE POI24 DEC R3 BEQ P013 MOVB BltANK/RO JSR R5,PRNTC ADD #6,R2 BR POJOIN2 DEC PNBCNT BNE P015 INC EXIT JMP POJOIN4 JSR R5,PRINTR .WORD MORMSG JSR R5,GETC CMPB R0,Y BEQ POJOIN4 INC EXIT TST EXIT ( P017) ; début d»OLIST ; indexer dans liste S pointer vers entrée à traiter ïprendre numéro d'entrée ïle convertir en ASCII ; imprimer le caractère t itérer s'il y en a d'autres ; i reste-t-il d'autres entrées ? i non ; imprimer un blanc i l pointèr vers entrée suivante t ; rest-t-il des entrées ? î oui î non, mettre "suspension î voir si un autre (caractère) doit être î imprimé î vérifier si c'est un t "Y" ; aucun caractère n'est plus néce s saire -mettre " suspenam" BNE JMP .+2 P06 2334148 ■-877- P0J0IN5: MOV (SP)+,R4 MOV (SP)+,R3 CP018) MOV (SP)+,R2 MOV (SP)+,Rl MOV (SP)+,R0 RTS R5 2334148 -878- B - 13 SOUS-PROGRAÎ.UTB "ORGANISATION" SETUP; MOV R0,-(SP) (organisation) MOV Rl,-(SP) MOV R2,-(SP) (SI) MOV R3,-(SP) MOV R4,-(SP) MOV (R4)+,R0 10 CS2) 15 CS31 CS4) 20 SJOINlï (S5) 25 (S6) 50 SJOIN2: MOV 6 (RO),DNOC MOV # DOAR, RI JSR R5,0UTPUT CMP fl,DOAR BEQ " SJ0IN1 MOV «DAREA,RO JSR " R5,DPMMEM MOV «1,D0AR JSR R5, MEMDPM MOV DINIT,STATUS MOV «6, AI MOV DOLN,DATAO JSR R5,DC0DEl MOV RO.TDI MOV R3,WOLN CLR SUM MOV 4(SP),R2 îpréserver contexte ïpointeur vers en-tête de raccourci de délimiteur înombre de 1 de la ligne O îsortir ligne 0 7dans zone 1 mémoire îtransférer à partir de 7DP11 dans mémoire îpréparer transfert dans zone 1 sinitialiser module "décodage" I îadresser LN1 de IPEF îintroduire LN1 ;lire une valeur 71a préserver 7préserver longueur de G1 »à utiliser pour cumuler longueur ;R2-t-début de G1TBL 2334148 (S7) SJ0IN3: CS8) CS9) MOV CLR TST BNE CMP BLOS MOV CSIO). 10 tSllî SJ0IN4! (.S121 15 CS13I S135; 20 CS14} 25 MOV MOV JSR MOV DEC BNE MOV SUB DEC MOVB (SIS) -879-2(SP),R3 RI 2(R2) SJ0IN4 (R2),Rl SJOIN4 R2,R4 MOV (R2),Rl ADD #6,R2 DEC R3 BNE SJ0IN3 MOV DN0C,R3 . SUB Rl,R3 RI,DNOC TD1,TD2 R5,DC0DE1 R0,TD1 R3 S135 TD2,2(R4) TD1,TD2 TD2 TD2,4(R4) 30 ADD TD2,SUM MOVB SBM,5(R4) ;R3^~nombre d'éléments î î a-t-on déjà traité îceci ? - oui ïvérifier si maximum î non max ïpréserver adresse de max îpréserver valeur de max îpointer vers entrée suivante . îil reste des entrées à traiter jcalculer le nombre de îlectures nécessaires pour obtenir îdélimiteurs "début-fin" ïpréserver ancienne valeur de délimiteur îlire ïpréserver îitérer pour lectures R3 î {introduire délimiteur de fin ^calculer longueur ^préserver longueur ïcumuler longueur ^préserver longueur cumulée -880- 2334148 (S16) (S17) 10 DEC BEQ JMP MOV MOV MOV MOV MOV RIS WOLN .+2 SJ0IN2 (SP)+/R4 (SP)+,R3 (SP)+,R2 (SP)+,R1 (SP)+,RO R5 îdécrémenter nombre d'entrées contenues dans table f c'est fait ; restaurer contexte 2334148 GENSRATE: (génération) (Gl) (G2) 10 G202: G204: 15 (G3) 20 ( G4) 25 IG5) 30 MOV MOV MOV MOV MOV CLR MOV MOVB MOV ADD BIS DEC MOV INC DEC BNE DEC BNE MOV MOV MOV JSR MOV JSR CLR CI.R MOV -881-B-14 S OUS -PR OGRAI.ÎÎ.'E "GENERATION" RO#- (SP) RI»- (SP) R2,-(SP) R3,-(SP) R4,-(SP) R4 #WAREA,RI 4(R2),R0 2(R2),R5 #6,R2 #200,R5 R5 R5,(Rl)+ R4 RO G204 R3 G202 R4,W0LN R4/R0 #WAREA,RI R5,SORT #2,WOAR R5,MEMDPM ENUMB. ESCAPE #0LIST,R2 î préserver contexte ; WAREA contiendra la ligne de référence, î prendre longueur jprendre délimiteur de fin i pointer vers entrée suivante î pour codage absolu t calculer valeur d'apparition (O.C.) j transférer dans WAREA ; c'est-à-dire engendrer la ligne de référence j cette entrée est-elle complète ? ï - j décrémenter nombre d'entrées contenues dans G1TEI/G2!IElj ïce n'est pas fait ïlongueur de la ligne de -, réference «préparer pour "classement" J ; classer ligne de référence 7 ; transférer dans zone 1 mémoire DPM ; effacer numéro d'événement -882- 2334148 (G6) (G7) GJ0IN1: (G8) (G10) (Gll) (G12) GJOIN2: (G13) (G14) GJOIN3; (G16) (G17) (G18) HOV WOLN,R3 HOV (SP),R4 TST (R4) + HOV (R4)+,R0 HOV #WOAR,RI ADD #400,ENDMB JSR R5,OUTPUT TST 2(RI) BEQ GJOIN5 CMP #1,(RI) BEQ GJOIN2 HOV #HAREA,R0 JSR R5,DPHMEH HOV il,(RI) JSR R5, MEMDPM HOV DlINIT,STATUS HOV #6,AI HOV 2(RI),DATAO JSR R5,DCODEl TST RO BMI GJOIN5 ADD ENUMB,RO HOV RO, (R2) + DEC R3 BNE .+2 ' INC ESCAPE ; transférer longueur dç raccourci (ligne de référence) dans R3 ; E4 pointe vers LXET ointe au-delà du délimi- eur t RO ; prendre numéro d'événement actuel » a-t-on obtenu quelque chose ? ; non j les résultats sont-j.ls dans la zone 1 delà memcdr^ î oui i t s initialiser pour module "décodage" I j introduire longueur ; dans LN1 de IERF î j a-t-on atteint EOD ? ; oui ; placer numéro d'entrée dans multiplet de gauche » introduire OLIST ; est-il nécessaire de dé-« çréme»fer„ncmhre de cocœespai-aances ? Jnon ; oui -mettre "échappement" -883- 2334148 €319} GJ0IN5 : (G20) (G21) 10 (G22) JMP TST BNE JMP MOV MOV JSR MOV MOV MOV MOV MOV RTS GJ0IN3 ESCAPE .+2 GJ0IN1 OLIST,RI WOLN,RO R5,SORT (SP)+,R4 (SP)+,R3 (SP)+,R2 îvérifier si le drapeau "échappement" est mis ïc'est fait ïce n'est pas fait, itérer ; classer OLIST par iordre décroissant {restaurer contexte -884- 2334148 B-15 SOUS-PBOGRSLIKE "CLASS5L-SKT" SORT: (classement) MOV HOV HOV RO,-(SP) Rl,-(SP) R2,-(SP) (SRT1) HOV MOV R3,-(SP) R4,-(SP) ■ (SRT2) (SRT3) DEC HOV RO R1,R2 t décrémenter le compte de 1 î préserver début liste (SRT4) SRTJ1: CMPB (RI), 2 (RI) • A^j Ï.A^+1 ' BHOS SRTJ4 * > (SRT5) SRTJ2: (SRT6) MOV CMPB BHOS R1,R3 (R3), 2 (R3) SRTJ3 ï R3 contient pointeur de liste actuel t • MOV (R3) ,R4 t (SRT7) * MOV 2 (R3J , (R3) t échanger entrée MOV R4,2(R3) t (SRT8) SRTJ3: DEC . R3 t remonter liste CMP . R3,R2 I est-ce au début ? ( SRT9) .BHOS SRTJ2 t non (SRT10) SRTJ4: INC DEC RI RO t pointer vers entrée suivante t est-ce fait ? (SRT13) BEQ .+2 I oui • JMP SRTJ1 ; non - itérer * MOV (SP)+,R4 - HOV (SP)+,R3 ( SRT12) MOV MOV MOV RTS (SP)+,R2 (SP)+,R1 (SP)+,RO R5 ; restaurer contexte 2334148 -885- 10 , PRINTR: v (imprimante) tPRNTRl) (PRSTR2) IPRÎJTR3) (PRNTR4)PRNTJl: CPRNTR5) (PRNTR6) B 16 SOUS -FROGR AMf.rE "IMPRIMANTE" (PRIHTR) MOV RO,-(SP) MOV MOV MOV MOV MOVB JSR DEC BNE MOV MOV MOV RTS Rlr-(SP) R2,-(SP) (R5)+,R1 (R1)+,R2 (R1)+,R0 R5 ,PRNTC R2 PRNTJl (SP)+,R2 (SP)+,R1 (SP)+,RO R5 j adresse de sortie/ajuster renvoi îlongueur de sortie r I sortir un caractère î 2334148 -886- B 17 SOUS-PRCGRAI.ÏKE "IMPRESSION D'UN CARACTERE (PRNTC) j programme d'impression d'un caractère PRNTC: TSTB BPL MOVB RTS TPS .-4 R0,TPB R5 .i vérifier état ) pas prêt ; sortir le caractère B 18 10 SOUS-PROGRAMME "SELECTION D'UN CARACTERE" (GETC") î programme de sélection d'un caractère r INC TKS tpréparer le clavier TSTB TKS ; attendre le caractère BPL .-4 t TSTB TPS tpréparer contrôle"par écho" BPL .-4 MOVB TKB,TPB 'jcontrôler le caractère "par écho" MOVB TKP,RO « le placer dans RO BICB «200,RO •îeffacer le huitième bit RTS R5 îrenvoyer -887- 2334148 B 19 • PROGRAMME "COMPOSITION"-STRUCTURES DE DONNEES EHDFL: .BM 0 ERRSW: ."M03Î- 0 FLTSW: . MOT;- 0 BVFLG: • MOT" 0 EXIT: .HÔT- 0 (suspension) - G1ADR: .".ÎIOÎ 0 SUM: ;TK0ï 0 ENUMB: .*KOT 0 PSTRING: .BLK 100 OLIST: .BLK 100 G1TBL: .BLK 22 G2TBL: .BLK 22 CVRTBL: .BLK 77 CVTBL2: .BLK 77 Aï .ASCII /&/ B: .ASCII /B/ C: .ASCII /c/ E: .ASCII /E/ L: .ASCII A/ Ps .ASCII /P/ Wî .ASCII M Y: .ASCII A/ BLÂHK-î (blanc;) .ASCII / / -PEHIOD: (pointé. ASCII /./ ' ZERO: (zéro-) .ASCII /o/ rSIHE: (ne\af ;) •ASCII /9/ -888- 2334148 crlfa: jtqœ-v* 4 .ASCII / @ @ * / .rpjeffi' CNGMSG: .JR5!P " 5 .ASCII / HANGE / •E&IE ENDMSG: .MOT" 2 .ASCII / ND / ïPiESF ALPHMSG: .MOT "* 4 .ASCII / LPHA / .PAE* BVCOMSG : »K6Î~~ 3 .ASCII / VCO / .pauc lngmsg : .mot* 4 .ASCII / HGSW / JffitR* CRLF : .îîOT-i 2 .ASCII /@)@/ .PAIE ERRMSG : .M©T^ 17 .ASCII / EEHEDR DE FŒKA? / .PAIR TOHSG: JtOT-1 4 .ASCII / TO / jpAm NULLMSG: .MOT 15 .ASCII AUCUNE COERESPONfiANCE TEOUVEE / •PAIE" -889- 2334148 MOHMSG: .MOT 25 .ASCII / IMPRIMER UNE AUTRE ENTREE ? .PAIR TEST: (dix:) .MOT 12 F100: .FLOTTANTE 100 TENTH: (dixième:) .FLOTTANTE 0,1 FPGO: .FLOTTANTE 0 FRNO: .FLOTTANTE 0,5 -890- 2334148 B-20 STRUCTURES DE DONNEES 15 l Strutures de données f i L1SW: 0 EXIT: 0 ..ESCAPE: ,J (ecnappementj 10 20 25 30 BRSW: WDEL: SDEL: RLNO: RLN1: ESTAK'. ASCII / «6 / ASCII / # / 0 0 .BLK 256 en-tâte de jîôuche 0 LOPTR: HWO: NEO: TIKO: LOET 0 0 0 en-tâte de xtettche 1 L1PTR: HW1: NE1: TIK1: PNBPTR: PNBCNT: PNBOUT: L1ET 0 0 0 PNBOUT ï aiguillage de décision "couche 1" I aiguillage de décision "sortie de ■boucle" ; aiguillage de décision "échappement module" ; aiguillage de décision module "concordantiel" ; délimiteur de mot - blanc ; délimiteur de phrase - 'f ' j longueur de demande de couche 0 l longueur de demande de couche 1 î bloc de 256 mots pour pile d'événements BLK 256 ; pointeur vers table d'événements ae couche 0 ; largeur d'hologramme, couche 0 ; nombre d'événements, couche 0 înuméro de "top" le plus élevé de la couche } pointeur vers table d'événements de couche 1 7 largeur d'hologramme, couche 1 î nombre d'événements, couche 1 î pointetir pour trouver résultat final des opérations J' "cadrage" et "concordantielle" i nombre d'entrées contenues dans la table î pointeurs de début pointant vers liste de sortie -891- 2334148 Fl: hw: 5 RLN: LPTR: LOET: LlET: 10 DNOC: NOC: Îfi 0 0 0 .Mcœ^ o : .blk 256 .word 0 :.blk 256 0 0 1 engendrer une constante en virgule flottante J dont la valeur est 1 ïespacer pour raccourci nul ; table d'événements, couche 0 ;espacer pour raccourci nul «table d'événements couche 1 jnombre,de 1 contenus dans la rangée 0 du délimiteur actuel ïpréserver zone pour DîIOC 15 DOAR: DOLN: DAREA: 0 .0 .blk 256 jzone de transfert de délimiteur 20 WOAR: WOLN: WAREA: 0 jzone-de transfert de raccourci ac tuel 0 . ; .blk 256 ï a2ad: m3ad: BRCNT: cv: nh: 0 0 0 0 0 ^pointeur d'adresse temporaire en au ii jpointeur d'adresse temporaire zone 3 mémoire MM ; îvaleur de centre de cadre jn ombre de correspondances 30 ddflg: td2: tdi: di: 0 0 0 0 ïdrapeau "délimiteur" mis pour "décodage" délimiteur j préserver zones j préserver zones pour valeurs lues -892- 2334148 N: S: DO: 5 AICNT: . Structures globales On supposera que les définitions globales suivantes ont été ■ faites : 10 1. Des registres ont été définis; 2. des bits d'état ont été définis pour les registres STATUS de DPM; 3. Des registres de DPM ont été définis En outre, certaines valeurs sont supposées être globalement 1.5 définies : PW -largeur de cadre - définie avant appel du programme "analyse grammaticale" PCO -valeur de délimitation de cadre BVCO -valeur de délimitation de concordance 20 ALPHA -utilisée pour le calcul de la longueur IiNGSW -utilisée si la longueur doit être prise en considé ration. L'en-tête de raccourci comporte quatre valeurs : --- 1. Pointeur du raccourci ; 25 2. Numéro de rangée du raccotirci; . 3. Longueur du raccourci; 4. Nombre de 1 contenus dans la rangée 0 de cet événement. 0 j en provenance du module "concor dantiel" 0 | 0 . t 0 î adresser "moniteur" -893- 2334148 B-21 CONSTANTES DEFINIES PAR LE PROGRAMME "COMPOSITION" FIRST = 400g LAST = 200g 5 DPM S 00 o PBM 8 100g DELOP = 1000, . D1INIT= ro o o o 10 - SMGO S 00 HI O CMGO 8 02g OMGO 8 03g PIPGO » O 00 15 BRGO 8 058 D1GO 8 06g -894- 2334148 B-22 CODE POUR LE PROGRAMîE "BASE DE DONNEES" 7 DATABAS - est le programme initial appelé lorsqu'on ( base de données ) travaille avec le système quelle que soit la capacité. (DB1.0) STOCKER CONTEXTE - On suppose qu'on utilise un certain type de système d'exploitation (par exemple le type dit "operating system") bien que cela ne soit pas indispensable. Pour cette raison, les registres RO-R5 sont préservés. DATABAS: (DB2.0) MOV RO,-(SP) MOV Rl,-(SP) MOV R3,-(SP) MOV R4,—(SP) MOV R5,-(SP) CLR ENDFLAG î stocker contexte en préservant les registres 7 RO-R5 ; Cet ordre initialise 1'aiguillage ENDFLAG ' (drapeau "fin"). Cet ai-7 guillage est mis à 1 en t DB9.0 en réponse à un ordre "FIN" et est testé en DB11.0 pour déterminer f s'il y a lieu de suspendre l'exécution du pro-' gramme "base de données". JOIN1: JSR R5,PRINTR (DB3.0) .WORD PLUSMSG î Le est utilisé comme 7 symbole de "blanc", c?est- a-dire d'espacement. Le 7 système doit comporter un j moyen quelconque permettant de signifier à l'uti-7 lisateur qu'il (le système) ; est prêt à accepter un -895- 2334148 10 (DB4-.0) JSR R5,GETC 15 20 (DB5.0) 25 ordre. A cet effet, le système imprime le symbole "+" au début d'une ligne puis déplace la tête d'impression d'un intervalle vers la droite; par exemple : + t__/la tête d'impression est maintenant ici, t- cet espace a été sauté, c'est-à-dire qu'un blanc a été "imprimé". Ce pas et le code associé provoquent le transfert à un sous-programme qui lit un caractère à partir du clavier et renvoie ce caractère dans le registre RO. Ce pas s'étale sur tout le code. Il vérifie le code contenu dans RO pour rechercher la présence éventuelle de l'un des caractères I,A,R,E. Si RO est égal à l'un quelconque de ces caractères, la commande passe au pas approprié ; sinon la commande passe en -896- 2334148 DB10.0 et un message d'erreur est imprimé. Les "blocs" ou ensembles de pas DB7.0 et DB8.0 ainsi que le pas DB9.0 vérifient chacun le caractère associé, c'est-à-dire respectivement A, E et E. Si le caractère as-10 ; socié est trouvé, la com mande est transférée au code correspondant au bloc ou au pas; sinon, la commande passe au bloc 15 ; ou au pas suivant. CMPB R0,I ; vérifier si le caractère est un "I" BEQ .+2 ; dans l'affirmative, exé cuter le bloc DB6.0 20 JMP TLBM ; sinon, vérifier le bloc DB7.0 pour "A". BLOC "INITIALISATION DE COUCHE" - le code de ce bloc est exécuté en réponse à la frappe d'un "I" par l'utilisateur. Le système est initialisé pour l'acceptation de données. Ce bloc doit 25 ; être le premier à être exécuté après la mise sous tension ini-ti aie * (DB6.1) JSR E5,PRINTR ; L'utilisateur a tapé un "I". -897- 2334148 5 (DB6.2) 10 .WORD IîttTHSG MOY ^2,R1 NEG- R1 15 20 M0V*2,R1 KEG R1 MOV #177 ,R2 25 MOY *CVRTBL,R3 30 Le système répond en imprimant le reste du mot "INITIALIZE". Cette impression plus complète est faite simplement pour faciliter la tâche de l'utilisateur. La machine est organisée en multiplets mais les entrées des LOET, tables d'événements de couche 0, sont en mots. En conséquence, chaque entrée de CVRTBL est "-2" de sorte que, lorsqu'une telle entrée est ajoutée à l'adresse de "base LOET, l'adresse devient LOET-(un mot). Ces deux instructions placent un -2 dans le registre R1; R2 contient la longueur de la table 1778 - 12810 . Il existe 128 caractères ASCII possibles de. 7 bits chacun. Cette instruction place l'adresse de base de CVRTBL dans le registre R3. 15 -898- MOVB H1,(R3)+ 10 DEC R2 BÏÏ2 .-2 ;(DB6.3) 20 MOVB ASTERISK,R1 MOV #177,H2 25 MOV #CVTBL2,R3 MOVB R1,(R3)+ 2334148 CVRTBL est une table organisée en multiplets, c'est-à-dire que toutes les entrées ont un multiplet de longueur. L'instruction transfère un -2 à l'adresse vers laquelle pointe R3. Puis R3 est incrémenté d'une unité. Décrémente la longueur d'une unité - lorsque R2 atteint 0, chaque intervalle de la table a une valeur -2; tant que R2 n'est pas 0, itérer a l'instruction MOVB. Ce code est très analogue au code ci-dessus, seuls l'adresse de base et le contenu de R1 changent. Place le code ASCII correspondant à dans R1; Longue tir de la table (177g=12810) dans R2; Adresse de base de la table ; Transfère un astérisque dans l'intervalle; -899- 2334148 DEC E2 BKE .-2 (DB6.4-) 5 10 MOV #SEEDED,NXTSH 15 (DB6.5) 20 25 la table est-elle pleine? non - itérer jusqu'à ce que la table soit pleine. Une partie des tores ont été réservés à l'en-tête de raccourci. L'adresse de base de cette partie des tores est SEEUHD. Initialiser NXTSH - (pointeur de l'adresse disponible suivante pour un en-tête de raccourci) à l'adresse de base. L'en-tête de couche de la couche 0 doit être initialisé. Cet en-tête a quatre mots de longueur. Il est initialisé en supposant que l'événement de délimiteur existe et correspond à un "top" d'horloge 0 . (Cette opération est effectuée dans le cadre du bloc DB6.6). -900- 2334148 10 20 (DB6.6) MOV LOPTR,R1 MOV #L0ET,(R1)+ MOV fr1,(R1)+ MOV #1,(R1)+ CLR (R1)+ Cette instruction transfère l'adresse de base de l'en-tête de couche 0 dans le registre R1 L'adresse de la table d'événements de couche 0 est transférée dans l'entête la largeur d'iso-entropicogramme est mise à 1. Le nombre d'événements de cette couche est mis à 1, ce qui correspond à un événement de délimiteur qui sera créé pendant l'exécution du bloc DB6.6. TIKO est mis à 0, ce qui correspond au top d'horloge de rang le plus élevé dans cette couche. Cette instruction crée un en-tête de raccourci de délimiteur et un raccourci ayant l'unique valeur d'horloge (0). Le raccourci est stocké dans le premier mot de l'espace disponible (AS). -901- 2334148 10 15 20 30 MOV NXTSH,LOET MOV NXTSH,R1 ADD fr10,NXTSH MOV $ÂS,(E1)+ 25 CLR (R1)+ MOV #1,(R1)+ Cette instruction oriente le pointeur de l'adresse d'en-tête de raccourci suivante vers le premier intervalle de la table d'événements de couche 0 La même adresse est préservée dans R1. 10g=8io est ajouté à l'adresse contenue dans NXTSH. Le résultat est rangé dans NXTSH. Il en est ainsi du fait que chaque en-tête de raccourci a quatre mots, c'est-à-dire 8 multiplets, de longueur. Le premier mot contient un pointeur pointant vers le raccotirci. En conséquence, l'adresse de l'espace disponible (n° de AS) est placée dans le premier mot. Cette instruction indique que la ligne 0 de 1'iso-entropicogramme est le raccourci. La longueur du raccotirci est 1. -902- 2334148 MOV #1,(R1) CLR AS 5 (DB6.7) 15 20 (DB6.8) 25 MOV L1PTR,R1 MOV #L1ET,(R1)+ MOV #1,(R1)+ MOV #1,(R1)+ CLR (R1) MOV NXTSH, L1ET ; Le nombre de 1 de la ; ligne 0 est 1. ; L'unique valeur du rac- ; courci est mise à 0. ; On utilise ici pour ini- ; tialiser l'en-tête de ; couche 1 le même code que ; celui qui a été utilisé ; pour initialiser l'en- ; tête de couche 0. Seuls ; les pointeurs ont été ; changés. ; R1 pointe vers l'en-tête ; de couche 1 ; Le mot 1 contient un ; pointeur de L1ET. ; Largeur de l'iso-entro- ; picogramme = 1 ; Le nombre d'éléments est * 1. 5 La valeur d'horloge de ; niveau haut sur la cou- ; che 1 est 0. ; Situation analogue à ; celle du bloc DB6.6 ; L'adresse de l'en-tête ; de raccourci est intro- ; duite dans la table d'é- : vénements de la couche. -903-MOT NXTSH,R1 ADD #10,NXTSH MOV $AS+2,(R1)+ 10 OLE (R1)+ MOV #1,(R1)+ MOV #1,(R1)+ OIE AS+2 15 (DB6.9) 20 MOV NXTSH,R1 ADD #10,NXTSH MOV R1 ,L0ET-2 30 2334148 Préserver l'adresse dans El. Mettre à jour NXTSH à l'adresse d'en-tête suivante. Placer l'adresse du second mot de l'espace disponible dans le pointeur de raccourci. Le raccotirci est la ligne 0. Longueur du raccourci. Nombre de 1 de la ligne 0. Effacer la valeur d'horloge. Ici encore, l'adresse actuelle de l'en-tête de raccourci suivant doit être obtenue et NXTSH doit être mis à jour. L'en-tête de raccourci ne comprend que des zéros. Transférer l'adresse de l'en-tête de raccourci du raccourci nul dans l'adresse de base moins un mot (deux multiplets) de la table d'événements de la couche 0. -904-- 2334148 5 (DB6.10) 10 15 (DB6.11) 20 CLR (R1)+ CLR (R1)+ CLR (R1)+ CLR (R1)+ MOV *AS+4,PSP CLR MOV f1, LNGSW 25 * MOV #1, ESCAPE Effacer les quatre mots Au début, l'espace libre et l'espace disponible coïncident. L'espace libre commence au troisième mot de l'espace disponible. Les deux premiers mots ont été utilisés pour stocker des valeurs d'horloge de délimiteur. Le premier mot de la liste est mis à 0 pour indiquer le début de l'espace disponible. Certaines constantes globales doivent être "affichées" pour le programme "cadrage". Elles sont "affichées" ici. Initialiser l'aiguillage de longueur. Mettre le drapéau "échappement". Cette opération est effectuée en raison du fait que le "cadrage" n'est exécuté sur la -905- 2334148 10 15 couche 0 que pendant la formation de la base de données. Mettre la largeur de cadre à 0. Mettre la délimitation de concordance à 100 %. STF ACO,BVCO ; (DB6.12) MOV RESTAS,R3 ; Initialiser R3 de façon qu'il pointe vers le sommet d'ESTAK puis transférer la commande en DB11.0. FIN DU BLOC "INITIALISATION DE COUCHE11 (DB7.0) Le bloc suivant à exécuter est le code destiné à assurer la formation des couches dans la base de données. CLR ÏW LDCIF ACO, #144 STF ACO,BVCO MOV fESTAK,R3 JMP JOIN 2 20 (DB5.0) TLBM: CMPB RO,A BEQ .+2 JMP TREQ 25 Ceci constitue une partie du pas DB5.0. Un contrôle est effectué pour rechercher la présence éventuelle d'un "A" et si l'on en trouve un, la commande passe au bloc de formation de couche; sinon, un test "demande ?" ; est effectué. -906- 2334148 10 15 20 25 30 ; Le bloc "FORMATION DE COUCHE" (DB7.0) » (DB7.1) LBM: JSR R5,ERINTR •WORD AEEMSG (DB7.2) CLR LBXIT (DB7.3) LBMJ1 : JSR R5,EEŒER .WORD BGHMSG MOV L1ET,-(R3) MOV L0ET,-(R3) commence ici. L'utilisateur a tapé un "A" et le système répond en imprimant, à la suite de ce "A", les lettres "EPEND". Ici encore, cette opération a pour but de faciliter la tâche de l'utilisateur. Cette instruction assure que le drapeau "suspension", LBXIT, est enlevé avant que la boucle soit attaquée. Le système est prêt à accepter une information d'entrée relative à la base de données. Le système notifie ce fait à l'utilisateur en imprimant un délimiteur de phrase (jfc- ) suivi d'un délimiteur de mot (tf). Etant donné que les deux raccourcis de délimiteur ont été initiali-sés au cotirs de DB6.0, leurs numéros d'événe- -907- 2334148 5 (DB7.4-) M0V^1,RLN1 10 MOY f1 ,RLN0 (DB7.5) JSR R5,GETC 15 (DB7.6- DB7-7) CMPB R0,BLANK BNE .+2 JSR R5,GETC 20 (DB7.8) CMPB R0,CR BNE .+3 (DB7.10) INC LBXIT JMP LBMJ3 ment (0) sont empilés sur ESTAK. Il est rappelé que R3 pointe vers le sommet d1ESTAK Le nombre d'événements de chaque entrée est initialisé à 1. Le système accepte maintenant un caractère à partir du dispositif d'entrée. Etant donné que le système a inséré le délimiteur de mot de début sur ESTAK, si un autre délimiteur de ce type est introduit par l'utilisateur, le système l'ignore et lit le caractère suivant. Si l'utilisateur déclenche immédiatement un retour du chariot, cela indique qu'il en a fini avec le système. Dans ce cas, l'aiguillage "suspension" est mis à 1 et la commande pense en DB7.11 -908- 2334148 (DB7.9.0) 5 10 (DB7.9.1) cm PEXIT MOV fl ,PIPSW 15 20 Si l'utilisateur n'a pas déclenché un retour du chariot, cela signifie qu'il est sur le point d'ajouter une autre entrée à la "base de données. Le bloc DB7.9-0 assure le traitement de cette entrée. PEXIT est remis à 0 avant l'attaque de la boucle. PIPSW est mis à 1 pour indiquer qu'un "cadrage" doit être effectué sur la couche 0. Si à tua certain moment, au cours de l'entrée de la demande, un événement est introduit sur la couche 0 et si cet événement n'existait pas jusqu'alors. PIPSW est remis à 0. Il en est ainsi en raison du fait que l'entrée de couche 0 n'aurait pas pu exister précédemment et que, par conséquent, un "cadrage" serait superflu. -909- 2334148 (DB7-9.2) PEJ1 : CMPB RO,BLAME! BNE CLB (DB7.9.21) JSR R5,PL0E JMP PEJ6 10 15 (DB7.9.3) CLB: CMPB RO,LBSGN BNE CCHR 20 (DB7.9.15) TST L1SW BNE .+2 25 (DB7.9.16) JSR R5, PLOE Un contrôle est effectué pour déterminer la présence éventuelle d'un caractère "blanc". Si l'on en trouve un, ce caractère signale la fin d'un mot. Alors la séquence des événements de couche 0, RLNO, présente sur ESTAK est traitée. Ce traitement est assuré par le sous-programme "traitement d'une entrée de couche 0" (PLOE) et sera décrit plus loin de façon plus détaillée. Si le caractère d'entrée n'est pas un "blanc, m contrôle est effectué pour déterminer si c'est un délimiteur de phrase. Dans ce bloc, L1S\Y est utilisé pour indiquer si l'on a juste achevé le traitement d'une entrée de couche 0. Si l'aiguillage L1SW n'est pas à 1, cela indique que l'utilisateur a introduit un dé- -910- 2334148 5 10 (DB7-9.17) 15 20 (DB7.9.18) MOV L1ET,-(E3) INC RLN1 JSE E5,ADDNE 25 (DB7.9.19) CEE L1SW 30 limiteur de phrase sans le précéder d'un délimiteur de mot, auquel cas le scnis-programme "traitement d'une entrée de couche 0" doit être appelé pour traiter la dernière entrée de couche 0 sur la pile (ESTAS) A ce stade, ESTAK contient une série d'événements de couche 1 commençant par un délimiteur. On place maintenant le délimiteur de fin sur la pile et l'on incrémente la longueur de 1'entrée (BLN1) de 1. Empiler le numéro d'événe-ment de délimiteur (0). Ce sous-programme sera décrit plus loin de façon plus détaillée. Il prend simplement les événements BLN1 supérieurs dans ESTAK et les ajoute en tant qu'entrée à la couche 1. L'aiguillage L1SW est remis à O pour indiquer qu'on n'est plus en train -911- 2334148 10 15 20 25 ADD R1F1 ,E3 OLE ELN1 (DB7.9.20) INC PEXIT JMP PEJ6 (DB7.9.4) CCHE: CLE L1SW (DB7.9.5) CMPB PC,BLANK BNE PEJ2 J©7.9-6) MOY L0ET,-(S3) INC ELNO de traiter des événements de couche 1. Cette instruction a pour effet d'éjecter des entrées ELN1. Eéinitialiser ELN1 à 0. L'aiguillage de sortie de boucle PEXIT est mis à "1 pour assurer une interruption des itérations en DB7.9.23. A ce stade, on sait qu'on est en train de traiter une entrée de couche 0, En conséquence, on remet à zéro L1SW. Cette opération est nécessaire en raison du fait que le sous-programme "traitement d'une entrée de couche 0" met L1SW à 1. Si le caractère précédent était un cela signifie qu'un mot vient d'être traité. En conséquence, la pile doit être réinitialisée. Le sous-programme "traitement d'une entrée de couche 0" éjecte les événe- -912- 2334148 5 (DB7.9.7) MOV *1,PIPSW 10 (DB7.9.8) PEJ2: MOV CVRTBL(RO),R1 15 20 MBI .+3 25 30 ments ELNO actuels d'ESTAK. Si un autre mot suit, le numéro d'événe-? ment du délimiteur de début Tloit être placé sur la pile et RLNO doit être initialisé à 1. Etant donné que ceci est le début d'un nouveau mot, l'aiguillage "cadre" est mis à 1 pour indiquer qu'un "cadrage" est nécessaire. Se rappeler que, dans le cadre du bloc DB6.0, CVRTBL a été initialisé à -2. Cette instruction ajoute le caractère ASCII contenu dans RO à l'adresse de base de CVRTBL. Le contenu de cette nouvelle adresse est alors transféré dans RI. Si R1 contient un nombre négatif, cela indique que ce caractère ASCII n'a pas été traité précédemment et constitue donc un nouvel événement pour le système. -913- 2334148 (DB7.9.9) MOV R1 ,R2 JMP PEJ3 5 10 (DB7.9.10) INC NEO MOV NE0,R2 MOVB R2,C7REBL (RO) MOVB RO,C7TBL2(R2) 25 Si R1 n'est pas négatif, il représente le numéro d'événement de la couche 0 associé à ce caractère ASCII. Le numéro d'événement de ce caractère ASCII est transféré du registre R1 au registre R2. Si ceci est un nouvel événement, il est nécessaire de lui affecter un numéro d'événement et un en-tête de raccourci. Les tables CVRTBL et CVTBL2 doivent être mises à jour, ainsi que l'en-tête de couche. Le nombre d'événements d'en-tête de couche 0 est incrémenté. Cette nouvelle valeur est le numéro d'événement associé au nouvel événement. Ce numéro d'événement est placé dans l'intervalle approprié de CVRTBL. La représentation en code ASCII de cet événement est placée dans CVTBL2. (DB7.9.11) 10 15 30 -914- MOV KXTSH,R1 ADD #10,NXTSH MOV R1,L0ET(R2) C1R (R1)+ 20 CI® (R1)+ CLR (R1)+ CLR (R1)+ 25 (DB7.9.12) CLR PIPSW 2334148 Un nouvel événement a été rencontré. Un en-tête de raccourci doit être obtenu et crée pour ce nouvel événement. Pointeur d'en-tête de raccourci suivant transféré dans R1. Le mettre à jour de façon qu'il pointe vers l'entête de raccourci suivant. Transférer l'adresse de l'en-tête de raccourci dans la table de pointeurs d'événement de couche 0, à l'adresse de LOET spécifiée par le numéro d'événement . Garnir entièrement de zéros les quatre mots de l'en-tête de raccourci pour former un raccourci nul. Etant donné que cet événement n'a pas été utilisé précédemment, on sait que le mot en cours de traitement existe effectivement dans la base de -915- 2334148 (DB7.9.15) PEJ3: MOV LOET(R2),-(R3> 5 10 (DB7-9.14) INC ELNO (DB7.9.22) PEJ6: MOVB RO,PC 15 (DB7.9.23) TST PEXIT 20 BNE .+3 (DB7.9.24) JSR R5,GETC JMP PEJ1 » 25 i FIN DU BLOC "TRAITEMENT D'UNE ENTREE' (DB7.11) LaiJ3: TST LBXIT BNE .+2 30 données. En conséquence, l'aiguillage "cadre" (PIPSW) est mis à 0. R2 contient le numéro d'événement de la couche 0 associé au code ASCII introduit. Ce numéro d'événement est empilé dans ESTAS. La longueur de l'entrée de couche 0 actuelle est incrémentée de 1. Le dernier caractère introduit est toujours préservé pour indiquer le moment auquel un mot a été complété, c'est-à-dire le moment auquel PC = # ; Tester l'aiguillage "suspension" pour déterminer si l'entrée est complète. Si elle ne l'est pas, lire un caractère et itérer. DB7.9.0 Un test est effectué pour déterminer si l'utilisateur a fini d'introduire de l'information dans la hase de données. -916- 2334148 JMP LBJ1 ; Non à 1 - itérer. JMP J0IN2 ; A 1 - sortir de la boucle ; (DB11.0) ; FIN DU BLOC "FORMATION DE COUCHE" (DB7.0) 5 (DB5.0 TREQ: CMPB RO,R 10 15 20 25 BNE TEND TRAITEMENT D'UNE DEMANDE DE COUCHE. (DB8.0) JSR R5,PRINTR .WORD REQMSG JSR B5,FORMATER JMP J0IN2 ï ; FIN DU BLOC "DEMANDE DE COUCHE". (DB5.0) TEND: CMPB RO,E (DB9.0) (DB10.0) DBERR: 30 BNE DBERR JSR R5,PRINTR .WORD ENDMSG INC ENDFLAG JMP J0IN2 JSR R5,PRINTR .WORD ERRMSG Cette partie du code est associée à DB5.0. Un contrôle de recherche de "R" est effectué. Si le caractère d'entrée est un "R", la commande passe au bloc DB8.0 de traitement n de la demande. Sortir le message : DEMANDE. Traiter demande. Le caractère est-il un "E"? L'ignorer. Sortir le message : END DATABAS (FIN DU PROGRAMME "BASE DE DONNEES") Mettre le drapeau "fin". Commande en DB11.0. La commande passe ici si le caractère d'entrée est -917- 2334148 (DB11.0) J0IN2: (DB12.0) TST EÎTEFLAG BNE .+2 JMP JOINl MOV (SP)+,S5 MOV (SP)+,R4 MOV (SP)+,R3 MOV (SP)+,R2 MOV (SP)+,R1 MOV (SP)+,RO HALT JMP DATABAS END ; fin du programme "base de données". inintelligible. Un message d'erreur est sorti. La commande passe ici à partir de tous les modules. En a-t-on fini ? Oui. Non - itérer. ; Restaurer contexte. Arrêter le programme "base de données". Itérer - après l'arrêt du programme, 1'utilisateur peut provoquer sa reprise en appuyant sur le bouton "CONTINUE" (poursuivre) sur la console. -918- 2334148 ; Sous-programme "traitement d'une entrée de couche 0" (PLOE). 25 (PLE1) PLOE: (PLE2) MOV RI,— (SP) MOV LOET,-(R3) INC RLNO 10 15 (PLE3) (PLE4) (PLE5) TST PIPSW BNE .+3 JSR R5,ADDNE JMP PL0EJ2 20 MOV RLNO,PCO CLR PNBCNT JSR R5,PIPE 30 (PLE6) TST PNBCNT BNE .+3 Préserver R1. Lorsque le sous-programme "traitement d'une entrée de "couche 0" est appelé, le dé- " "limit.eur de fin n'est pas sur ESTAK. Ce code le place sur ESTAK et incrémente de 1 la longueur de la demande de couche 0» Vérifier l'aiguillage "cadre" Il est à 1 - effectuer le "cadrage". L'aiguillage PIPSW n'est pas à 1. En conséquence, les événements ELNO d'ESTAK sont ajoutés à la couche 0 en tant qu'entrée.. Le module "cadrage" est appelé. Tout est organisé pour demander une correspondance exacte. Il doit y avoir autant de correspondances dans le cadre qu'il y a d'événements dans l'entrée. L'instruction CLR PHBCHT met effectivement à zéro la liste de sortie PUBOUT en affirmant que le nombre d'entrées de la liste (EKBCHT) est nul. Aller faire le "cadrage". On vérifie s'il existe une correspondance exacte en testant PHBCHT. Si celui-ci est encore nul, cela signifie qu'aucune correspondance exacte n'a été trouvée. S'il n'est pas nul, une correspondance exacte a été trouvée. -919- 2334148 (PLE7) JSR R5,ADDNE JMP PL0EJ2 (PLE8) MOV PNBOUT,RI (PLE9) PL0EJ2: 10 ADD RLN0,R3 CLR RLNO (PLE10) 20 î Aucune correspondance exacte n'a été trouvée..Par conséquent, cette entrée doit être ajoutée à la couche 0. Commande en PLE9. Une correspondance exacte a été trouvée. Le premier mot de la liste de sortie PNBOUT est le numéro d'entrée de niveau O (événement de niveau 1). Le traitement est terminé pour les événements ELNO supérieurs d'ESTAK. Ceux-ci sont éjectés de la pile en ajoutant ELNO à R3, pointeur d'ESTAK. La longueur de l'entrée de couche 0, ELNO, est remise à 0. Les événements de couche 0 de la dernière entrée ont été "éjectés" de la pile. Le numéro d'événement de couche 1 correspondant à l'entrée de couche 0 est alors poussé jusque sur ESTAK. 25 (PLE11) HV UET(Rl)f-(R3) INC RXiNl INC L1SW 30 (PLE12) MOV (SP)+,R1 RTS R5 Incrémenter le nombre d'entrées. Mettre à 1 l'aiguillage "couche 1" pour indiquer que le sommet d'ESTAK contient des événements de couche 1. ; Restaurer R1. i Suspendre sous-programme "traitement d'une entrée de couche 0". -92C- 2334148 10 15 ; Sous-programme ADDNE i "Addition de N événements" (ajoute les événements RLN0/RLK1 ^supérieurs d'ESTAK aux couches 0/1). C'est un programme inpor-; tant étant qu'il manipule effectivement la base de données. t R1 est détruit; la valeur sortie est le numéro d'événement. (ANE1) ADDNE: MOVRO,-(SP) (ANE2) (ANE4) MOV R2,-(SP) MOV R4,-(SP) TST LlSW BEQ ADNFl ! Préserver contexte. ; Tester aiguillage "couche 1" ; Non à 1 - il s'agit de la couche 0 MOV IilPTR,LPTR ; j,a commande passe ici lorsqu'une entrée de couche 1 ; est en train d'être traitée. ' En conséquence, l'adresse de j l'en-tête de couche 1, KW1, et RLN1, sont transférés dans ' les registres de logiciel ; communs LPTR, Hïï et RLN. RLN est décrémenté pour compenser 9 , l'addition du délimiteur de • début. Il a été ajouté lors j du traitement de l'entrée de couche 1 précédente. MOV HW1,HW MOV RLN1,RLN DEC RLN BR ANEJ1 20 {ANE3) ADNFl: t Ce bloc est identique à ANE4-, .à cela près qu'une entrée de couche 0 est en train d'être ' traitée. MOV LOPTR,LPTR ; Prendre pointeur de couche commun. MOV HWO,HW «Largeur de 1'iso-entropicogramme. MOV RLNO,RLN ; ITonbre d'événements de l'entrée. DEC RLN JEviter délimiteur de début. 30 -921- 2334148 (ANE5) ANEJ1: ANEJ2: MOV (g LPTR, LXET MOV LPTR,R2 INC 6(R2) (ANE6) 10 15 (ANE7) (ANE8) 20 25 MOV *1,CNGDPM MOV fl,CNGLNG 50 ; Transférer 1'adresse de la table de pointeurs d'événement de couche actuel-* le. dans LXET. R2 Prendre la valeur de top s supérieure suivante pour jcette couche. CMP 2(R2),6(R2) BHOS .+2 ROI. 2 (R2) Un contrôle est effectué pour déterminer si le nouveau numéro de top a dépas-sé la largeur de 1'iso-entropicogramme. Dans l'affirmative, la largeur de 1'iso-entropicogramme est doublée. A noter que HÏÏX est le mot 2 de 1'en-tête de couche tandis que TIKX est son mot 4. tLe vecteur de modifica-^ tion aura un seul top de longueur pour chaque évé-î nement. Chaque événement I est tiré hors d'ESTAK et on lui affecte la valeur ' de top séquentielle sui-I vante. Cette valeur est • alors ajoutée au vecteur d'apparition d'événement 'de 1'événement considéré. ; Ceci est une zone de deux . mots qui est utilisée par les programmes DEMMEM/ ' MEMDPM. Le premier mot î est le numéro de la zone du module "mémoire" du système DPK à utiliser, 1 le second est la longueur }physique en mots. La zone 1 de la mémoire est ac-'tuellement utilisée et sa l longueur est d'un mot. t -922- 2334148 HOV 6(R2),CNGVEC 10 «OV |CNGVEC,RO MOV «CNGDPM, RI JSR R5, MEMDPM 15 (ANE9) MOV R3,R2 ADD RLN,R2 ADD RLN,R2 20 25 MOV —(R2),R4 m3v 4 (r4) ,seedpmi-2 30 La valeur contenue dans le mot 4- de l'en-tête de couche X (c'est-à-dire dans TIKX) est transférée dans la zone désignée par CNGVEC. C'est cette valeur qui sera ajoutée au vecteur d'apparition d'événement de l'événement considéré. Etablir des adresses R0/R1 appropriées pour l'appel du sous-programme. Transférer la valeur contenue dans CNGVEC à la zone 1 du module "mémoire" du système DPH, transférer le raccourci actuel dans Dlîî. Préserver sommet de pile. ELN contient le nombre d'événements de la demande. On ajoute 2 x ELN étant donné que des mots sont en train d'être adressés. E2 pointe maintenant vers le premier événement de l'entrée. Se rappeler que les événements sont en ordre inverse dans la pile. Transférer le pointetir de l'en-tête de raccourci de l'événement, de la pile dans R4-. Transférer le troisième mot de l'en-tête de raccourci (c'est-à-dire la longueur du raccourci) dans le second mot de la' zone dont l'adresse de base est SEEDHI. -923- 2334148 HOV (R4),R0 (ANE10) HOV #SEEDPM,R1 JSR R5,MEMDPM 1 Transférer dans RO le premier mot de l'en-tête de raccourci (c'est-à-dire tl'adresse du raccourci). ; Se tenir prêt pour le transfert. î Effectuer le transfert. Le fichier de registres de paramètre d'entrée (1ER]?) 'doit être initialisé aux } valeurs appropriées. 10 CLR STATUS ; S'assurer que le mot STATUS est effacé. 15 20 25" HOV #1,AI HOV HW,DATAt) CLR DATAO CLR DATAO 30 jAI contient l'adresse de début de IPRF. ï jTransférer la largeur de j1'iso-entropicogramme dans le registre "limite supé-'rieure" de IPRF (TL). îVider registre "limite inférieure" (BL) et incrémen-ter registre (IR). Ces trois 'registres (TL, BL et IR) j sont ajustés en raison du fait qu'ils sont utilisés 'par le module "codage". /Transférer le second mot de 'l'en-tête de raccourci (c'est-à-dire le numéro de 'ligne du raccourci) dans t IPRF VCN Q*3HMf2,DSiaO ; Transférer longueur du vec-jteur de modification dans IPRF. VOJ SEED£Wf2,DMSO {Transférer longueur du raccourci dans IPEF. I MOV 2(R4),DATAO -924- 2334148 10 15 20 25 (ANEll) (ANE12) ADD DPMKMGO,SmTUS BIT BDONE,STATUS BEQ .-1 CLR STATUS MOV #1 ,AI MOV DATAI,CNGLIN : Appeler module "modification" . «Faire un test "terminé ?" î Attendre jusqu'à ce que BDONE soit mis à 1. ' le nouveau raccourci mis à j jour est transféré de DPM dans une zone (UAREA) de *- la mémoire principale. » Se préparer à lire les ré-i sultats î Prendre numéro de ligne du j nouveau raccourci. MOV i * i • 9 Prendre longueur du nouveau raccourci TST DATAI 9 Faire glisser le long d'- MOV • ONOC DATAI,CNGDPM 9 Déterminer zone "mémoire DHf" du raccourci MOV #HftREA,RO S Se préparer au transfert MOV #CNGDPM,Rl m t JSR R5,DPMMEM 1 Effectuer le transfert. (ANE13.0) I MISE EN KEKOIRE D'UN NOUVEAU RACCOURCI (ANEIJ.O) t Maintenant qu'un nouveau raccourci a été obtenu, il doit être t mis en mémoire. Le bloc de code suivant transfère le raccourci ï à partir de 7/AREA. à son emplacement approprié en mémoire. (ANE13.1) (ANE13.2) MOV R2,-(SP) MOV R3,-(SP) MOV R4,- (SP) MOV CNGLNG,NSLN ADD #2,NSLN MOV SEEDPM+2,OSLN 30 .y Préserver contexte. î Une valetir 2 est ajoutée à . la -longueur du nouveau raccourci de façon que celui-' ci puisse être inséré con-; jointement à l'information . d * enchaînement. -925- 2334148 (ANE13.3) CMP OSLN,NSLN BLT .4-2 JMP PNSHI JSi la longueur de l'ancien . raccourci est plus grande que celle du nouveau raccotirci, alors ce dernier peut être stocké sur l'ancien raccotirci et l'espace en excès peut être renvoyé à "espace libre"; sinon, de l'espace doit être trouvé pour placer le nouveau raccourci. (ANE13.4.0) 10 15 > BLOC "RECHERCHE D'ESPACE LIBRE" (AIIE15.4.0) î La longueur du nouveau raccourci est plus grande que celle de l'ancien raccourci. î En conséquence, l'espace libre doit être exploré en vue de trou- ? ver un emplacement permettant de stocker le nouveau raccourci. R1 est détruit. (ANE13.4.1) MOV R2 ,-(SP) (ANE13.4.2) MOV R3,-(SP) CLR RI 20 HOV FSP,R2 MOV #FSP,R3 25 (ANE13.4.3) SFSJ1: CMP NSLN,2(Rl) BLOS .+2 JMP SFSHI 7Préserver H2, R3. t ïR1 est détruit. Il mémorise-jra le résultat de cette recherche. » ;R2 contient l'adresse du dé-jbut de l'espace libre. ïR3 pointe vers le maillon îprécédent. Il est initialisé ïici de manière à contenir îl'adresse de PSP. JLe nouveau raccourci tiendra-;t-il dans cette zone ? Non, jprendre un autre maillon. 30 2334148 -926- (ANE13.4.4) HOV R2,R1 10 ADD NSLN,R2 SOB #2,R2 (ANE13.4.5) 15 20 (ANE13.4.6) 25"' (ANE13.4.7) HOV R2, (R3) HOV (Rl),(R2) MOV 2 (RI) , 2 (R2) SUB NSLN,2(R2) ADD #2,2(R2) SUB NSLN,UNSP ADD #2,ONSP JMP SFSJ2 30 SFSHI: MOV R2,R3 t le nouveau raccourci tien-I dra dans cet espace. Le maillon précédent est ajus-' té dans une mesure correspondant à l'espace nécessaire au nouveau raccourci 'RI est l'adresse initiale ; à laquelle le nouveau rac-I courci sejpa placé. ; Ajouter NSLN à E2 et ré-; gresser de 2. R2 pointe ; maintenant vers la fin de l'espace réservé au nouveau raccourci. |Les maillons de la liste d'espace libre sont main-ïtenant ajustés. îLe maillon précédent est jmis à jour au point de vue pointage par le nouveau ' raccourci IL'ancien "maillon suivant" est transféré à l'adresse 'contenue dans E2. îLa longueur est déplacée vers la fin de la chaîne. »La longueur du nouveau rac-jcourci est retranchée. ïUne quantité égale à la .'longueur du nouveau rac-'courci est retranchée de îl'espace inutilisé ,(TJNSP) t Si la commande passe ici, cela signifie que le nou-* veau raccourci ne tiendra ' pas dans cette zone d'es-j pace libre. En conséquence, le pointeur doit être ; mis à jour. f Le maillon actuel devient ; maillon antérieur. _927- 2334148 10 15 20 25 30 (ANE13.4.8) (ANE13.4.9) MOV (R2),R2 (ANE13.4.10) TST (R2) BNE SFSJ2 MOV R2,R1 (ANE13.4.11) ADD NSLN,(R3) SOB #2,(R3) (ANE13.4.12) CLR £{R3) ; jPrendre nouveau maillon actuel îSi l'extrémité de l'espace libre est atteinte (c'est-'à-dire si l'on est arrivé au début de l'espace disponible), le maillon d'enchaînement avec la zone d'espace libre disponible 'suivante est nul. jTTn test relatif à cette condition est effectué en ;ANE13.4.9. jAu niveau de ce bloc, tout l'espace libre a été explo-'ré et aucune correspondance n'a. été trouvée. En conséquence T le nouveau raccourci sera placé dans 11'espace disponible. jRégler,R1 à l'adresse de jdébut de l'espace disponible. jAjuster maillon précédent j au nouveau début de 1'es-jpace disponible. ; L'emplacement vers lequel ^pointe le maillon précédent est mis à 0 pour in-■'cliquer l'extrémité de l'es-.jpace libre et le début de l'espace disponible. t (ANE13.4.13) SFSJ2: TST RI BNE .+2 JMP SFSJ1 ;Non (&NE13.4.14) MOV (SP)+,R3 MOV (SP)+,R2 ; Pin de-i'RECHERCHS d'ESPACE LIBRE".(ANE13.4.0) ;A-t-on trouvé un intervalle ? 'Oui t -928- 2334148 (ANE13.5) (ANE13.6) 10 15 2Q (ANE13.7) HOV CNGLNG,RO HOV #WAREA,R2 HOV (R2)+,(Rl)+ DEC RO BNE .-2 HOV OSLN,RO HOV $4),RI JSR R5,RELSP JMP PNSJ1 PNSHI: MOV (R4),R1 jLe nouveau raccourci est transféré de WAREA dans la zone vers laquelle pointe *E1. îLongueur du nouveau raccourci ;Adresse du nouveau raccourci. îlnsérer nouveau raccourci. *L"espace utilisé piar l'ancien raccourci non mis à jour est libéré et redevient espace libre. Le sous-programme ^"libération d'espace" sera décrit plus loin de façon plus détaillée. Se préparer à libérer l'espace occupe par l'ancien rac- j courci. » Libérer cet espace. jVenir ici si le nouveau rac- } courci s'adapte sur 1'ancien. îR1 contient le premier mot de l'en-tête de raccourci (c'est-à-dire l'adresse de ïl'ancien raccourci) MOV CNGLNG,R0 ;R0 contient la longueur du nouveau raccourci. 30 MOV *WAREA,R2 MOV (R2)+,(Rl)+ ' DEC RO BNE .-2 îAdresse du nouveau raccourci. îEffectuer le transfert. ?Décrémenter longueur du nouveau raccourci. f ■îSe rebrancher deux instructions en arrière. -929- 2334148 (ANE13.8) 10 15 20 25 30 MOV OSLN,RO SDB CNGLNG/RO JSR R5,RELSP (ANE13.9) î L'espace inutilisé par le nouveau raccourci doit etre renvoye a "espace t libre" j Longueur de l'ancien raccourci . » La remplacer par la longueur du nouveau raccourci. «Libérer l'espace en excès. ïSi l'étendue de l'espace inutilisé est supérieure à 1K, une récupération des tpositions inutilisées doit t être effectuée. PNSJl: CMP *1750,UNSP » Est-il temps de procéder à une-récupération des po-tsitions inutilisées ? ;0ui. ;Non. i BLOC "RECUPERATION DES POSITIONS INUTILISEES" (ANE13.10.0) BLOS .+2 . JMP FÊèj2 j L'espace inutilisé de la liste d'espace libre est renvoyé dans j "espace -disponible". (ANE13.10.1) (ANE13.10.2) MOV R2,-(SP) MOV R3,-(SP) MOV R4,-(SP) MOV FSP,R2 MOV R2,R3 MOV R3,R4 ADD 2(R2),R4 (ANE13.10.3) PGCJ1: JSR R5,ASH •WORD LOPTR «Préserver registres R2, E3, R4-. IR2 pointe vers le début de l'espace libre. I ■î ®3_ pointe vers le début • t de 1'espace comprimé. «R4- pointe vers le début jde la zone non comprimée. îAjuster en-têtès de raccourci appropriés de la couche 0 pour refléter ce "déplacement vers la gauche" qui *est sur le point de se produire. i -930- 2334148 (ANE13.10.4) (ANE13.10.5) (ANE13.10.6) (ANE13.10.7) (ANE13.10.8) (ANE13.10.9) (ANE13.10.10) JSR R5,ASH .WORD L1PTR MOV ~{R4)+# (R3) + CMP R4((R2) BLT .-2 ADD 2*(R4),R4 MOV (R2),R2 TST (R2) ïAjuster en-têtes de raccourcis appropriés dans la couche 1. • «Concentrer les données. s La section est-elle complète ? «Non - itérer. îPaire glisser le pointeur de données utiles R4- le * long de cette zone libre j en ajoutant la longueur de la zone à l'adresse î contenue dans R4-. ïPrendre maillon suivant. îSi le maillon suivant est 0, cela indique que la ré-. 'cupération des positions «inutilisées est achevée. ;Hon - itérer. .BNE PGCJ1 MOV R4,FSP CLR (R4) MOV (SP)+/R4 MOV (SP)+,R3 MOV (SP)+,R2 Pin du bloc "EECUPERATIGN DES POSITIONS INUTILISEES" (ANE13.10.0) » Paire pointer pointeur d'espace libre vers "espa-* ce disponible". îEestaurer registres. ; (ANE13.11) PNSJ2: MOV (SP)+,R4 ;Eestaurer registres (mettre MOV (SP)+,R3 ; raccourci en mémoire) MOV (SP)+,R2 Fin du bloc "MISE EN KMOIEE D'UN NOUVEAU RACCOURCI" (ANE13.0) -931- 2334148 15 20 (ANE14) (ANE15) 10 . (ANE16) MOV CNGLIN,2(R4) MOV CNGLNG,4(R4) INC 6(R4) DEC RLN BEQ .+2 JMP XNEJ2 25 (ANE17) TST L1SW BNE ANEJ4 MOV L1PTR,R4 INC 4(R4} 30 ïL'en-tête de raccourci doit être modifié pour refléter le nouveau rac-}courci. Ajuster en-tête de raccourci avec le nouveau numéro ' de ligne. {•Nouvelle longueur. {Nombre de 1 de la ligne 0 ;ïïn contrôle est effectué pour déterminer s'il y a une autre entrée à trai-* ter. jDécrémenter le nombre td'entrées. jP'est fait.. jCe n'est pas fait,itérer. tSi l'aiguillage "couche 1" est 0, cela signifie qu'une entrée a été introduite sur jla couche 0. Cette entrée doit être reflétée sous forme d'événement sur la J couche 1. j Vérifier 11 aiguillage •"couche 1". jII est à 1 - ignorer la suite. ; R4 contient l'adresse de ; l'en-tête de couche 1. ; Incrémenter le troisième mot de l'en-tête, c'est-à-1 dire faire. ÎTE1 Cela indique qu'un nouvel événement est en train d'-' être ajouté. MOV 4(R4),R1 «Préserver ce numéro d'événement dans R1. 2334148 -932- 10 15 MOV NXTSH,LlET (RI) ; Transférer une adresse de l'en-tête de raccourci I dans la table d'événements . de couche 1. MOV NXTSH,R2 ADD *10,NXTSH (ANE18) ANEJ4: { Préserver cette adresse dans B2. i Mettre à jour HXTSH en le faisant pointer vers l'entête de raccourci suivant. CLR (R2) + CLR (R2)+ CLR (R2)+* CLR (R2) MOV {SP)+,R4 MOV (SP)+,R2 MOV (SP)+,R0 RTS R5 l Fin du sous-programme "addition de N événements". i ADDNE ; Former un en-tête de raccourci nul. ! Restaurer registres. 20 Sous-programme "libération d'espace" .(RELSP). j HO, longueur de la zone à libérer (ENTREE) l R1, adresse de la zone à libérer (EHTHEE) { HOV R2,-(SP) HOV R3,-(SP) MOV FSP,R2 (RS1) 25 (RS2) 30 MOV #FSP,R3 {Préserver registres. îE2 contient maintenant l'adresse du début de la liste i d'espace libre. I *R3 pointera vers le maillon {précédent - initialement, {il est réglé sur l'adresse de FSP. -933- 2334148 (RS3) RELJl: CMP Jil,R2 BLOS .+4 5 (RS7) 10 (RS8) (RS4) 15 MOV R2, (RI) MOV R0,2(Rl) (RS5) MOV RI, (R3) 20 (RS6) CLR R2 (RS9) TST R2 BNE RELJl (RS10) 25 MOV R2,R3 MOV (R2),R2 JMP RELJ2 30 t L'adresse de la zone à li-, f bérer est comparée avec l'adresse actuelle. Si elle est ; plus, grande que cette der-t nière,- la commande passe au j maillon suivant; sinon, la section d'entrée est insé-' rée dans la liste. î î Le maillon actuel devient î maillon'précédent. t Prendre nouveau maillon, ï Commande en RS9. t Cette zone étant renvoyée f dans "espace libre", elle est insérée dans la liste. i îInsérer espace libre dans * la chaîne. îInsérer sa longueur. tAjuster maillon précédent taux maillons fragmentés. 'Assurer "suspension". îEst-ce fait ? ï.Non - itérer. 'jLa longueur de cette section j nouvellement ajoutée est elle-même ajoutée à l'es-'pace inutilisé (UNSP). Une jfois que cette liste enchaînée d'espace libre dépasse 1K, une récupération des positions inutilisées est ef-.fectuée. t ADD RO ,UNSP 2334148 -934- (RS11) MOV (SP)+,R3 MOV (SP)+,R2 RTS R5 îRestaurer registres. 10 15 20 25 30 7 PIN DU SOUS-PROGRAMME "LIBERATION D'ESPACE" (RELSP) S i SOUS-PROGRAMME "AJUSTEMENT D'EN-TETE DE RACCOURCI" (pendant la récupération des positions inutilisées) (ASH) ' R2 pointe vers le maillon actuel. î Sous-programme "ajustement d'en-tête de raccourci" î Ce sous-programme passe en revue la liste des en-têtes de raccotirci d'une couche. Tout raccourci dont l'adresse est plus grande que la section actuelle en cotirs de compression a son ' adresse décrémentée dans une mesure égale à l'étendue de la j section libérée. (ASH1) ASH: (ASH2) MOV R0,-tSP) MOV R1,-(SP) MOV R3,-(SP) MOV R4,-(SP) MOV (R5)+,R3 MOV (R3),R1 MOV 4(R3),R0 t Préserver registres. î Le paramètre est prélevé I et est placé dans le re-j gistre R3. Le paramètre j est l'adresse de l'en-tête j de couche approprié. ï Le premier mot de l'entête de couche, c'est-à- ; dire l'adresse de la table îd'événements de couche, j est placé dans R1. i Le troisième mot de l'en-tête de raccotirci, c'est-à-dire le nombre d'événements de la couche, est ; transféré dans RO. 2334148 -935- (ASR3) ASHJl: MOV (R1)+,R3 (ASH4) MOV (R3),R4 (ASH5) CMP R4,R2 BLOS ASHJ2 10 (ASH6) SUB 2(R2),(R3) 15 20 (ASH7) ASHJ2: DEC RO 25 BNE ASHJl (ASH8) 30 MOV (SP) + ,R4 MOV (SP) + ,R3 MOV (SP)+,Rl MOV (SP)+,RO RTS R5 E3^— adresse de l'en-tête de raccotirci. R4- L'adresse du raccourci est comparée avec l'adresse du maillon actuel. Si elle est inférieure ou égale à cette dernière, l'adresse du raccourci n'a pas besoin d'être changée. En conséquence, la commande passe en ASH7- Si l'adresse du raccourci est plus grande que le maillon actuel, cela signifie que le raccotirci est sur le point d'être déplacé vers la gauche dans une mesure égale à l'étendue de la section en cours de compression. En conséquence, la valeur de cette étendue est retranchée de l'adresse du raccourci contenue dans le premier mot de l'en-tête de raccourci. Le nombre d'événements de la couche est décrémenté de 1. S'il est non nul, la commande remonte en ASH3. Sinon,' le sous-programme est suspendu. Restaurer registres et suspendre sous-programme "ajustement d'en-tête de raccourci" -936- 2334148 î Variables supplémentaires exigées par le procédé de formation de couche. ENDFLAG: LBXIT: PEXIT: PIPSW: .NORD 0 .NORD 0 .WORD 0 .NORD 0 jDrapeaux utilisés par le {programme "base de données" ï ; 10 15 20 25 OSLN: NSLN: UNSP: NXTSH: FSP: CNGDPM: CNGLDG: CNGLIN: CNGVEC: SEEDPM: I: .ASCII R: .ASCII ASTERISK: ^ASCII LBGN: .ASCII .EVEN .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 / I / / I / /*/ / # / ^Utilisées dans le bloc "mise' en mémoire d'un nou-veau raccourci" pour gar- 1 der trace de l'espace t inutilisé. f Pointeur pointant vers l'en-tête de raccourci libre suivant. t Pointeur d'espace libre. j Variables utilisées pour 2 exécuter la fonction j "modification". ' f Constantes de libellé. t t t -937- 2334148 PLUSMSG: 10 INITMSG: APPMSG: BGNMSG: REQMSG: 15 ; i SEEDHD: 20 •WORD 4 .ASCII .EVEN .WORD 11 .ASCII .EVEN .WORD 5 .ASCII .EVEN .WORD 4 .ASCII .EVEN .WORD 10 .ASCII .EVEN / + / T / NITIALIZE / / PPEND /. / # / / EQUEST BLOCK 1750 / î 1K réservé pour l'en-tête î de raccourci. î La variable suivante est placée immédiatement avant l'instruc-t tion END (fin). C'est le début de l'espace disponible. AS .WORD 0 l Début de l'espace dispo- ï nible. -938- 2334148 - HEVBiroiCATIQHS - 1 - Procédé, utilisant Tin système de traitement de données numériques comportant un système de mémoire, pour créer une base de données codées numériques dans ce système de mémoire, 5 ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former, dans un ordre d'apparition désiré et à titre d'information d'entrée, une pluralité de signaux d'événement codés, dont certains représentent un même événement mais .10 dont au moins un représente un événement différent, lesdits signaux d'événement représentant ensemble des entrées multiples et ces signaux comprenant, pour chacune de ces entrées, au moins un signal qui représente un événement de délimiteur unique et qui occupe, dans ledit ordre d'apparition, une posi-15 tion qui identifie une limite de l'entrée correspondante; b) à former une indication d'instant d'événement pour chacun desdits signaux d'événement, cette indication représentant ledit ordre d'apparition, et c) à former, dans le système de mémoire, une base de 20 données stockée qui comprend un signal de vecteur d'événement recouvrable séparément pour chaque événement différent, y compris l'événement de délimiteur, cette opération de formation d'une base de données comprenant une étape consistant à former, dans chaque signal de vecteur d'événement, une représentation 25 de celles des indications d'instant d'événement qui représentent l'ordre d'apparition de l'événement correspondant. 2 - Procédé suivant la revendication 1, caractérisé en ce que l'étape de formation d'une représentation dans chaque signal de vecteur permet d'ajouter des événements supplémentaires 30 du genre en question aux vecteurs d'événement existants de la base de données stockée et comprend un pas consistant : a) à ajouter une représentation de l'indication d'instant d'événement pour chacun de ces événements supplémentaires à un signal de vecteur recouvrable existant dans la base de 35 données stockée, ce signal de vecteur étant celui qui correspond audit événement supplémentaire. -939- 2334148 3 - Procédé suivant la revendication 2, caractérisé en ce que l'opération de formation d'une base de données stockée comprend une étape consistant : à créer un nouveau signal de vecteur correspondant à 5 chacun des événements différents représentés par les signaux d'événement, dans l'ordre dans lequel ils sont formés. 4- - Procédé suivant la revendication 1, caractérisé en ce qu'il comprend les opérations consistant : a) à former un pointeur d'adresse pour chacun desdits 10 événements et, par conséquent, pour le signal de vecteur correspondant, pointeur qui indique l'emplacement de la base de données stockée auquel ce signal de vecteur correspondant peut être recouvré, et b) à stocker ces pointeurs d'adresse dans un ordre 15 choisi à l'avance en fonction de la valeur du signal d'événement correspondant. 5 - Procédé suivant la revendication 3, caractérisé en ce qu'il comprend les opérations consistant a) à former au moins tin pointeur d'adresse supplémen-20 taire pour des événements nuls qui ne sont pas représentés dans la base de données stockée, et b) à stocker un signal recouvrable à l'emplacement de la base de données identifié par ledit pointeur d'adresse supplémentaire. 25 6 - Procédé suivant la revendication 1, caractérisé en ce que l'opération de formation d'une indication d'instant d'événement comprend une étape consistant à compter les événements représentés par les différents signaux d'événement dans ledit ordre désiré. 30 7 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour créer une base de données codées numériques dans ce système de mémoire, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : 35 a) à former, dans un ordre d'apparition désiré, une pluralité d'événements, dont certains sont identiques mais dont au moins un est différent des autres, lesdits événements représentant ensemble des entrées multiples et comprenant, -940- 2334148 pour chacune de ces entrées, au moins un événement de délimiteur unique qui occupe, dans ledit ordre d'apparition, une position qui identifie une limite de l'entrée correspondante; b) à former un signal d'événement codé pour chacun 5 desdits événements, des signaux d'événement de même valeur étant utilisés pour représenter des événements identiques, mais des signaux d'événement de valeurs différentes étant utilisés pour représenter des événements différents; c) à former une indication d'instant d'événement pour 10 chaque signal d'événement, indication^ui représente l'ordre d'apparition de l'événement correspondant; et d) à former, dans le système de mémoire, une base de données stockée qui comprend un signal de vecteur d'événement recouvrable séparément pour chacun des événements différents, 15 y compris l'événement de délimiteur, cette opération de formation d'une base de données stockée comprenant une étape consistant à former, dans chaque signal de vecteur d'événement, une représentation de chaque indication d'instant d'événement qui représente l'ordre d'apparition de l'événement 20 correspondant. 8 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour créer une base de données codées numériques dans ce système de mémoire, ledit procédé étant caractérisé en ce qu'il comprend les opéra-25 tions consistant : a) à former, dans un ordre d'apparition désiré et à titre d'information d'entrée, une pluralité de signaux d'événement codés, dont certains représentent un même événement, mais dont au moins un représente un événement différent, les- 30 dits signaux d'événement représentant ensemble une séquence d'entrées, certaines de ces entrées étant identiques mais l'une au moins d'entre elles étant différente des autres; b) à former des première et seconde indications d'instant d'événement, respectivement, pour chaque signal d'événe- 35 ment et pour chaque entrée, indications qui représentent leur ordre d'apparition; et c) à introduire dans le système de mémoire une base de données multicouche stockée représentant ladite infoimation -941- 2334148 d'entrée, cette dernière opération comprenant les étapes consistant : 1) à former une première couche de base de données, cette première étape comprenant, d'une part, un pas consistant à stocker dans le système de mémoire, un signal de vecteur de première couche recouvrable correspondant, pour chacun des signaux d'événement de valeurs différentes et, d'autre part, un pas consistant à former, dans chaque signal de vecteur de première couche, une représentation de celles des premières indications d'instant d'événement qui représentent l'ordre d'apparition des signaux d'événement de valeur correspondante; et 2) à former une seconde couche de base de données, cette seconde étape comprenant, d'une part, un pas consistant à stocker, dans le système de mémoire, une pluralité de signaux de vecteur de seconde couche recouvrables, celles des entrées multiples précitées qui sont identiques comportant un même signal de vecteur de seconde couche correspondant, tandis que des entrées différentes comportent chacune un signal de vecteur de seconde couche correspondant différent et, d'autre part, un pas consistant à former dans chaque signal de vecteur de seconde couche une représentation de celles des secondes indications d'instant d'événement qui représentent l'ordre d'apparition des entrées correspondantes. 9 - Procédé suivant la revendication 8, caractérisé en ce que le pas de formation d'une représentation dans le signal de vecteur de première couche permet d'ajouter un événement supplémentaire du genre en question à un signal de vecteur recouvrable existant de la base de données stockée et comprend un sous-pas consistant : a) à ajouter une représentation de la première indication d'instant d'événement de l'événement supplémentaire à un signal de vecteur de première couche recouvrable existant dans la base de données stockée, le signal de vecteur de première couche étant celui qui correspond à cet événement supplémentaire. -94-2- 2334148 10 - Procédé suivant la revendication 8, caractérisé en ce que le pas consistant à former une représentation dans le signal de vecteur de seconde couche permet d'ajouter une entrée supplémentaire du genre en question à un vecteur existant de la 5 hase de données stockée et comprend un sous-pas consistant : a) à ajouter une représentation de la seconde indication d'instant d'événement de l'entrée supplémentaire à un signal de vecteur de seconde couche recouvrable existant dans la base de données stockée, le signal de vecteur de se- 10 conde couche étant celui qui correspond à cette entrée supplémentaire . 11 - Procédé suivant la revendication 8, caractérisé en ce que le pas consistant à stocker un signal de vecteur de première couche recouvrable comprend les sous-pas consistant : 15 a) à effectuer un test pour déterminer si tme entrée d'information nouvellement formée n'est pas déjà représentée dans la première couche de la base de données; et b) en réponse à une détermination du fait qu'une entrée n'est pas représentée, à ajouter sélectivement l'entrée 20 nouvellement formée à la première couche de la base de données en utilisant à cet effet ledit pas de stockage dans le système de mémoire d'un signal de vecteur de première couche recouvrable. 12 - Procédé suivant la revendication 11, caractérisé 25 en ce que ledit sous-pas d'addition sélective comprend un fragment de sous-pas consistant à ajouter, à chaque signal de vecteur recouvrable qui correspond à un signal d'événement d'une telle entrée nouvellement formée, une représentation de l'indication d'instant d'événement du signal d'événement correspondant. 30 13 - Procédé suivant la revendication 11, caractérisé en ce qu'il comprend les opérations consistant : a) à stocker, dans une première zone du système de mémoire, un signal indiquant chacun des signaux d'événement différents précédemment formés; 35 b) à effectuer le sous-pas de test précité, qui com prend les fragments de sous-pas consistant : 1) à tester, pour chaque signal d'événement nouvellement formé, ladite première zone du système de mémoire pour -943- 2334148 déterminer ainsi si chacun des signaux d'événement nouvellement formés est différent de tous ceux qui ont été précédemment formés et, par conséquent est nouveau; 2) à stocker un signal indicateur d'entrée nouvelle 5 en réponse à une indication donnée par le test précédent (1) du fait qu'un signal d'événement quelconque faisant partie de l'entrée nouvellement formée est nouveau; et 3) en réponse à l'absence du signal d'indication de nouvelle entrée après la formation de tous les signaux d'é- 10 vénement de l'entrée nouvellement formée, à effectuer un test, pour déterminer si cette entrée nouvellement formée est représentée par lesdits signaux de vecteur de première couche stockés; et c) en réponse à l'absence qui vient d'être indiquée, 15 lors du dernier test mentionné (3), ou à la présence du signal indicateur de nouvelle entrée, à effectuer le sous-pas d'addition de l'entrée nouvellement formée précité. 14- - Procédé suivant la revendication, 11, caractérisé en ce que ledit sous-pas de test comprend un fragment de sous-20 pas consistant à examiner les signaux de vecteur de première couche stockés de façon recouvrable. 15 - Procédé suivant la revendication 8, caractérisé en ce que les signatix d'événement de l'information d'entrée comprennent au moins tin signal représentant un délimiteur, au moins 25 tua signal d'événement de délimiteur de ce genre étant formé dans chaque entrée et dans l'ordre d'apparition précité, de manière à définir la limite de cette entrée, et en ce que le pas de formation d'une représentation dans le signal de vecteur de première couche comprend un sous-pas consistant à former un signal de vec-30 teur séparément recouvrable représentant les premières indications d'instant d'événement qui représentent l'ordre d'apparition desdits signaux d'événement de délimiteur. 16 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour créer 35 une base de données codées numériques multicouche dans ce système de mémoire, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : -944- 2334148 a) à former, dans tua ordre d'apparition désiré et à titre d'information d'entrée, une pluralité de signaux d'événements codés, dont certains représentent un même événement, mais dont au moins un représente un événement différent, lesdits signaux d'événement représentant, par ordre d'apparition, une pluralité d'entrées de premier niveau, ces entrées de premier niveau représentant, par ordre d'apparition, au moins une entrée de second niveau, certaines des entrées de premier niveau étant identiques, mais au moins l'une d'entre elles étant différente des autres; b) a former un signal de premier délimiteur d'entrée indiquant une limite parmi les signaux d'événement de chacune des entrées de premier niveau; c) à former un signal de second délimiteur d'entrée indiquant une limite parmi les entrées de premier niveau de chacune des entrées de second niveau; d) à former une première indication d'instant d'événement représentant l'ordre d'apparition de chaque signal d'événement et de chaque premier signal de délimiteur d'entrée; e) à former une seconde indication d'instant d'événement représentant l'ordre d'apparition de chaque signal de premier délimiteur d'entrée et de chaque signal de second délimiteur d'entrée; et f) à introduire dans le système de mémoire une base de données multicouche stockée représentant l'information d'entrée, cette opération d'introduction de base de données comprenant les étapes consistant : 1) à former une première couche de base de données, cette première étape comprenant, d'une part, un pas consistant à stocker, dans le système de mémoire, un signal de vecteur de première couche recouvrable correspondant, pour chacun des signaux d'événement de valetirs différentes et pour le signal de premier délimiteur et, d'autre part, un pas consistant à former dans chaque signal de vecteur de première couche une représentation de celles des premières indications d'instant d'événement qui représentent l'ordre d'apparition des signaux d'événement de valeur correspondante ou du signal de premier délimiteur; et -945- 2334148 2) à former une seconde couche de "base de données, cette seconde étape comprenant, d'une part, un pas consistant à stocker, dans le système de mémoire, une pluralité de signaux de vecteur de seconde couche recouvrables, les 5 entrées de premier niveau qui sont identiques ayant un même signal de vecteur de seconde couche correspondant, tandis que des entrées qui sont différentes ont chacune un signal de vecteur de première couche correspondant différent, au moins un signal de vecteur de second niveau étant inclus -10 pour ledit second délimiteur et, d'autre part, un pas con sistant à former dans chaque signal de vecteur de seconde couche une représentation de celles des secondes indications d'instant d'événement qui représentent l'ordre d'apparition * des entrées de premier niveau correspondantes ou du second 15 délimiteur d'entrée. 17 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour créer une base de données codées numériques multicouche dans ce système de mémoire, ledit procédé étant caractérisé en 'ce qu'il comprend 20 les opérations consistant : a) à former, dans un ordre d'apparition désiré et à titre d'information d'entrée, une pluralité de signaux d'événements codés, dont certains représentent un même événement, mais dont au moins un représente un événement différent, les-25 dits signaux d'événement représentant, par ordre d'apparition, une pluralité d'entrées de premier niveau, ces entrées de premier niveau représentant, par ordre d'apparition, au moins une entrée de second niveau, certaines des entrées de premier niveau étant identiques, mais au moins l'une d'entre elles étant 30 différente des autres, lesdits signaux d'événement comprenant au moins un signal d'événement qui représente, pour chaque entrée de premier niveau, un premier délimiteur et au moins un signal d'événement représentant, pour chaque entrée de second niveau, un second délimiteur; 35 b) à former une première indication d'instant d'événe ment représentant l'ordre d'apparition de chacun des signaux d'événement, y compris ceux qui représentent ledit premier délimiteur d'entrée; -94-6- 2334148 c) à former une seconde indication d'instant d'événement représentant l'ordre d'apparition de chacun des premiers signaux d'entrée y compris ceux qui représentent ledit second délimiteur; et 5 d) à introduire, dans le système de mémoire, une base de données multicouche stockée représentant ladite information d'entrée, cette opération d'introduction de base de données comprenant les étapes consistant : 1) à former une première couche de base de données, 10 cette première étape comprenant un pas consistant à stocker, dans le système de mémoire, un signal de vecteur de première couche recouvrable correspondant à chacun des signatix d'événement de valetirs différentes et au signal d'événement de premier délimiteur; et 15 2) à former une seconde couche de base de données, cette seconde étape comprenant, d'une part, un pas consistant à stocker, dans le système de mémoire, une pluralité de signaux de vecteur de seconde couche recouvrables, les entrées de premier niveau qui sont identiques ayant un même signal 20 de vecteur de seconde couche correspondant, tandis que les entrées qui sont différentes ont chacune un signal de vecteur de première couche correspondant différent, au moins un signal de vectetir de second niveau étant inclus pour le signal d'événement de second délimiteur, et, d'autre part, 25 un pas consistant à foraier, dans chaque signal de vecteur de seconde couche, une représentation de celles des secondes indications d'instant d'événement qui représentent l'ordre d'apparition des entrées de premier niveau correspondantes ou du signal de second délimiteur d'entrée. 30 18 - Procédé suivant la revendication 17, caractérisé en ce que le signal d'événement de premier délimiteur et le signal d'événement de second délimiteur forment chacun un signal d'événement unique parmi les signaux d'événement précités. 19 - Procédé suivant la revendication 17, caractérisé 35 en ce que le pas de formation d'une représentation dans chacun des signaux de vecteur de première couche permet d'ajouter des événements d'information d'entrée supplémentaires au signal de vecteur de première couche existant dans la base de données stockée et comprend un sous-pas consistant : -94-7- 2334148 a) à ajouter une représentation de la première indication d'instant d'événement relative à chacun de ces événements supplémentaires à un signal de vecteur de première couche recouvrable existant dans la base de données stockée, 5 ce signal de vecteur de première couche étant celui qui correspond à cet événement supplémentaire. 20 - Procédé suivant la revendication 17, caractérisé en ce que le pas de formation d'une représentation dans chacun des signaux de vecteur de seconde couche permet d'ajouter une 10 entrée de premier niveau d'information d'entrée supplémentaire au signal de vecteur de seconde couche existant dans la base de données stockée et comprend un sous-pas consistant : a) à ajouter une représentation de la seconde indication d'instant d'événement, pour l'entrée de second niveau 15 supplémentaire, à un signal de vecteur de seconde couche recouvrable existant dans la base de données stockée, ce signal de vecteur de seconde couche étant celui qui correspond à ladite entrée de second niveau supplémentaire. 21 - Procédé suivant la revendication 17, caractérisé 20 en ce qu'il comprend les opérations consistant : a) à inspecter les signaux d'événement pour détecter ceux qui représentent le premier délimiteur; et b) à former la seconde indication d'instant d'événement suivante en réponse à la détection de l'un des signaux 25 d'événement détectés qui représentent ledit premier délimiteur. 22 - Procédé suivant la revendication 21, caractérisé en ce que l'opération de formation de ladite seconde indication d'instant d'événement suivante comprend une étape consistant à 30 compter lesdits signatix d'événement détectés. 23 - Procédé suivant la revendication 17■> caractérisé en ce que l'opération de formation des premières indications d'instant d'événement comprend une étape consistant à compter chacun desdits signaux d'événement détectés. 55 24- - Procédé suivant la revendication 17, caractérisé en ce qu'il comprend les opérations consistant : a) à stocker temporairement chaque signal d'événement à mesure qu'il est foimé, cette opération de stockage tempo -948- 2334148 raire comprenant une étape consistant à stocker une pluralité desdits signaux d'événement représentant au moins une entrée de premier niveau, b) à recouvrer les signaux d'événement temporaire- 5 ment stockés à partir de la mémoire temporaire, un par un, et c) à former le compte des premiers instants d'événement suivants en réponse au recouvrement de chacun des signaux de premier événement, et en ce que ledit pas de formation d'une représentation dans le 10 signal de vecteur de première couche comprend un sous-pas consistant à stocker une valeur représentant le compte de premiers instants d'événement en cours de formation dans le signal de vecteur de première couche particulier qui correspond à un signal recouvré parmi les signatix d'événement de première couche. 15 25 - Procédé suivant la revendication 17, caractérisé en ce qu'il comprend une opération consistant : a) à tester les signaux d'événement recouvrés pour détecter ceux qui représentent le premier délimiteur, et en ce que l'opération de formation de seconde indication d'ins-20 tant d'événement comprend une étape consistant à foiaer la seconde indication d'instant d'événement suivante en réponse à cette détection. 26 - Procédé suivant la revendication 17, caractérisé en ce qu'il comprend une opération consistant : 25 a.) à tester les signaux d'événement pour en détecter un qui représente le second délimiteur; et en ce que ledit pas de formation d'une représentation dans chaque signal de-vecteur de seconde couche s'effectue en réponse à cette détection d'un signal d'événement représentant un second 50 délimiteur afin d'assurer le stockage d'une représentation de toutes les secondes indications d'instant d'événement pour l'entrée de second niveau correspondante. 27 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour struc- 35 turer une "base de données codées numériques dans ce système de mémoire, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : -94-9- 2334148 a) à former des signaux d'événement d'information d'entrée ordonnés et codés représentant des entrées de premier niveau et de second niveau, un ou plusieurs signaux d'événement d'information d'entrée représentant une entrée de premier niveau et une ou plusieurs entrées de premier niveau représentant des événements de l'entrée de second niveau, certains signaux d'événement d'information d'entrée étant identiques et certaines entrées de premier niveau étant également identiques, tandis que certains signaux d'événement d'information d'entrée sont différents et tandis que certaines entrées de premier niveau sont différentes; b) à former un premier compte d'instants d'événement représentant l'ordre d'apparition de signaux individuels parmi lesdits signatix d'événement d'information d'entrée; c) à former un second compte d'instants d'événement représentant l'ordre d'apparition d'entrées individuelles parmi lesdites entrées de premier niveau; et d) à introduire, dans le système de mémoire, une base de données stockée représentant lesdits signaux d'événement d'information d'entrée, cette dernière opération comprenant les étapes consistant : 1) à former une première couche, cette première étape comprenant les pas consistant : a. à former un signal d'événement de première couche représentatif de ceux des signaux d'événement d'information d'entrée qui représentent la même valeur, un signal d'événement de première couche différent étant formé pour chacun des signaux d'événement d'information d'entrée qui représentent des valeurs différentes; b. à choisir, dans le système de mémoire, une première zone de stockage correspondant à chacun des signaux d'événement d'information d'entrée différents; et c. à stocker sélectivement dans chacune desdites premières zones de stockage, un signal de vecteur de première couche qui représente les premiers comptes d'instants d'événement pour ceux des signaux d'événement d'information d'entrée qui correspondent à la première zone de stockage considérée, ce pas de stockage sélectif étant -950- 2334148 conçu de manière à stocker exclusivement les entrées de premier niveau qui n'ont pas été précédemment stockées dans la première couche, ce pas comprenant un sous-pas consistant à tester une entrée de premier niveau pour 5 déterminer si le premier compte d'instants d'événement de chacun des signaux d'événement d'information d'entrée qui forment une entrée de premier niveau est déjà représenté dans lesdits signaux de vecteur de première couche stockés et ledit pas de stockage sélectif stockant un ou 10 plusieurs signaux de vecteur représentant exclusivement les premiers comptes d'instant d'événement qui correspondent à une entrée de premier niveau ne satisfaisant pas au dernier test mentionné; et 2) à former une seconde couche, cette seconde étape comprenant 15 les pas consistant : a. à former un signal d'événement de seconde couche représentatif des entrées de premier niveau qui représentent la même valeur, un signal d'événement de seconde couche différent étant formé pour chacune des entrées de premier 20 niveau de valeurs différentes; b. à choisir, dans le système de mémoire, une seconde zone de stockage correspondant à chacune desdites entrées de premier niveau qui est différente des autres; et c. à stocker, dans chacune desdites secondes zones de stockage, 25 un signal de vecteur de second niveau qui représente les seconds comptes d'instants d'événement pour celles des entrées de premier niveau qui correspondent à la seconde zone de stockage considérée. 28 - Procédé, utilisant un système de traitement de 30 données numériques comportant un système de mémoire, pour structurer une base de données codées numériques dans ce système de mémoire, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former des événements d'information d'entrée 35 différents pour la base de données; b) à convertir chaque événement d'information d'entrée en un signal d'événement d'information d'entrée exprimé dans un code d'information d'entrée, les signaux d'événement -951- 2334148 d'information d'entrée codés représentant des entrées de premier et second niveaux, un ou plusieurs signaux d'événement d'information d'entrée représentant une entrée de premier niveau et une ou plusieurs entrées de premier niveau représentant des événements de l'entrée de second niveau; c) à créer une base de données dans le système de mémoire, cette opération de création d'une base de données comprenant les étapes consistant : 1) à former des premiers et second comptes d'instants d'événement représentant l'ordre d'apparition, respectivement, desdits signaux d'événement d'information d'entrée et desdites entrées de premier niveau; et 2) à introduire dans le système de mémoire une base de données stockée représentant lesdits signaux d'événement d'information d'entrée, cette seconde étape comprenant les pas consistant : a. à former une première"couche, ce premier pas comprenant les sous-pas consistant à : 1, à former un signal d'événement de première couche représentatif des signaux d'événement d'information d'entrée qui représentent une même valeur, tandis que des signaux d'événement de première couche différents sont formés pour des signaux d'événement d'information d'entrée représentant des valeurs différentes, et 2. à stocker sélectivement dans le système de mémoire un signal de vectetir de première couche correspondant pour chacun des signaux d'événement d'information d'entrée de valeurs différentes, chaque signal de vectetir de première couche représentant le premier compte d'instants d'événement pour le signal d'événement d'information d'entrée de valetir correspondante, ce sous-pas de stockage sélectif comprenant les fragments de sous-pas consistant : a)) à effectuer un test pour déterminer si le premier compte d'instants d'événement de chacun des signaux d'information d'entrée constituant une entrée de premier niveau est déjà représenté dans lesdits signaux de vecteur de première couche -952- 2334148 stockés, et b)) à autoriser le sous-pas de stockage sélectif pour une entrée de première couche qui ne "passe" pas (avec succès) le dernier test mentionné, et 5 b. à former une seconde couche, ce second pas comprenant les sous-pas consistant à : 1. former un signal d'événement de seconde couche représentatif des entrées de premier niveau qui représentent une même valeur, un signal d'événement de 10 seconde couche différent étant formé pour chacune des entrées de premier niveau de valeurs différentes, et 2. à stocker dans le système de mémoire un signal de vecteur de seconde couche correspondant pour chacune 15 desdites entrées de premier niveau de valetirs diffé rentes, chaque signal de vecteur de seconde couche représentant le second compte d'instants d'événement de l'entrée de premier niveau de valeur correspondante ; 20 d) à recouvrer des données choisies à partir de la base de données, cette opération de recouvrement comprenant les étapes consistant : 1) à former tme demande représentée par une pluralité de signaux d'événement de demande, demande qui peut être 25 stockée dans la base de données, 2) à former un signal d'instant d'événement de demande pour chaque signal d'événement de demande, les signaux d'instant d'événement de demande ainsi formés représentant ensemble l'ordre relatif d'apparition desdits signaux d'évé- 30 nement de demande, 3) à utiliser lesdits signaux d'événement de demande et lesdits signaux d'instant d'événement de demande pour examiner le système de mémoire et pour localiser des données stockées incluant la demande, et 35 4) à former un jeu ordonné de signatix d'événement de couche représentant les données localisées; e) à convertir chacun des signaux d'événement de couche ainsi formés en un signal d'événement de sortie codé dans le code d'information d'entrée; et -953- 2334148 f) à sortir les signaux d'événement de sortie. 29 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour structurer une base de données codées numériques dans ce système de 5 mémoire, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à fonaer des événements de données d'information d'entrée différents pour la base de données; b) à convertir chaque événement de données d'informait) tion d'entrée en un signal d'événement d'information d'entrée unique exprimé dans un code d'information d'entrée; c) à créer une base de données dans le système de mémoire, cette opération comprenant les étapes consistant : 1) à former pour chaque signal d'événement d'information 15 d'entrée une indication d'instant d'événement qui repré sente son ordre relatif d'apparition; 2) à examiner le signal d'événement d'information d'entrée et à former un signal d'événement de couche codé de façon univoque pour chacun des signaux d'événement d'in- 20 formation d'entrée différents; 3) à former dans le système de mémoire, en réponse à l'indication d'instant d'événement et aux signaux d'événement de couche un fichier de base de données comprenant tin signal de vecteur d'événement localisable séparément 25 pour chacun des différents signaux d'événement de couche, cette étape comprenant un pas consistant à former dans chaque signal de vecteur d'événement une représentation des indications d'instant d'événement qui représentent l'ordre d'apparition de son signal d'événement de cou-30 che; d) à recouvrer des données choisies à partir de la base de données, cette opération comprenant les étapes consistant : 1) à utiliser lesdits signaux d'événement de demande et les-35 dits signaux d'instant d'événement de demande pour loca liser, dans la base de données du système de mémoire, le signal de vecteur d'événement qui représente la même valeur d'instant d'événement que chaque signal d'instant -954- 2334148 d'événement à sortir; et 2) à former, pour chacun des signaux de la pluralité de signaux d'instant d'événement à sortir, le signal d'événement de couche qui correspond au signal de vecteur 5 d'événement qui a été localisé; e) à convertir chaque signal d'événement de couche en un signal d'événement de sortie codé, dans le code d'information d'entrée; et f) à sortir les signaux d'événement de sortie. 10 30 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour structurer une hase de données codées numériques dans ce système de mémoire et pour recouvrer des portions de cette base de données, ledit procédé étant caractérisé en ce que ladite structuration 15 comprend les opérations consistant : a) à former, par ordre d'apparition, une pluralité de signaux d'événement d'information d'entrée codés représentant des entrées de premier et second niveaux, un ou plusieurs signaux d'événement d'information d'entrée représentant 20 une entrée de premier niveau et une ou plusieurs entrées de premier niveau représentant des événements de l'entrée de second niveau, certains signaux d'événement d'information d'entrée représentant une même valetir, certaines entrées de premier niveau représentant une même valeur, certains signaux 25 d'événement d'information d'entrée représentant des valeurs différentes et certaines entrées de premier niveau représentant des valeurs différentes; b) à former un premier compte d'instants d'événement représentant l'ordre d'apparition de signaux d'événement d'in- 30 formation d'entrée individuels; c) à former un second compte d'instants d'événement représentant l'ordre d'apparition d'entrées de premier niveau individuelles; et d) à introduire dans le système de mémoire une base 35 de données stockées représentant lesdits signaux d'événement d'information d'entrée, cette dernière opération comprenant les étapes consistant : -955- 2334148 1) à former une première couche, cette étape comprenant les pas consistant : a. à former un signal d'événement' de première couche représentatif des signaux d'événement d'information d'entrée qui représentent une même valeur, des signaux d'événement de première couche différents étant formés pour des signaux d'événement d'information d'entrée représentant des valeurs différentes, et b. à stocker sélectivement dans le système de mémoire un signal de vectetir de première couche correspondant à chacun des signaux d'événement d'information d'entamée de valeurs différentes, chaque signal de vecteur de première couche représentant le premier compte d'instants d'événement du signal d'événement d'information d'entrée correspondant, ce pas de stockage sélectif étant conçu de manière à stocker exclusivement celles des entrées de premier niveau qui n'ont pas été précédemment stockées dans la première couche et comprenant les sous-pas consistant : 1. à tester une entrée de premier niveau pour déterminer si le premier compte d'instants d'événement de chacun des signaux d'événement d'information d'entrée constituant une entrée de premier niveau est déjà représenté dans lesdits signaux de vecteur de première couche stockés, et ledit pas de stockage sélectif stockant un ou plusieurs signaux de vecteur qui représentent exclusivement les premiers comptes d'instants d'événement qui correspondent à une entrée de premier niveau ne satisfaisant pas au dernier test mentionné, et 2) à former une seconde couche, cette étape comprenant les pas consistant : a. à former un signal d'événement de seconde couche représentatif de chacune des entrées d'une pluralité d'entrées de premier niveau, un signal d'événement de seconde couche différent étant formé pour chaque entrée de premier niveau différente, et -956- 2334148 b. à stocker dans le système de mémoire un signal de vectetir de seconde couche correspondant pour chacune des entrées de premier niveau différentes, chaque signal de vecteur de seconde couche représentant le second 5 compte d'instants d'événement de l'entrée de premier niveau correspondante. 31 - Procédé, utilisant un système de traitement de " données numériques comportant un système de mémoire, pour créer une base de données codées numériques dans ce système de mémoire, 10 ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former, dans un ordre d'apparition désiré et à titre d'information d'entrée, une pluralité de signaux d'événement codés, dont certains représentent un même événement, 15 mais dont au moins un représente un événement différent, lesdits signatix d'événement représentant ensemble des entrées multiples; b) à former une indication d'instant d'événement pour chacun desdits signaux d'événement, cette indication représentant 20 ledit ordre d'apparition; et c) à former, dans le système de mémoire, une base de données stockée qui comprend un signal de vecteur d'événement recouvrable séparément pour chaque événement différent, cette dernière opération comprenant une étape consistant 25 à former dans chaque signal de vecteur d'événement une représentation de celles des indications d'instant d'événement qui représentent l'ordre d'apparition de l'événement c orre sp ondant. 32 - Dispositif de traitement de données numériques 30 muni d'une mémoire, et caractérisé par des moyens aptes à créer dans cette mémoire une base de données codées numériques selon le procédé de l'une des revendications 1 à 31. 33 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour créer 35 et recouvrer une base de données codées numériques dans ce système de mémoire, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : -957- 2334148 à former, dans un ordre d'apparition désiré et à titre d'information d'entrée, une pluralité de signaux d'événement codés, dont certains représentent un même événement, mais dont au moins un représente un événement différent, lesdits signaux d'événement représentant ensemble des entrées multiples et ces signaux d'événement comprenant, pour chacune de ces entrées, au moins un signal d'événement qui représente un événement de délimiteur unique et qui occupe, dans ledit ordre d'apparition, une position qui identifie une limite de l'entrée correspondante; à former, pour chacun desdits signaux d'événement, une indication d'instant d'événement représentant ledit ordre d'apparition; à former, dans le système de mémoire, une base de données stockée qui comprend un signal de vecteur d'événement recouvrable séparément pour chaque événement différent, y compris l'événement de délimiteur, cette opération comprenant une étape consistant à former, dans chaque signal de vecteur d'événement, une représentation de celles des indications d'instant d'événement qui représentent l'ordre d'apparition de l'événement correspondant; et à effectuer un recouvrement à partir de la base de données stockée, cette dernière opération comprenant une étape consistant à former des signaux d'événement correspondant aux signaux de vecteur qui représentent des indications d'instant d'événement choisies. 34 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour créer et recouvrer une base de données codées numériques dans ce sys-30 tème de mémoire, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant ï a) à former, dans un ordre d'apparition désiré, une pluralité d'événements dont certains sont identiques mais dont au moins un est différent des autres, ces événements repré-35 sentant ensemble des entrées multiples et comprenant pour chacune de ces entrées au moins un événement de délimiteur unique qui occupe dans ledit ordre d'apparition, une position qui identifie une limite de l'entrée correspondante; 10 15 20 a) h) c) d) -958- 2334148 b) à former un signal d'événement codé pour chaque événement, des signaux d'événement de môme valeur étant utilisés pour représenter des événements identiques et des signaux d'événement de valeurs différentes étant utilisés pour repré- 5 senter des événements différents; c) à former, pour chaque signal d'événement, une indication d'instant d'événement qui représente l'ordre d'apparition de l'événement correspondant; d) à former, dans le système de mémoire, une base de données 10 stockée qui comprend un signal de vecteur d'événement recouvrable séparément pour chaque événement différent, y compris l'événement de délimiteur, cette opération comprenant une étape consistant à former, dans chaque signal de vecteur d'événement, une représentation de chaque indica- 15 tion d'instant d'événement qui représente l'ordre d'appa rition de l'événement correspondant; et e) à effectuer un recouvrement à partir de la base de données stockée, cette dernière opération comprenant une étape consistant à former des signaux d'événement correspondant 20 aux signaux de vecteur qui représentent des indications d'instant d'événement choisies. 35 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour créer et recouvrer une base multicouche ou stratifiée de données codées 25 numériques dans ce système de mémoire, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former, dans un ordre.d'apparition désiré et à titre d'information d'entrée, une pluralité de signaux d'événement codés, dont certains représentent un même événement, 30 mais dont au moins un représente un événement différent, lesdits signaux d'événement représentant ensemble une séquence d'entrées, dont certaines sont identiques mais dont au moins une est différente des autres; b) à former des première et seconde indications d'instant 35 d'événement, respectivement, pour chaque signal d'événement et pour chaque entrée, indications qui représentent leur ordre d'apparition; -959- 2334148 à introduire dans le système de mémoire une base de données multicouche stockée représentant ladite information d'entrée, cette opération comprenant les étapes consistant: 1) à former une première couche de la base de données, cette première étape comprenant, d'une part, un pas consistant à stocker dans le système de mémoire un signal de vecteur de première couche recouvrable correspondant pour chacun des signatix d'événement de valeurs différentes, et, d'autre part, un pas consistant à former, dans chaque signal de vecteur de première couche, une représentation de celles des premières indications d'instant d'événement qui représentent l'ordre d'apparition des signaux d'événement de valeur correspondante; et 2) à former une seconde couche de la base de données, cette seconde étape comprenant, d'une part, un pas consistant à stocker, dans le système de mémoire, une pluralité de signaux de vecteur de seconde couche recouvrables, celles des entrées multiples précitées.qui sont identiques ayant des signaux de vecteur de seconde couche correspondants identiques, tandis que celles des entrées qui sont différentes ont chacune un signal de vecteur de première couche correspondant différent et, d'autre part, tua pas consistant à fomer, dans chaque signal de vecteur de seconde couche, une représentation de celles des secondes indications d'instant d'événement qui représentent l'ordre d'apparition des entrées correspondantes; à effectuer un recouvrement à partir de la première couche de la base de données, cette opération comprenant une étape consistant à former des signaux d'événement correspondant aux signaux de vecteur qui représentent des premières indications d'instant d'événement choisies; et à effectuer un recouvrement sélectif à partir de la seconde couche de la base de données, cette opération comprenant les étapes consistant : 1) à former un signal d'identification d'événement de second niveau correspondant et à identifier ainsi tme entrée de premier niveau correspondante, pour chacun des -960- 2334148 signaux de vecteur de seconde couche qui représentent des secondes indications d'instant d'événement choisies; et à choisir les premières indications d'instant d'événement pour les utiliser au cours de ladite opération de recouvrement à partir de la première couche de la base de données, cette seconde étape comprenant un pas qui consiste à choisir des premières indications d'instant d'événement faisant partie d'une entrée de premier niveau et qui sont identifiées par le signal d'identification d'événement de second niveau ainsi formé. 36 - Procédé, utilisant un système de traitement de données numériques comportant un système de mémoire, pour créer une base de données codées numériques dans ce système de mémoire, 15 ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former, dans un ordre d'apparition désiré et à titre d'information d'entrée, une pluralité de signaux d'événement codés, dont certains représentent tin même événement, 20 mais dont au moins un représente un événement différent, lesdits signaux d'événement représentant ensemble des entrées multiples; b) à former, pour chaque signal d'événement, une indication d'instant d'événement représentant ledit ordre d'apparition; 25 c) à former, dans le système de mémoire, tme base de données stockée qui comprend un signal de vectetir d'événement recouvrable séparément pour chaque événement différent, cette opération comprenant une étape qui consiste à former, dans chaque signal de vecteur d'événement, une représentation 30 de celles des indications d'instant d'événement qui repré sentent l'ordre d'apparition de l'événement correspondant; et d) à effectuer un recouvrement à partir de la base de données stockée, cette dernière opération comprenant une étape qui 35 consiste à former des signaux d'événement correspondant aux signatix de vecteur qui représentent des indications d'instant d'événement choisies. 10 2) -961- 2334148 3? - Processeur de données numériques comprenant un système de mémoire, et caractérisé par des moyens aptes à créer et retrouver dans ce système de mémoire une base de données codées numériques selon le procédé de l'une des revendications 5 33 à 36. 38 - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, des données qui sont contenues dans une base de données stockée qui représente une séquence d'événements dont certains sont identiques mais dont au 10 moins un est différent des autres, la base de données stockée étant représentée par une pluralité de signaux de vecteur recouvrables séparément, à raison d'un pour chaque événement différent, chaque signal de vecteur recouvrable représentant au moins une valeur d'instant d'événement qui représente à son tour l'or-15 dre d'apparition de l'événement correspondant, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à examiner un signal de vecteur choisi pour former sélectivement au moins un signal d'identification d'instant d'événement; et 20 b) à engendrer un signal d'événement unique correspondant à un signal de vecteur qui représente une valeur d'instant d'événement correspondant à son tour audit signal d'identification d'instant d'événement. 39 - Procédé de traitement de données permettant de 25 recouvrer, à partir d'un système de mémoire, des données qui sont contenues dans une base de données stockée qui représente une séquence d'événements dont certains sont identiques mais dont au moins un est différent des autres, ladite base de données stockée étant représentée par une pluralité de signaux de vecteur 30 recouvrables séparément, à raison d'un pour chaque événement différent, chacun de ces signaux de vecteur recouvrables représentant au moins une valeur d'instantd*événement qui représente à son tour l'ordre d'apparition de l'événement correspondant, ledit procédé étant caractérisé en ce qu'il comprend les opéra-35 tions consistant : a) à examiner des signaux de vecteur choisis pour former sélectivement des signatix d'identification d'instant d'événement; et -962- 2334148 b) à engendrer des signaux d'événement multiples représentant chacun de façon uni voque un signal de vecteur qui représente au moins l'une des valeurs d'instant d'événement qui corresponde à au moins l'un d.es signaux d'identifica-5 tion d'instant d'événement. 40 - Procédé suivant la revendication 39, caractérisé en ce que ladite opération de génération comprend tme étape consistant à ordonner les signaux d'événement dans l'ordre indiqué par la valeur d'instant d'événement du signal de vecteur 10 c orre spondant• 41 - Procédé suivant la revendication 39, caractérisé en ce qu'il comprend une opération consistant à former une demande comprenant une pluralité de signatix d'événement désignant chacun au moins un signal de vecteur, tandis que l'opération 15 d'examen de signaux de vecteur choisis comprend tme étape consistant à examiner les signaux de vecteur qui sont désignés. 42 - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, des données qui sont contenues dans une base de données stockée qui représente 20 une séquence d'entrées comprenant chacune une séquence d'événements, dont certains sont identiques mais dont l'un au moins est différent des autres, ladite base de données stockée étant représentée par une pluralité de signatix de vecteur recouvrables séparément, à raison d'au moins un pour chaque événement diffé-25 rent, chaque signal de vecteur recouvrable représentant au moins une valeur d'instant d'événement qui représente à son tour l'ordre d'apparition de l'événement correspondant, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant: a) à former un^demande constituée par au moins un signal d'é-30 vénement qui désigne un signal de vectetir; b) à examiner le signal de vecteur désigné pour former au moins un signal d'identification d'entrée; et c) à engendrer un signal d'événement de sortie correspondant à un signal de vecteur, qui représente une valeur d'instant 35 d'événement présente dans l'entrée ainsi désignée de la base de données stockée. 43 - Procédé suivant la revendication 42, caractérisé en ce que ladite séquence d'événements comprend au moins un -963- 2334148 délimiteur qui identifie une limite de chaque entrée, les signaux de vectetir recouvrables comprenant au moins un signal pour ledit événement de délimiteur, et en ce que ladite opération de génération d'un signal d'événement comprend les étapes con-5 sistant : a) à utiliser une valeur d'instant d'événement représentée par le signal de vecteur de délimiteur recouvrable pour localiser la valeur d'instant d'événement qui se trouve dans l'entrée désignée d'un autre signal de vecteur recou- 10 vrable; et b) à engendrer un signal d'événement correspondant à un autre signal de vecteur recouvrable qui contient une valeur d'instant d'événement localisée. 44 - Procédé suivant la revendication 43, caractérisé 15 en ce que l'opération d'utilisation d'une valeur d'instant d'événement représentée par le signal de vecteur de délimiteur recouvrable comprend une étape consistant : a) à compter les différentes valetirs d'instant d'événement représentées par ledit signal de vecteur de délimiteur 20 recouvrable jusqu'à ce qu'un compte correspondant à au moins tua signal d'identification d'entrée soit formé; l'étape de génération d'un signal d'événement correspondant à un autre signal de vectetir recouvrable qui contient une valeur d'instant d'événement localisée comprenant un pas consistant à 25 localiser une valeur d'instant d'événement dudit autre signal de vecteur, valeur qui est dans une relation prédéterminée avec la valeur d'instant d'événement de délimiteur correspondant audit compte. 45 - Procédé suivant la revendication 42, caractérisé 30 en ce qu'il comprend les opérations consistant : a) à former les signaux d'événement dans un ordre désiré en formant, à la suite d'au moins un signal d'événement qui représente une entrée complète, au moins un signal d'événement qui représente un délimiteur; et 35 h) en réponse à chaque signal d'événement qui représente un délimiteur, à autoriser l'exécution de ladite opération d'examen des événements qui sont représentés par des signaux d'événement contenus dans l'entrée correspondante. -964- 2334148 46 - Procédé suivant la revendication 45, caractérisé en ce qu'il comprend les opérations consistant : a) à stocker temporairement au moins un signai représentant chacun des signaux d'événement qui constituent une entrée 5 représentant une demande y compris chaque événement qui re présente un délimiteur; b) à recouvrer les signaux temporairement stockés dans un ordre choisi à l'avance; et c) à contrôler les signaux sortis par lecture pour en détec-10 ter un qui représente un délimiteur; ladite opération d'autorisation d'examen s'effectuant en réponse à cette détection d'un signal d'événement représentant un délimiteur. 47 - Procédé de traitement de données permettant de 15 recouvrer, à partir d'un système de mémoire, des données qui sont contenues dans une base de données multicouche dont chaque couche représente une séquence ordonnée d'entrées et d'événements, chaque entrée étant représentée par un ou plusieurs de ces événements, certains événements de chaque couche étant identiques mais au 20 moins un événement de chaque coucheétant différent des autres et certaines entrées de chaque couche étant identiques tandis que l'une au moins des entrées de chaque couche est différente des autres, chaque couche comprenant une pluralité de signatix de vecteur recouvrables séparément, à raison d'un pour chaque 25 événement différent de la couche considérée, chaque signal de vecteur recouvrable représentant une valeur d'instant d'événement pour chaque apparition de l'événement correspondant, pour identifier l'ordre d'apparition des événements correspondants, la base de données comprenant au moins des première et seconde 30 couches, chaque événement d'une pluralité d'événements de la seconde couche ayant une entrée correspondante dans la première couche, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à engendrer un signal d'identification d'entrée de pre-35 • mière couche désignant l'entrée de première couche qui correspond à un signal de vecteur de seconde couche représentant au moins une valeur d'instant d'événement d'une entrée de secçnde couche choisie; et -965- 2334148 t>) à engendrer un signal d'événement de première couche correspondant au signal de vecteur de première couche qui représente une valeur d'instant d'événement de l'entrée de première couche désignée. 5 48 - Procédé suivant la revendication 47, caractérisé en ce qu'il comprend une opération consistant à former au moins un signal d'identification d'entrée de seconde couche désignant l'entrée de seconde couche choisie précitée destinée à être utilisée au cours de la piendère opération de génération mentionnée 10 (a). 49 - Procédé suivant la revendication 47, caractérisé en ce que ladite entrée de première couche désignée contient une pluralité desdites valeurs d'instant d'événement contenues dans un ou plusieurs desdits signaux de vecteur de première couche 15 et en ce que l'opération de génération d'un signal d'événement de première couche comprend une étape consistant à engendrer un signal d'événement de première couche pour chacune des valeurs de ladite pluralité de valeurs d'instant d'événement. 50 - Procédé suivant la revendication 49, caractérisé 20 en ce que l'opération de génération d'un signal d'événement de première couche comprend une étape consistant à ordonner les signaux d'événement de première couche respectifs des valeurs d'instant d'événement de ladite pluralité dans l'ordre identifié par ladite pluralité de valeurs d'instant d'événement. 25 51 - Procédé suivant la revendication 48, caractérisé en ce que ladite entrée de seconde couche choisie contient une pluralité desdites valeurs d'instant d'événement représentée par au moins un signal de vecteur de seconde couche, en ce que ladite opération de génération d'un signal d'identification d'entrée 30 de première couche comprend une étape consistant à engendrer un tel signal d'identification d'entrée de première couche pour chacune des valeurs de ladite pluralité de valeurs d'instant d'événement, l'une au moins des entrées désignées par ces signaux d'identification d'entrée de première couche contenant une plura-55 lité de valeurs d'instant d'événement de première couche contenues dans l'un au moins desdits signaux de vecteur de première couche, et en ce que l'opération de génération d'un signal d'événement de première couche comprend une étape consistant à en -966- 2334148 gendrer un signal d'événement de première couche pour chacune des valeurs d'une pluralité desdites valeurs d'instant d'événement de première couche situées dans chacune des entréés désignées par chacun des signaux d'identification d'entrée de pre-5 mière couche. 52 - Procédé suivant la revendication 51, caractérisé en ce qu'il comprend les opérations consistant : a) à ordonner les signaux d'événement de première couche dans chaque entrée de la première couche dans l'ordre identifié 10 par les valeurs d'instant d'événement correspondantes de la première couche; et b) à ordonner les signaux d'événement en groupes selon les entrées désignées de la première couche et à ordonner les groupes d'entrées dans l'ordre identifié par les valeurs 15 d'instant d'événement représentées dans les signaux de vecteur d'événement de seconde couche. 53 - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, des données qui sont contenues dans une base de données multicouche, dont chaque 20 couche représente une séquence d'entrées, chacune de ces entrées comprenant à son tour une séquence d'événements, dont certains sont identiques mais dont au moins un est différent des autres, certaines entrées étant identiques mais au moins une entrée étant différente des autres, ladite base de données comprenant 25 au moins des première et seconde couches représentées chacune par une pluralité de signaux de vecteur recouvrables séparément, à raison d'un pour chacun des événements différents de la couche correspondante, chaque signal d'événement recouvrable représentant au moins une valeur d'instant d'événement qui représente 30 à son tour l'ordre d'apparition de l'événement correspondant, chacun des événements d'une pluralité d'événements de la seconde couche ayant une entrée correspondante dans la première couche, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : 35 a) à examiner un signal de vecteur de première couche choisi pour former au moins un signal d'identification d'entrée de première couche qui désigne au moins un signal de vecteur de seconde couche; -967- 2334148 b) à examiner le signal de vecteur de seconde couche désigné pour former au moins un signal d'identification d'entrée de seconde couche; c) à engendrer un signal d'identification d'entrée de pre-5 mière couche désignant l'entrée de première couche qui correspond à un signal de vecteur de seconde couche qui représente au moins une valeur d1instant d'événement de l'entrée de seconde couche désignée; et d) à engendrer un signal d'événement de première couche cor-10 respondant au signal de vecteur de première couche qui représente une valeur d'instant d'événement de l'entrée de première couche désignée. 54- - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, des données qui 15 sont contenues dans une base de données multicouche, chaque couche de cette base représentant une séquence d'entrées qui comportent chacune une séquence d'événements, dont certains sont identiques mais dont au moins un est différent des autres, certaines entrées étant identiques, tandis qu'une au moins des 20 entrées est différente des autres, ladite base de données comprenant au moins des première et seconde couches représentées chacune par une pluralité de signaux de vecteur recouvrables séparément, à raison d'un pour chacun des événements différents de la couche correspondante, chaque signal de vecteur recouvrable 25 représentant au moins une valeur d'instant d'événement qui représente à son tour l'ordre d'apparition de l'événement correspondant, chacun des événements d'une pluralité d'événements de la seconde couche ayant une entrée correspondante dans la première couche, ledit procédé étant caractérisé en ce qu'il comprend les 30 opérations consistant : a) à former une demande comprenant au moins un signal d'événement de première couche qui désigne un signal de vecteur de première couche; b) à examiner le signal de vecteur de première couche désigné 35 pour former au moins un signal d'identification d'entrée de première couche qui désigne au moins un signal de vectetir de seconde couche; -968- 2334148 à examiner le signal de vecteur de seconde couche désigné pour former au moins un signal d'identification d'entrée de seconde couche; à engendrer un signal d'identification d'entrée de première couche désignant l'entrée de première couche qui correspond à un signal de vecteur de seconde couche qui représente au moins une valetir d'instant d'événement dans l'entrée de seconde couche désignée; et à engendrer un signal d'événement de première couche de sortie correspondant au signal de vecteur de première couche qui représente une valeur d'instant d'événement de l'entrée de première couche désignée. 55 - Procédé suivant la revendication 54 dans lequel une série de signaux d'événement de première couche ordonnés sont 15 formés, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former un signal de délimiteur identifiant la limite d'une entrée de premier niveau dans les signaux d'événement ; et 20 b) en réponse à ce signal de délimiteur, à autoriser l'exécution de l'opération d'examen des valeurs d'instant d'événement désignées représentées par le signal de vecteur de première couche. 56 - Procédé suivant la revendication 54, caractérisé 25 en ce qu'il comprend les opérations consistant 1 a) à former un autre signal de délimiteur identifiant la limite d'une entrée de second niveau dans les signaux d'événement ; et b) en réponse audit autre signal de délimiteur, à autoriser 50 l'exécution de ladite opération d'examen des signaux de vecteur de seconde couche désignés. 57 - ^Procédé suivant la revendication 54 dans lequel une série de signatix d'événement de première couche ordonnés sont formés, ledit procédé étant caractérisé en ce qu'il comprend les 35 opérations consistant : a) à former un signal de délimiteur identifiant la limite d'une entrée de second niveau dans les signaux d'événement; et d) 5 e) 10 -969- 2334148 b) en réponse à ce signal de délimiteur» à autoriser l'exécution de l'opération d'examen des signatix de vecteur de seconde couche désignés. 58 - Procédé suivant la revendication 54, dans lequel 5 une série de signaux d'événement de première couche ordonnés sont formés, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former dans lesdits signaux d'événement de première couche ordonnés, un signal d'événement de délimiteur qui re- 10 présente par sa position, la limite d'une entrée de premier niveau; et b) en réponse à ce signal d'événement de délimiteur, à autoriser l'exécution de l'opération d'examen du signal de vecteur de première couche désigné. 15 59 - Procédé suivant la revendication 58, caractérisé en ce qu'il comprend les opérations consistant s a) à stocker temporairement dans un certain ordre lesdits signaux d'événement de première couche; b) à sortir par lecture dans un certain ordre les signatix d'é-20 vénement de première couche temporairement stockés; et c) à contrôler les signaux d'événement de première couche sortis par lecture pour en détecter un qui représente le délimiteur; ladite opération d'autorisation s'effectuant en réponse à la 25 détection d'un signal d'événement de première couche représentant un délimiteur. 60 - Procédé suivant la revendication 54, dans lequel tme série de signaux d'événement de première couche ordonnés sont formés, ledit procédé étant caractérisé en ce qu'il comprend 50 les opérations consistant : a) à former, dans les signaux d'événement de première couche ordonnés, un signal d'événement de délimiteur qui représente par sa position la limite d'une entrée de second niveau; et 35 b) en réponse audit signal d'événement de première couche représentant ledit délimiteur, à autoriser l'exécution de ladite opération d'examen des signaux de vecteur de seconde couche désignés. -970- 2334148 61 - Procédé suivant la revendication 60, caractérisé en ce qu'il comprend les opérations consistant : a) à stocker temporairement dans un certain ordre lesdits signaux d'événement de première couche; 5 b) à sortir par lecture dans un certain ordre les signaux d'événement de première couche temporairement stockés; et c) à contrôler les signatix d'événement de première couche sortis par lecture pour en détecter qui représente ledit délimiteur; 10 ladite opération d'autorisation s'effectuant en réponse à la détection d'un signal d'événement de première couche représentant un délimiteur. 62 - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, des données qui sont 15 contenues dans une base de données stockée qui représente une séquence d'entrées comprenant chacune une séquence d'événements, dont certains sont identiques, mais dont l'un au moins est différent des autres, ladite base de données stockée étant représentée par une pluralité de signaux de vecteur recouvrables séparément, 20 à raison d'un pour chacun des événements différents, chaque signal de vecteur recouvrable représentant au moins une valetir d'instant d'événement qui représente l'ordre d'apparition de l'événement correspondant, et moins l'un des signatix de vectetir recouvrables étant prévu pour un événement de délimiteur et re-25 présentant au moins une valeur d'instant d'événement identifiant une limite de chacune desdites entrées, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à examiner au moins un signal de vecteur choisi pour former sélectivement un signal d'identification d'entrée; 30 b) à utiliser des valeurs d'instant d'événement représentées par le signal de vecteur de délimiteur pour localiser des valeurs d'instant d'événement contenues dans une entrée de la base de données stockée; entrée qui est identifiée par ledit signal d'identification d'entrée; et 35 c) à engendrer un signal d'événement pour chaque valeur d'instant d'événement localisée, chaque signal d'événement représentant l'événement qui correspond au signal de vecteur représentant une valeur d'instant d'événement localisée. -971- 2334148 63 - Procédé suivant la revendication 62, caractérisé en ce que l'opération d'utilisation de valeurs d'instant d'événement représentées par le signal de vecteur d'événement de délimiteur comprend les étapes consistant : 5 a) à compter les valeurs d'instant d'événement représentées par le signal de vectetir de délimiteur jusqu'à ce que soit atteint un compte qui est dans une relation prédéterminée avec ledit signal d'identification d'entrée; et b) à localiser des valeurs d'instant d'événement représentées 10 par les signaux de vecteur de la base de données stockée, valeurs qui sont dans une relation prédéterminée avec ce compte. 64 - Procédé suivant la revendication 63, caractérisé en ce qu'il comprend les opérations consistant : 15 a) à engendrer des signaux d'événement de test représentant des valeurs d'instant d'événement consécutives qui sont dans une relation prédéterminée avec la valeur d'instant d'événement correspondant audit compte; et b) à examiner la base de données afin de localiser, pour cette 20 opération de génération, des valeurs d'instant d'événement effectivement présentes dans la base de données stockée, valeurs qui sont représentées chacune par l'un des signaux d'instant d'événement de test. 65 - Procédé de traitement de données permettant de 25 recouvrer, à partir d'un système de mémoire, des données qui sont contenues dans une base de données multicouche représentant une séquence d'entrées de second niveau qui représentent chacune au moins une entrée de premier niveau, chacune de ces entrées de premier niveau représentant au moins un événement, certaines 30 dë ces entrées de premier niveau étant identiques mais au moins une entrée étant différente des autres, certains événements étant identiques mais au moins un événement étant différent des autres, lesdits événements comprenant un premier délimiteur qui identifie une limite de chaque entrée de premier niveau et un second déli-35 miteur qui identifie une limite de chaque entrée de second niveau, ladite base de données comprenant au moins une première couche correspondant auxdites entrées de premier niveau et une seconde couche correspondant auxdites entrées de second niveau, chaque -972- 2334148 couche étant représentée par une pluralité de signaux de vecteur recouvrables séparément, à raison d'un pour chacun des événements différents de la couche correspondante, chaque signal de vecteur recouvrable représentant au moins une valeur d'instant 5 d'événement qui représente à son tour l'ordre d'apparition de l'événement correspondant, un signal de vecteur étant prévu dans ladite première couche pour ledit premier événement de délimiteur et un signal de vecteur étant prévu dans ladite seconde couche pour ledit second événement de délimiteur, les événements 10 de la base de données et les entrées de premier niveau formant, respectivement, les événements et les entrées de la première couche, tandis que les entrées de premier niveau et les entrées de second niveau forment respectivement, les événements et les entrées de la seconde couche, ledit procédé comprenant les opé- 15 rations consistant : a) à former un signal désignant une entrée de seconde couche désirée; b) à utiliser des valeurs d'instant d'événement du signal de vecteur de second délimiteur pour localiser les valeurs 20 d'instant d'événement de l'entrée de seconde couche dési gnée de la seconde couche; c) à engendrer un signal d'identification d'entrée de première couche désignant chaque entrée de première couche qui correspond à un signal de vectetir de seconde couche représen- 25 tant au moins l'une des valeurs d'instant d'événement localisées; d) à utiliser les valeurs d'instant d'événement du signal de vecteur de premier délimiteur pour localiser les valeurs d'instant d'événement de l'entrée de première couche dési- 30 gnée de la première couche; et e) à engendrer un signal d'événement de première couche correspondant à chaque signal de vecteur de première couche qui représente l'une des valeurs d'instant d'événement localisées. 35 66 - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, des données qui sont contenues dans une base de données multicouche stockée, comprenant au moins des première et seconde couches représentées -973- 2334148 chacune par un signal de vecteur recouvrable séparément pour chacun des événements d'une pluralité d'événements de valeurs différentes, chaque signal de vecteur représentant une ou plusieurs valeurs d'instant d'événement qui représentent à leur 5 tour l'ordre d'apparition des événements correspondants de la base de données, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former des événements représentant une demande, cette demande étant composée d'une série d'entrées, une plurali- 10 té d'événements représentant une entrée de premier niveau et une pluralité d'entrées de premier niveau représentant tme entrée de second niveau; b) à former un signal codé d'événement de première couche représentant chacun desdits événements de demande dans 15 l'ordre d'apparition, lesdits signaux codés identifiant chacun l'un des signaux de vecteur de première couche; c) à choisir et à recouvrer ceux des signaux de vecteur de première couche qui sont identifiés chacun par l'un desdits signaux d'événement de première couche; 20 d) à examiner les valeurs d'instant d'événement représentées par les signatix de vecteur de première couche recouvrés pour former au moins un signal d'identification d'entrée de première couche représentant au moins une entrée de ladite première couche; 25 e) à choisir et à recouvrer le signal de vecteur de seconde couche identifié par chacun des signaux d'identification d'entrée de première couche précités; f) à examiner les valeurs d'instant d'événement représentées par les signatix de vecteur de seconde couche recouvrés pour 30 former au moins un signal d'identification d'entrée de se conde couche représentant au moins une entrée de ladite première couche ; g) à engendrer des signatix d'identification d'entrée de première couche représentant les entrées de première couche 55 (événements de seconde couche) qui, d'après les valetirs d'instant d'événement de la seconde couche, sont présentes dans l'entrée de seconde couche identifiée par chacun des signaux d'identification d'entrée de seconde couche, les -974- 2334148 signaux d'identification d'entrée de première couche de sortie étant rangés dans leur ordre d'apparition dans la seconde couche de la hase de données tel qu'il est représenté par des valeurs d'instant d'événement de la seconde 5 couche; h) à engendrer des signaux codés d'événement de première couche de sortie représentant les événements de première couche qui, d'après les valetirs d'instant d'événement de la première couche, sont présents dans des entrées de 10 première couche de la hase de données, entrées qui sont identifiées par lesdits signaux d'identification d'entrée de première couche; i) à ordonner les signatix codés d'événement de première couche de sortie par ordre d'apparition dans chaque entrée de 15 première couche, ordre qui est représenté par les valeurs d'instant d'événement de la première couche, et à ordonner les entrées de celle-ci dans l'ordre d'apparition représenté par des valeurs d'instant d'événement de la seconde couche; et 20 j) à sortir les signaux codés d'événement de première couche de sortie. 67 - Dispositif de traitement de données numériques muni d'une mémoire, et caractérisé par des moyens aptes à créer dans cette mémoire une base de données codées numériques selon 25 le procédé de l'une des revendications. 68 - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, une portion d'une base de données stockée, ladite base de données stockée étant représentée par un signal de vecteur recouvrable séparé- 30 ment pour chacun des événements d'une pluralité d'événements de valeurs différentes, des événements de même valeur étant représentés par le même signal de vecteur recouvrable, chaque signal de vecteur représentant au moins une valeur d'instant d'événement qui représente à son tour l'ordre d'apparition de l'événe- 35 ment correspondant dans la base de données stockée et les signaux de vectetir représentant une série d'entrées contenant chacune au moins un événement, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : -975- 2334148 a) à former une demande comprenant une série de signatix d'événement codés représentant les événements d'une entrée; b) à examiner des signaux de vecteur choisis qui correspondent aux événements de la demande, pour localiser une entrée 5 contenant des valeurs d'instant d'événement qui représen tent des événements présentant un degré de concordance prédéterminé avec les événements représentés par les signaux d'événement de la demande et à former un signal d'identification d'entrée identifiant cette entrée; et 10 c) à engendrer des signaux d'événement codés de sortie représentant les événements qui, d'après les valetirs d'instant d'événement de la base de données, sont présents dans une entrée de la base de données, entrée qui est identifiée par ledit signal d'identification d'entrée, lesdits signaux 15 d'événement de sortie étant rangés dans un ordre d'appari tion représenté par les valeurs d'instant d'événement de ladite entrée. 69 - Procédé suivant la revendication 68, caractérisé en ce que ladite opération d'examen comprend une étape consis- 20 tant à localiser une entrée de la base de données contenant des valetirs d'instant d'événement qui représentent des événements qui ne peuvent- pas concorder exactement avec les événements de la demande. 70 - Procédé suivant la revendication 69, caractéri-25 sé en ce qu'il comprend une opération consistant : a) à former des signaux de valeurs différentes identifiant des degrés de concordance admissibles différents entre les événements de la demande et les événements d'une entrée de la base de données; 30 et en ce que ladite étape de localisation comprend un pas consistant à localiser une entrée de la base de données présentant l'un desdits degrés admissibles de concordance. 71 - Procédé suivant la revendication 68, caractérisé en ce que l'opération d'examen en vue de localiser une entrée 35 présentant un degré prédéterminé de concordance comprend une étape consistant : à localiser une entrée de la base de données qui comprend au moins un nombre prédéterminé de valeurs d'instant -976- 2334148 d'événement représentant des événements situés à une distance, au plus égale à un nombre choisi à l'avance de positions d'événement, des événements correspondants de la demande. 72 - Procédé de traitement de données suivant la re-5 vendication 71, dans lequel ledit nombre prédéterminé d'événements est spécifié par tme valeur de délimitation de cadre, ledit procédé étant caractérisé en ce qu'il comprend une opération consistant à fournir une information d'entrée au système de traitement de données pour modifier ladite valeur de délimita- 10 tion de cadre. 73 - Procédé suivant la revendication 71, dans lequel ledit nombre prédéterminé d'événements est calculé, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : 15 a) à former un signal de délimitation de cadre représentant le nombre prédéterminé d'événements sous la forme d'une fraction du nombre d'événements d'une entrée de la demande; b) à former un signal de nombre d'événements pour chacune des entrées individuelles de la demande, signal qui repré- 20 sente le nombre d'événements de l'entrée correspondante; et c) à utiliser les valeurs représentées par ledit signal de délimitation de cadre et par ledit signal de nombre d'événements, pour former un signal représentant le nombre prédéterminé d'événements à utiliser. 25 74 - Procédé suivant la revendication 71, dans le quel ledit nombre choisi à l'avance de valeurs d'instant d'événement est spécifié par une valeur de largeur de cadre, ledit procédé étant caractérisé en ce qu'il comprend une opération consistant à fournir une information d'entrée au système de traitement 50 de données pour modifier ladite valeur de largeur de cadre. 75 - Procédé suivant la revendication 68, dans lequel ledit nombre prédéterminé d'événements est calculé, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : 35 a) à former un signal représentant une valeur de délimitation de cadre qui représente à son tour le nombre prédéterminé d'événements sous la forme d'une fraction du nombre d'événements d'une entrée; -977- 2334148 b) à compter le nombre d'événements, représentés par des signaux d'événement, contenus dans une entrée de la demande; c) à calculer une valeur numérique représentant le produit de ladite valeur de délimitation de cadre par la valeur 5 représentée par le compte fourni par l'opération précé- cente (b); d) à compter le nombre d'événements qui sont représentés par des valetirs d'instant d'événement dans la base de données et qui se trouvent à une distance, au plus égale audit 10 nombre choisi à l'avance de positions d'événement, de l'é vénement correspondant de la demande; et e) à comparer le compte fourni par la dernière opération de comptage mentionnée (d) avec ladite valeur numérique et, si cette comparaison montre que ledit compte et ladite 1-5 valeur sont dans tme relation prédéterminée, à former un signal "passe" indiquant que l'entrée correspondante est localisée; et en ce que l'opération de formation d'un signal d'identification d'entrée comprend une étape consistant à former un signal 20 de ce genre pour représenter chaque entrée pour laquelle un signal "passe" est formé. 76 - Procédé suivant la revendication 75, caractérisé en ce que ladite opération de formation d'un signal d'identification d'entrée comprend les étapes consistant : 25 a) à former un signal d'identification d'entrée intermédiaire représentant au moins l'une desdites entrées localisées; b) à examiner, dans l'entrée identifiée par chaque signal d'identification d'entrée intermédiaire, les valeurs d'instant d'événement des signaux de vecteur choisis pour 30 localiser une entrée de la base de données qui présente au moins un degré choisi à l'avance de concordance, tant en ce qui concerne l'ordre des événements que leur présence, avec l'entrée de la demande; et c) à former ledit signal d'identification d'entrée représen- 35 tant ladite entrée de la base de données. 77 - Procédé suivant la revendication 76, caractérisé en ce qu'il comprend une étape consistant à localiser exclusivement celles des entrées de la base de données qui présentent au -978- 2334148 moins un degré choisi à l'avance de concordance, tant en ce qui concerne le nombre d'événements, que leur ordre et leur présence. 78 - Procédé suivant la revendication 76,caractérisé en ce qu'il comprend les étapes consistant : 5 a) à stocker un signal indiquant s'il y a lieu de tenir compte des nombres respectifs d'événements d'une demande et de la base de données; et b) en réponse à ce signal stocké, à permettre à l'étape d'examen et de localisation de comprendre un pas consistant à 10 localiser exclusivement celles des entrées de la base de données qui présentent au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'événements que leur ordre et leur présence. 79 - Procédé suivant la revendication 78, dans lequel 15 ledit degré de concordance choisi à l'avance est spécifié par un signal de valeur de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une étape consistant à fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de 20 concordance. 80 - Procédé suivant la revendication 78, dans lequel ledit degré de concordance choisi à l'avance est spécifié par un signal de valetir de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une étape consistant à 25 fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de concordance. 81 - Procédé suivant la revendication 68, caractérisé en ce que ladite opération de formation d'un signal d'identifica- 30 tion d'entrée comprend les étapes consistant : a) à former un signal d'identification d'entrée intermédiaire représentant au moins l'une des entrées identifiées; b) à examiner, dans 1'entré^identifiée par chaque signal d'identification d'entrée intermédiaire, les valeurs d'instant 35 d'événement des signaux de vecteur choisis pour localiser une entrée de la base de données qui présente au moins un degré de concordance choisi à l'avance, en ce qui concerne l'ordre et la présence des événements, avec l'entrée de ladite demande ; et -979- 2334148 c) à former ledit signal d'identification d'entrée représentant cette entrée de la base de données. 82 - Procédé suivant la revendication 81, caractérisé en ce qu'il comprend une étape consistant à localiser exclusive- 5 ment celles des entrées de la base de données qui présentent au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'événements que leur ordre et leur présence. 83 - Procédé suivant la revendication 81, caractérisé en ce qu'il comprend les étapes consistant : 10 a) à stocker un signal indiquant s'il y a lieu de tenir compte des nombres respectifs d'événements d'une demande et de la base de données; et b) en réponse à ce signal stocké, à permettre à l'étape de localisation de comprendre un pas consistant à localiser 15 exclusivement les entrées de la base de données qui pré sentent au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'événements que leur ordre et leur présence. 84 - Procédé suivant la revendication 83, dans lequel 20 ledit degré de concordance choisi à l'avance est spécifié par un signal de valeur de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend tme étape consistant à fournir tme information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation 25 de concordance. 85 - Procédé suivant la revendication 81, dans lequel ledit degré de concordance choisi à l'avance est spécifié par un signal de valetir de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une étape consistant à 30 fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de concordance. 86 - Procédé suivant la revendication 68, caractérisé en ce que l'opération de formation d'un signal d'identification 35 d'entrée comprend une étape consistant à localiser une entrée de la base de données qui présente au moins un degré de concordance choisi à l'avance, en ce qui concerne l'ordre et la présence des événements, avec l'entrée de la demande. -980- 2334148 87 - Procédé suivant la revendication 86, caractérisé en ce qu'il comprend une étape consistant à localiser exclusivement celles des entrées de la base de données qui présentent au moins un degré de concordance choisi à l'avance, tant en ce qui 5 concerne le nombre d'événements que leur ordre et leur présence. 88 - Procédé suivant la revendication 68, caractérisé en ce qu'il comprend une opération consistant à choisir ceux des signaux de vecteur recouvrables de la base de données qui correspondent aux événements représentés par les signaux d'événe-10 ment de la demande. 89 - Procédé suivant la revendication 69, caractérisé en ce qu'il comprend les étapes consistant : a) à sortir par lecture les signaux de vecteur recouvrables choisis du système de mémoire;et 15 b) à former un signal de valeur d'instant d'événement représentant la valeur d'instant d'événement de chacun de ces signaux de vecteur sortis par lecture; et en ce que l'opération d'examen utilise un tel signal de valeur d'instant d'événement pour examiner les signatix de vecteur 20 choisis. 90 - Procédé suivant la revendication 68, caractérisé en ce que la base de données stockée comprend au moins un signal de vecteur, les valeurs d'instant d'événement représentées par ce signal de vecteur identifiant l'ordre d'apparition d'un évé-25 nement de délimiteur, un événement de délimiteur identifié définissant une limite de chacune des entrées, et en ce que l'opération d'examen comprend une étape consistant à examiner des valeurs d'instant d'événement ayant une grandeur comprise entre celles des valeurs de deux événements de délimiteur successifs 30 pour déterminer ainsi si l'entrée correspondante présente le degré de concordance choisi à l'avance. 91 - Procédé suivant la revendication 68, caractérisé en ce que la base de données stockée comprend au moins un signal de vecteur, les valetirs d'instant d'événement représentées par ce 35 signal de vecteur identifiant l'ordre d'apparition d'un événement de délimiteur, un événement de délimiteur identifié définissant une limite de chacune des entrées, et en ce que l'opération de formation d'un signal d'identification d'entrée comprend les étapes consistant : -981- 2334148 a) à compter les valetirs d'instant d'événement du signal de vecteur d'événement de délimiteur de manière à indiquer ainsi des entrées successives; et b) à former un signal correspondant au compte de l'entrée 5 qui présente un tel degré de concordance choisi à l'avance. 92 - Procédé suivant la revendication 68, caractérisé en ce que la hase de données stockée comprend au moins un signal de vecteur, les valeurs d'instant d'événement représentées par ce signal de vectetir identifiant l'ordre d'apparition d'un événe-10 ment de délimiteur, un événement de délimiteur identifié définissant une limite de chacune des entrées, et en ce que l'opération de génération comprend les étapes consistant : a) à localiser une paire de valetirs d'instant d'événement successives dans chaque signal de vecteur de délimiteur, 15 pour identifier les limites de l'entrée qui correspond au signal d'identification d'entrée; et h) à engendrer des signatix d'événement codés exclusivement pour les valeurs d'instant d'événement qui sont comprises entre les deux valeurs d'instant d'événement successives 20 de ladite paire. 93 - Procédé suivant la revendication 92, caractérisé en ce que l'étape de localisation d'une paire de valeurs d'instant d'événement successives comprend les pas consistant : a) à compter des valeurs d'instant d'événement successives 25 de chaque signal de vecteur de délimiteur jusqu'à ce qu'on atteigne un compte qui est dans une relation prédéterminée avec la valeur représentée par le signal d'identification d'entrée; et b) à utiliser la valeur d'instant d'événement de délimiteur 30 correspondant à ce compte en tant que l'une des valeurs d'instant d'événement successives de la paire précitée. 94- - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, une portion d'une base de données stockée, ladite base de données étant représentée 35 par un signal de vecteur recouvrable séparément pour chacun des événements d'une pluralité d'événements de valeurs différentes, des événements de même valeur étant représentés par un même signal de vecteur recouvrable, chaque signal de vecteur représen- -982- 2334148 tant au moins une valeur d'instant d'événement et chacune des valetirs d'instant d'événement représentant l'ordre d'apparition de l'événement correspondant de la base de données stockée, tandis que les signaux de vecteur représentent une série d'entrées 5 contenant chacune au moins un événement, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former une demande comprenant une série de signaux d'événement codés représentant les événements d'une entrée; b) à former au moins un autre signal codé représentant l'or-10 dre relatif d'apparition de signaux d'événement individuels dans 1'entré e de la demande; c) à examiner des signaux de vecteur choisis qui correspondent aux événements de la demande et à utiliser chacun desdits autres signaux codés pour localiser une entrée contenant 15 des valeurs d'instant d'événement qui représentent des événements ayant un degré de concordance prédéterminé avec les événements représentés par les signaux d'événement de la demande et à former un signal d'identification d'entrée identifiant cette entrée; et 20 d) à engendrer des signaux d'événement codés de sortie représentant les événements qui, d'après les valeurs d'instant d'événement de la base de données, sont présents dans une entrée de la base de données, entrée qui est identifiée par le signal d'identification d'entrée précité, lesdits 25 signaux d'événement de sortie étant rangés dans l'ordre d'apparition représenté par les valeurs d'instant d'événement de ladite entrée. 95 - Procédé suivant la revendication 94, caractérisé en ce que l'opération d'examen en vue de la localisation d'une 50 entrée présentant un degré de concordance prédéterminé comprend une étape consistant : a) à localiser une entrée de la base de données qui comprend au moins un nombre prédéterminé de valeurs d'instant d'événement représentant des événements situés à une distance, 35 au plus égale à un nombre choisi à l'avance de positions d'événement, des événements correspondants de la demande. 96 - Procédé suivant la revendication 94, caractérisé en ce que l'opération de formation d'au moins un autre signal -983- 2334148 codé comprend une étape consistant à former un signal de décalage codé correspondant, pour chacun d'au moins certains des signaux d'événement de la demande, en ce que l'opération d'examen et de localisation comprend les étapes consistant : 5 a) à combiner la valeur représentée par chaque signal de décalage avec une valeur d'instant d'événement du signal de vecteur choisi, pour le même signal d'événement que celui qui correspond au signal de décalage, de manière à former ainsi des valeurs d'instant d'événement décalées; 10 b) à stocker un signal de largeur de cadre représentant les limites d'un défaut de concordance admissible et, par conséquent, le nombre choisi à l'avance de positions d'événement; et c) à compter le nombre de signaux décalés représentant des 15 valeurs qui tombent entre des limites choisies à l'avance de chacune des valeurs d'instant d'événement possibles choisies de la base de données, ces limites choisies à l'avance étant identifiées par ledit signal de largeur de cadre stocké; 20 et en ce que l'opération de localisation d'une entrée comprend une étape consistant à utiliser le compte pour localiser une entrée qui comporte ledit nombre prédéterminé d'événements. 97 - Procédé suivant la revendication 96, caractérisé en ce qu'il comprend une étape consistant : 25 à former un signal représentant au moins une valeur d'instant d'événement possible d'au moins une entrée de la base de données; et en ce ,que l'étape de comptage comprend un pas consistant à utiliser chaque signal de valeur d'instant d'événement possible 30 pour identifier chaque valeur d'instant d'événement possible choisie. 98 - Procédé suivant la revendication 94, caractérisé en ce que l'opération d'examen et de localisation comprend une étape consistant à localiser une entrée de la base de données 35 contenant des valeurs d'instant d'événement qui représentent des événements qui ne peuvent pas concorder exactement avec les événements de la demande. -984- 2334148 99 - Procédé suivant la revendication 96, caractérisé en ce qu'il comprend une étape consistant : à former des signaux de valeurs différentes identifiant des degrés de concordance admissibles différents entre les événe-5 ments de l'entrée de la demande et les événements d'une entrée de la base de données; et en ce que l'étape d'utilisation de compte en vue d'une localisation comprend un pas consistant à localiser une entrée de la base de données présentant ledit degré admissible de concordance. 10 100 - Procédé suivant la revendication 95, dans le quel ledit nombre prédéterminé de valetirs d'instant d'événement est spécifié par une valeur de délimitation de cadre, ledit procédé étant caractérisé en ce qu'il comprend une étape consistant à fournir une information d'entrée au système de traitement de 15 données pour modifier ladite valeur de délimitation de cadre. 101 - Procédé suivant la revendication 95, dans lequel ledit nombre prédéterminé de valeurs d'instant d'événement est calculé, ledit procédé étant caractérisé en ce qu'il comprend les étapes consistant : 20 a) à former un signal de délimitation de cadre représentant le nombre prédéterminé de valeurs d'instant d'événement sous la forme d'une fraction du nombre d'événements d'une entrée de la demande; b) à former un signal de nombre d'événements pour chacune des 25 entrées individuelles de la demande, ce signal représentant le nombre d'événements de l'entrée correspondante; et c) à utiliseatfLes valeurs représentées par ledit signal de délimitation de cadre et par ledit signal de nombre d'événements pour former un signal représentant le nombre 30 prédéterminé de valeurs d'instant d'événement à utiliser pour la localisation d'une entrée de la base de données. 102 - Procédé suivant la revendication 96, caractérisé en ce qu'il comprend une étape consistant à fournir une information d'entrée au système de traitement de données pour modifier 35 la valeur dudit signal de largeur de cadre. 103 - Procédé suivant la revendication 94, caractérisé en ce que l'opération de localisation d'une entrée de la base de données comprend les étapes consistant: -985- 2334148 a) à former un signal représentant une valeur de délimitation de cadre qui représente à son tour le nombre prédéterminé de valeurs d'instant d'événement sous la forme d'une fraction du nombre d'événements d'une entrée; 5 b) à compter le nombre d'événements, représentés par des signaux d'événement, contenus dans une entrée de la demande; c) à calculer une valeur numérique représentant le produit de ladite valeur de délimitation de cadre par la valeur représentée par le compte fourni par l'opération précé- 10 dente (b); d) à compter le nombre d'événements qui sont représentés par des valeurs d'instant d'événement dans une entrée choisie de la base de données et qui sont situés à une distance, au plus égale audit nombre choisi à l'avance de positions 15 d'événement, de l'événement correspondant de la demande; et e) à comparer le compte fourni par la dernière opération de comptage mentionnée (d), avec ladite valeur numérique et, si le résultat de cette comparaison indique une relation 20 prédéterminée entre ledit compte et ladite valeur, à for mer un signal "passe" indiquant que l'entrée correspondante est identifiée; et en ce que ladite opération de formation d'un signal d'identification d'entrée comprend une étape consistant à former un 25 tel signal représentant une telle entrée choisie, en réponse à un tel signal "passe". 104 - Procédé suivant la revendication 94, caractérisé en ce que l'opération de formation d'un signal d'identification d'entrée comprend les étapes consistant : 30 a) à former un signal d'identification d'entrée intermédiaire représentant au moins une desdites entrées identifiées; b) à examiner, dans l'entrée identifiée par ledit signal d'identification d'entrée intermédiaire, les valeurs d'instant d'événement des signaux de vecteur choisis, pour loca- 35 liser une entrée de la base de données qui présente au moins un degré de concordance choisi à l'avance, en ce qui concerne l'ordre et la présence des événements, avec l'entrée de la demande ; et -986- 2334148 c) à former ledit signal d'identification d'entrée représentant cette entrée de la base de données. 105 - Procédé suivant la revendication 104, caractérisé en ce que l'étape de localisation comprend un pas consistant 5 à localiser exclusivement celles des entrées de la base de données qui présentent au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'événements que leur ordre et leur présence. 106 - Procédé suivant la revendication 104, caracté-10 risé en ce que l'étape de localisation comprend les pas consistant : a) à stocker un signal indiquant s'il y a lieu de tenir compte des nombres respectifs d'événements de la demande et de la base de données; et 15 b) en réponse à ce signal stocké, à autoriser l'opération de localisation à comprendre un pas consistant à identifier exclusivement celles des entrées de la base de donnée^ui présentent au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'événements que 20 leur ordre et leur présence. 107 - Procédé suivant la revendication 106, dans lequel ledit degré de concordance choisi à l'avance est spécifié par un signal de valeur de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend un pas consistant 25 à fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de concordance, 108 - Procédé suivant la revendication 104, dans lequel ledit degré de concordance choisi à l'avance est spécifié 30 par un signal de valetir de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une étape consistant à fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de concordance. 35 109 - Procédé suivant la revendication 103, caracté risé en ce que l'opération de formation d'un signal d'identification d'entrée comprend les étapes consistant : -987- - 2334148 a) à former un signal d'identification d'entrée intermédiaire représentant au moins l'une desdites entrées identifiées; "b) à examiner, dans l'entrée identifiée par chaque signal d'identification d'entrée intermédiaire, les valeurs d'ins-5 tant d'événement des signaux de vecteur choisis, pour lo caliser une entrée de la base de données qui présente au moins un degré de concordance choisi à l'avance, en ce qui concerne l'ordre et la présence des événements, avec l'entrée de la demande; et 10 c) à former ledit signal d'identification d'entrée représentant cette entrée de la base de données. 110 - Procédé suivant la revendication 109, caractérisé en ce que l'opération de localisation comprend une étape consistant à localiser exclusivement celles des entrées de la 15 base de données qui présentent au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'événements que leur ordre et leur présence. 111 - Procédé suivant la revendication 109, caractérisé en ce que l'opération de localisation comprend les étapes 20 consistant : a) à stocker un signal indiquant s'il y a lieu de tenir compte des nombres respectifs d'événements de la demande et de la base de données; et b) en réponse à ce signal stocké, à autoriser l'opération 25 de localisation à comprendre une étape consistant à iden tifier exclusivement des entrées de la base de données qui présentent au moins tin degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'événements que leur ordre et leur présence. 3>0 112 - Procédé suivant la revendication 111 dans le quel ledit degré de concordance choisi à l'avance est spécifié par un signal de valeur de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une étape consistant à fournir une information d'entrée au système de traitement 35 de données pour modifier ledit signal de valeur de délimitation de concordance. 113 - Procédé suivant la revendication 109, dans lequel ledit degré de concordance choisi à l'avance est spécifié -988- 2334148 par un signal de valeur de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une étape consistant à fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation 5 de concordance. recouvrer, à partir d'un système de mémoire, une portion d'une base de données stockée, ladite base de données étant représentée par un signal de vecteur recouvrable séparément pour chacun des 10 événements d'une pluralité d'événements de valeurs différentes, des événements de même valeur étant représentés par le même signal de vecteur recouvrable, chaque signal de vecteur représentant au moins une valeur d'instant d'événement, les valeurs d'instant d'événement représentant à leur tour chacune l'ordre d'appa-15 rition de l'événement correspondant dans la base de données stockée, les signaux de vecteur représentant une série d'entrées contenant chacune au moins un événement, au moins un signal de vecteur ayant des valeurs d'instant d'événement qui identifient l'ordre d'apparition d'un événement de délimiteur et un événement 20 de délimiteur identifié définissant une limite de chacune desdites entrées, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : . a) à former une demande comprenant une série de signaux d'événement codés représentant les événements d'une entrée; 114 - Procédé de traitement de données permettant de 25 b) à former au moins un autre signal codé représentant l'ordre relatif d'apparition de signatix d'événement individuels dans l'entrée de la demande; 30 35 c) à examiner des signatix de vecteur choisis qui correspondent aux événements de la demande, cette opération comprenant une étape consistant à utiliser lesdits autres signaux codés et des valeurs d'instant d'événement fournies par le signal de vectetir d'événement de délimiteur pour localiser une entrée contenant des valeurs d'instant d'événement qui représentent des événements ayant un degré de concordance prédéterminé avec les événements représentés par les signaux d'événement de la demande et à former un signal d'identification d'entrée identifiant l'entrée ainsi localisée; et -989- 2334148 d) à engendrer des signaux d'événement codés de sortie représentant l'événement qui, d'après les valeurs d'instant d'événement de la base de données, sont présents dans une entrée de celle-ci, entrée qui est identifiée par ledit 5 signal d'identification d'entrée, lesdits signaux d'événe ment de sortie étant rangés dans un ordre d'apparition représenté par les valeurs d'instant d'événement de ladite entrée* 115 - Procédé suivant la revendication 114, caracté- 10 risé en ce que l'étape de localisation d'une entrée présentant un degré prédéterminé de concordance comprend les pas consistant : a) à utiliser au moins une valeur d'instant d'événement fournie par le signal de vecteur d'événement de délimiteur pour localiser les valeurs d'instant d'événement d'une en- 15 trée de la base de données; et b) à examiner les valeurs d'instant d'événement localisées pour vérifier s'il existe au moins un nombre prédéterminé de valeurs d'instant d'événement représentant des événements situés à une distance, au plus égale à un nombre 20 choisi à l'avance de positions d'événement, des événements correspondants de la demande. 116 - Procédé suivant la revendication 114, caractérisé en ce que l'opération de formation d'au moins un autre signal codé comprend une étape consistant à former un signal de décalage 25 codé correspondant à chacun d'au moins certains des signatix d'événement de la demande et en ce que l'étape de localisation comprend les pas consistant : a) à combiner la valeur représentée par chaque signal de décalage avec une valeur d'instant du signal de vecteur 30 choisi pour le même signal d'événement que celui qui cor respond audit signal de décalage de manière à former ainsi des valeurs d'instant d'événement décalées; b) à stocker un signal de largeur de cadre représentant des limites de défaut de concordance admissible et, par consé- 35 quent, le nombre choisi à l'avance de positions d'événe ment; c) à compter le nombre de signaux décalés représentant des valetirs qui tombent entre des limites choisies à l'avance -990- 2334148 de chacune des valeurs d'instant d'événement possibles choisies de la base de données, ces limites choisies à l'avance étant identifiées par ledit signal de largeur de cadre stocké; et 5 d) à utiliser le compte ainsi obtenu pour localiser une entrée qui comporte ledit nombre prédéterminé d'événements. 117 - Procédé suivant la revendication 116, caractérisé en ce qu'il comprend une opération consistant : a) à utiliser au moins une paire de valeurs d'instant d'événe-10 ment successives fournies paule signal de vecteur de déli miteur pour former un signal représentant au moins une valeur d'instant d'événement possible située entre des limites représentées par ladite paire et, par conséquent, à l'intérieur d'au moins une entrée de la base de données; i5 et en ce que le pas de comptage ccanprend un sous-pas consistant à utiliser ledit signal de valeur d'instant d'événement possible pour identifier chaque valeur d'instant d'événement possible choisie. 118 - Procédé suivant la revendication 114, caracté-20 risé en ce que ladite opération d'examen et son étape de localisation comprennent un pas consistant : a) à localiser mie entrée de la base de données contenant des valeurs d'instant d'événement qui représentent des événements ne pouvant pas concorder exactement avec les 25 événements de la demande. 119 - Procédé suivant la revendication 116, caractérisé en ce qu'il comprend un pas consistant : a) à former un signal identifiant un degré de concordance admissible entre les événements de l'entrée de la demande 30 et ceux d'une entrée de la base de données; et en ce que le pas consistant à utiliser le compte pour localiser une entrée comprend un sous-pas consistant à localiser une entrée de la base de données présentant ledit degré admissible de concordance. 35 120 - Procédé suivant la revendication 115» dans lequel ledit nombre prédéterminé de valeurs d'instant d'événement est spécifié par une valeur de délimitation de cadre, ledit procédé étant caractérisé en ce qu'il comprend un pas consistant -991- 2334148 à fournir une information d'entrée au système de traitement de données pour modifier ladite valeur de délimitation de cadre. 121 - Procédé suivant la revendication 115, caractérisé en ce que ledit nombre prédéterminé de valeurs d'instant 5 d'événement est calculé, ledit procédé étant caractérisé en ce qu'il comprend les pas consistant : a) à former un signal de délimitation de cadre représentant le nombre prédéterminé de valeurs d'instant d'événement sous la forme d'une fraction du nombre d'événements d'une 10 entrée de la demande; b) à former un signal de nombre d'événements pour chacune des entrées individuelles de la demande, signal qui représente le nombre d'événements contenus dans l'entrée correspondante ; et 15 c) à utiliser les valeurs représentées par ce signal de délimitation de cadre et par ledit signal de nombre d'événements pour former un signal représentant le nombre prédéterminé de valeurs d'instant d'événement à utiliser pour localiser une entrée de la base de données. 20 122 - Procédé suivant la revendication 116, caracté risé en ce qu'il comprend un pas consistant à fournir une information d'entrée au système de traitement de données pour modifier la valetir dudit signal de largeur de cadre. 123 - Procédé suivant la revendication 114, caracté- 25 risé en ce que la partie d'étape assurant la localisation d'une entrée de la base de données comprend les pas consistant : a) à former un signal représentant une valeur de délimitation de cadre qui représente à son tour le nombre prédéterminé de valeurs d'instant d'événement sous la forme d'une frac- 30 tion du nombre d'événements d'une entrée; b) à compter le nombre d'événements, représentés par des signaux d'événement, contenus dans une entrée de la demande; c) à calculer une valeur numérique représentant le produit de la valeur de délimitation de cadre par la valeur repré- 35 sentée par le compte fourni par le pas précédent (b); d) à utiliser au moins une paire de valeurs d'instant d'événement successives fournies par le signal de vecteur de délimiteur pour former un signal représentant au moins une va -992- 2334148 leur d'instant d'événement possible comprise entre des limites représentées par ladite paire de valeurs et, par conséquent, comprise dans au moins une entrée de la base de données; 5 e) à compter le nombre d'événements qui sont représentés par des valetirs d'instant d'événement, dans une entrée choisie de la base de données comme défini par ladite paire de valeurs d'instant d'événement successives et qui sont situés à une distance, au plus égale audit nombre choisi à 10 l'avance de positions d'événement, de l'événement corres pondant de la demande; et f) à comparer le compte fourni par le dernier pas de comptage mentionné (e) avec la valeur numérique précitée (c) et, si ce compte et cette valeur sont dans une relation prédéter-15 minée, à former un signal "passe" indiquant que l'entrée correspondante est identifiée; et en ce que la partie d'étape assurant la formation d'un signal d'identification d'entrée comprend les pas consistant : a) à compter les valeurs d'instant d'événement représentées 20 par le signal de vecteur de délimiteur pour former un compte correspondant à chacune desdites entrées de la base de données; et b) à utiliser ce compte pour former un signal d'entrée représentant chaque .entrée identifiée en réponse audit signal 25 "passe". 124 - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, une portion d'une base de données stockée, celle-ci étant représentée par un signal de vecteur recouvrable séparément pour chacun des événements d'une .30 pluralité d'événements de valeurs différentes, des événements de même valetir étant représentés par le même signal de vecteur recouvrable, chaque signal de vecteur représentant au moins une valeur d'instant d'événement et chaque valeur d'instant d'événement représentant à son tour l'ordre d'apparition de l'événement 35 correspondant dans la base de données stockée, lesdits signaux de vecteur représentant une série d'entrées contenant chacune au moins un événement, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : -995- 2334148 à former une demande comprenant une série de signatix d'événement codés qui représentent les événements d'une entrée; à former au moins un signal identifiant un degré admissible de concordance entre les événements de la demande et les événements d'une entrée de la base de données; à localiser une entrée de la base de données contenant des valeurs d'instant d'événement qui représentent des événements qui ne peuvent pas concorder exactement avec les événements de la demande, cette opération comprenant les étapes consistant s 1) à examiner des signatix de vecteur choisis pour localiser au moins une entrée de la base de données qui comporte au moins un nombre prédéterminé de valetirs d'instant d'événement représentant des événements située à une distance, au plus égale à un nombre choisi à l'avance de positions d'événement, des événements correspondants de la demanda. 2) à former un signal d'identification d'entrée intermédiaire identifiant chacune des entrées ainsi localisées, 3) à examiner dans l'entrée identifiée par chaque signal d'identification d'entrée intermédiaire les valetirs d'instant d'événement des signaux de vecteur choisis pour localiser une entrée de la base de données qui présente au moins un degré de concordance choisi à l'avance, en ce qui concerne l'ordre et la présence des événements, avec l'entrée de la demande, et 4-) à former un signal d'identification d'entrée représentant l'entrée localisée mentionnée en derrâer lieu de la base de données; et à engendrer des signaux d'événement codés de sortie représentant 3ês événements qui, d-'après les valeurs d'instant d'événement de la base de données, sont présents dans l'entrée de la base de données identifiée par ledit signal d'identification d'entrée, lesdits signaux d'événement de sortie étant rangés dans un ordre d'apparition représenté par les valeurs d'instant d'événement de ladite entrée. -994- 1334148 125 - Procédé suivant la revendication 124, caractérisé en ce que la seconde étape d'examen mentionnée (3) peut localiser des entrées multiples et en ce que ladite étape de formation d'un signal d'identifidation d'entrée (4) comprend le pas 5 consistant î a) à former un signal d'identification d'entrée représentant chacune desdites entrées multiples. 126 - Procédé suivant la revendication 125, caractérisé en ce qu'il comprend un pas consistant : 10 a) à calculer une valeur pour chaque signal d'identification d'entrée, valeur qui représente le degré effectif de concordance quant à l'ordre et à la présence 4.'événements entre l'entrée correspondante de la base de données et une entrée correspondante de la demande. 15 127 - Procédé suivant la revendication 126, caracté risé en ce qu'il comprend un pas consistant : a) à ordonner les signaux d'identification d'entrée par ordre de degré correspondant de valetir de concordance. 128 - Procédé suivant la revendication 127, caracté-20 risé en ce qu'il comprend un pas consistant à stocker les signaux d'identification d'entrée ordonnés dans ledit ordre, chacun conjointement à un signal représentant le degré de valeur de concordance. 129 - Procédé suivant la revendication 124, caracté-25 risé en ce que ladite opération de génération comprend une étape consistant à engendrer des signaux codés de sortie représentant l'entrée identifiée par chaque signal d'identification d'entrée suivant une séquence corrèspondant à l'ordre précité. 130 - Procédé suivant la revendication 124, caracté-30 risé en ce que ladite opération de génération comprend une étape consistant à engendrer un signal d'événement pour chacune des valeurs d'une pluralité de valeurs d'instant d'événement d'une entrée qui contient un nombre de valeurs d'instant d'événement plus grand que le nombre d'événements de la demande originale. 35 131 - Procédé de traitement de données permettant de recouvrer, à partir d'un système de mémoire, des données qui sont contenues dans une base de données multicouche, chaque couche représentant une séquence ordonnée d'entrées et d'événe -995- 2334148 ments dans laquelle un ou plusieurs événements représentent chaque entrée, certains des événements de chaque couche étant identiques, mais au moins l'un des événements de chaque couche étant différent des autres événements de la même couche, certaines 5 des entrées de chaque couche étant identiques, mais l'une au moins des entrées de chaque couche étant différente des autres entrées de la même couche, chaque couche comprenant une pluralité de signaux de vecteur recouvrables séparément à raison d'un pour chaque événement différent de la couche considérée, chaque signal 10 de vecteur recouvrable représentant une valeur d'instant d'événement pour chaque apparition de l'événement correspondant, valeur d'instant tt'événement qui identifie l'ordre d'apparition dudit événement correspondant, la base de données comprenant au moins des première et seconde couches, chacun des événements d'une plu-15 ralité d'événements de la seconde couche ayant une entrée correspondante dans la première couche, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former une demande comprenant des entrées multiples représentées chacune par au moins un signal d'événement codé, 20 les entrées et les événements étant ordonnés par ordre d' apparition; b) à examiner la première couche et à localiser, pour chacune des entrées d'une pluralité des entrées de la demande, au moins une entrée de première couche comprenant des valeurs 25 d'instant d'événement qui représentent des événements pré sentant au moins un degré prédéterminé de concordance avec les événements représentés par l'entrée correspondante de la demande; c) à examiner ceux des signaux de vecteur d'événement de se-50 conde couche qui correspondent aux entrées de première couche localisées pour localiser au moins une entrée de seconde couche contenant des valetirs d'instant d'événement qui représentent des entrées de première couche offrant un degré prédéterminé de concordance avec les entrées de la 35 demande; d) â engendrer un signal d'identification d'entrée de première couche pour représenter chacune des entrées de première couche (événements de seconde couche) qui, d'après les -996- 2334148 valeurs d'instant d'événement de seconde couche, sont présentes dans l'entrée de seconde couche localisée; et e) à engendrer un signal d'événement de première couche correspondant pour chaque valeur d'instant d'événement conte-5 nue dans chaque entrée de première couche identifiée par chaque signal d'identification d'entrée de première couche et chaque signal d'événement de première couche ayant une valeur qui correspond au signal de vecteur d'événement contenant la valeur d'instant d'événement correspondante. '0 132 - Procédé suivant la revendication 131» caracté risé en ce qu'il comprend les opérations consistant : a) à ordonner les signatix d'événement de première couche, dans chaque entrée, d'après les valeurs d'instant d'événement de première couche correspondantes; et 15 b) à ordonner les entrées qui comprennent lesdits signaux d'événement d'après les valetirs d'instant d'événement de seconde couche correspondantes. 133 - Procédé suivant la revendication 131» caractérisé en ce que ladite opération d'examen et de localisation de 20 signaux de vectetir d'événement de seconde couche comprend tme étape consistant : a) à localiser une entrée de seconde couche contenant des valeurs d'instant d'événement de seconde couche qui représentent des entrées de première couche pouvant ne pas con-25 corder exactement avec les entrées de la demande. 134 _ Procédé suivant la revendication 131, caractérisé en ce qu'il comprend une opération consistant : a) à former des signaux de valeurs différentes représentant des degrés de concordance admissibles différents entre 30 les entrées de la demande et les entrées de première couche représentées par des entrées de seconde couche; et en ce que ladite opération d'examen et de localisation d'une entrée de seconde couche comprend une étape consistant à localiser une entrée de seconde couche offrant au moins ledit degré 35 admissible de concordance. 135 - Procédé suivant la revendication 131» caractérisé en ce que l'opération d'examen et de localisation de signaux de vectetir d'événement de seconde couche comprend une étape consistant : -997- 2334148 a) à localiser une entrée de seconde couche qui comprend au moins un nombre prédéterminé de valetirs d'instants d'événements représentant des entrées de première couche (événements de seconde couche) situées à une distance, au plus 5 égale à un nombre choisi à l'avance de positions d'entrée des entrées correspondantes de la demande. 136 - Procédé de traitement de données suivant la revendication 135» dans lequel ledit nombre prédéterminé d'entrées est spécifié par une valeur de délimitation de cadre, 10 ledit procédé étant caractérisé en ce qu'il comprend une étape consistant à fournir une information d'entrée au système de traitement de données pour modifier ladite valeur de délimitation de cadre. 137 - Procédé suivant la revendication 135» dans 15 lequel ledit nombre prédéterminé d'entrées est calculé, ledit procédé étant caractérisé en ce qu'il comprend les étapes consistant : a) à former un signal de délimitation de cadre représentant le nombre prédéterminé d'entrées sous la forme d'une frac- 20 tion du nombre d'entrées de la demande; b) à former pour chaque entrée individuelle de la demande un signal de nombre d'entrées représentant le nombre d'entrées de la demande ; et c) à utiliser les valeurs représentées par le signal de déli-25 mitation de cadre et le signal de nombre d'entrées, pour former un signal représentant le nombre prédéterminé d'entrées à utiliser. 138 - Procédé suivant la revendication 135 dans lequel ledit nombre choisi à l'avance de positions d'entrée est 30 spécifié par une valeur de largeur de cadre, ledit procédé étant caractérisé en ce qu'il comprend une opération consistant à fournir une information d'entrée au système de traitement de données pour modifier ladite valeur de largeur de cadre. 139 - Procédé suivant la revendication 135» dans 35 lequel ledit nombre prédéterminé d'entrées est calculé, ledit procédé étant caractérisé en ce qu'il comprend les étapes consistant : -998- 2334148 a) à former un signal représentant une valeur de délimitation de cadre qui représente à son tour le nombre prédéterminé d'entrées sous la forme d'une fraction du nombre d'entrées de la demande; 5 b) à compter le nombre d'entrées de la demande; c) à calculer une valeur numérique représentant le produit de ladite valeur de délimitation de cadre par la valeur représentée par le compte fourni par l'étape précédente (b) ; 10 d) à compter le nombre d'entrées de première couche qui sont représentées par des valeurs d'instant d'événement de seconde couche et qui se trouvent à une distance, au plus égale audit nombre choisi à l'avance de positions d'entrée, de l'entrée correspondante de la demande; les valeurs d'ins-15 tant d'événement de seconde couche étant celles qui sont représentées par les entrées de première couche localisées; et e) à comparer le compte fourni par la dernière opération de comptage mentionnée (d) avec la valeur numérique précitée 20 pour déterminer s'il existe entre ce compte et cette valeur une relation prédéterminée indiquant que l'entrée de seconde couche correspondante est une entrée localisée. 140 - Procédé suivant la revendication 131» dans lequel l'entrée de seconde couche dont on a précisé qu'elle est 25 localisée est une entrée de seconde couche intermédiaire, ledit procédé étant caractérisé en ce qu'il comprend une opération consistant : a) à procéder à un examen supplémentaire dans ladite entrée de seconde couche intermédiaire localisée, parmi les va-30 leurs d'instant d'événement des signaux de vecteur d'événe ment de seconde couche qui correspondent à l'entrée de première couche localisée, de manière à localiser ainsi une entrée de seconde couche offrant au moins un degré de concordance choisi à l'avance, en ce qui concerne l'ordre et 35 la présence des entrées de première couche représentées par ladite entrée de seconde couche, avec les entrées de la demande, l'entrée de seconde couche ainsi localisée étant celle qui est utilisée pour l'exécution de l'opéra -999- 2334148 tion de génération d'un signal d'identification d'entrée de première couche. 141 - Procédé suivant la revendication 14-0, caractérisé en ce qu'il comprend une opération consistant à localiser 5 exclusivement celles des entrées de seconde couche qui offrent au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre des entrées de première couche représentées que leur ordre et leur présence. 142 - Procédé suivant la revendication 14-0, caracté-10 risé en ce qu'il comprend les opérations consistant : a) à stocker un signal indiquant s'il y a lieu de tenir compte des nombres d'entrées respectifs d'une demande et de la base de données; et b) en réponse à ce signal stocké, à autoriser ladite opéra-15 tion d'examen et de localisation de comprendre une étape consistant à localiser exclusivement les entrées de la base de données qui offrent au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'entrées de première couche représentées que leur ordre 20 et leur présence. 143 - Procédé suivant la revendication 14-2, dans lequel ledit degré de concordance choisi à l'avance est spécifié par un signal de valetir de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une opération 25 consistant à fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de concordance. 144- - Procédé suivant la revendication 14-0, dans lequel ledit degré de concordance choisi à l'avance est spécifié 30 par un signal de valeur de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une opération consistant à fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de concordance. 35 14-5 - Procédé suivant la revendication 131 « caracté risé en ce que ladite opération d'examen et de localisation comprend une étape consistant : a) à localiser une entrée de seconde couche de la - 1000- 2334148 "base de données qui offre au moins un degré de concordance choisi à l'avance en ce qui concerne l'ordre et la présence des entrées, avec la demande. 146 - Procédé suivant la revendication 145, caracté-5 risé en ce que l'opération de localisation comprend une étape consistant à localiser exclusivement celles des entrées de la base de données qui offrent au moins un degré de concordance, tant en ce qui concerne le nombre d'événements que leur ordre et leur présence. 10 147 - Procédé suivant la revendication 131, caracté risé en ce qu'il comprend les opérations consistant : a) à stocker un signal indiquant s'il y a lieu de tenir compte des nombres respectifs d'entrées d'une demande et de la base de données; et 15 b) en réponse à ce signal stocké, à autoriser l'opération d'examen et de localisation à comprendre une étape consistant à localiser exclusivement des entrées de la base de données qui offrent au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'évé- 20 nements que leur ordre et leur présence. 148 - Procédé suivant la revendication 145, dans lequel ledit degré de concordance choisi à l'avance est spécifié par un signal de valeur de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une étape consis- 25 tant à fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de concordance. 149 - Procédé suivant la revendication 143, dans lequel ledit degré de concordance choisi à l'avance est spécifié 30 par un signal de valeur de délimitation de concordance, ledit procédé étant caractérisé en ce qu'il comprend une opération consistant à fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de concordance. 35 150 - Procédé suivant la revendication 131 > caracté risé en ce que la base de données stockée comprend au moins un signal de vecteur de seconde couche dont les valeurs d'instant d'événement représentent l'ordre d'apparition d'un événement de -1001- 2334148 délimiteur, au moins un événement de délimiteur définissant une limite de chacune desdites entrées de seconde couche et en ce que l'opération d'examen des signaux de vecteur d'événement de seconde couche comprend une étape consistant à examiner les va-5 leurs d'instant d'événement de seconde couche ayant des grandeurs comprises entre celles des valeurs de deux événements de délimiteur successifs pour déterminer ainsi si l'entrée de seconde couche correspondante offre le degré prédéterminé de concordance précité. 10 151 - Procédé suivant la revendication 124, caracté risé en ce que la base de données stockée comprend au moins un signal de vecteur dont les valeurs d'instant d'événement représentent l'ordre d'apparition d'un événement de délimiteur, au moins un événement de délimiteur définissant une limite de cha-15 cune des entrées de seconde couche, et en ce que l'opération de formation d'un signal d'identification d'entrée comprend les étapes consistant : a) à compter les valeurs d'instant d'événement du signal de vectetir d'événement de délimiteur de manière à indiquer 20 ainsi des entrées successives; et b) à former un signal correspondant au compte de l'entrée de seconde couche qui offre le degré prédéterminé de concordance précité. 152 - procédé suivant la revendication 131, caracté-25 risé en ce que la base de données stockée comprend au moins un signal de vecteur dont les valeurs d'instant d'événement représentent l'ordre d'apparition d'un événement de délimiteur, au moins un événement de délimiteur définissant une limite de chacune desdites entrées et en ce que la première opération de géné-30 ration mentionnée(d) comprend les étapes consistant : a) à localiser une paire de valeurs d'instant d'événement successives dans ledit signal de vecteur de délimiteur pour identifier les limites de l'entrée de seconde couche localisée; et 35 b) à engendrer des signaux d'identification d'entrée de première couche exclusivement pour les valeurs d'instant d'événement de seconde couche qui sont comprises entre les valeurs d'instant d'événement successives de ladite paire. -1002- 2334148 153 - Procédé suivant la revendication 152, caractérisé en ce que ladite étape de localisation d'une paire de valeurs d'instant d'événement successives comprend les pas consistant : 5 a) à compter des valeurs d'instant d'événement successives de chaque signal de vecteur de délimiteur jusqu'à ce que soit atteint un compte présentant une relation prédéterminée avec l'entrée de seconde couche localisée; et b) à utiliser la valeur d'instant d'événement de délimiteur 10 correspondant à ce compte comme l'une des valeurs d'ins tant d'événement successives de la paire précitée. 154 - Procédé suivant la revendication 131, caractérisé en ce qu'il comprend une opération consistant à former au moins un autre signal codé représentant l'ordre d'apparition 15 d'entrées individuelles de la demande et en ce que la seconde opération d'examen mentionnée (c) comprend une étape consistant à utiliser ledit signal codé pour localiser chaque entrée de seconde couche individuelle. 155 - Procédé suivant la revendication 154, caracté-20 risé en ce que l'opération de formation d'au moins un autre signal codé comprend une étape consistant à former un signal de décalage codé correspondant à chacune d'au moins certaines desdites entrées de la demande et en ce que l'étape d'examen et de localisation d'au moins une entrée de seconde couche comprend les pas 25 consistant : a) à combiner la valetir représentée par chaque signal de décalage avec une valeur d'instant d'événement du signal de vecteur de seconde couche, ce signal de vecteur de seconde couche étant celui qui correspond à la même entrée que le 30 signal de décalage, de manière à former ainsi des valeurs d'instant d'événement décalées; b) à stocker un signal de largeur de cadre représentant les limites d'un défaut de concordance admissible et, par conséquent, le nombre choisi à l'avance de positions d'entrée; 35 c) à compter le nombre de signaux décalés représentant des valeurs comprises entre des limites choisies à l'avance de chacune des valeurs d'instant d'événement de seconde couche possibles choisies, ces limites choisies à l'avance -1003- 2334148 étant identifiées par ledit signal de largeur de cadre stocké; et d) à utiliser le compte ainsi obtenu pour localiser l'entrée de seconde couche qui représente ledit nombre prédéterminé 5 d'entrées de première couche. 156 - Procédé suivant la revendication 155» caractérisé en ce qu'il comporte une étape consistant : a) à former un signal représentant au moins une valeur d'instant d'événement de seconde couche possible d'au moins 10 une entrée de seconde couche de la base de données; et en ce que ledit pas de comptage comprend un sous-pas consistant à utiliser chacun des signaux ainsi formés pour identifier chacune des valeurs d'instant possibles ainsi choisies. 157 - Dispositif de traitement de données muni d'une 15 mémoire, et destiné à recouvrer dans cette mémoire une partie d'une base de données codées numériques, base de donnée qui est représentée par un signal de vecteur recouvrable séparément pour chaque événement parmi une pluralité d'événements de valeurs différentes, des événements de même valeur étant représentés par le 20 même signal de vecteur recouvrable, chaque signal de vecteur représentant au moins une valeur d'instant d'événement qui représente à son tour l'ordre d'apparition de l'événement dans la base de données stockée, et les signaux de vecteur représentant une série d'entrées contenant chacune au moins un événement, caracté-25 risé par des moyens mettant en oeuvre le procédé de l'une des re-" vendications 68 à 156. 158 - Procédé de traitement de données destiné à permettre un recouvrement de données d'exactitude imparfaite, à partir d'un système de mémoire, ces données étant contenues dans 30 une base de données multicouche, chaque couche représentant une séquence ordonnée d'entrées et d'événements dans laquelle un ou plusieurs événements représentent chaque entrée, certains événements de chaque couche étant identiques mais au moins un événement de chaque couche étant différent des autres événements de la 35 même couche,, certaines entrées de chaque couche étant identiques, mais au moins une entrée de chaque couche étant différente des autres entrées de la même couche, chaque couche comprenant une pluralité de signaux de vecteur recouvrables séparément, à raison -1004- 2334148 d'un pour chacun des événements différents de la couche considérée, chaque signal de vecteur recouvrable représentant une valeur d'instant d'événement pour chaque apparition de l'événement correspondant, ces signaux de vecteur recouvrables identifiant 5 l'ordre d'apparition des événements correspondants, lesdites couches étant ordonnées dans tua ordre allant d'au moins une couche supérieure à au moins une couche inférieure, chacun des événements d'une pluralité d'événements de la couche supérieure ayant une entrée correspondante dans la couche inférieure, ledit 10 procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former une demande représentée par des parties, celles-ci comprenant des parties d'entrée de niveau inférieur qui représentent au moins une partie d'entrée de niveau supé- 15 rieur, chaque partie d'entrée de niveau inférieur compre nant au moins une partie d'événement qui est représentée par au moins un signal d'événement codé, tandis que, dans la demande, les parties d'entrée de niveau inférieur et les parties d'événement sont ordonnées par ordre d'appari-20 tion, la partie d'entrée de niveau supérieur correspondant à des entrées de la couche supérieure, les parties d'entrée de niveau inférieur correspondant â des entrées de la couche inférieure (et à des événements de la couche supérieure) et les parties d'événement correspondant à des événements 25 de la couche inférieure. b) à former au moins un signal indiquant au moins un degré de concordance admissible entre la demande et la base de données; c) à examiner la couche inférieure et à localiser, pour cha-30 cune des entrées d'une pluralité d'entrées de demande de niveau inférieur, au moins une entrée de la couche inférieure ayant des valeurs d'instant d'événement qui représentent des événements offrant au moins ledit degré de concordance indiqué avec des événements représentés par 35 l'événement de demande inférieur correspondant; d) à examiner les signaux de vecteur d'événement du niveau supérieur qui correspondent aux entrées de couche inférieure localisées, pour localiser au moins une entrée de la -1005- 2334148 couche supérieure contenant des valeurs d1instant d'événement qui représentent une combinaison d'entrées de la couche supérieure offrant au moins ledit degré indiqué de concordance avec la combinaison d'entrées inférieures de 5 la demande ; e) à engendrer un signal d'identification d'entrée de couche inférieure représentant chacune des entrées de couche inférieure (événements de couche supérieure) qui, d'après les valeurs d'instant d'événement de couche supérieure, 10 sont présentes dans l'entrée de couche supérieure localisée; et f) à engendrer un signal d'événement de couche inférieure correspondant à chaque valeur d'instant d'événement contenue dans chaque entrée de couche inférieure identifiée par 15 chaque signal d'identification d'entrée de couche inférieu re, chaque signal d'événement de couche inférieure ayant une valeur qui correspond au signal de vectetir d'événement contenant la valeur d'instant d'événement correspondante. 159 - Procédé suivant la revendication 158, carac-20 térisé en ce qu'il comprend les opérations consistant : a) à ordonner les signaux d'événement de couche inférieure engendrés, dans chaque entrée de la couche inférieure, d'après les valetirs d'instant d'événement de couche inférieure ; et 25 b) à ordonner des groupements des signaux d'événement de couche inférieure engendrés, d'après les valeurs d'instant d'événement de l'entrée de niveau supérieur localisée, pour constituer des entrées. 160 - Procédé suivant la revendication 158, caracté-30 risé en ce qu'au moins l'une desdites opérations d'examen et de localisation sur au moins l'une des couches comprend une étape consistant à localiser une entrée de cette couche qui comprend au moins un nombre prédéterminé de valeurs d'instant d'événement représentant des événements de ladite couche situés à une dis-35 tance, au plus égale à un nombre choisi à l'avance de positions, des parties correspondantes de la demande. -1006- 2334148 161 - Procédé suivant la revendication 160, dans lequel ledit nombre prédéterminé est spécifié par une valeur de délimitation de cadre, ledit procédé étant caractérisé en ce qu'il comprend une étape consistant à fournir une information 5 d'entrée au système de traitement de données pour modifier ladite valetir de délimitation de cadre. 162 - Procédé suivant la revendication 160 dans lequel ledit nombre prédéterminé est calculé, ledit procédé étant caractérisé en ce qu'il comprend les étapes consistant : 10 a) à former un signal de délimitation de cadre représentant ledit nombre prédéterminé en fonction de la longueur d'une portion de la demande; b) à former un signal numérique pour une portion de la demande, ledit signal représentant la longueur de ladite por- 15 tion; et c) à utiliser les valeurs représentées par le signal de délimitation de cadre et le signal numérique pour former un signal représentant ledit nombre prédéterminé. 163 - Procédé suivant la revendication 158, caracté-20 risé en ce qu'au moins l'une desdites opérations d'examen localise une entrée intermédiaire et comprend une étape consistant : à procéder à un examen complémentaire, dans l'entrée intermédiaire localisée, parmi les valeurs d'instant d'événement des signaux de vecteur d'événement de la même couche afin de loca-25 liser ainsi sur cette couche une entrée finale qui offre au moins un degré de concordance choisi à l'avance, en ce qui concerne l'ordre et la présence des événements représentés par cette entrée, avec les parties correspondantes de la demande . 30 164 - Procédé suivant la revendication 163, caracté risé en ce qu'il comprend une étape consistant à localiser exclusivement une entrée finale qui offre au moins un degré de concordance choisi à l'avance, tant en ce qui concerne le nombre d'événements de la couche correspondante que leur ordre et leva? pré-35 sence. 165 - Procédé suivant la revendication 163 dans lequel ledit degré de concordance choisi à l'avance est spécifié par un signal de valeur de délimitation de concordance, ledit -1007- 2334148 procédé étant caractérisé en ce qu'il comprend une étape consistant à fournir une information d'entrée au système de traitement de données pour modifier ledit signal de valeur de délimitation de concordance. 5 166 - Procédé suivant la revendication 158, caracté risé en ce que la base de données stockée comprend pour chaque couche au moins un signal de vecteur dont les valeurs d'instant d'événement représentent l'ordre d'apparition d'un événement de délimiteur, au moins un événement de délimiteur définissant 10 une limite de chacune des entrées de cette couche, et en ce que les opérations d'examen de chaque signal de vecteur d'événement de chaque couche comprennent chacune une étape consistant à examiner des valeurs d'instant d'événement de couche ayant des grandeurs comprises entre celles de deux valeurs d'instant d'é-15 vénement de délimiteur successives pour déterminer ainsi si l'entrée de couche correspondante offre le degré prédéterminé précité de concordance. 167 - Procédé suivant la revendication 158, caractérisé en ce que la base de données stockée comprend pour chaque 20 couche au moins un signal de vecteur dont les valeurs d'instant d'événement représentent l'ordre d'apparition d'un événement de délimiteur, au moins un événement de délimiteur définissant une limite de chaque entrée de la couche correspondante et en ce que ladite opération de génération sur au moins une des 25 couches comprend les étapes consistant : a) à localiser au moins une paire de valeurs d'instant d'événement successives dans chaque signal de vecteur de délimiteur pour la couche correspondante, paire de valeurs qui identifie les limites de l'entrée qui a été localisée 30 pour l'opération de génération correspondante; et b) à engendrer le signal d'identification exclusivement pour des valeurs d'instant d'événement de couche de la couche correspondantes qui sont comprises entre les valeurs d'instant d'événement successives de la paire localisée. 35 168 - Dispositif de traitement de données destiné à permettre un recouvrement de données d'exactitude imparfaite, à partir d'un système de mémoire, ces données étant contenues dans une base de données multicouche, chaque couche représentant une -1008- 2334148 séquence ordonnée d'entrées et d'événements dans laquelle un ou plusieurs événements représentent chaque entrée, certains événements de chaque couche étant identiques mais au moins un événement de chaque couche étant différent des autres événements de 5 la même couche, certaines entrées de chaque couche étant identiques, mais au moins une entrée de chaque couche étant différente des autres entrées de la même couche, chaque couche comprenant une pluralité de signaux de vecteur recouvrables séparément, à raison d'un pour chacun des événements différents de la couche 10 considérée, chaque signal de vecteur recouvrable représentant une valeur d'instant d'événement pour chaque apparition de l'événement correspondant, ces signaux de vecteur recouvrables identifiant l'ordre d'apparition des événements correspondants, lesdites couches étant ordonnées dans un ordre allant d'au moins 15 une couche supérieure à au moins une couche inférieure, chacun des événements d'une pluralité d'événements de la couche supérieure ayant une entrée correspondante dans la couche inférieure, ledit dispositif étant caractérisé par des moyens pour la mise en oeuvre du procédé de l'une des revendications 158 à 167. 20 169 - Dispositif électronique de traitement de don nées pour la conversion de signaux codés, caractérisé en ce qu'il comprend : a) des moyens pour stocker au moins la combinaison d'un signal de valeur de ligne donnée (représentant une ligne donnée) 25 et d'un signal de numéro de ligne donnée (représentant une ligne donnée) qui représentent une valeur donnée; b) des moyens pour former un signal de valeur de nombre total de lignes; c) des moyens pour convertir la combinaison d'un signal de 30 valeur de ligne donnée et d'un signal de numéro de ligne donnée représentant chaque valeur donnée différente en l'une quelconque des combinaisons d'un signal de valeur de ligne équivalent et d'un signal de numéro de ligne équivalent d'un jeu unique de telles combinaisons qui inclut 35 les signaux donnés, chaque signal de valeur de ligne re présentant au moins une valeur d'apparition effective codée numériquement d'un jeu de valeurs d'apparition possibles ordonnées de façon monotone, chaque signal de va- -1009- 2334148 leur de ligne étant combiné logiquement avec un autre signal de vale va? de ligne du même jeu par une opération "OU exclusif" effectuée sur les valeurs d'apparition effectives de ces deux signaux et sur ces mêmes valeurs 5 d'apparition effectives après déplacement relatif de celles- ci, ces moyens de conversion comprenant : 1) des premiers moyens capables, en réponse à chaque valeur différente représentée par un signal de nombre de lignes fourni, de provoquer la formation par lesdits 10 moyens de conversion d'un signal prédéterminé différent panai les signaux de ligne équivalents du jeu, qui correspond à la combinaison d'un signal de ligne donnée et d'un signal de numéro de ligne donnée; et 2) des moyens pournformer le signal de valeur de numéro 15 de ligne équivalent correspondant au signal de ligne équivalent formé; et d) des moyens pour convertir le signal de valeur de nombre total de lignes en une ou plusieurs valeurs représentant des mouvements incrémentiels qui peuvent être assurés par 20 les moyens de conversion précités et pour fournir un si gnal de valeur de nombre de lignes correspondant à ces moyens de conversion. 170 - Dispositif électronique de traitement de données pour la conversion de signaux codés, caractérisé en ce 25 qu'il comprend î a) des moyens pour stocker au moins la combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée qui représentent une valeur donnée; b) des moyens pour former un signal de valeur de nombre de 30 lignes; et c) des moyens pour convertir la combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée représentant chaque valeur donnée différente en l'une quelconque des combinaisons d'un signal de valeur 35 de ligne équivalent et d'un signal de numéro de ligne équi valent, d'un jeu unique de telles combinaisons qui inclut les signaux donnés, chaque signal de valeur de ligne représentant au moins une valeur d'apparition effective -1010- 2334148 codée numériquement d'un jeu de valeurs d'apparition possibles ordonnées de façon monotone, chaque signal de valeur de ligue étant combiné logiquement avec un autre signal de valeur de aligne du même jeu par un^6pération "OU exclusif" 5 effectuée sur les valeurs d'apparition effectives de ces deux signaux et sur ces mêmes valeurs d'apparition effectives après déplacement relatif, lesdits moyens de conversion comprenant des moyens capables, en réponse à chaque valeur différente représentée par le signal de nombre de 10 lignes, de provoquer la formation par lesdits moyens de conversion d'une combinaison prédéterminée différente parmi les combinaisons équivalentes de signal de ligne et de signal de numéro de ligne du jeu, qui correspond à la combinaison d'un signal de ligne donnée et d'un signal de numéro 15 de ligne donnée. 171 - Dispositif suivant la revendication 170, caractérisé en ce que les moyens de conversion comprennent des moyens pour éliminer du signal de valeur de ligne équivalent formé telles des valeurs d'apparition ayant subi un déplacement relatif 20 qui ne font pas partie du groupe de valetirs d'apparitions possibles. 172 - Dispositif suivant la revendication 170, caractérisé en ce que les moyens de formation d'un signal de valeur de nombre de lignes comprennent des moyens pour former exclusive-25 ment des signaux représentant une puissance de 2 composante. 173 - Dispositif suivant la revendication 170, caractérisé en ce que les moyens de formation d'un signal de valeur de nombre de lignes comprennent des moyens pour former un signal de nombre de lignes ou une série de tels signaux identifiant des 30 incréments d'avance d'une combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée à travers une ou plusieurs combinaisons équivalentes du jeu équivalent correspondant de ces combinaisons. 174 - Dispositif suivant la revendication 173, carac-35 térisé en ce qu'il comprend des moyens pour autoriser les moyens de conversion à utiliser un signal de valeur de ligne équivalent formé par lesdits moyens de conversion pour un signal de nombre de lignes de ladite série, comme signal de valeur de ligne donnée pour le signal de nombre de lignes suivant de ladite série. -1011- 2334148 175 - Dispositif suivant la revendication 173» caractérisé en ce qu'il comprend : a) des moyens pour recevoir un signal identifiant un signal de nombre total de lignes; 5 et en ce que les moyens de formation d'un signal de nombre de lignes ou d'une série de tels signatix comprennent des moyens pour convertir ledit signal de nombre total de lignes en signaux représentant ses puissances de 2 composantes. 176 - Dispositif suivant la revendication 175» carac- 10 térisé en ce que lesdits moyens de conversion desdits signaux de nombre total de lignes comprennent des moyens pour convertir chaque signal de nombre total de lignes en signaux représentant ses puissances de 2 composantes dans un ordre allant de la valeur la plus grande à la valeur la plus petite. 15 177 - Dispositif suivant la revendication 175» carac térisé en ce que les moyens de conversion comprennent : a) des moyens pour former un signal de valeur de ligne déplacée contenant des valeurs d'apparition effectives qui représentent le signal de valeur de ligne donnée déplacée du 20 nombre de valeurs d'apparition effectives représenté par le signal de valeur de nombre de lignes; et b) des moyens pour soumettre à une opération "OU exclusif les valeurs d'apparition effectives représentées par le signal de valeur de ligne donnée et par le signal de valeur 25 de ligne déplacée pour former ainsi le signal de valeur de ligne équivalent. 178 - Dispositif suivant la revendication 177» caractérisé en ce que lesdits moyens d'exécution d'opération "OU exclusif" comprennent des moyens pour classer les valeurs d'appa- 30 rition effectives des signaux de valeur de ligne déplacée et de valeur de ligne non déplacée en valeurs ordonnées de façon monotone et des moyens pour former dans ledit signal de valetir de ligne équivalent exclusivement les valeurs déplacées et non déplacées qui ne sont pas égales entre elles. 35 "179 - Dispositif suivant la revendication 178» carac térisé en ce que les moyens de classement comprennent : a) des moyens pour comparer les valeurs déplacées et non déplacées; et -1012- 2334148 b) des moyens pour former, dans le signal de valeur de ligne équivalent des signaux représentant exclusivement celles des valeurs d'apparition effectives qui ne sont pas égales entre elles. 5 180 - Dispositif suivant la revendication 177, carac térisé en ce qu'il comprend des moyens pour exclure du signal de valeur de ligne équivalent résultant les valeurs d'apparition effectives déplacées qui ne font pas partie desdites valeurs d'apparition possibles. 10 181 - Dispositif suivant la revendication 177, ca ractérisé en ce que les moyens de formation d'un signal de valeur de ligne déplacée comprennent : a) des moyens pour former, pour des valeurs d'apparition effectives individuelles du signal de valeur de ligne donnée, 15 un signal de valeur d'apparition effective; et b) des moyens pour combiner les valeurs représentées par le signal de valeur de nombre de lignes et par les signaux de valeur d'apparition effective individuelle pour former des signaux de valeur d'apparition déplacée constituant le- 20 dit signal de valeur de ligne déplacée. 182 - Dispositif suivant la revendication 170, caractérisé en ce qu'il comprend des moyens pour utiliser les valetirs représentées par ledit signal de valeur de nombre de lignes et par ledit signal de numéro de ligne donnée pour former le signal 25 de numéro de ligne équivalent. 18? - Dispositif suivant la revendication 182, caractérisé en ce que lesdits moyens d'utilisation comprennent des moyens pour combiner les valeurs représentées, respectivement, par le signal de valetir de nombre de lignes et par le signal de 30 numéro de ligne donnée. 184 - Dispositif électronique de traitement de données pour la conversion de signatix codés, caractérisé en ce qu'il comprend ï a) des moyens de stockage pour stocker au moins la combinai-55 son d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée qui représentent une valeur donnée ; b) des moyens pour former un signal de valeur de nombre de lignes ; -1013- 2334148 c) des moyens pour convertir la combinaison d'un signal de ligne donnée et d'un signal de numéro de ligne donnée représentant chaque valeur donnée différente en l'une quelconque des combinaisons d'un signal de ligne équiva- 5 lent et d'un signal de numéro de ligne équivalent d'un jeu unique de telles combinaisons qui inclut les signaux donnés, chaque signal de valeur de ligne représentant au moins une valeur d'apparition effective codée numériquement d'un jeu de valeurs d'apparition possibles ordonnées de façon 10 monotone, chaque signal de valeur de ligne étant combiné logiquement avec un autre signal de valeur de ligne du même jeu par une opération "OU exclusif" effectuée sur les valeurs d'apparition effectives de ces deux signaux et sur ces mêmes valeurs d'apparition effectives après déplacement 15 relatif, lesdits moyens de conversion comprenant : 1) des moyens capables, en réponse à chaque valeur différente représentée par le signal de nombre de lignes, de provoquer la formation par lesdits moyens de conversion d'une combinaison prédéterminée différente parmi les 20 combinaisons équivalentes d'un signal de ligne et d'un signal de numéro de ligne du jeu de ces combinaisons, qui correspond à la combinaison d'un signal de ligne donnée et d'un signal de numéro de ligne donnéeî d) au moins des premiers moyens décodeurs pour convertir le 25 signal de numéro de ligne, dans les moyens de stockage, d'un premier code concentré en un second code développé destiné à être utilisé par les moyens de conversion; e) des moyens codeurs pour reconvertir le signal de valeur de ligne équivalente formé par les moyens de conversion, 30 du code développé fourni par ceux-ci au premier code con centré précité; et f) des moyens pour stocker le signal de valeur de ligne équivalent exprimé dans ledit premier code. 185 - Dispositif suivant la revendication 184, carac-35 térisé en ce que les moyens de conversion comprennent : des moyens pour provoquer l'élimination dans le signal de valeur de ligne équivalent formé de celles des valeurs d'apparition ayant subi un déplacement relatif qui ne font pas partie du groupe de valeurs d'apparition possibles. -1014- 2334148 186 - Dispositif suivant la revendication 184, caractérisé en ce que les moyens de formation d'un signal de valeur de nombre de lignes comprennent : des moyens pour former exclusivement des signaux représentant 5 une puissance de 2 composante. 187 - Dispositif suivant la revendication 184, caractérisé en ce que les moyens de formation d'un signal de valeur de nombre de lignes comprennent : des moyens de formation d'un signal de nombre de lignes ou 10 d'une série de tels signaux identifiant les incréments d'avance suivant lesquels une combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée doivent progresser à travers une ou plusieurs combinaisons équivalentes du jeu équivalent correspondant 15 188 - Dispositif suivant la revendication 173» caractérisé en ce qu'il comprend des moyens pour autoriser les moyens de conversion à utiliser un signal de valeur de ligne équivalent formé par eux pour un signal de nombre de lignes de ladite série, comme signal de valeur de ligne donnée pour le 20 signal de nombre de lignes suivant de ladite série. 189 - Dispositif suivant la revendication 187, caractérisé en ce qu'il comprend : a) des moyens pour recevoir un signal identifiant un signal de nombre total de lignes; 25 et en ce que lesdits moyens de formation d'un signal de nombre de lignes ou d'une série de tels signaux comprennent des moyens pour convertir ledit signal de nombre total de lignes en signaux représentant ses puissances de 2 composantes. 190 - Dispositif suivant la revendication 189, ca-30 ractérisé en ce que les moyens de conversion dudit signal de nombre total de lignes comprennent des moyens pour convertir ce signal en signaux représentant ses puissances de 2 composantes dans un ordre allant de la valeur la plus grande jusqu'à la&aleur la plus petite. 35 191 - Dispositif électronique de traitement de don nées pour la conversion de signaux codés, caractérisé en ce qu'il comprend : -1015- 2334148 a) des moyens pour stocker au moins la combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée qui représentent une valeur donnée; b) des moyens pour stocker un signal de valeur de nombre total de lignes; c) des premiers moyens décodeurs pour décoder le signal de valeur de ligne, dans les moyens de stockage, d'un premier code concentré en un second code développé comprenant un signal codé individuel pour chaque valeur d'apparition effective individuelle représentée par le signal de valeur de ligne donnée; d) des seconds moyens décodeurs pour décoder le signal de valeur de ligne, dans les moyens de stockage, d'un premier code concentré en un second code développé comprenant tua signal codé individuel pour chaque valeur d'apparition effective individuelle représentée dans le signal de valeur de ligne donnée; e) des moyens pour convertir la combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée représentant chaque valeur donnée différente en l'une quelconque des combinaisons d'un signal de valetir de ligne équivalent et d'un signal de numéro de ligne éqtiivalent d'un jeu unique de telles combinaisons incluant les signaux donnés, chaque signal de valeur de ligne représentant au moins tme valeur d'apparition effective codée numériquement d'un jeu de valeurs d'apparition possibles ordonnées de façon monotone, lesdits moyens de conversion comprenant : 1) des moyens pour combiner des valeurs représentées par les valeurs d'apparition effectives du signal de valeur de ligne décodé et du signal de valeur de nombre de lignes fourni, pour former un signal de valetir de ligne déplacée, 2)des moyens pour soumettre à une opération "OU exclusif" les valeurs représentées par les valeurs d'apparition effectives fournies respectivement pair lesdits moyens de combinaison et par les premiers moyens décodeurs, et 3) des moyens pour former un signal de valeur de ligne -1016- 2334148 équivalente représentant les résultats de l'opération "OU exclusif" qui représentent exclusivement des valeurs d'apparition effectives incluses dans le jeu possible précité de telles valeurs; et 5 f) des moyens pour convertir le signal de valeur de nombre total de lignes en une valeur représentant ses puissances de 2 composantes et pour fournir des signaux de valetir de nombre de lignes correspondants auxdits moyens de combinaison; 10 g) des moyens codeurs pour reconvertir le signal de valeur de ligne équivalente d'un code développé audit premier code concentré; et h.) des moyens pour stocker le signal de valeur de ligne équivalent converti exprimé dans ledit premier code. 15 192 - Dispositif suivant la revendication 191» carac térisé en ce qu'il comprend des moyens pour utiliser les valeurs représentées par ledit signal de valeur de nombre de lignes et par ledit signal de numéro de ligne donnée pour former le signal de numéro de ligne équivalent. 20 193 - Dispositif suivant la revendication 192, carac térisé en ce que lesdits moyens d'utilisation comprennent des moyens pour combiner les valeurs représentées par le signal de valeur de nombre de lignes et par le signal de numéro de ligne donnée. 25 194 - Dispositif électronique de traitement de don nées pour la conversion de signaux codés, caractérisé en ce qu'il comprend : a) des moyens pour stocker un signal de valeur de ligne donnée à concentrer; 30 b) des moyens pour stocker un signal de numéro de ligne don-. née, les signaux de valetir de ligne donnée et de numéro de ligne donnée représentant une valeur donnée; c) des moyens pour former une pluralité de signaux de valetir de nombre de lignes incrémentiels; 35 d) des moyens pour convertir la combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée représentant chaque valeur donnée différente en l'une quelconque des combinaisons d'un signal de valetir -1017- 2334148 de ligne équivalent et d'un signal de numéro de ligne équivalent d'un jeu unique de telles combinaisons qui inclut les signaux donnés, chaque signal de valeur de ligne représentant au moins une valeur d'apparition ef-5 fective codée numériquement d'un jeu de valeurs d'appari tion possibles ordonnées de façon monotone, chaque signal de valeur de ligne étant combiné logiquement avec un autre signal de valeur de ligne du même jeu par une opération "OU exclusif" effectuée sur les valeurs d'apparition ef-10 fectives de ces deux signaux et sur ces mêmes valeurs d'ap parition effectives après déplacement relatif; e) des moyens capables, en réponse à chaque valeur différente représentée par les signaux de valeur de nombre de lignes incrémentiels, de provoquer la formation par les moyens 15 de conversion d'un signal prédéterminé différent parmi les signaux de ligne équivalents du jeu qui correspond à la combinaison de signaux donnés; f) des moyens pour former le signal de numéro de ligne équivalent qui correspond au signal de valeur de ligne équi- 20 valent formé; et g) des moyens pour autoriser les moyens de conversion à utiliser un signal de ligne équivalent formé pour un signal de valeur de nombre de lignes incrémentiel donné, comme signal de valeur de ligne donnée pour le signal de valeur 25 de nombre de lignes incrémentiel suivant. 195 - Dispositif suivant la revendication 194, destiné à assurer des opérations de conversion rapides, caractérisé en ce que les moyens de formation de signaux de valeur de nombre de lignes incrémentiels comprennent : 30 a) des moyens pour déterminer la plus grande des deux différences comprenant, d'une part, la différence entre les valeurs des signaux représentant les deux plus grandes valeurs d'apparition de la ligne donnée et, d'autre part, la différence entre les valeurs respectives de la plus grande 35 valeur d'apparition possible et de la plus grande valeur d'apparition effective de la valetir de ligne donnée; et b) des moyens pour former au moins un des signaux de valeur de nombre de lignes incrémentiels précités pour représenter ladite plus grande différence. -1018- 2334148 196 - Procédé suivant la revendication 195, caractérisé en ce que les moyens de formation d'au moins un signal de valeur de nombre de lignes incrémentiel comprennent des moyens pour former un signal représentant chacune des puissances de 2 compo- 5 santés de la plus grande différence. 197 - Concentrateur électronique de traitement de données destiné à assurer la concentration de signatix codés, caractérisé en ce qu'il comprend : . a) des moyens pour stocker un signal de valetu? de ligne don-10 née à concentrer; b) des moyens pour stocker un signal de numéro de ligne donnée, les signaux de valeur de ligne donnée et de numéro de ligne donnée représentant une valeur donnée; c) des moyens pour former une pluralité de signaux de valeur 15 de nombre de lignes incrémentiels; d) des moyens pour convertir la combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée représentant chaque valeur donnée différente en l'une quelconque des combinaisons d'un signal de valeur 20 de ligne équivalent et d'un signal de numéro de ligne équivalent d'un jeu unique de telles combinaisons incluant les signaux donnés, chaque signal de valeur de ligne représentant au moins une valeur d'apparition effective codée numériquement d'un jeu de valeurs d'apparition possibles 25 ordonnées de façon monotone, chaque signal de valetir de ligne étant combiné logiquement avec un autre signal de valeur de ligne du même jeu par une opération "OU exclusif" effectuée sur les valeurs d'apparition effectives de ces deux signaux et sur ces mêmes valeurs d'apparition effec-50 tives après déplacement relatif; e) des moyens capables,en réponse à chaque valeur différente représentée par les signaux de valetir de nombre de lignes incrémentiels, de provoquer la formation par les moyens -de conversion d'un signal prédéterminé différent parmi les 55 signatix de ligne équivalents du jeu, qui correspond à la combinaison de signaux donnés; f) des moyens pour former un signal de numéro de ligne équivalent qui correspond au signal de valeunj&e ligne équivalent formé; -1019- 2334148 g) des moyens pour autoriser les moyens de conversion à utiliser un signal de ligne équivalent formé pour un signal de nombre de lignes incrémentiel donné, comme signal de valeur de ligne donnée pour le signal de valeur de nombre de lignes 5 incrémentiel suivant; ii) des moyens pour examiner les signaux de valeur de ligne équivalente formés pour déterminer s'ils en comprennent un qui présente une longueur choisie; et i) des moyens capables, sous la commande desdits moyens^ d'exa-10 men, de stocker sélectivement un signal indicateur d'un signal de valetir de ligne équivalent formé présentant ladite longueur choisie et du signal de numéro de ligne équivalent correspondant. 198 - Concentrateur suivant la revendication 197» ca-15 ractérisé en ce que lesdits moyens d'examen comprennent : a) des moyens pour déterminer la longueur de chacun des signaux d'une pluralité de signaux de valetir de ligne équivalents formés et pour former un signal de longueur correspondant pour chacun de ces signaux; et 20 b) des moyens pour comparer les valeurs représentées par les signaux de longueur afin de déterminer celle qui représente la longueur la plus courte. 199 - Concentrateur suivant la revendication 197» caractérisé en ce que lesdits moyens d'examen comprennent : 25 a) des premiers moyens pour stocker un signal identifiant le signal de valeur de ligne qui est actuellement le plus court parmi ceux qui sort formés à partir des divers signaux de valeur de nombre de lignes incrémentiels; b) des seconds moyens pour stocker un signal de valeur de la 30 longueur la plus courte actuelle; c) des moyens faisant partie desdits moyens de comparaison, pour comparer les valeurs représentées respectivement, par le signal de valeur de la longueur la plus courte actuelle stocké et par chaque signal de longueur nouvellement formé; 35 cL) des moyens pour stocker, dans les premiers moyens de stockage, un signal identifiant un signal de valeur de ligne qui est comparé avec le signal actuel de ce type et s'avère plus cotirt que ce dernier; et -1020- 2334148 e) des moyens pour stocker, dans les seconds moyens de stockage, un signal représentant le signal de la longueur la plus courte qui est comparé et qui s'avère représenter la longueur la plus courte. 5 200 - Concentrateur suivant la revendication 199, caractérisé en ce que les moyens de stockage d'un signal identifiant un signal de valeur de la ligne la plus courte comprennent des moyens pour stocker un signal représentant au moins le numéro de ligne. 10 201 - Concentrateur suivant la revendication 200, caractérisé en ce que les moyens de stockage d'un signal identifiant un signal de valeur de la ligne la plus courte comprennent des moyens pour stocker un signal représentant la valeur de ligne. 202 - Concentrateur suivant la revendication 197» 15 dans lequel une opération de concentration rapide est assurée, caractérisé en ce que les moyens de formation de signaux de valeur de nombre de lignes incrémentiels comprennent : a) des moyens pour déterminer la plus grande des différences comprenant, d'une part, la différence entre les valeurs 20 des signaux représentant les deux plus grandes valeurs d'apparition effectives de la ligne donnée, et d'autre part, la différence entre les grandeurs de la valeur d'apparition possible la plus grande et de la valeur d'apparition effective la plus grande de la valeur de la ligne don-25 née; et b) des moyens pour former au moins l'un desdits signaux de valeur de nombre de lignes incrémentiels, pour représenter ladite différence la plus grande. 203 - Concentrateur suivant la revendication 202, 30 caractérisé en ce que les moyens de formation d'au moins un signal de valeur de nombre de .ligne incrémentiel comprennent des moyens pour former un signal représentant chacune des puissances de 2 composantes de la différence la plus grande. 204- - Concentrateur électronique de traitement de 35 données pour la concentration de signaux codés, caractérisé en ce qu'il comprend : a) des moyens pour stocker un signal de valetir de ligne donnée à concentrer; -1021- 2334148 b) des moyens pour stocker un signal de numéro de ligne donnée, les signaux de valeur de ligne donnée et de numéro de ligne donnée représentant une valeur donnée; c) des moyens pour former une pluralité de signaux de valeur 5 de nombre de lignes incrémentiels; d) des moyens pour convertir la combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée représentant chaque valeur donnée différente en l'une quelconque des combinaisons d'un signal de valeur 10 de ligne équivalent et d'un signal de numéro de ligne équi valent d'un jeu unique de telles combinaisons qui comprend les signaux donnés, chaque signal de valeur de ligne représentant au moins une valeur d'apparition effective codée numériquement d'un jeu de valetirs d'apparition possibles 15 ordonnées de façon monotone, chaque signal de valeur de ligne étant combiné logiquement avec un autre signal de valeur de ligne du même jeu par une opération "OU exclusif" effectuée sur les valeurs d'apparition effectives de ces deux signaux et sur ces mêmes valeurs d'apparition effec-20 tives après déplacement relatif; e) des moyens capables, en réponse à chaque valeur différente représentée par les signaux de valeur de nombre de lignes incrémentiels, de provoquer la formation par les moyens de conversion d'un signal prédéterminé différent parmi les 25 signaux de ligne équivalents du jeu qui correspond à la combinaison de signaux donnés; f) des moyens pour former le signal de numéro de ligne équivalent qui correspond au signal de valetir de ligne équivalent formé; 30 g) des moyens pour autoriser les moyens de conversion à utiliser le signal de ligne équivalent formé pour un signal de valetir de nombre de lignes incrémentiel donné, au lieu du signal de valeur de ligne donnée, pour le signal de valeur de nombre de lignes incrémentiel suivant; 35 h) des moyens pour fournir les signaux destinés à être utilisés par les moyens de conversion, correspondant au signal de valeur de ligne donnée stocké, ces moyens comprenant des moyens pour décoder les signaux stockés d'un premier -1022- 2334148 code concentré en un second code développé destiné à être utilisé par les moyens de conversion; i) des moyens pour reconvertir le signal de valeur de ligne équivalente résultant d'un signal de valeur de nombre de 5 lignes incrémentiel individuel, dudit code développé en code concentré; j) des moyens pour examiner la longueur des signaux de valeur de ligne équivalents codés pour déterminer s'ils en comportent un qui présente une longueur choisie; et 10 k) des moyens capables, sous la commande des moyens d'examen, de stocker sélectivement un signal indicateur d'un signal de valeur de ligne équivalent codé ayant ladite longueur choisie et du signal de numéro de ligne équivalent correspondant. 15 205 - Concentrateur suivant la revendication 204, caractérisé en ce que ledit code concentré se présente sous la forme de signaux codés hybrides, cette forme de signaux codés hybrides comprenant une série de mots codés en code binaire comprenant au moins un mot codé en code absolu et au moins un mot bi-20 naire, ce mot binaire représentant une valeur d'apparition par le nombre de bits de déplacement d'un bit de valeur prédéterminée par rapport à un mot absolu de la série de mots, ces mots comprenant un signal de drapeau pour indiquer si le mot correspondant est du type absolu ou du type mot binaire, et en ce que les 25 moyens de décodage comprennent : a) des moyens pour détecter le signal de drapeau indiquant s'il s'agit d'un mot absolu ou d'un mot binaire des mots du signal de valeur de ligne donnée; b) des moyens de sortie de mot absolu comprenant des moyens 30 capables, en réponse à la détection d'un signal de drapeau "mot absolu" dans un mot, de sortir un signal de valeur d'apparition effective représenté par ce mot; et c) des moyens de formation et de sortie de mot absolu comprenant : 35 1) des moyens capables, en réponse à la détection d'un signal de drapeau "mot binaire" dans un mot, de répondre à chaque bit d'une valeur prédéterminée de ce mot binaire et à un mot absolu précédent, en formant un signal -1023- 2334148 de valeur d'apparition effective représentatif de la valeur effective desdits bits de valeur prédéterminée, et 2) des moyens pour sortir chacun desdits signaux de valeur 5 d'apparition effective formés. 206 - Concentrateur suivant la revendication 204, dans lequel les moyens de reconversion reçoivent les valeurs d'apparition effectives du signal de valeur de ligne équivalent en série, ledit concentrateur étant caractérisé en ce qu'il com-10 prend : a) des moyens capables, en réponse à deux signatix de valeur d'apparition effective intermédiaires reçus, respectivement, précédemment et actuellement, de former un premier signal de différence indicateur de la différence entre les 15 valeurs représentées par ces signaux; b) des moyens pour indiquer la forme, absolue ou chaîne de bits, de l'information de sortie hybride, lesdits moyens indicateurs comprenant : 1) des moyens pour former un signal représentant une dif-20 férence minimale choisie à l'avance entre deux signatix codés absolus intermédiaires reçus, respectivement, précédemment et actuellement, et 2) des moyens pour comparer les valeurs de ce signal de différence minimale et dudit premier signal de diffé- 25 rence et pour former un signal indicateur indiquant si la première valetir est supérieure, ou bien est inférieure ou égale, à la seconde; c) des moyens pour fournir des données de sortie sous forme absolue, lesdits moyens comprenant : 30 1) des moyens capables, en réponse à l'indication "infé rieure ou égale" du signal indicateur qui vient d'être mentionné, de sortir un signal de mot représentant le signal de valetir d'apparition effective actuellement reçu et un signal de drapeau "absolu"; et 35 d) des moyens pour fournir des données de sortie sous forme de chaîne de bits, lesdits moyens comprenant : 1) des moyens capables, en réponse à l'indication "supérieure" dudit signal indicateur, de former un signal de -1024- 2334148 mot en chaîne de bits comprenant un bit d'une première valeur associé au nombre de bits d'une seconde valeur correspondant à la valeur du premier signal de différence, et 5 2) des moyens pour sortir sélectivement ledit signal de mot en chaîne de bits conjointement à un signal de drapeau "chaîne de bits" et dans une relation prédéterminée avec un signal de mot de foime absolue sorti. 207 - Concentrateur suivant la revendication 204, 10 caractérisé en ce que les moyens d'examen de longueur comprennent des moyens de comptage des mots sortis. 208 - Dispositif électronique de traitement de données pour la sortie de signaux codés, caractérisé en ce qu'il comprend : 15 a) des moyens pour stocker au moins la combinaison d'un signal de valeur de ligne donnée et" d'un signal de numéro de ligne donnée qui représentent une valeur donnée; b) des moyens pour convertir la combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne 20 donnée représentant chaque valeur donnée différente, en l'une quelconque des combinaisons d'un signal de valeur de ligne équivalent et d'un signal de numéro de ligne équivalent d'un jeu unique de telles combinaisons qui inclut les signaux donnés, chaque signal de valetir de ligne représen-25 tant au moins une valeur d'apparition effective codée numé riquement d'un jeu de valeurs d'apparition possibles ordonnées de façon monotone, chaque signal de valeur de ligne étant combiné logiquement avec un autre signal de valeur de ligne du même jeu par une opération "OU exclusif" ef-30 fectuée sur les valeurs d'apparition effectives de ces deux signaux et sur ces mêmes valeurs d'apparition effectives après déplacement relatif, lesdits moyens de conversion comprenant des moyens capables, en réponse à chaque valeur différente représentée par un signal de nombre de 35 lignes fourni, de provoquer la formation par lesdits moyens de conversion d'une combinaison prédéterminée différente parmi les combinaisons équivalentes d'un signal de ligne et d'un signal de numéro de ligne du jeu, qui correspond -1025- 2334148 à la combinaison du signal de ligne donnée et du signal de numéro de ligne donnée; c) des moyens pour former un signal ayant une valeur qui représente le nombre des valeurs d'apparition possibles; 5 d) des moyens pour déterminer une valeur en relation avec les grandeurs respectives du signal de nombre de valeurs d'apparition possibles et du signal de numéro de ligne donnée ; et e) des moyens pour former et fournir ledit signal de valetir 10 de nombre de lignes représentant ladite valeur déterminée* 209 - Dispositif suivant la revendication 208, caractérisé en ce que lesdits moyens de détermination comprennent : des moyens pour déterminer une valeur représentant la différence de grandeur entre ledit signal de nombre de valeurs 15 d'apparition possibles et ledit signal de numéro de ligne donnée. 210 - Dispositif suivant la revendication 208, caractérisé en ce que lesdits moyens de conversion comprennent des moyens pour provoquer l'élimination dans le signal de valeur de 20 ligne équivalente formé de celles des valeurs d'apparition ayant subi un déplacement relatif qui n'appartiennent pas au groupe de valeurs d'apparition possibles. 211 - Dispositif suivant la revendication 208, caractérisé en ce que les moyens de formation d'un signal de valeur 25 de nombre de lignes comprennent des moyens pour former des signaux représentant les puissances de 2 composantes de la différence précitée et en ce que le dispositif de sortie comprend des moyens pour permettre aux moyens de conversion d'utiliser le signal de valeur de ligne équivalente formé pour un signal de puissance de 30 2 composante donné avec un autre signal de puissance de 2 compo-.santé. 212 - Dispositif suivant la revendication 208, caractérisé en ce que les moyens de formation d'un signal de valeur de nombre de lignes comprennent des moyens pour former un signal 35 de nombre de lignes ou une série de tels signaux identifiant les incréments suivant lesquels une combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée doit progresser à travers une ou plusieurs combinaisons équivalentes du jeu équivalent correspondant. -1026- 2334148 213 - Procédé de traitement électronique de données permettant de vérifier la présence d'une valeur d'apparition effective représentée par une valeur de ligne donnée qui form8 l'une des valeurs de ligne d'un jeu de valeurs de ligne uniques, 5 chaque valeur de ligne du jeu étant représentée par au moins l'une des valetirs d'apparition effectives codées numériquement d'un jeu de valeurs d'apparition possibles ordonnées de façon monotone, chaque valeur de ligne étant combinée logiquement avec une autre par une opération n0U exclusif" effectuée sur les va-10 leurs d'apparition effectives de ces deux valeurs de ligne et sur les mêmes valetirs d'apparition effectives après déplacement relatif, tua numéro de ligne unique étant affecté à chaque valetir de ligne et la valetir d'apparition de ligne à vérifier se trouvant dans une valeur de ligne du jeu de ces valeurs autre que la 15 valeur de la ligne donnée, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : a) à former un signal représentant une ligne donnée; b) à former un signal représentant le numéro de ligne du signal de ligne donnée; 20 c) à utiliser la valetir représentée par le signal de numéro de ligne donnée pour former un signal représentant le nombre de lignes de déplacement entre la ligne donnée et une valeur de ligne désiré du jeu de valeurs de ligne; d) à former un signal de test représentant une valeur d'appa-25 rition possible désirée dont la présence dans la valeur de ligne désirée doit être vérifiée; e) à combiner les valeurs représentées par le signal de test et par le signal de nombre de lignes pour former un autre signal de test identifiant une autre valeur d'apparition 30 possible à tester; f) à comparer les valeurs représentées par le signal de test et par le signal de ligne donnée pour vérifier si ces deux signaux sont dans une relation prédéterminée; g) à comparer les valeurs représentées par ledit autre signal 35 de test et par le signal de ligne donnée pour vérifier si ces deux valeurs sont dans une relation prédéterminée; et h) en réponse aux résultats de ces deux opérations de comparaison, à former un signal prédéterminé indiquant la présence, -1027- 2334148 dans la valeur de ligne désirée, d'une valeur d'apparition effective d'une grandeur égale à celle de la valeur représentée par le signal de test. 214 - Procédé suivant la revendication 213» caracté-5 risé en ce que l'opération de formation d'un signal prédéterminé comprend une étape consistant à former un tel signal en réponse à la détection d'une égalité par l'une des opérations de comparaison et d'une inégalité par l'autre opération de comparaison. 215 - Procédé de traitement électronique de données 10 permettant de vérifier la présence d'une valeur d'apparition effective représentée par une valeur de ligne donnée qui forme l'une des valeurs de ligne d'un jeu de valeurs de ligne uniques, chaque valeur de ligne du jeu étant représentée par au moins l'une des valeurs d'apparition effective codées numériquement 15 d'un jeu de valetirs d'apparition possibles ordonnées de façon monotone, chaque valeur de ligne étant combinée logiquement avec une autre par une opération "OU exclusif" effectuée sur les valeurs d'apparition effectives de ces deux valeurs de ligne et sur ces mêmes valeurs d'apparition effectives après déplacement 20 relatif, un numéro de ligne unique étant affecté à chaque valeur de ligne, et la valeur d'apparition effective à vérifier se trouvant dans une valeur de ligne du jeu de ces valeurs autre que la valeur de la ligne donnée, ledit procédé étant caractérisé en ce qu'il comprend les opérations consistant : 25 a) à former tin signal représentant une ligne donnée; b) à former un signal représentant le numéro de ligne du signal de ligne donnée; c) à utiliser la valeur représentée par le signal de numéro de ligne donnée pour former un signal représentant le 30 nombre de lignes de déplacement entre la ligne donnée et une valeur de ligne désirée du jeu de valeurs de ligne; d) à former un signal de test représentant au moins une valetir d'apparition possible, un signal de test différent étant formé pour chaque déplacement différent; 35 e) à aligner les valeurs d'apparition représentées, respectivement, par le signal de test et par le signal de valeur de ligne donnée; f) à comparer les valeurs d'apparition alignées représentées -1028- 2334148 par le signal de test et par le signal de ligne donnée pour rechercher s'il y a des valetirs identiques; et g) à former un premier signal pour un nombre pair de signaux identiques et pour former un second signal pour un nombre 5 impair de tels signaux. 216 - Procédé de traitement électronique de données permettant de vérifier la présence d'une valetir d'apparition effective contenue dans une forme différente désirée d'une valeur donnée, ledit procédé étant caractérisé en ce qu'il comprend les 10 opérations consistant : a) à former un signal de valeur de ligne donnée; b) à former un signal de numéro de ligne correspondant au signal de valeur de ligne donnée ; c) à convertir la combinaison de signaux de valeur de ligne 15 donnée et de numéro de ligne donnée représentant chaque valeur différente en l'une quelconque des combinaisons d'un signal de valetir de ligne équivalent et d'un signal de numéro de ligne équivalent d'un jeu unique de telles combinaisons incluant les signaux donnés, chaque signal 20 de valeur de ligne représentant au moins une valeur d'appa rition effective codée numériquement d'un jeu de valeurs d'apparition possibles ordonnées de façon monotone, chaque signal de valeur de ligne étant combiné logiquement avec un autre signal de valeur de ligne du même jeu par une 25 opération "OU exclusif" effectuée sur les valetirs d'appa rition effectives de ces deux signatix et sur les mêmes valeurs d'apparition effectives après déplacement relatif, cette opération de conversion comprenant une étape consistant, en réponse à chaque valeur différente représentée 30 par un signal de nombre de lignes fourni, à provoquer la formation, par ladite opération de conversion, d'une combinaison de signaux équivalents prédéterminée différente parmi les combinaisons de signaux équivalents du jeu qui correspond aux signaux donnés; 35 d) à former un signal de longueur; e) à former un signal de différence en relation avec la différence des valeurs respectivement représentées par les signatix de valeur de ligne donnée et de numéro de ligne donnée ; -1029- 2334148 f) à former un premier signal représentant une puissance de 2 composante de grandeur maximale et au moins un second signal représentant l'une des puissances de 2 composantes restantes, les diverses puissances de 2 composantes repré- 5 sentant le signal de différence; g) à fournir, pour l'opération de conversion, un signal de nombre de lignes représentant lesdites puissances de 2 composantes restantes, de manière à provoquer ainsi la formation d'une combinaison correspondante de signaux équiva- 10 lents; h) à former un signal de test représentant la grandeur d'une valeur d'apparition effective à vérifier dans un signal désiré parmi les signaux de ligne équivalents du jeu équivalent de ces signaux; 15 i) à combiner les valeurs respectivement représentées par le signal de test et par le signal de longueur pour former un autre signal de test identifiant une autre valetir d'apparition à tester; j) à comparer les valeurs respectivement représentées par le 20 signal de test et par le signal de valeur de ligne équiva lent formé pour vérifier si ces valeurs sont dans une relation prédéterminée; k) à comparer les valeurs respectivement représentées, par ledit autre signal de test et par le signal de valeur de 25 ligne équivalent formé pour vérifier si ces valeurs sont dans une relation prédéterminée; et 1) à former un signal indiquant la présence, dans le signal de ligne équivalent désiré, d'une valeur effective d'une grandeur égale à celle de la valeur représentée par le 30 signal de test, en réponse aux résultats des deux opéra tions de comparaison. 217 - Procédé suivant la revendication 216, caractérisé en ce que l'opération de formation d'un signal de longueur comprend une étape consistant à fournir un signal ayant une va-35 leur d'une grandeur au moins égale à celle de la plus grande valeur d'apparition possible du jeu de valeurs d'apparition possibles. -1030- / 2334148 218 - Dispositif électronique de traitement de données numériques destiné à vérifier la présence d'une valetir d'apparition effectuée contenue dans une forme différente désirée d'une valeur donnée, caractérisé par des moyens mettant 5 en oeuvre le procédé de l'une des revendications 213 à 217. 219 - Procédé de traitement électronique de données permettant de modifier des signaux, caractérisé en ce qu'il comprend les opérations consistant s a) à stocher au moins la combinaison d'un signal de valetir 10 de ligne donnée et d'un signal de numéro de ligne donnée qui représentent une valeur donnée; b) à former un signal représentant au moins une valeur d'apparition de modification; c) à former un signal de valeur de nombre de lignes; 15 d) à convertir la combinaison d'un signal de valetir de ligne donnée et d'un signal de numéro de ligne donnée représentant chaque valeur donnée différente en l'une quelconque des combinaisons d'un signal de valeur de ligne équivalent et d'un signal de numéro de ligne équivalent d'un jeu 20 unique de telles combinaisons incluant les signaux codés, chaque signal de valeur de ligne représentant au moins l'une des valetirs d'apparition effectives codées numériquement d'un jeu de valeurs d'apparition possibles ordonnées de façon monotone, chaque signal de valeur de ligne étant 25 combiné logiquement avec un autre signal de valetir de ligne du même jeu par une opération "OU exclusif" effectuée sur les valeurs d'apparition effectives de ces deux signaux et sur ces mêmes valetirs d'apparition effectives après déplacement relatif, ladite opération de conversion compre-30 nant une étape consistant, en réponse à chaque valeur diffé rente représentée par le signal de nombre de lignes, à provoquer la formation, par ladite opération de conversion, d'une combinaison prédéterminée différente parmi les combinaisons équivalentes d'un signal de ligne et d'un signal de 35 numéro de ligne du jeu de ces combinaisons qui correspond à la combinaison du signal de ligne donnée et du signal de numéro de ligne donnée; et e) à soumettre à une opération "OU exclusif" les valeurs re -1031- 2334148 présentées par le signal de valeur de ligne équivalent et par le signal de modification pour former un signal de valeur de ligne modifié. 220 - Procédé suivant la revendication 219, caracté-5 risé en ce que ladite opération de formation d'un signal de valeur de nombre de lignes comprend une étape consistant à utiliser le signal de numéro de ligne donnée pour former le signal de valeur de nombre de lignes. 221 - Procédé suivant la revendication 219, caracté- 10 risé en ce que l'opération de formation d'un signal de modification comprend une étape consistant à former un signal de valeur de ligne et un signal de numéro de ligne correspondant et en ce que l'opération de formation d'un signal de valeur de nombre de lignes comprend une étape consistant à former au moins un signal 15 représentatif de la différence entre la valeur représentée par le signal de numéro de ligne donnée et la valeur représentée par le signal de numéro de ligne de modification. 222 - Procédé suivant la revendication 221, caractérisé en ce que l'étape de formation d'au moins un signal repré- 20 sentatif de la différence précitée comprend un pas consistant à former un signal de valeur de nombre de ligne ou une série de tels signaux identifiant les incréments suivant lesquels une combinaison d'un signal de valeur de ligne donnée et d'un signal de numéro de ligne donnée doit progresser à travers une ou plu-25 sieurs combinaisons équivalentes du jeu équivalent correspondant de ces combinaisons. 223 - Procédé suivant la revendication 222, caractérisé en ce que le pas de formation de signatix de nombre de lignes représentant des incréments comprend un sous-pas consistant à 30 former exclusivement des signatix représentant une puissance de 2 composante représentative de la différence précitée. 224- - Dispositif électronique de traitement de données pour modification de signaux codés, caractérisé par des moyens mettant en oeuvre le procédé de l'une des revendications 35 219 à 223. 225 - Permutateur électronique de traitement de données permettant de permuter un signal de ligne d'entrée codé en code binaire jusqu'à un signal de nouvelle ligne du même iso- -1032- 2334148 entropicogramme, ledit permutateur étant caractérisé en ce qu'il comprend : a) des moyens pour stocker un signal de ligne d'entrée, ce signal de ligne d'entrée comprenant un signal codé en code 5 binaire représentanftme ou plusieurs valeurs d'apparition effectives d'un groupe de valeurs d'apparition possibles ordonnées dans un ordre décroissant; b) des moyens pour fournir en série âes signaux de valeur d'apparition effectives individuels, lesdits moyens com- 10 prenant : 1) des premiers moyens capables, en réponse au signal de ligne d'entrée stocké et à un premier signal de demande, de fournir un signal de valeur d'apparition effective représentant l'une des valeurs d'apparition effectives 15 du signal de ligne d'entrée stocké, lesdits premiers moyens fournissant un signal de valeur d'apparition effective représentant chacune des valeurs.du signal de ligne d'entrée par ordre de grandeur décroissant, en réponse à l'un desdits premiers signaux de demande pour 20 chacune de ces valeurs; 2) des seconds moyens capables, en réponse au même signal de ligne d'entrée stocké et à un second signal de demande de fournir un signal de valeur d'apparition effective représentant l'une des valeurs d'apparition 25 effectives du signal de ligne d'entrée stocké, ces se conds moyens fournissant un signal de valeur d'apparition effective représentant chacune desdites valeurs du signal de ligne d'entrée par ordre de grandeur décroissant, en réponse à l'un desdits seconds signatix 30 de demande pour chacune de ces valeurs; c) des moyens pour fournir un signal indiquant un nombre de lignes à permuter; d) des moyens pour stocker tme nouvelle ligne; e) des moyens de formation d'une nouvelle ligne comprenant : 35 1) des moyens de déplacements qui comprennent eux-mênes des moyens pour combiner des valeurs correspondant au signal de nombre de lignes indiqué et au signal de valeur d'apparition effective fourni par lesdits premiers -1C33- 2334148 moyens (1) et à former, pour chacune des combinaisons ainsi obtenues un signal de valeur d'apparition déplacé correspondant, 2) des premiers et seconds moyens du type registre pour 5 stocker, respectivement, un signal d'apparition déplacé et un signal de valetir d'apparition fourni par lesdits seconds moyens (2), 3) des moyens de sélection et de stockage, dans lesdits moyens de stockage de nouvelle ligne, du contenu de l'un 10 ou l'autre des premiers et seconds moyens du type re gistre , 4) des moyens pour comparer les contenus respectifs des premiers et seconds moyens du type registre pour indiquer les valetirs relatives de ces contenus, 15 5) des moyens d'autorisation comprenant : a. des moyens sensibles à une indication précisant que le signal déplacé contenu dans les premiers moyens du type registre est le plus grand, ces moyens comprenant ; 20 1. des moyens pour fournir ledit premier signal de demande, et 2. des moyens pour autoriser les moyens de sélection et de stockage à choisir le signal d'apparition déplacé contenu dans les premiers moyens du type 25 registre en vue de son stockage, b. des moyens sensibles à une indication précisant que le signal d'apparition non déplacé contenu dans les seconds moyens du type registre est le plus grand, ces moyens comprenant : 30 1. des moyens pour fournir ledit second signal de demande, et 2. des moyens pour autoriser lesdits moyens de sélection et de stockage à choisir le signal d'apparition non déplacé contenu dans les seconds moyens 35 de type registre en vue de son stockage, et c. des moyens, capables, en réponse à une indication d'égalité après comparaison, de fournir les premier et second signaux de demande. -1034— 2334148 226 - Permutateur suivant la revendication 225, caractérisé en ce que les moyens d'indication du nombre de lignes à permuter comprennent des moyens pour recevoir un signal représentant le nombre total de lignes à permuter et des moyens pour 5 convertir la valeur représentée par ce signal en ses puissances de 2 composantes. 227 - Permutateur suivant la revendication 225, caractérisé en ce qu'il comprend des moyens pour transmettre un premier desdits signaux de puissance de 2 composante et le signal 10 de ligne d'entrée stocké aux premiergét seconds moyens précités (1 et 2) pour permettre à ceux-ci de répondre à ces signaux et des moyens pour transmettre ultérieurement un second desdits signaux de puissance de 2 composante et le signal de nouvelle ligne stocké, produit par le premier signal de puissance de 15 2 composante, auxdits premiers et seconds moyens pour permettre à ceux-ci de répondre à ces signaux. 228 - Permutateur suivant la revendication 225 , caractérisé en ce que ladite ligne d'entrée est exprimée dans un premier code et les signaux de valeur d'apparition individuels 20 dans un second code et en ce que lesdits premiers et seconds moyens comprennent au moins un convertisseur de code pour convertir les valeurs d'apparition du signal de ligne d'entrée représentées par le premier code en signaux de valeur d'apparition effective individuels exprimés dans le second code. 25 229 - Permutateur suivant la revendication 225, caractérisé en ce que lesdits premiers moyenx (1) comprennent un premier convertisseur de code et en ce que lesdits seconds moyens (2) comprennent un second convertisseur de code. 230 - Permutateur suivant la revendication 225, 30 caractérisé en ce que les moyens destinés à fournir un signal représentant le nombre de lignes à permuter comprennent des moyens pour fournir de tels signaux dans le même code que celui des signaux de valeur d'apparition individuels précités. 231 - Permutateur suivant la revendication 225, 35 caractérisé en ce qu'il comprend des moyens pour éliminer ceux des signaux de valeurs d'apparition déplacés qui se trouvent en dehors du groupe de valeurs d'apparition possibles. -1035- 2334148 232 - Codeur destiné à convertir sous une forme hybride une série de mots absolus reçus dans un ordre de grandeur décroissant, caractérisé en ce qu'il comprend : a) des moyens capables, en réponse à des mots absolus reçus 5 précédent et actuel, de former un signal de sortie indica teur de la différence entre ces mots; b) des moyens pour indiquer la forme, absolue ou chaîne de bits, d'une information de sortie hybride, ces moyens comprenant : 10 1) des moyens pour indiquer une différence minimale choi sie à l'avance entre des mots absolus reçus successivement, pour la forme absolue de l'information de sortie, 2) des moyens pour comparer cette indication de différence minimale et le signal de différence "précédent-actuel" 15 précité (a) et pour indiquer si la valeur de ladite indication de différence minimale est supérieure, ou bien si elle est inférieure ou égale à la valeur dudit signal de différence; c) des moyens pour fournir des données de sortie sous forme 20 absolue, ces moyens comprenant : 1) des moyens capables, en réponse à ladite indication "inférieure ou égale", de sortir le mot absolu actuel stocké et un drapeau "absolu"; et d) des moyens pour fournir des données de sortie sous forme 25 de chaîne de bits, ces moyens comprenant : 1) des moyens capables, en réponse à ladite indication "supérieure", de former un jeu de signaux ordonnés comprenant un bit d'une première valeur séparé par le nombre de bits d'une seconde valeur qui correspond à 30 la valeur du signal de différence "précédent-actuel" précité, et 2) des moyens pour sortir sélectivement ledit jeu de signaux en association avec un drapeau "chaîne de bits" et dans une relation prédéterminé e avec un mot absolu 35 sorti. 233 - Codeur permettant de convertir sous une forme hybride une série de mots codés absolus reçus par ordre de grandeur décroissant, caractérisé en ce qu'il comprend : -1036- 2334148 a) un registre "actuel" pour stocker un mot absolu reçu actuellement; b) des moyens pour stocker un mot absolu reçu dans ledit régi stre "actuel"; 5 c) un registre "précédent" pour stocker un mot reçu antérieurement au mot contenu dans ledit registre "actuel"; d) des moyens pour transférer un mot dudit registre "actuel" dans ledit registre "précédent"; e) des moyens capables, en réponse aux mots absolus actuel et 10 précédent stockés, de former un signal de sortie indicateur de la différence entre ces mots; f) des moyens pour retenir le signal de différence "précédent-actuel"; g) des moyens pour indiquer la forme, absolue ou chaîne de 15 bits, d'une information de sortie hybride, ces moyens comprenant : 1) des moyens pour indiquer une différence minimale choisie à l'avance entre des mots absolus reçus, pour la forme absolue de l'information de sortie, 20 2) des moyens pour comparer l'indication de différence minimale et le signal de différence "précédent-actuel" retenu et pour indiquer si ladite indication de différence minimale est supérieure, ou si.elle est inférieure ou égale audit signal; 25 h) des moyens pour fournir des données de sortie sous la forme absolue, ces moyens comprenant : 1) des moyens capables, en réponse à ladite indication "supérieure", de sortir un signal représentant le mot absolu actuel stocké et un drapeau "absolu"; et 30 i) des moyens pour fournir des données de sortie sous la forme "chaîne de bits", ces moyens comprenant : 1) des moyens capables, en réponse à ladite indication "inférieure ou égale", de former un jeu de signaux ordonnés comprenant un bit d'une première valeur séparé 35 par le nombre de bits d'une seconde valeur correspondant à la valeur dudit signal de différence "précédent-actuel" retenu, et 2) des moyens pour sortir sélectivement un signal repré -1037- 2334148 sentant ledit jeu de signaux ordonnés conjointement à un drapeau "chaîne de "bits" et dans une relation prédéterminée avec un mot absolu sorti. 234 - Codeur suivant la revendication 225, caracté-5 risé en ce que la forme hybride comprend une série de mots et en ce que les moyens de formation d'un jeu de signaux ordonnés comprennent : a) des moyens compteurs; b) un registre de formation de mot en forme de chaîne de bits; 10 c) des moyens capables, en réponse à ladite indication, d'autoriser lesdits moyens compteurs à compter une séquence d'états dont le nombre correspond au signal de différence "actuel-précédent" retenu; d) des moyens pour indiquer l'achèvement du comptage qui vient 15 d'être menti onné; e) des moyens pour déplacer le contenu du registre de formation de chaîne de bits d'une position binaire en direction de son bit de plus faible poids pour chacun des états ci-dessus mentionnés desdits moyens compteurs; et 20 f) des moyens capables, en réponse au signai d'achèvement mentionné en dernier lieu, d'insérer un signal de bit de valeur prédéterminée à l'extrémité de plus fort poids du contenu du registre de stockage de bits; et en ce que les moyens de sortie comprennent des moyens pour 25 sortir sélectivement le contenu dudit registre de formation de mot en chaîne de bits. 235 - Codeur suivant la revendication 234, caractérisé en ce qu'il comprend des moyens pour introduire une première apparition dans un nouveau mot en chaîne de bits en cours de 30 formation, lesdits moyens comprenant : a) des moyens pour stocker un signal représentant le nombre de bits restant à charger dans un mot en chaîne de bits en cours de formation; b) des moyens de combinaison pour former un signal représen-35 tant la différence entre la valeur du signal de nombre de bits restant à charger et le signal de différence "précédent-actuel" ; -1038- 2334148 c) des moyens pour comparer la valeur du signal de différence "précédent-actuel" et le signal de bits restant à charger pour indiquer si le premier de ces signaux est supérieur ou égal au second, ou si le premier de ces signaux est 5 inférieur au second; d) des moyens capables, en réponse à l'indication "inférieur" de retenir le signal de différence fourni par lesdits moyens de combinaison comme nombre de bits nécessaire dans le mot en chaîne de bits suivant pour introduire le mot 10 absolu actuel; e) des moyens capables, en réponse à l'indication "supérieur ou égal", d'autoriser les moyens compteurs à compter une séquence d'états dont le nombre correspond au nombre de bits retenu nécessaire dans le signal de mot en chaîne 15 de bits suivant; f) des moyens pour indiquer l'achèvement du dernier comptage mentionné; g) des moyens pour déplacer le contenu dudit registre de formation de chaîne de bits d'une position binaire en direc- 20 tion de son bit de plus faible poids pour chacun des der niers états mentionnés des moyens compteurs; et h) des moyens capables, en réponse au signal d'achèvement mentionné en dernier lieu, d'insérer un signal de bit de valeur prédéterminée à l'extrémité de plus fort poids du 25 contenu du registre de stockage de bits. 236 - Codeur suivant la revendication 234, caractérisé en ce qu'il comprend des moyens pour compléter les bits d'un mot en chaîne de bits en cours de formation lorsqu'aucune nouvelle apparition ne peut plus être introduite dans ce mot, 30 ledit codeur étant caractérisé en ce qu'il comprend : a) des moyens pour stocker un signal représentant le nombre de bits restant à charger dans le mot en chaîne de bits en cours de formation; b) des moyens de combinaison pour former un signal représen- 35 tant la différence entre la valeur du signal de nombre de bits restant à charger et celle du signal de différence "précédent-actuel"; -1039- 2334148 c) des moyens pour comparer la valeur du signal de différence "précédent-actuel" et celle du signal de bit restant à charger pour indiquer, soit que la première valeur est supérieure ou égale à la seconde, soit que la première 5 valeur est inférieure à la seconde; d) des moyens capables, en réponse à l'indication "inférieure", d'autoriser les moyens compteurs à compter une séquence d'états dont le nombre correspond à la valeur du signal stocké de bits restant à charger; 10 e) des moyens pour indiquer l'achèvement du dernier comptage mentionné; et f) des moyens pour déplacer le contenu du registre de formation de chaîne de bits d'une position binaire en direction de son bit de plus faible poids pour chacun des derniers 15 états mentionnés des moyens compteurs. 237 - Codeur suivant la revendication 233, caractérisé en ce qu'il comprend des moyens d'écrêtage, lesdits moyens d'écrêtage comprenant à leur tour : a) des moyens pour stocker une valeur limite supérieure et 20 tme valetir limite inférieure; et b) des moyens pour comparer un mot absolu actuel avec lesdites valeurs limites supérieure et inférieure et pour indiquer si ce mot absolu actuel est en dehors des limites définies par lesdites valeurs limites. 25 238 - Codeur suivant la revendication 237» caracté risé en ce qu'il comprend des moyens d'ajustement d'intervalle, " lesdits moyens comprenant à leur tour : a) des moyens pour stocker une valeur d'intervalle; b) des moyens capables, en réponse à une indication précisant 30 que l'entrée actuelle est hors limites, de modifier incrémentiellement les valeurs limites supérieure et inférieure stockées dans une mesure égale à la grandeur de ladite valeur d'intervalle stockée; et c) des moyens pour autoriser les moyens de comparaison pré-35 cités à répéter la comparaison mais, cette fois, en utilisant les valeurs limites supérieure et inférieure modifiées incrémentiellement et l'entrée actuelle. -1040- 2334148 239 - Décodeur permettant de convertir des signaux codés hybrides en signaux de mot codé absolu, les signaux hybrides représentant une série de valeurs d'apparition de grandeur décroissante, les signaux hybrides comprenant une série de 5 signaux de mot codé binaire reçus incluant au moins un mot codé absolu et un mot en chaîne de bits, le mot en chaîne de bits représentant une apparition par le nombre de bits de déplacement d'un bit de valeur prédéterminée par rapport à un mot absolu dé la série de mots hybrides et Tin mot hybride comprenant un signal 10 de drapeau indiquant le type de mot dont il s'agit, ledit décodeur étant caractérisé en ce qu'il comprend : a) des moyens de sortie de mot absolu comprenant des moyens capables, en réponse à un signal de drapeau "mot absolu" d'un signal de mot hybride reçu, de sortir ce signal de 15 mot reçu; et b) des moyens de formation et de sortie de signal de mot absolu, ces moyens comprenant : 1) des moyens capables, en réponse à un signal de mot absolu et à chacun desdits bits de valeur prédéterminée 20 d'un signal de mot en chaîne de bits ultérieur d'un signal hybride reçu, de former un signal de mot absolu indicateur de la valeur effective de chacun desdits bits de valeur prédéterminée, et 2) des moyens pour sortir chaque signal de mot absolu ainsi 25 formé. 24-0 - Décodeur permettant de convertir des signaux codés hybrides en signaux de mot codé absolu, les signaux hybrides représentant une série de valeurs d'apparition de grandeur décroissante, les signaux hybrides comprenant une série de signaux 30 de mot codé binaire reçus incluant au moins un mot codé absolu et au moins un mot en chaîne de bits, le mot en chaîne de bits représentant une apparition par le nombre de bits de déplacement d'un bit d'une valeur prédéterminée par rapport à un mot absolu de la série de mots hybrides et un mot reçu comprenant un signal 35 de drapeau indiquant le type de mot dont il s'agit, ledit décodeur étant caractérisé en ce qu'il comprend : a) des moyens de sortie de mot absolu comprenant des moyens capables, en réponse à un signal de drapeau "mot absolu" -1041- 2334148 d'un signal de mot reçu, de sortir ce signal de mot reçu; et b) des moyens de formation et de sortie de signal de mot absolu, ces moyens comprenant : 5 1) des moyens du type registre à décalage pour stocker un signal de mot en chaîne de bits reçu, 2) des moyens pour autoriser de façon répétée le déplacement du contenu des moyens du type registre à décalage à raison d'une position binaire en direction du bit de 10 plus faible poids du signal de mot en chaîne de bits; 3) des moyens pour fournir une indication lorsqu'un signal de bit indicateur de ladite valeur prédéterminée parvient à une position choisie à l'avance par rapport aux moyens du type registre à décalage, 15 4-) des moyens compteurs, 5) des moyens capables, en réponse à un signal de drapeau indiquant un signal de mot absolu reçu, de régler lesdits moyens compteurs, par rapport à un état de référence, à un état qui correspond à la valeur de ce signal 20 de mot absolu, 6) des moyens pour autoriser lesdits moyens compteurs à compter un état vers ledit état de référence pour chaque déplacement du contenu des moyens du type registre à décalage, et 25 7) des moyens capables, en réponse à ladite indication d'un bit, de sortir un signal correspondant à l'état des moyens compteurs. 24-1 - Décodeur suivant la revendication 240, caractérisé en ce que les moyens de formation de mot absolu comprennent 30 des moyens d'ajustement des moyens compteurs pour des bits, n'ayant pas ladite valeur prédéterminée, qui restent dans les moyens du type registre à décalage après le dernier bit de valeur prédéterminée d'un mot reçu, lesdits moyens d'ajustement comprenant : 35 a) des moyens compteurs supplémentaires; b) des moyens pour indiquer le nombre maximal de bits d'un mot absolu de sortie; -104-2- 2334148 c) des moyens pour régler sélectivement les moyens compteurs supplémentaires, par rapport à un état de référence, à un état qui correspond à ladite indication du nombre maximal de bits d'un mot absolu; 5 d) des moyens pour autoriser les moyens compteurs supplémentaires à compter un état par rapport à leur état de réglage vers ledit état de référence pour chacun des déplacements du contenu des moyens du type registre à décalage; e) des moyens pour fournir une indication de l'apparition 10 de ladite valeur de référence desdits moyens compteurs supplémentaires ; f) des moyens capables, en réponse au signal de drapeau d'un signal de mot en chaîne de bits reçu et à l'absence de la dernière indication mentionnée, d'autoriser à nouveau à la 15 fois les premiers moyens compteurs mentionnés et les moyens compteurs supplémentaires à compter vers leurs états de référence respectifs; et g) des moyens capables, en réponse à la dernière indication mentionnée, d'interrompre cette autorisation supplémen- 20 taire de comptage desdits premiers moyens compteurs men tionnés et desdits moyens compteurs supplémentaires.