Brevet FR2295483A1 — publié le 19760716

La présente invention concerne les systèmes de traitement de l'information en lesquels des données doivent être acquises, pour rangement, ou extraites, pour exploitation, en et d'une mémoire générale de données selon une commande cyclique définie par des suites ordonnées de paramètres distribuées en un nombre entier de cycles courts constituant ensemble un cycle opératoire long. Chaque paramètre apparaît dans les cycles 'courts avec une fréquence de récurrence qui lui est propre. Cette fréquence peut être defi- nie par un indice de récurrence ou 1,sous-commutation", ce qui, une fois connu le premier cycle court en lequel il apparaît, définit les autres cycles courts qui l'utilisent.Plusieurs paramètres peuvent avoir meme indice de récurrence et, en ce cas, chacun de ces paramètres apparaît, dans un cycle court qui le contient, avec un rang qui lui est propre vis à vis des autres paramètres de meme indice contenus en ce cycle court. En chaque cycle court, de plus, les paramètres, ou groupes de paramètres de même indice, sont rangés dans l'ordre décroissant de leurs fréquences de récurrence. L'acquisition des adresses physiques des données steffeetue, en un tel système, en fonction d'une trame constituée, pour chaque travail, des suites ordonnées de paramètres formant les cycles courts dont la séquence constitue le cycle long d'exécution de ce travail, l'adresse 11physique" se définissant par la Combinaison de l'emplacement de mémoire générale et de l1emplacement temporel dans la trame, d'une donnée. Il est évidemment possible d'assurer cette acquisition des adresses physiques en mémorisant, pour chaque travail, sa trame opératoire complète, chaque paramètre étant écrit autant de fois qu'il apparaît dans la trame et à ses emplacements d'occurence en cette trame, et l'adresse de mémoire générale de la donnée corres- pondante étant écrite pour son exploitation à eôté de chaque paramètre de la trame. Une telle organisation de "mémoire de commande", ou de trame, est évidemment lourde et onéreuse. Sa capacité doit être celle d'autant de trames complètes que de travail, chaque trame au format de son travail. On comprend par "format", le nombre et le rangement des paramètres dans les cycles courts et le nombre de tels cycles courts par cycle long d'exécution du travail. D'un autre point de vue, il est clair qu'une fois "écrite", cette mémoire de commande ne peut être modifiée que per l'effacement et la rd-éeriture d'une trame complète. Un but de l'invention est d'étziter l'organisation ci-dessus et donc ses inconvénients, en y substituant une organisation qui ne fasse appel qu'à un matériel particulièrement réduit. Un autre but de l'invention est de prévoir cette organisation de substitution telle qu'elle permette une modification simple des trames par effacement(s) et re-écriture(s) localisés. Une adresse de mémoire générale est usuellement formée d'une adresse de voie d'une platine elle-même affectée d'une adresse. Les adresses de voies se correspondent de platine à platine. Lorsque, pour certaines considérations technologiques, nombre maximum des chiffres d'un mot dans le système notamment, la mémoire géné rale est subsdivisée en blocs, chacun d'un même nombre de platines, les adresses de platines se correspondent de bloc à bloc. Selon la présente invention, il est prévu, de façon générale une organisation comprenant la combinaison d'une mémoire de paramètres, ne dépassant donc pas en capacité celle de la mémoire générale des données, et de moyens permettant la reconstitution programmée des trames à partir de la lecture de cette mémoire de paramètres. Plus précisément, il est prévu selon la présente invention d'organiser la mémoire de paramètres en correspondance directe d'emplacements, par voie et par platine, avec la mémoire de données, d'y écrire à chaque emplacement de paramètre un code décrivant le numéro du premier cycle court et sa fréquence de récurrence (rang en ce cycle court du paramètre concerné), d'organiser la lecture cyclique de cette mémoire par progression des adresses de voies, avec incrémentation de l'adresse de platine à chaque cycle de lecture des voies, d'assurer la comparaison, à chaque lecture, des codes lus en mémoire à des codes de données d'un programme de reconstitution progressive de trame et, sur détection d'une concordance entre ces contenus et ces données de programme, de prélever pour adresse de donnée en mémoire générale l'adresse formée par concaténation de l'adresse de platine et de l'adresse de voie. Lorsque la mémoire est organisée en blocs, la lecture cyclique des voies assure l'extraction des codes d'emplacements correspondants dans les platines de mêmes adresses des blocs et l'adresse de donnée en mémoire générale est complétée par une adresse de bloc obtenue sur identification du bloc dont une platine a délivré le contenu codé ayant donné lieu à cette concordance. Pour exposer l'invention en son détail, on se réfère aux figures jointes qui en représentent un exemple non limitatif dlexé- cution dont peuvent se déduire, sans plus, toutes variantes entrant dans le cadre de l'invention:- La figure 1 représente un exemple d'organisation générale de dispositif de mise en pratique de l'invention, La figure 2 illustre partiellement une configuration de contenu de la mémoire de paramètres dans le dispositif de la fig. 1, La figure 3 représente, pour partie, le schéma des circuits de comparaison des codes lus en mémoire de paramètres et des codes de données de programme de reconstitution des trames. L'organisation représentée sur la fig. l comprend essentiellement:- une mémoire de paramètres MK:- une organisation de programme de reconstitution de trame de travail, comprenant une mémoire de format MF et ses registres d'adresse RA et de lecture RT, un compteur de numéros de cycles courts CC et un registre CI d'indice de sous-commutation (dont le contenu réel sera précisé plus loin) ; - une organisation de progression cyclique des adresses, compteurs CV (voies) et CP (platines) avec leur horloge HEV et leur circuit-porte d t activation et blocage GM:- une organisation logique LE incorporant ici quatre circuits CCA, CCB, CCC et CCD de comparaison des codes lus dans les blocs (A), (fol), (C > et (D) de MK aux données de programme en CC et CI ; - et une organisation de circuits-portes GT activée à chaque détection de conformité en ces circuits CCA à CCD pour transférer le contenu des compteurs dtadrae ses CV et CP à un registre d'adresse RAD des données en mémoire générale. Ce registre est un tampon qui sera lu pour transfert de son contenu au système SYS par des impulsions d'une horloge HIR lorsqu'un circuit-porte GH sera débloqué en suite à une détection de concordance de codes lus en MK et de données de programmes en CC et CI dans l'organisation logique LE. La mémoire générale étant divisée en blocs, la mémoire MK l'est également. L'exemple est à quatre blocs, comme dit plus haut, et pour simplifier la représentation et l'exposé, on a supposé un bloc réduit à deux platines de seize voies chacune, Pl-P2 pour le bloc (A), P3-P4 pour le bloc (B), P5-P6#pour le bloc (C) et P7-P8 pour le bloc (D). Les platines P1, P3, P5 et P7 ont même adresse, les platines P2, P4, P6 et P8 ont également même adresse. En fait donc, CP n'a, en cet exemple, que deux positions binaires En pratique, bien entendu, il y aura un plus grand nombre de pla tines par blocs. Chaque platine comprend seize voies, de vl à v16. La mémoire MK sera donc entièrement explorée en deux cycles de lecture, chacun de seize pas d'adresses CV. Dans le premier cycle sont explorés les contenus des platines impaires, dans le second, les contenus des platines paires. Comme des concordances peuvent se produire sur plusieurs blccs à la fois, il est donc utile das- sortir les circuits comparateurs CC.R à CCD d'autant de circuits de sortie CA à AD organisEs en une logique de priorité LP pour traiter de tels cas. Les sorties de LE/LP sont réunies en U pour débloquer ltorga- nisation des circuits-portes GT, stopper temporairement la progression du compteur CV par inhibition du circuit-porte GM, débloquer le circuit-porte aH pour permettre aux impulsions de l'horloge HLR de venir lire le registre RAD, ce qui le rend disponible pour recevoir l'adresse du mot de données dont l'identification vient d'avoir lieu par activation de l'une des sorties de LE/LP et, pour des raisons qui seront précisées plus loin, agir sur le contenu du registre CI. Les sorties de QA à QD sont aussi dirigées sur un codeur CB qui ajoute l'adresse du bloc aux adresses de platine CP et de voie CV.On doit comprendre que chaque fois que le compteur CV passe par son compte maximum et revient à zéro, il incrémente dtune unité le compteur CP, qui revient à son tour à zéro après passage à son compte maximum (ceci de façon générale, l'exemple illustré réduisant, en fait, CP à une bascule). Toute impulsion passant à travers GH remet à zéro, par le circuit-porte correspondant des circuits GRZ, le circuit Q qui a délivré le signal de commande de transfert de l'adresse de donnée en mémoire générale. Deux cas sont alors à considérer:le premier est celui où une seule des sorties de QA à QD est en condition de détection de concordance des informations appliquées sur son comparateur CCA à CCD. En ce premier cas, le compteur CV reprend sa progression et poursuit donc l'exploration du contenu de la mémoire MK. Le second est celui où, après prise en compte de la sortie "prioritaire" des sorties activées de QA à QD, il existe une autre sortie activée.En ce cas, cette seconde sortie maintient le blocage de la progression de CV par inhibition de CM, commande le transfert d'une seconde adresse en RAD, ne différant de la première que par le code de bloc issu de CB, et libère alors la progression d'exploration de MK. Le cas de plus de deux sorties activées est évident de ce qui précède. En certains cas, la reprise de progression de CV-CP nta lieu qu'après une remise à zéro de ces compteurs, ceci sous la commande du contenu du registre CI de l'organisation de programme de reconstitution de trame. La raison et les moyens en seront donnés plus loin Dans la mémoire MK, chaque emplacement de paramètre comporte deux codes. Le premier est lié à l'indice de sous-commutation du paramètre, il indique en fait "l'ordre" de sous-commutation. L'indice s exprimant en puissance de deux, 2Y l, y est cet ordre de sous-commutation. La table de correspondance est simple : Indice de sous-commutation:- 1 2 4 8 16 32 64 Ordre de sous-commutation :- 1 2 3 4 5 6 7 Le second code est la valeur, exprimée en binaire, du numéro du premier cycle court en lequel apparait ce paramètre. En se limitant, pour simplifier, aux paramètres d'ordres de sous-commutation 1, 2 et 3, apparaissant pour la première fois dans les cycles courts de numéros 1 à 4, on peut illustrativement considérer le placement en mémoire MK des codes de paramètres suivants (également donnés à simple titre illustratif)::- quatre paramètres, a, b, c, d d'ordre de sous-commutation 1, première occurrence dans le cycle court n0 1 ;- neuf paramètres d'ordre de sous-commutation 2, e, ff, #, i, ks 1 apparaissant dans le cycle court; n0 1 pour leur première occurrence, et f, h, 1, m de première oc currence dans le cycle court n 2. Pour l'équilibre des cycles courts, on adjoint alors un "blanc" (@) aux paramètres f, h, j, m. Ce "blanc" aura une adresse de mémoire de données mais à un emplacement vide de cette mémoire. On y a adjoint seize paramètres d'ordre de sous-commutation 3, de aa à ad. Les paramètres aa, ba, ca et da ont leur première occurrence dans le cycle court n 1, les paramètres ab, bb, cb et db, dans le cycle court les paramè- tres ac, bc, cc et dc dans le troisième cycle court et les paramètres ad, bd, cd et dd dans le quatrième cycle court. Chaque paramètre apparaît tous les quatre cycles courts, sa fréquence de récus rence étant 23-l = Les codes écrits aux emplacements de MK pour les paramètres a à d seront donc (11).Ceux écrits aux emplacements pour les pa paramètres e, g, i, k, 1 seront donc (21) et ceux écrits aux emplacements pour les paramètres f, h, , m, X seront (22). Les codes écrits aux emplacements des paramètres aa, ba, ca et da sont (31) ceux écrits aux emplacements des paramètres ab, bb, cb et db sont (32), ceux écrits aux emplacements des paramètres ac, bc, co et do sont (33) et ceux écrits aux emplacements des paramètres ad, bd, cd et dd sont (34). Fig. 2. Le choix des emplacements de ces codes en MK correspond à celui qui a été fait pour les données en n*oi- re générale du système.Pour la clarté, on a écrit les paramètres sur la Fig. 2, on doit comprendre que seuls leurs codes existent réellement en MK. L'organisation de programme de reconstitution de traie comprend, dans l'exemple représenté, la mémoire de mots MF dont chaque mot décrit la configuration en paramètres d'un cycle court :- il comporte autant de segments que d'indices de sous coiinutation (exprimés en ordre de sous-con-utation) entrant en ce cycle court, dans le sens croissant par exemple et chaque segment comporte le nombre de paramètres de cet ordre, par exemple il co- prend autant de fois le code d'ordre de sous-commutation qu'il existe paramètres de cet ordre dans ledit cycle court.Le registre de lecture RT de cette mémoire de mot format NF est associé à un registre CI en lequel il peut transférer, un par un, les segments du mot qu'il a reçu. En début d'un travail, le registre d'adresse RA de la mémoire MF est initialisé et le mot désigné est introduit en RT. Les compteurs CV et CP sont revis, ou confiriés, i zéro. Le premier segment dans RT est transféré dans CI et le compteur de cycle court CC est activé b son contenu repérant le cycle n~ 1. Le circuit-porte GM est alors débloqué et l'horloge HEV provoque l'exploration de la mémoire NK. La mémoire est explorée, comme susdit, en autant de cycles de lecture de voies qu'il y a de platines par bloc de mémoire. A chaque concordance entre un contenu d'emplacement de MK extrait de cette mémoire et des codes en CC et CI, le processus sus-décrit a lieu:- arrêt de l'exploration, transfert de l'adresse de donnée en mémoire générale dans le registre RAD. A chaque concordance, toutefois, le registre CI est décrémenté d'une unité. Après quatre "identifications", dans l'exemple considéré, ce registre CI sera donc vidé et il délivre alors un signal qui appelle le segment suivant contenu dans RT et qui concerne l'ordre de sous-commutation immédiatement supérieur. En même temps, un signal de remise a zéro RAZ est appliqué sur les compteurs CV et CP, d'une part parce qu'il est inutile de poursuivre l'exploration de la mémoire pour les paramètres de cet ordre de sous-commutation, d'autre part parce qu'il est inutile d'attendre la fin de l'exploration pour la recoencer intégralement pour les paramètres de l'ordre de sous-co#utation immédiatement supérieur alors entrés en CI. Ce processus se poursuivra jusqu'à épuisement du contenu de RT et le compteur de cycle court CC recevra le code n0 2 ce qui, par action sur le registre d'adressage RA de NF introduira en RT le mot format de ce cycle court n 2 (ou le reintroduira si tous les cycles courts ont aêare format dans le travail sélectionné par l'initialisation de RA). L'opération reprendra pour le cycle court n0 2 ; et ainsi de suite jusqu'à épuisement des cycles courts cons- tituant le cycle long du travail. La Fig. 3 permet de préciser comment s'effectue une recherche de concordance entre codes lus et codes de programme de reconstitution de trame ainsi qu'une opération de logique de priorité dans l'organisation de la Fig. 1. On retrouve sur cette fig, 3 les blocs (A) à (D) > le compteur de cycle court CC, le registre CI, les comparateurs CCA à CCD et les circuits de la logique de priorite QA à QD mais le détail d'un des circuits CCA y est représen- té, ainsi que l'organisation de la logique de priorité. Chacun des blocs de la logique d'extraction LE, soit donc chacun des circuits CCA à CCD comporte six comparateurs de chifres binaires, référencés CMCC. Chaque comparateur peut avantageusement consister en un circuit de disjonction ("Ou exclusif"). Les sorties de ces comparateurs sont individuellement reliées à autant d'entrées de circuits logiques "ET". Les sorties des circuits "ET" sont appliquées sur un circuit de validation d'identi- fication CVI. Les circuits CMCC reçoivent les chiffres binaires du code de numéro de premier cycle court de tout paramètre rencontré au cours de l'exploration d'une platine du bloc correspondant par le compteur- d'adresse CV, le compteur de platine n'étant pas représenté sur cette figure car inutile pour sa compré- hension.Ils reçoivent en meme temps les chiffres binaires du numéro de cycle court en CC, ce dernier ayant son contenu incrémenté d'une unité par chaque impulsion d'horloge H de cycles court de l'organisation. En cette figure, le code de numéro de premier cyie court est désigné par M et le code de numéro-de cycle court en CC est désigné par X. Le code Y d'ordre de sous-cosutation lu en MK est appliqué sur un décodeur Dl équipé d'une organisation de sortie, circuits portes PDI dont les entrées de commande sont montées en cascade et dont les entrées d'information proviennent des sorties du décodeur DI qui, pour chaque valeur d'indice de sous-commutation, élabore un masque pour la comparaison chiffre à chiffre de X et de M.Ce masque est appliqué sur les entrées de commande des circuits "ET" en sorte que, pour toute comparaison positive en CMOC vue à travers ce masque, donc en fait pour toute comparaison positive limitée à un nombre de chiffres binaires véritablement coIn- cidents des codes X et M aux emplacements binaires définis par ce masque, la totalité des circuits "ET" délivreront un 1.Ale signal logique vrai. Toutefois pour que le circuit de validation d'identification CVI délivre, en une telle condition de ses entrées "vraies11, un signal réel d'identification de paramètre à mémoriser sur la. bascule Q qui, dans la logique de priorité, correspond au bloc qui a amené ses circuits "ET" en cette condition, il est nécessaire que le circuit CVI soit débloqué par une identité du code d'ordre Y lu en mémoire et le code d'ordre alors existant en CI. Les deux codes sont comparés chiffre à chiffre en CMI, trois circuits "OU exclusif" par exemple et, lorsque les sorties de ces trois circuits sont identiques, un circuit VI, opérant la fonction logique ET sur ses sorties, vient à un niveau qui débloque le circuit CYI, la bascule Q est activée avec les conséquences qui ont déjà été exposées en relation avec la Fig. 1. Bien entendu, le nombre de cosparateurx en CNCC et le nombre de circuits en CMI proviennent du fait qu'on considère un exemple en lequel Y est codé en trois chiffres et M (et X) en six chiffres binaires. La modification pour d'autres valeurs de nombres de chif frets en ces codes est évidente en soi. Le masque formé est tel qu'il permette, pour chaque valeur Y d'ordre de sous-commutation, la comparaison effective des (Y-l) chiffres de plus faibles poids des codes M et X. L'organisation LP est la suivante :- à chacun. des bascules QA à QD est associé un circuit de transfert TA d tu TI > d'une tension continue d'alimentation (+), et cette tension est appliquée, lorsque tous les circuits T sent passants, sur une entrée de dé- blocage d'un circuit-porte, FA à PD dont l'entrée d'information est activée lorsque la bascule correspondante QA à QD vient au travail. Ce sont les sorties des circuits FA à PD qui sont, en fait, réunies en U sur la Fig. 1 et qui sont, en cette figure, dirigées sur le codeur d'adresse de bloc CB. Ce sont les sorties de ces circuits qui sont, individuellement, appliquées sur les circuits-portes de remise à zéro des bascules GRZ, Fig. 1. Lorsqu'il y a une coïncidence ou conformité détectée sur plusieurs lectures de blocs de mémoire MK, le circuit de la tension de référence (+) est coupé au niveau du circuit T de la bascule Q de plus haute priorité. La disparition de cette tension en IMC vient bloquer le circuit-porte GM, fig. l. La sortie P de plus haute priorité est seule activée et provoque donc le transfert à travers GT de l'adresse du paramêtre ainsi détectée. La bascule Q est remise au repos et la "coupure" est reportée au niveau de la bascule Q de priorité immédiatement inférieure et qui a été activée ; et ainsi de suite. Lorsque toutes les bascules activées ont été remises à zéro, INC est rétabli à la valeur de l'alimen- tation (+) et l'exploration de la mémoire reprend puisque la porte GM laisse à nouveau passer les impulsions d'horloge HEV. REVENDICATIONS 1. - Système de détermination des adresses physiques des données d'un système de traitement cyclique de 1'inrormation en lequel l'adresse physique d'une donnée se définit par la combinaison de son emplacement en mémoire générale et son emplacement temporel dans une trame formée de suites ordonnées de paramètres in dividuelieme;;it affectés aux données, suites distribuées en un nombre entier de cycles courts c.)nst tuayt ensemble le cycle long d'un travail, chaque paramètre apparaissant en cette trame avec une fréquence de récurrence et un rang qui lui sont propres de cycle court à cycle court, système caractérisé par la combinaison d'une mémoire de paramètres de capacité au plus égale à celle de la mémoire générale et de moyens de reconstitution programmée de la trame, cycle court par cycle court, à partir de la lecture cyclique de cette mémoire de paramètres. 2. - Système selon la revendication 1, caractérisée en ce que la mémoire des paramètres est organisée en correspondance directe des adresses de voies et platines des données de mémoire générale et des siennes propres des paramètres affectés à ces données, en ce que chaque paramètre y est écrit en deux codes dont le premier décrit le premier numéro de cycle court en lequel il apparait et le second décrit le rang qu'il occupe en tout cycle cout de la trame, en ce que la lecture de cette mémoire de paramètres est organisée en progression cyclique des adresses de voies avec incrémentation unité par unité de l'adresse de platine à chaque cycle de lecture des voies, et en ce que les moyens de reconstitution programmée de la trame sont organisés pour assurer, à chaque lecture de voie, la comparaison des deux codes lus en mémoire avec des codes fournis par le programme de reconstitution de la trame et, à chaque détection d'une concordance entre ces paires de codes, pour prélever comme adresse de donnée en mémoire générale, un code de concaténation de l'adresse de voie et de l'adresse de platine du paramètre ayant occasionné cette détection. 3. - Système selon la revendication 2, caractérisé en ce que, la mémoir e données étant, de plus, organisée en blocs, et donc la mémoire de paramètres, la lecture de la mémoire de paramètres est organisée pour lire simultanément les emplacements de paramb- tres de mêmes adresses de voies et de platines en tous les blocs et en ce que les moyens de reconstitution de la, trame ajoutent un code d'adresse de bloc au code de concaténation formant l'a- dresse de mémoire générale et régissent les prélèvements de ces codes selon une hiérarchie prédéterminée des blocs en cas de détection simultanée de concordance sur des paramètres lus en plusieurs blocs. 4. - Système selon la revendication 2 ou selon la revendication 3, caractérisé en ce que les moyens de reconstitution pro grammée de la trame incorporent une organisation de régie comprenant un compteur de numéros de cycles courts, une mémoire de configuration de trame délivrant, cycle court par cycle court, une séquence ordonnée de codes de rangs de paramètres et de nombres de paramètres de chaque rang, et un registre recevant séquentiellement ces codes de rangs et nombres de paramètres, et en ce que les moyens de comparaison reçoivent sur des entrées séparées les codes contenus en ce compteur et ce registre et commandent la substitution dudit registre d'un code d'un rang à un code d'un rang supérieur après avoir détecté un nombre de concordances de paires de codes lus en mémoire et contenus en ce compteur et ce registre égal au nombre de paramètres du rang désigné par ce registre, substitution entratriant une remise à zéro de l'adressage de voies et de platines de la mémoire de paramètres. 5. - Système selon la revendication 4, caractérisée en ce que les moyens de comparaison pour cette reconstitution programmée de la trame comprennent, par bloc de mémoire de paramètres, autant de circuits de disjonction logique qu'il existe de chiffres binaires dans le code de cycle court, chaque circuit recevant un chiffre de ce code provenant dudit compteur et un chiffre de code de premier numéro de cycle court du paramètre lu en mémoire, un circuit de formation d'un masque à partir du code de rang de paramètre lu en mémoire et des moyens d'application de ce masque aux sorties de ces circuits de disjonction, et des moyens de validation d'une identité des chiffres ainsi masqués à partir d'un signal de détection d'identité entre le code de rang de paramètre lu en mémoire et le code rang contenu en ce registre de régie et en ce que les moyens de prélèvement du code de concaténation d'adresses de voie, platine et bloc comportent, par sortie de comparaison un élément bistable activable sur validation d'un signal d'identité de cette sortie pour provoquer alors un arrêt de progression des adresses de voies et le transfert en un registre tampon d'un code de concaténation des adresses de voie, de platine et de bloc alors atteintes et définies par ladite sortie de comparaison, les sorties de ces éléments bistables étant réunies à travers des circuits-portes individuels montés en une organisation de hiérarchisation de tels transferts et étant individuellement ramenées avec retard sur les entrées de remise au repos desdits éléments bistables. 6. - Système selon la revendication 5, caractérisé en ce que des moyens comptent les activations successives de ces éléments bistables pour la commande de substitution de contenu du registre de régie, à la concordance entre ce nombre d'activations et le nombre de paramètres du rang défini en ce registre.