Brevet FR2067240A1 — publié le 19710820

Le dispositif présenté dans cette invention concerne des mémoires è accès aléatoire, par exemple, celles du type généralement fourni avec le système de traitement 360 fabriqué par IBM et identifiée comme mémoire à disque 2302, mémoire à disque 2311, la cellule de données 3021 avec le dispo-5 sitif d'entraînement de cellules de données 2321, et une mémoire à tambour 2303. Ces mémoires à accès aléatoire sont couplées à l'unité centrale de traitement d'un système 360 au moyen d'une unité de commande de mémoire 2841. Le format de données et des parties des circuits de commande sont représentés dans le brevet n° 1 435 253 déposé en France par la demanderesse le 23 Mars 10 1965. Le brevet n° 1 474 494 déposé en France par la demanderesse le 4 Avril 1966 décrit une modification des mémoires à accès aléatoire décrites ci-dessus et de leur unité de commande de mémoire en présentant l'utilisation d'une mémoire intermédiaire à matrice de noyaux adressables dans l'unité de commande de mémoire afin de minimiser le temps nécessaire pour accéder 15 aux enregistrements à partir de mémoires à accès aléatoire et de minimiser l'importance du temps de l'unité centrale de traitement qui doit Stre utilisée pour sélectionner de tels enregistrements. L'aptitude à rechercher une mémoire de données et à sélectionner les données désirées à partir de cette mémoire a été introduite dans des disposi-20 tifs à accès aléatoire du commerce mais avec des possibilités très limitées. Des possibilités de recherche plus complètes seront exigées dans le futur si l'on veut satisfaire les demandes des clients. Ces possiblités de recherche devront aller des simples facilités généralement fournies à une variété plus complexe permettant de conduire des recherches sur des champs non contigQs 25 à l'intérieur de limites spécifiées. Un objet de la présente invention est de fournir un mécanisme de recherche qui remplisse ces conditions sans augmenter d'une manière significative le prix de l'équipement complet. Suivant la présente invention, l'initiation d'une recherche complexe résultera en un transfert de l'unité centrale de traitement à l'unité de 30 commande de mémoire d'un tableau de paramètres à plusieurs entrées. Chaque entrée indiquera: des limites supérieure et inférieure qui sont les valeurs limites du paramètre recherché, l'adresse de début du champ à rechercher pour le paramètre, le nombre de multiplets dans le champ dans lequel une recherche est à effectuer, et un opérateur logique à utiliser pour déterminer 35 si les critères de recherche sont remplies. Les opérateurs logiques représentent et/ou fonctionnent pour permettre aux critères de recherche d'exiger les diverses combinaisons d'essais à satisfaire. Par exemple, les opérateurs logiques peuvent exiger que les premier, troisième et cinquième essais de paramètres soient satisfaits ou les opérateurs logiques peuvent exiger que 40 le deuxième essai de paramètre seulement soit satisfait ou le quatrième essai 70 34538 2 2067240 d8 paramètre. De cette façon, diverses combinaisons de paramètrespeuvent être indiquées pour satisfaire les critères de recherche complets. Lorsqu'une recherche est amorcée, le tableau de paramètre est transféré à une mémoire intermédiaire adressable dans l'unité de commande de mémoire. 5 Des registres sont prévus dans l'unité de commande de mémoire pour emmagasiner la limite inférieure et la limite supérieure des valeurs du paramètre de l'argument recherché. Un autre registre est prévu pour l'emmagasinage de l'adresse de la mémoire intermédiaire dans l'unité de commnande de mémoire qui sera accédé pour emmagasiner le premier multiplet du paramètre. 10 Dans la recherche classique suivant la réalisation préférée, plusieurs enregistrements seront lus en séquence à partir d'une mémoire à accès aléatoire sélectionné et lorsque chaque enregistrement est lu, il est transféré à une section d'une mémoire intermédiaire adressable dans l'unité de commande de mémoire. Si les critères de recherche sont remplis, l'enregistrement est 15 transféré à la mémoire principale par l'intermédiaire de l'unité centrale de traitement. Chaque test de paramètre est effectué par un circuit de comparaison concuremment avec la lecture de la valeur du paramètre correspondante d'un enregistrement à partir de la mémoire à accès aléatoire. Si une valeur de 20 paramètre répond à l'essai, une bascule correspondante au paramètre particulier est enclenchée. Lorsque toutes les valeurs de paramètre dans un enregistrement ont été essayées, et leurs bascules correspondantes enclenchées ou non enclenchées suivant le résultat des essais, les valeurs de l'opérateur logique sont utilisées dans une série de tests logiques pour échantillonner 25 diverses combinaisons de sortie de bascules pour déterminer si les critères de recherche sont satisfaits. Si les essais logiques indiquent que les critères de recherche sont satisfaits, l'enregistrement est transféré de la mémoire intermédiaire de l'unité de commande à la mémoire principale par l'intermédiaire de l'unité centrale de traitement. 30 La figure 1 est un schéma d'un système de traitement de données du type dans lequel le dispositif de la présente invention peut être avantageusement utilisé) La figure 2 représente un tableau de paramètres identifiant des critères de recherche typiques qui peut être utilisé dans le dispositif de la présente 35 invention; et La figure 3 est un schéma partiel représentant un moyen préféré de réalisation de la technique de recherche améliorée. La figure 1 représente un système de traitement bien connu comprenant une unité centrale de traitement 1, une mémoire principale 2 et un registre 40 d'adresse de mémoires 3 commandé par l'unité centrale de traitement pour 70 34538 3 2067240 l'introduction et l'extraction de données à partir de la mémoire principale 2. Les données de la source primaire pour le système sont reçues à partir de dispositifs d'entrée et de sortie classiques, quelques uns d'entre eux 5 sont représentés dans la figure 1j c'est-à-dire, les dispositifs à accès aléatoire 4a - 4n, inclus. Le transfert de données entre la mémoire principale 2 et les dispositifs 4a - 4n pour le traitement effectif de données est, dans de nombreux dispositifs du commerce, réalisé par l'unité centrale de traitement 1j cependant, la réalisation préférée de cette invention utilise 10 une unité de commande de mémoire 5 en conjonction avec l'unité centrale de traitement 1 pour effectuer les transferts de données. L'unité 5 peut être n'importe quelle unité d'un genre bien connu, mais, de préférence, elle est généralement du type identifié ci-dessus, c'est-à-dire une unité de commande de mémoire 2841. 15 En bref, l'unité 5 reçoit des données à partir des dispositifs 4a à 4n et leur transmet des données en série par bit sur les lignes 8a - 8n, respectivement. L'unité 5 reçoit des données à partir de l'unité centrale de traitement et lui transmet des données en série par multiplet (c'est-à-dire, huit bits, plus un bit de parité) par l'intermédiaire du câble B. 20 Des données sont transmises entre l'unité centrale de traitement 1 et la mémoire principale 2 par l'intermédiaire du cSble 9. La commande des transferts de données entre l'unité centrale de traitement 1 et les dispositifs 4a -4n par l'intermédiaire de l'unité de commande 5 est effectuée par les circuits de commande à la fois dans l'unité centrale de traitement 1 et l'unité de 25 commande 5 interconnectées par des lignes de commande du cSble 7 d'une manière bien connue. Afin de présenter une description plus détaillée, on suppose que le dispositif 4a est une mémoire à disque magnétique et que les données d'enregistrement sont enregistrées sur ce disque d'une manière connue avec plusieurs 30 champs séparés par des intervalles. Un champ seulement, le champ des données ou du message, sera transféré à l'unité centrale de traitementj tous les autres champs étant utilisés pour la commande. La figure 2 représente un exemple d'un tableau de paramètre comprenant trois entrées, identifiées par les références A, B et 0. L'entrée identifiée 35 par la référence A concerne le paramètre "numéro du service de 1'employé"j et le critère de recherche indiqué par les valeurs limites inférieure et supérieure *316" indique que seuls les employés du service "316" remplissent le critère de recherche. Le nombre quatorze apparaît dans la colonne d'adresse de début do l'entrée A et esci indiqua que 1e numiro du service commence 40 avoù Jq spjsatr>rzièss multiplet d'ir.fcr::3t:lasi le ehesp ds message de chaque 70 34538 4 2067240 enregistrement en cours de recherche. Le nombre trois apparaît dans la colonne de comptage de multiplet associée à l'entrée A, et ceci indique qus les numéros de service dans les enregistrements en cours de recherche sont longs da trois multiplets! c'est-à-dire, un chiffre décimal par multiplet. On appréciera 5 cependant que, dans de nombreux cas, des données seront emmagasinées salon une disposition plus efficace, telle qu'un code binaire ou un code décimal condensé dans lequel deux chiffres décimaux sont emmagasinés dans un multiplet de données dans un champ d'enregistrement. Dans les trois colonnes de l'opérateur logique B1, B2 et B3 de l'entrée 10 A, on trouve trois chiffres binaires 100, les trois colonnes B1, B2 et B3 indique que trois essais séquentiels seront effectués pour déterminer si divers paramètres ou combinaisons de paramètres ont été rencontrés. Il est à noter que la deuxième entrée B comprend dans sa colonne d'opérateur logique les valeurs 010 et que l'entrée C comprend les valeurs binaires 100. Ces 15 jeux d'opérateurs logiques sont effectifs, après que tous les paramètres pour un enregistrement ait été vérifiés par rapport à leur limite supérieure et inférieure, pour effectuer une série d'essais logiques sur les résultats des essais de paramètre. Le premier essai logique est celui identifié par Iss opérateurs logiques de toutes les entrées de tableau dans la colonne 20 B1. Une valeur 1 binaire dans les entrées A et C de la colonne B1 indique que les deux essais de paramètres pour l'entrée A et l'entrée C doivent être remplis afin de satisfaire la fonction de recherche. Cependant, puisque l'entrée B dans la colonne B1 comprend une valeur 0 binaire, ceci indique que l'essai de paramètre pour l'entrée B n'a pas besoin d'Être rempli pour le premier 25 essai. Ainsi, après que tous les paramètres aient été vérifiés par rapport à leur limite supérieure et inférieure pour un enregistrement, le premier essai sera effectué pour la colonne B1 pour déterminer si la personne identifiée dans l'enregistrement travaille dans le service n° 316 et a au moins 5 ans d'ancienneté. 30 Supposons que la première opération logique pour vérifier les résultats pour les entrées de tableau ne satisfont pas la fonction de recherche. Dans ce cas, un deuxième essai sera effectué en accord avec les valeurs de l'opérateur logique dans la colonne B2. Puisque la seule entrée dans la colonne B2 ayant une valeur d'opérateur logique 1 binaire est l'entrée de tableau 35 B, un essai logique sera effectué pour déterminer si les résultats de l'essai de paramètre indiquent que l'individu identifié par l'enregistrement a un âge se situant entre 25 et 35 ans. Puisque les valeurs de l'opérateur logique de toutes les entrées dans la colonne B3 sont des valeurs 0 binairea aucun, essai ne sera effectué pour 40 cette colonne. Ainsi, deux essais logiques seulement sont effectués avec 70 34538 5 2067240 des valeurs de l'opérateur logique pour l'exemple représenté dans la figure 2, c'est-à-dire, l'essai identifié par la colonne 1 et celui identifié par la colonne B2. La figure 3 représente une partie des circuits incorporés à l'intérieur B de l'unité de corrmande de mémoire 5 nécessaire à l'explication d'une forme préférée de la présente invention. Ainsi, l'unité de commande 5 comprend une mémoire intermédiaire adressable 10 qui, par exemple, peut être une mémoire à noyaux classique, comportant un registre d'adresses de mémoire intermédiaire approprié 11. On supposera dans la présente application qu'une zBne prédéter-10 minée dans la mémoire intermédiaire 10 est prévue pour l'emmagasinage du champ de message de chaque enregistrement lorsqu'il est lu à partir de l'un des dispositifs à accès aléatoire en préparation au transfert à la mémoire principale 2 par l'intermédiaire de l'unité centrale de traitement 1. De plus, on suppose qu'une autre zfine présélectionnée de la mémoire intermédiaire 15 10 est prévue pour emmagasiner des entrées successives du tableau de paramètres lorsqu'une recherche est à effectuer suivant les enseignements de la présente invention. L'accès aux diverses positions d'emmagasinage de la mémoire intermédiaire 10 est réalisé d'une manière bien connue au moyen des circuits de registres d'adresses de mémoire intermédiaire 11 et des circuits de commande 20 13. Des données issues du disque 4a sont reçues en série par bit sur la ligne 8a et sont appliquées à un registre à décalage 14 au moyen d'un assembleur 1B. Le registre à décalage 14 applique les données à la mémoire intermédiaire 10 en série par multiplet. Les données sont transférées à partir 25 de la mémoire intermédiaire au disque 4a par l'intermédiaire d'un assembleur 17, les registres à décalage 18 et de l'assembleur 1B. Chaque enregistrement dans un groupe d'enregistrement concerné est précédé par un marqueur d'adresses identifié au début de l'enregistrement. Un circuit de détection de marqueur d'adresse 12, lors de la détection d'un marqueur, 30 indique au circuit de commande 13 le début d'un nouvel enregistrement en cours de lecture à partir d'une mémoire à accès aléatoire. Les circuits de commande 13 sélectionnent la position dans la mémoire intermédiaire 10 qui est la première position de mémoire pour un champ de message d'enregistrement à emmagasiner. 35 L'unité de commande de mémoire 5 comprend également un registre d'adresse de démarrage 20 qui est utilisé pour emmagasiner une valeur d'adresse de la mémoire intermédiaire 10 qui correspond à la position dans la mémoire intermédiaire 10 dans laquelle le premier multiplet d'un paramètre à tester sera emmagasiné. Cette valeur est déterminée en partie par le tableau de 40 paramètres commençant l'adresse pour une entrée particulière, par exemple, 70 34538 B 2067240 l'adresse de début de l'entrée A du tableau illustré dans la figure 2 et 14. Cette valeur 14 est lue à partir de la mémoire intermédiaire 10 avant l'essai de paramètre et est augmentée par incrément dans un circuit 21 d'une valeur quelconque X qui est égale à l'adresse de la première position dans 5 la mémoire intermédiaire 10 pour l'emmagasinage du champ de message d'enregis-trement comme décrit ci-dessus. L'unité de commande de mémoire 5 comprend également un compteur 22. La valeur de comptage de multiplet de chaque entrée' dans le tableau de paramètres est lue à partir de la mémoire intermédiaire 10 dans le compteur 22 10 précédent la comparaison de la valeur du paramètre de cette entrée par rapport aux limites supérieure et inférieure définies dans les entrées de table. Ainsi, la valeur de comptage de multiplet 3 pour l'entrée A dans le tableau de paramètre dans la tableau de la figure 2 est introduite dans le compteur 22 avant la comparaison de la valeur du numéro de service pour un enregistrement 15 par rapport aux limites supérieure et inférieure 316 définies dans le tableau. Subséquemment, les valeurs de comptage de multiplets pour les entrées de tableau B et C sont chacune introduites dans le compteur 22 avant que leur paramètre respectif soit lu à partir de la mémoire à accès aléatoire dans la mémoire intermédiaire 10 et comparé par rapport aux limites supérieure 20 et inférieure identifiées dans le tableau. Le compteur 22 comprend un circuit de diminution par tranche associé (non représenté) qui est rendu effectif lorsqu'un circuit de comparaison 23 obtient une comparaison égale entre l'adresse dans le registre d'adresse de démarrage 20 et le registre d'adresse de mémoire intermédiaire 11, ce 25 qui indique que le premier multiplet d'un paramètre à vérifier est en cours d'introduction dans la mémoire intermédiaire 10. La sortie de comparaison égale à partir du circuit 23 enclenche une bascule de comparaison 24 qui prépare un circuit ET 25 pour diminuer par tranche le compteur 22. Lorsque chaque multiplet du paramètre est introduit dans la mémoire intermédiaire 30 10, les circuits de commande 13 appliquent une impulsion à la ligne de multiplet à incrément 26 provoquant la diminution par tranche du compteur par l'intermédiaire du circuit ET 25 d'une valeur de 1. La valeur dans le compteur 22 atteindra zéro lorsque tous les multiplets du paramètre auront été introduits dans la mémoire intermédiaire 10 et à cet instant, le compteur 22 applique 35 un signal à la ligne de restauration 27 pour restaurer la bascule de comparaison 24. L'unité de commande de mémoire 5 comprend également un registre de référence 30 dans lequel est lue la valeur de référence correspondant au tableau d'entrée de paramètres lorsqu'un paramètre particulier est à vérifier par 40 rapport à ses limites supérieure et inférieure. Le registre de référence 70 34538 7 2067240 30 est couplé à un circuit de décodage 31, dont la sortis sélectionne l'une des basculas de résultat 32, 33 ou 34 au moyen des circuits ET 35, 36 et 37, respectivement. Les bascules 32, 33 et 34 sont utilisées pour errmagasiner les résultats de chaque comparaison de paramètres avec ses limites supérieure 5 et inférieure. Ainsi, la bascule 32 est enclenchée à une valeur logique 1 si l'entrée du tableau A de la figure 2 est satisfaite lorsqu'un enregistrement est transféré d'une mémoire à accès aléatoire à la mémoire intermédiaire 10 et, en fait, le numéro de service de l'individu identifié par l'enregistrement travaille dans le service 316. D'une manière similaire, pour le même 10 enregistrement, les bascules 33 et 34 seront enclenchées à leurs valeurs logiques 1 dans le cas où l'Sge indiqué dans l'enregistrement se situe entre 25 et 35 ans et si les années de service indiquées sont égales à cinq. Un registre de limite supérieure 40 et un registre de limite inférieure 41 sont prévus pour l'emmagasinage des valeurs de limites supérieure et infé-15 rieure des entrées du tableau de paramètre lorsque des paramètres particuliers sont transférés de la mémoire à accès aléatoire à la mémoire intermédiaire 10. Les sorties des registres 40 et 41 sont appliquées à deux circuits de comparaison classiques 42 et 43 du type qui compare la valeur d'un registre avec des bits binaires reçus en série bit par bit. 20 Les données sont lues en série bit par bit à partir de la mémoire à accès aléatoire 4a et transférées en série par multiplet dans la mémoire intermédiaire 10 au moyen d'un registre à décalage 14 et d'un assembleur . d'entrée 15; et en même temps, les données sont appliquées en série bit par bit aux circuits de comparaison 42 et 43 au moyen d'une ligne 44. Les circuits 25 de comparaison 42 et 43 sont rendus effectifs afin d'effectuer la comparaison entre les données entrant et les valeurs de limites supérieure et inférieure emmagasinées dans les registres 40, 41, seulement lorsque la bascule de comparaison 24 est enclenchée pour produire un signal sur la ligne 24a indiquant que les valeurs de paramètres particulières sont en cours de lecture à partir 30 de la mémoire à accès aléatoire vers la mémoire intermédiaire. Si les essais de valeurs limites supérieure et inférieure sont tous deux satisfaits, les circuits de comparaison 42 et 43 produisent des sorties qui sont appliquées à un circuit ET 45j et la sortie du circuit ET est appliquée ai* circuits ET 35, 36 et 37, l'un d'eux ayant déjà été conditionné par le circuit de décodage 35 31 et la bascule de comparaison 24 pour provoquer l'enclenchement par le circuit ET conditionné de sa bascule respective 32 - 34 à l'état logique 1. Les sorties des bascules de résultat 32 - 34 sont raccordées aux circuits d'essai de l'opérateur logique 46. Le circuit 46 comprend plusieurs circuits 40 OU exclusifs 47» 48 et 49, un circuit pour chque paramètre à vérifier. 70 34538 8 2067240 Les sorties des bascules 32 - 34 sont appliquées aux entrées respectives des circuits 47 - 49. Des opérateurs logiques sont appliqués à partir de la mémoire intermédiaire 10 aux circuits 47 » 49 au moyen de l'assembleur 17 et des lignes de l'opérateur logique 55 - 57. 5 Les sorties des circuits OU exclusifs sont raccordées aux circuits ET 50, 51 et 52. Des entrées supplémentaires aux circuits ET 50, 51 et 52 sont prévues par les lignes de l'opérateur logique 55, 56 et 57. Les sorties des circuits ET 50 - 52 sont raccordées à un circuit ET 53 au moyen d'un circuit d'inversion OU 54. La sortie du circuit ET 53 est ramenée au circuit de corn» mande 13. Après que tous les paramètres dans un enregistrement aient été testés par rapport à leurs valeurs limites supérieure et inférieure, et que les résultats de ces essais aient été emmagasinés dans les bascules 32 - 34, les circuits de commande 13 provoquent la lecture en séquence des valeurs 15 de l'opérateur logique dans les colonnes B1, puis B2, puis B3 et leur application aux lignes 55, 56 et 57 qui sont des entrées aux circuits OU exclusifs 47 « 49 et aux circuits ET 50 - 52. Chaque fois qu'un jeu de valeurs de l'opérateur logique est appliqué aux circuits OU exclusifs 47 « 49 et aux circuits ET 50 - 52, le circuit ET 53 produit une sortie dans le cas où l'essai de 20 l'opérateur logique particulier a été satisfait. Un signal appliqué par le circuit ET 53 au circuit de commande 13 amorce un transfert de l'enregistrement de la mémoire intermédiaire 10 à l'unité centrale de traitement 1 par 1'intermédiaire de l'assembleur 17 et du câble B. Dans le cas où l'essai de l'opérateur logique n'a pas été satisfait, aucun changement dans le niveau de sortie 25 ne se produira à la sortie du circuit ET 53. Une description du fonctionnement détaillé de la réalisation préférés de la figure 3 sera maintenant effectuée. Supposons que l'unité centrale de traitement 1, sous la commande de son programme de problème, a amorcé une recherche d'enregistrement sur le disque 4a en utilisant les trois entrées 30 de tableaux A, B et C de la figure 2. Ces entrées de tableau ensemble avec leur référence A, B, C sont transférées depuis la mémoire principale 2 à la mémoire intermédiaire 10 par l'intermédiaire de l'unité centrale de traitement, du câble 6 et de l'assembleur d'entrée 15 d'une manière bien connue. Une fols que les entrées de tableau ont été ainsi transférées, les cir- 35 cuits de commande 13 sont conditionnés d'une manière connus afin d'amorcer une recherche dans un groupe prédéterminé d'enregistrement sur le disque 4a. En même temps, un procédé d'initialisation est effectué par les circuits de commande 13 pour transférer CD les valeurs limites inférieure et supérieure 316 de l'entrée de tableau A depuis la mémoire intermédiaire 10 jusqu'aux 40 registres 41 et 40, respectivement, (2) l'adresse de début 14 de l'entrée 70 34538 g 2067240 de tableau A (augmentée de la valeur X) de la mémoire intermédiaire 10 au registre d'adresse de début 20, (3) le compteur de multiplet "3" de l'entrée de tableau A de la mémoire intermédiaire 10 au compteur 22, et finalement la valeur de référence "A" de la mémoire intermédiaire 10 au registre de 5 référence 30. Le circuit de décodage 31 répond à la valeur dans le registre de référence 30 pour conditionner le circuit ET 35. Les circuits de commande 13 provoquent l'enclenchement du registre d'adresses de mémoire intermédiaire 11 à l'adresse qui correspond à la position dans la mémoire intermédiaire 10 10 pour l'emmagasinage du premier multiplet de l'enregistrement à lire. Les circuits de la figure 3 sont maintenant conditionnés pour recevoir et essayer le premier enregistrement lu à partir du disque 4a. A la suite de ce procédé d'initialisation et de la sélection d'un premier enregistrement dans ledit groupe, le circuit 12 détecte un marqueur d'adresse 15 précédent le champ du message enregistré et indiquant le transfert d'un nouvel enregistrement. Lorsque l'enregistrement est lu à partir du disque 4a, seul le champ du message est transféré à la mémoire intermédiaire 10, toute autre information dans l'enregistrement étant mise à zéro d'une manière bien connue. 20 Lorsque le premier multiplet du champ du message est reçu par le registre à décalage 14, les circuits de commande 13 provoquent l'introduction de ce multiplet dans la mémoire intermédiaire 10 à la position correspondant à l'adresse dans le registre 11. Les circuits de commande 13 augmentent alors le registre 11 à l'adresse de la position dans la mémoire intermédiaire 10 25 pour l'emmagasinage du multiplet suivant du champ du message. Lorsque le premier multiplet de données est transféré du disque 4a au registre à décalage 14, il est également appliqué aux circuits 42, 43 par l'intermédiaire de la ligne 44j cependant, les circuits de comparaison 42 et 43 sont effectifs puisque la bascule de comparaison 24 est dans son état de restauration. 30 Des multiplets successifs du champ du message sont transférés du disque choisi 4a aux positions de multiplet successifs de la mémoire intermédiaire 10j et le registre d'adresse 11 est augmenté lorsque chaque multiplet est transféré. Après que 13 multiplets aient été transférés à la mémoire intermédiaire 10, le registre d'adresses 11 aura été augmenté d'une valeur égale 35 à celle emmagasinée dans le registre d'adresse de début 20. Le circuit ds comparaison 23 produit un signal de sortie égal qui enclenche la bascule de comparaison 24. La bascule 24 applique un signal à sa ligne de sortie 24a afin de conditionner les circuits de comparaison 42 et 43 et de conditionner également le circuit ET 35 de façon que ce dernier circuit soit préparé 40 pour échantillonner la sortie des circuits de comparaison 42 et 43. Le circuit 70 34538 e de comparaison 24 conditionne également le circuit ET 25 pour diminuer le compteur 22 lorsque chaque multiplet successif du champ du message est transféré dans la mémoire intermédiaire 10. Lorsque chaque bit du multiplet suivant (quatorze! dans le champ du 5 message de l'enregistrement est reçu par l'assembleur 19 par l'intermédiaire de la ligne 8a, il applique le bit aux circuits de comparaison 42 et 43 par l'intermédiaire de la ligne 44. D'une manière bien connue, les circuits de comparaison 42 et 43 comparent des bits successifs sur la ligne 44 avec des bits correspondant emmagasinés dans les registres de limites supérieure et 10 inférieure 40 et 41 afin de déterminer si la valeur des bits reçus sur la ligne 44 est égale ou inférieure à la valeur de la limites supérieure dans le registre 40 et plus importante ou égale à la valeur de la limite inférieure dans le registre 41. Aussitôt que l'essai de circuit de comparaison dans les circuits 42 ou 43 est satisfait, le circuit correspondant applique 15 une sortie au circuit ET 45. Si les deux essais sont satisfaits, le circuit ET 45 applique un signal de sortie au circuit ET 35 pour enclencher la bascule de résultat A 32. Plus précisément, le circuit 42 compare le premier bit (qui est le bit le plus à gauche) reçu sur la ligne 44 avec le bit de gauche emmagasiné dans 20 le registre 40. Si ce premier bit sur la ligne 44 est inférieur au bit correspondant dans le registre 40, la fonction de recherche de comparaison est satisfaite et le circuit de comparaison 42 produit un signal de sortie. Si ce premier bit est plus important que le bit de gauche dans le registre 40, il est clair que l'essai n'est pas satisfait. Si, cependant, les deux bits 25 de gauche sont égaux, la décision n'est pas concluante! et des tests doivent être effectués sur les bits suivants pour déterminer si l'essai de paramètre est satisfait. D'une manière similaire, le premier bit appliqué à la ligne 44 est comparé par le circuit 43 avec le bit de gauche dans le registre 41, et si la 30 valeur du bit sur la ligne 44 est plus importante que le bit de gauche dans le registre 41, l'essai est satisfait. Si la valeur du bit sur la ligne 44 est inférieure au bit de gauche dans le registre 41, l'Bssai de paramètre ne peut pas être satisfait. Si les deux valeurs sont égales, les essais sur des bits de droite suivant doivent être effectués jusqu'à ce que l'on détermine 35 si l'essai de paramètre est rempli ou non. Une comparaison égale entre les bits les plus à droite des données reçues et la valeur dans le registre 40 ou 41 représente la satisfaction de l'argument d'essai. Lorsque chacun des trois multiplets des données de numéro de service est transféré depuis la mémoire à accès aléatoire à la mémoire intermédiaire 40 10 simultanément au fonctionnement des circuits de comparaison 42, 43, le 70 34538 11 2067240 registre d'adresse 11 est augmenté et le compteur"22 est diminué par l'in-termédiaire de la ligne 26 et du circuit ET 25. La valeur originale dans le compteur 22 était trois, et donc, le compteur aura diminué jusqu'à zéro après que trois multiplets aient été transférés. Lorsque le compteur 22 est 5 ramené à zéro, il restaure la bascule de comparaison 24 par l'intermédiaire d'une ligne de sortie 27. Ceci évite toute autre diminution dans le compteur 22 par l'intermédiaire du circuit de comparaison 24, et rend les circuits de comparaison 42 et 43 ineffectifs, et élimine son signal de conditionnement du circuit ET 35. Une impulsion sur la ligne de restauration restaure les 10 registres 20, 30, 40 et 41, Les circuits dans la figure 3 sont maintenant prSts pour un second procédé d'initialisation pendant lequel les valeurs du tableau de paramètre de l'entrée B (figure 2) seront transférées de la mémoire intermédiaire 10 au registre d'adresse de début 20, aux registres de limite supérieure et 15 inférieure 40 et 41, au compteur 22 et au registre de référence 30 d'une manière généralement similaire à celle décrite ci-dessus Bn se référant au transfert des valeurs d'entrée A du tableau. La séquence suivante d'événements est généralement similaire à celle décrite ci-dessus, en ce qui concerne l'entrée A du tableau et ne sera pas 20 décrite en détails. En bref, cependant, le transfert du champ du message à la mémoire intermédiarie 10 continue, et lorsque le cinquante sixième multiplet du champ d message est prêt à Être transféré de la mémoire à accès aléatoire à la mémoire intermédiaire 10, le circuit de comparaison 23 enclenche la bascule 24 et conditionne des circuits de comparaison 42 et 43 et 25 le circuit ET 36 qui a été précédemment préconditionné par la valeur dans le registre de référence 30 et le circuit de décodage 31. Lorsque le cinquante sixième et le cinquante septième multiplet dans le champ u message sont transférés à la mémoire intermédiaire 10, les circuits de comparaison 42 et 43 déterminent s'ils remplissent ou non l'essai de para-30 mètre dans l'entrée de tableau Bi c'est-à-dire, si la valeur de l'âge est inférieure ou égale à 35 ou supérieure ou égale à 25. Si le test est satisfait, les circuits 42 et 43 provoquent l'application des sorties au circuit ET 45 qui, à son tour, provoque la restauration de la bascule de résultat B 33 par le circuit ET 36. 35 Un troisième procédé d'initialisation est alors effectué pour transférer les valeurs de paramètres de l'entrée C de la mémoire intermédiaire 10 au registre d'adresses de début 20, au compteur 22, aux registres de limites supérieure et inférieures .40 et 41 et au registre de référence 30. Lorsque le soixante cinquième multiplet dans le champ de message est transféré à 40 la mémoire intermédiaire 10, les circuits de comparaison 42 et 43 déterminent 70 34538 12 2067240 si ce multiplet remplit l'essai de paramètre de l'entrée C légal à 5 années de service) et si le test est satisfait, les circuits de comparaison appliquent des signaux au circuit ET 45 qui{ à leur tour, provoquent l'enclenchement de la bascule de résultat 34 par le circuit ET 37. 5 Le transfert de données du disque 4a à la mémoire intermédiaire 10 con tinue et les circuits de la figure 3 sont maintenant prêts pour initier les essais de l'opérateur logique. L'attention est maintenant dirigée vers le circuit logique 46 pour déter» miner si les critères de recherche identifiés par les opérateurs logiques 10 sont satisfaits par l'enregistrement en cours de transfert du disque 4a à la mémoire intermédiaire 10. Des entrées "03 logiques existent normalement sur les lignes 56, 55 et 57» Après que tous les essais de paramètres aient été achevés pour provoquer l'enclenchement de ces bascules 32, 33, 34 dans lesquelles les essais ont été satisfaits, la colonne la plus à gauche (B1) 15 des bits de l'opérateur logique "101" du tableau de paramètre sont lus à partir de la mémoire intermédiaire 10 provoquant l'application de signaux "1" logiques aux entrées 55 et 57 da circuits OtJ exclusifs 47 et 49 par l'intermédiaire de l'assembleur 17j et un signal OU logique demeure appliqué à l'entrée 56 du circuit OU exclusig 48. 20 On suppose que les arguments de recherche pour les entrées du tableau A et C ont été satisfaits, et, donc, que les bascules 32 et 34 appliquent des signaux d'entrée "1" logiques aux autres entrées des circuits OU exclusifs 47 et 49. Les signaux "1" logiques étant appliqués aux deux entrées du circuit □U exclusif 47, sa sortis sera au niveau "0" logique. Donc, son circuit ET 25 associé 50 produira un signal de sortie "0" logique. D'une manière similaire, le circuit ET 52 associé au circuit OU exclusif 49 produit un signal de sortis "0" logique. Puisque le bit de l'opérateur logique pour l'entrée de tableau B est zéro, et puisqu'il forme l'une des entrée du circuit ET 51, la sortie du circuit ET 51 sera au nieau "0" logique. 30 En conséquence, la sortie du circuit d'inversion OU 54 sera au niveau "1" logique. Lorsqu'une impulsion "1" logique est appliquée au circuit ET 53 par l'intermédiaire de la ligne"temps d'échantillonage? peu de temps après l'application des opérateurs logiques aux lignes 55-57, la sortie du circuit 35 53 passe au niveau "1" logique en raison de la sortie du circuit d'inversion OU 54 qui est au niveau "1" logique. La sortie du circuit ET 53 est identifiée comme la ligne "comparaison satisfaite;" donc, un "1" logique sur cette ligne au moment où l'impulsion d'échantillonnage est appliquée Indique que la fonction de recherche dans 40 la colonne B0 du jeu d'opérateur logique a été satisfaite. Ainsi» l'enregis- BAD ORIGINAL 70 34538 13 2067240 trement étant lu dans la mémoire intermédiaire 10 il satisfait les critères de recherche. Lorsque l'enregistrement complet a été transféré du disque 4a à la mémoire intermédiaire 10, il est alors transféré depuis la section prévu de la mémoire intermédiaire 10 à une zfine appropriée dans la mémoire 5 principale 2 pour un autre traitement suivant le programme* La section prévue de la mémoire intermédiaire 10 est alors prête pour recevoir un autre enregistrement, en supposant que l'on désire trouver d'autres enregistrement dans un groupe sélectionné qui remplisse les critères des tableaux de paramètres. Supposons maintenant que les arguments de recherche des entrées de tableau 10 A et C ne sont pas satisfaits comme supposé ci-dessus, mais plutSt que l'argument de recherche pour l'entrée B est satisfait. Dans ce cas, le circuit 4B provoque une sortie "0" logique Ce'est-à-dire pas de changement de niveau) du circuit ET 53. Par exemple, si l'argument de recherche de l'entrée A n'est pas satisfait, Ibascule 32 applique une entrée "0" logique à son circuit 15 DU exclusif respectif 47. D'une autre c8té, le premier bit de 1'opérateurlogique pour l'entrée de tableau A est un "1" logique et celui-ci est appliqué à l'entrée 55 du circuit OU exclusif 47 et à une entrée du circuit ET 50. Puisque le circuit OU exclusif 47 a des entrées M1M et "0" logiques qui lui sont appliquées, sa sortie sera au niveau "1" logique provoquant 20 la sortie du circuit ET 50 au niveau "1" logique. Le circuit d'inversion OU 54 produit une sortie logique "O" évitant un changement dans la sortie du circuit ET 53, lorsque l'impulsion de temps d'échantillonnage est appliquée. Après le temps d'échantillonnage, les prochains bits de l'opérateur logique 010 (colonne 82} des entrées de tôbleau A, B et C, sont alors appli-25 qués aux entrées de l'opérateur logique 55 - 57 du circuit 46. Puisque les bits de l'opérateur pour les entrées de tableau A et C sont zéro, les sorties des circuits ET 50 et 52 sont nécessairement zéro. La fonction de recherche pour l'entrée de tableau B est satisfaite, les bits "1" logiques seront appliqués aux deux entrées du circuit OU exclusif 48 par lequel la sortie du circuit 30 ET 51 sera au niveau "0" logique. Avec les zéros logiques à toutes les entrées, le circuit d'inversion OU 54 produit une sortie "1" logique. Lorsque l'impulsion de temps d'échantillonnage suivante est appliquée, le circuit 53 produit un signal de sortie "1" logique indiquant que l'enregistrement a satisfait la fonction de recherche. 35 Après que les essais de l'opérateur logique aient été achevés-, une impul sion sur la ligne 58 restaure les bascules 32 - 34. Bien que dans la réalisation préférée, le tableau de paramètres soit prévu pour des recherches en code binaire, la disposition est toujours compatible avec l'utilisation d'une manipulation similaire. Si des manipulations 40 similaires sont utilisés, les limites supérieure et inférieure sont égales, 70 34538 14 2067240 par exemple, comme dans l'entrée de tableau A. Cependant, les registres de limites supérieure et inférieure 4D, 41 et les circuits de comparaison 42, 43 peuvent être doublés [1 pour chaque synonyme) de façon à accepter des équivalents synonymes. Bien que l'on ait décrit dans ce qui précède et représenté sur le dessin, les caractéristiques essentielles de l'invention appliquées à un mode de réalisation préféré de celle-ci, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles, sans pour autant sortir du cadre de ladite invention. 70 34538 15 2067240 REVENDICATIONS 1.- Dispositif de recherche d'enregistrement dont certaines portions satisfont à plusieurs conditions de recherche, parmi des enregistrements emmagasinés dans un dispositif d'eirmagasinage à accès aléatoire, et constitués 5 au moins en partie par un certain nombre de valeurs de paramètres, ce dispositif de recherche étant destiné à être utilisé dans un système présentant des moyens pour transférer des enregistrements entre le dispositif d'emmagasinage à accès aléatoire et une unité d'utilisation et étant caractérisé en ce qu'il comprend! 10 des moyens pour emmagasiner un tableau de données concernant les para mètres sur lesquels portent la recherche comprenant une référence d'identification, des valeurs de conditions limites supérieure et inférieure pour chaque paramètre, une valeur d'adresse de déhut correspondant à l'adresse de début du paramètre dans chaque enregistrement recherché, des données corres-15 pondant à la longueur du champ de ce paramètre et une information concernant des opérateurs logiques correspondant aux tests à effectuer sur les paramètres de chaque enregistrement recherchés pour déterminer s'ils satisfont ou non à au moins une des combinaisons de conditions choisies, des moyens pour comparer chaque valeur de paramètre d'un enregistrement 20 transféré avec lesdites valeurs de conditions limites inférieure et supérieure oorrespondant à ce paramètre, des moyens mis en service en fonction des références d'identification pour emmagasiner les résultats de chaque comparaison, des moyens mis en oeuvre en fonction des informations concernant des 25 opérateurs logiques pour effectuer une séquence de tests sur les résultats ainsi emmagasinés afin de déterminer si les combinaisons de conditions choisies sont satisfaites, et des moyens pour effectuer le transfert d'un enregistrement à l'untté centrale de traitement lorsque cet enregistrement satisfait à l'une au moins 30 des combinaisons de conditions choisies. 2.- Dispositif de recherche d'enregistremente dont certaines parties satisfont à une ou plusieurs combinaisons de conditions, destiné à être utilisé dans un appareil de traitement de données comprenant une unité centrale de traitement fonctionnant selon un programme emmagasiné, un dispositif d'emma- 35 gasinage de données, à accès aléatoire dans lequel des enregistrements de données constitués au moins an partie par un certain nombre de valeurs de paramètres, sont emmagasinés en uns pluralité d'enlacements d'emmagasinage et, uns unité de commande pour le transfert d'enregistrements entre le dispo 70 34538 16 2067240 sitif d9emmagasinage et 1"unité centrais selon les instructions du programme, caractérisé en ce qu'il comprends des moyens situés dans l'unité de commande pour emnagasiner un tableau de données concernant les paramètres sur lesquels portent la recherche comprenant une référence d'identification, des valeurs de conditions limites supérieure et inférieure pour chaque paramètre, une valeur d'adresse de début correspondant à l'adresse de début du paramètre dans chaque enregistrement recherché, des données correspondant à la longueur du champ de ce paramètre et une information concernant des opérateurs logiques correspondant aux tests à effectuer sur les paramètres de chaque enregistrement recherchés pour déterminer s'ils satisfont ou non à au moins une des combinaisons de conditions choisies, des moyens situés dans l'unité de commande pour comparer chaque valeur de paramètre d'un enregistrement transféré avec lesdites valeurs de conditions limites inférieure et supérieure correspondant à ce paramètre, des moyens situés dans l'unité de commande, mis en service en fonction des références d'identification pour emmagasiner les résultats de chaque comparaison, des moyens situés dans l'unité de commanda, mis en oeuvre en foncticn des informations concernant des opérateurs logiques pour effectuer une séquence de tests sur les résultats ainsi emmagasinés afin de déterminer si les combinaisons de conditions choisies sont satisfaites, et des moyens pour effectuer le transfert d'un enregistrement à l'unité centrale de traitement lorsque cet enregistrement satisfait à l'une au moins des combinaisons de conditions choisies. 3,- Dispositif de recherche d'enregistrements selon la revendication 2 caractérisé en ce qu'il comprend en outre un élément de stockage temporaire adressable, muni d'un registre d'adresses, pour recevoir les enregistrements lus a partir du dispositif d'emmagasinage à accès aléatoire et pour les stocker jusqu'à ce que ladite séquence de tests soit réalisée sur les résultats emmagasinés des comparaisons de valeurs de paramètre. 4.- Dispositif de recherche d'enregistrements selon la revendication 3 caractérisé en ce qu'il comprend en outra des moyens d'action commandés en fonctions des valeurs du contenu du registre d'adresse de l'élément de ânckage temporaire, des valeurs d'adresse de début et des données sur la longueur du champ de paramètre pour rendre actifs les moyens de comparaison uniquement lorsque les valeurs de paramètres sont lues à partir du dispositif d'emmagasinage à accès aléatoire. 70 34538 17 2067240 5.- Dispositif de recherche d'enregistrements selon la revendication 4 caractérisé en ce que lesdits moyens d'action comprennent: un registre d'adresse de départ, des moyens pour introduire dans ce registre d'adresse de départ des 5 valeurs correspondant aux adresses de l'élément de stockage temporaire où est emmagasiné le premier multiplet de chaque paramètre, des moyens agissant en réponse aux valeurs contenues dans le registre d'adresse de l'élément d'emmagasinage temporaire et dans le registre d'adresse de départ pour rendre actifs les moyens de comparaison lorsque chaque 10 paramètre est transféré du dispositif d'emmagasinage à accès aléatoire à l'élément de stockage temporaire, un compteur recevant les données sur la longueur du champ du paramètre, des moyens pour diminuer le contenu du compteur d'une unité $ chaque fois qu'un multiplet du paramètre est transféré du dispositif d'emmagasinage 15 à accès aléatoire à l'élément de stockage temporaire, et des moyens reliés à ce compteur pour rendre les moyens de comparaison inactifs après que chaque paramètre a été transféré à l'élément de stockage temporaire•