FR 2121531 A1 19720825 FR 7147857 A 19711221 71 47357 1 2121531 La présente invention concerne les systèmes de mémoire tampon, et plus particulièrement de tels systèmes utilisant un registre à décalage dynamique et une technique de commande n'utilisant pas d'horloge entre le registre à décalage, sa logique de commande et son équipement associé} à la place de l'hor-5 loge, une commande de chronologie est fournie par l'utilisation d'un code indicateur détecté par la logique de commande, celle-ci modifie l'itinéraire des données lors de la détection de ce code indicateur afin d'accomplir le décalage de données désiré ou de permettre l'entrée et la sortie des caractères. La technique du registre à décalage est relativement ancienne, et elle 10 avait atteint un niveau d'élaboration relativement élevé à l'apparition de l'ordinateur. Cependant, les registres à décalage classiques, en raison de l'utilisation de bascules, étaient relativement coûteux et leurs applications limitées à des fonctions telles que la commande de la synchronisation, les lignes à retard courtes, etc... A cause de leur coût, ils n'étaient pas utilisés comme 15 mémoires-tampons de manipulation de grande capacité pour la conservation d'assez grandes quantités d'informations, par exemple pour la mémorisation d'une page de texte à des fins d'édition et de révision. Cependant, grâce aux circuits monolithiques relativement économiques, il est maintenant possible d'utiliser les registres à décalage notamment pour mémoriser provisoirement la valeur 20 d'une page de texte. Certains des problèmes liés à l'emploi des registres à décalage, comme celui de la mémorisation temporaire d'une page de texte proviennent de la rigidité ou de l'absence de souplesse des techniques usuelles de commande qui utilisent une horloge unique pour commander le Système.. En d'autres termes, le 25 décalage du registre et l'application des signaux de commande à partir de l'unité de commande logique ainsi que l'entrée et la sortie des appareils associés s'effectuent sous le contrôle d'une horloge unique, et il est extrêmement difficile de modifier la vitesse de transmission des données du registre, si le dernier est associé à un autre appareil nécessitant des vitesses de transmission 30 différentes. En outre, une telle technique de commande est peu souple et ne se prête pas à l'expansion ni à la réduction de 1'espace-mémoire ou de la longueur du registre; en effet, la logique de commande dépend d'un registre de longueur relativement fixe. En raison de ces deux problèmes, il s'est avéré impossible de construire un registre à décalage utilisable dans une gamme modu-35 laire de produits, puisque lorsque la quantité de données à mémoriser change et/ou que l'on ajoute d'autres dispositifs d'entrée/sortie, il est nécessaire d'utiliser d'autres registres à décalage. La présente invention résoud ces problèmes en proposant un système de mémoire tampon à registre à décalage relativement universel en ce qui concerne 40 la commande dans i temps des types de dispositifs d'entrée et de sortie avec 71 47857 2 2121531 lesquels ce système peut par ailleurs travailler. En outre, il est possible . d'augmenter ou de réduire la capacité de ce système sans qu'il soit nécessaire de modifier la logique de commande ni les techniques logiques associées. On peut donc, dans ces conditions, utiliser le registre à décalage de base dans 5 une ligne modulaire de produits allant de l'imprimante avec mémoire-tampon pouvant enregistrer une page unique, à un système comportant une mémoire-tampon à plusieurs pages, une mémoire de masse à cassette, et un tube d'affichage sans qu'il soit nécessaire de modifier la logique de base, ni la synchronisation du registre à décalage. 10 La figure 1 est un organigramme général représentant un registre à décala ge et certaines mémoires-tampons connectées entre les étages d'entrée et de sortie de ce registre et qui sont contrôlées par une unité de commande afin de modifier les itinéraires de données pour obtenir un décalage temporisé de ces données, en vue de l'insertion ou de la suppression de caractères. 15 La figure 2 représente un autre organigramme illustrant un mode de réalisa tion préféré du système de mémoire tampon, objet de l'invention. La figure 3 est un diagramme des temps illustrant d'une part la synchronisation de l'horloge à deux phases utilisée, qui provoque le décalage des données et leur placement dans le registre, d'autre part les temps de validation 20 de la sortie du registre à décalage. La figure 4 est un schéma détaillé du mode de réalisation du système de la figure 2. La figure 5 est un schéma illustrant la synchronisation et l'itinéraire emprunté par les données dans les systèmes des figures 2 et 4, lorsqu'un carac-25 tère doit être effacé des données du registre. La figure 6 est un schéma illustrant la chronologie et l'itinéraire emprunté par les données contenues dans les systèmes des figures 2 et 4 lorsqu'on doit introduire un caractère dans les données du registres • La figure 7 est un organigramme illustrant la circulation normale des 30 données entre les registres lorsque aucun changement ne doit être apporté à ces données. La figure 8 est un organigramme illustrant la circulation des données lorsque celles-ci doivent être introduites de la façon décrite à la figure 6. La figure 9 est un organigramme illustrant la circulation des données lors-35 qu'on doit supprimer un caractère de la façon représentée à la figure 5» La figure 10 est un organigramme illustrant le retrait et le décalage des codes d'annulation qui sont introduits sur l'itinéraire donné de la figure S au cours d'une opération d'annulation. En bref, l'invention propose un système de mémoire tampon à registre à 40 décalage n'utilisant aucun système de chronologie entre la logique de commande. 71 47857 2121531 le registre à décalage et l'entrée et la sortie de ce dernier. Lors de la mise en route du système, si l'on suppose un registre à décalage de m caractères de longueur, on charge un code indicateur au hasard dans le registre, et les autres positions de données m-1 du registre sont chargées avec des codes factices. Après quoi, la chronologie de la logique de commande de l'entrée et de la sortie du registre à décalage est commandée par la détection du code indicateur qui, dans le cas où le moyen d'entrée et le moyen de sortie associés sont des imprimantes, se déplace en synchronisme avec l'élément d'impression ou le chariot d'une machine à écrire ou d'une imprimante. Quatre mémoires-tampons qui 10 sont connectées à la logique de commande et aux bus de données pour l'entrée et la sortie du registre, sont connectées entre les étages d'entrée et de sortie de ce registre; ces mémoires-tampons sont connectées logiquement sur litiné-raire des données lors de la détection d'un code indicateur, pour accomplir le décalage synchronisé des bits dans le registre en vue de l'introduction de ca-15 ractères supplémentaires ou de l'annulation de caractères ainsi que pour d'autres fonctions usuelles telles que 1'espace-arrière pour correction d'erreur. Tandis que la détection du code indicateur à la sortie du registre à décalage commande la chronologie du système, ce code indicateur conjointement avec la détection des codes factices introduits, est utilisé pour fournir une commande 20 logique simplifiée. En d'autres termes, la détection du code indicateur à la sortie du registre à décalage provoque le début de la séquence désirée, et cette séquence se poursuit jusqu'à ce que la détection d'un code factice à la sortie du registre à décalage y mette un terme. Grâce à l'utilisation du code indicateur pour commander l'instant où un 25 changement a lieu sur litinéraire de données, aucune chronologie entre l'entrée/ sortie et la logique de commande n'est requise et de plus, il est possible d'augmenter ou de diminuer la longueur du registre à décalage et de modifier la synchronisation, sans modifier la logique de commande. Ainsi donc, dans le mode de réalisation préféré, la seule chronologie utilisée est l'horloge interne 30 du registre dont le débit est tel que le registre accomplira au moins une boucle entre l'entrée et la sortie des données. Autrement dit, l'horloge du registre a une fréquence qui permet l'accomplissement d'un cycle de mémoire entier au cours de la période requise par le fonctionnement du dispositif d'utilisation. Ce débit d'horloge empêche la mémoire d'être un facteur de limitation pour le 35 transfert des données. La figure 1 représente un organigramme général d'un système utilisant quatre registres entre les étages d'entrée et de sortie d'un registre à décalage. Le registre à décalage SR 1 a une capacité de m caractères et chaque caractère a une longueur de n bits, et les données progressent dans le sens anti-horaire 40 indiqué par une flèche. Elles sortent du dernier étage sur les lignes 19 et 20 71 47357 4 2121531 et elles sont appliquées à une mémoire-tampon d'entrée 2. Afin de simplifier l'exposé, cette mémoire-tampon sera désignée par AR dans la description ci-dessous . Les mémoires tampons et les registres qui seront décrits ultérieurement seront également designés par des caractères, à 5 savoir NR, IR et BR. La sortie du registre à décalage est également appliquée, le long de la ligne 7 à une unité logique de commande 23 et comme le montre la figure, la logique de commande peut également appliquer des données sur la ligne 6, aux lignes 19 et 20. Au cours de la description qui va suivre il faut comprendre que, si des lignes telles que les lignes 6 et 7 sont représentées lO comme des lignes uniques, il existe en fait autant de lignes que le caractère comprend de bits. La mémoire-tampon d'entrée 2 est également connectée à un registre normal 3 et peut, comme on le voit, à la fois fournir des données au registre normal 3 et accepter des données de ce registre qui est la mémoire-tampon NR. La mémoire d'entrée 2 communique également par deux voles avec la 15 logique de commande, le long des lignes 8 et 9, et le registre normal 3, de même, communique par deux voies avec la logique de commande, le long des lignes 10 et 11. De plus, comme indiqué sur la figure, le registre normal établit une communication à deux voies avec le registre d'insertion 4, qui, lui-même communique par deux voies le long des lignes 12 et 13 avec la logique de comman-20 de. Finalement, le registre d'insertion 4 communique par deux voies avec la mémoire-tampon de sortie 5 qui elle-même communique par deux voies le long des lignes 14 et 15 avec la logique de commande. La logique de commande communique également par deux voies avec les lignes 21 et 22, par les lignes 16 et 17 qui connectent l'étage d'entrée de la mémoire-tampop à ladite logique de comman-25 de. Dans cet organigramme général, la circulation des données se fait sous la commande de la logique de corrmande, qui prend les données à l'étage de sortie du registre et les achemine dans le registre approprié AR, NR, IR ou BR afin de commander le décalage dans le temps on applique les données à l'étage d'en-30 trée du registre 1 le long des lignes 21 ou 22j ou bien prend les données à la sortie de n'importe quel registre; ou encore, provoque l'application des données à n'importe quel registre pour accomplir n'importe laquelle des fonctions requises par la tâche à exécuter. Le diagramme général de la figure 1 n'est représenté qu'à la seule fin de montrer que la logique de commande accep-35 te des données des diverses lignes, et mémoires-tampons, et achemine ces données aux registres appropriés pour permettre l'insertion, la suppression, etc... des caractères. La figure 2 représente un mode de réalisation préféré de système qui globalement correspond au schéma général de la figure 1,mnis qui est beaucoup 40 plus efficace que ce dernier dans la mesure où il ne commande pas directement 71 47857 5 2121531 la circulation des données en amenant les caractères dans la logique de commande, mais, au contraire, par une excitation sélective de quatre lignes logiques, peut permettre l'exécution de taches tellEsque l'insertion de caractères, leur annulation, l'espace arrière de correction d'erreurs, ainsi que d'autres fonc-5 tions inhérentes aux systèmes de révision. Comme le montre la figure 2 dans un registre à décalage 30, les données circulent dans le sens anti-horaire, de telle sorte que la sortie du registre est appliquée à une mémoire-tampon d'entrée 32 désignée ici encore par A. La sortie du registre est également appliqués, le long de la ligne 37, à une unité 10 de décodage 38 qui décode les caractères et indique à la logique de commande, non représentée, si ces caractères se trouvent à la sortie du registre. Comme on le verra plus en détails ultérieurement, les codes de commande qui autorisent une très grande simplification de la logique de commande décrite plus loin comprennent des codes factices, des caractères d'annulation et un bit d'indica-15 tion. La sortie de la mémoire-tampon d'entrée 32 peut être appliquée, sous le contrôle de la commande logique, à la ligne BC qui fait circuler les données de la mémoire-tampon d'entrée 32 vers une mémoire-tampon de sortie 35. En outre, les données issues de la mémoire-tampon d'entrée 32 peuvent être appliquées le long de la ligne D au. registre normal 33. 20 La mémoire-tampon d'entrée 32 est également connectée, le long de.la ligne A, à un bus de données 36. Lb bus de données 36, à son tour, est connecté, le long de la ligne BC, à la mémoire-tampon de sortie 35. Le bus de données est représenté sous une forme générale et sa configuration spécifique dépendra du type d'appareil connecté au registre à décalage. En-d'autres termes, le bus 25 de données peut par exemple être le registre de sortie des caractères et le registre d'entrée d'une machine à écrire. Un registre normal 33 est connecté le long de la ligne BC à la mémoire-tampon de sortie 35, et également à un registre d'insertion 34. Le registre d'insertion 34 est également connecté le long de la ligne BCf, à la mémoire-tampon de sortie 35. Les différentes lignes, 30 telles que BC, portent les désignations correspondant aux signaux de la commande logique qui doivent être appliqués pour commander la circulation des données le long de la voie désignée. Ces notations correspondent à celles utilisées dans le schéma détaillé de la figure 4. La figure 3 illustre la chronologie de base utilisée dans le système à 35 registre à décalage. On y voit la sortie d'une horloge à deux phases 01 et 02, et T représente la période du cycle. Le front arrière de 01 est utilisé pour placer les données dans les diverses mémoire-tampons, tandis que le front arrière de 02 définit la sortie des données du registre à décalage. Comme indiqué sur la figure, la sortie du registre à décalage est indisponible pendant 40 une brève période qui suit le front arrière de 02. 71 47857 6 2121531 On ss réfère à présent à la figure 4 pour décrire de façon plus détaillée le système, objet de l'invention, ainsi que son fonctionnement. Cette figure comprend des lignes 40 qui représentent les lignes de sortie de l'étage de sortie du registre à décalage. Les lignes 84 sont connectées à l'étage d'entrée 5 du registre à décalage associé. Les lignes 40 issues de l'étage de sortie du registre à décalage sont appliquées au registre d'entrée 44. Le registre d'entrée 44 comprend n étages. La sortie du registre à décalage appliquée aux lignes 40 est également appliquée, le long des lignes 41, à l'unité de décodage 42 dont la sortie est appliquée, le long des lignes 43, à la logique de commande. 10 Comme indiqué précédemment» l'unité de décodage 42 décode les caractères apparaissant sur la ligne de sortie 40, et fournit des informations décodées à la logique de commande. Plus spécifiquement, comme on le verra plus loin, les caractères décodés par l'unité de décodage 42 comprennent des codes factices, des codes d'annulation et le bit d'indication. 15 La sortie du registre d'entrée 44 est appliquée le long dé la ligne 46 à la porte ET 47, qui reçoit également l'entrée logique A délivrée le long de la ligne 45, en provenance de l'unité de commande. Ainsi donc, l'application d'un niveau logique positif à la ligne 45 provoquera le passage du caractère apparu sur la ligne 40 par la porte ET 47j ce caractère cheminera le long des 20 lignes 82 et 48, jusqu'au bus de données 49. Les données apparaissant sur la ligne 40 sont également appliquées le long de la ligne 51 à la porte ET 52 qui reçoit une autre entrée délivrée le long de la ligne 57, après avoir traversé l'inverseur 56 et cheminé le long de la ligne 55. Ainsi, à la suite de l'application d'un niveau logique positif à la ligne 57, les données en provenance 25 du registre d'entrée 44 sont bloquées à la porte ET 52 et elles ne peuvent passer sur la ligne 60 dans le registre normal 61j par contre, l'application d'un niveau logique négatif ou D sur la ligne 57, agissant à travers l'inverseur 56, provoque l'application sur la ligne 55 d'un niveau logique positif à la porte ET 52, permettant ainsi aux données issues du registre d'entrée 44 de 30 passer dans le registre normal 61. Le contenu du registre d'entrée 44 est également appliqué le long de la ligne 54 à la porte ET 75. Le contenu du registre d'entrée 44 qui passe par la porte ET 52 puis le long de la ligne 60 dans le registre normal 61, lorsqu'un niveau logique faible est 35 appliqué à la ligne 57, est appliqué le long de la ligne 62 au registre d'insertion 66. Les mêmes données passent également le long de la ligne 63 pour se rendre à la porte ET 76. Les données contenues dans le registre d'insertion 66 sont également appliquées le long de la ligne 80 à la porte ET 85. Comme l'indique la figure, un signal logique C est appliqué le long de la 40 ligne 67 aux lignes 69 et 70. La ligne 69 est une autre entrée de la porte ET 71 47857 7 2121531 81, tandis que le signal appliqué à la ligne 70 à travers l'inverseur 73, est transmis aux portes ET 85 et 76. De plus, le signal logique B qui est appliqué à la ligne 58, est également appliqué le long des lignes 64 et 79 pour constituer la troisième entrée de la porte ET 82, ainsi que le long des lignes 64 et 5 SB pour constituer la troisième entrée de la porte ET SI. Le signal logique B est également appliqué le long de la ligne 59, à travers l'inverseur 71, le long des lignes 8 6 et 74, à la porte ET 75, et le long des lignes 64 et 53 à la porte ET 76. Les sorties des portes ET 75, 76, 81 et 85 sont appliquées au registre de sortie 83 qui est connecté aux lignes d'entrée 84 et au registre 10 de décalage associé. Il ressort de ce qui précède que l'application d'un niveau logique positif à la ligne D 57 aura pour conséquence d'empêcher le contenu du registre d'entrée A 44 de passer à travers la porte ET 52, tandis que l'application d'un faible niveau logique ou signal D à la ligne 57 provoquera le passage du 15 contenu de ce registre 44 à travers la porte ET 52 vers le registre normal 61. De plus le contenu du registre normal 61 est toujours appliqué au registre d'insertion 66; ce contenu est transmis de façon sélective dans la porte ET grâce à l'application à la ligne 58 d'un niveau logique positif ou signal logique B, et grâce à l'application à la ligne 67 d'un niveau logique faible ou signal 20 logique C. Ainsi donc, à moins que le signal B ne soit vrai et le signal C faux les données contenues dans le registre d'insertion 66 ne traverseront pas la porte ET 85 pour se rendre au registre de sortie 83. En outre, comme indiqué précédemment, lorsque le signal logique A est vrai 25 les données issues du registre d'entrée 44 traversent la porte ET 47 pour se rendre au bus de données. En ce qui concerne les entrées en provenance du bus de données, la porte ET 81 transmet les données depuis le bus de données 49 le long de la ligne 50. Cela se produit comme indiqué sur le schéma, lorsque les signaux logiques E3 et C sont vrais. De plus, les données peuvent être trans 30 mises directement du registre normal 61, le long de la ligne 63, à travers la porte ET 76, par application du signal C à la porte ET 76 en conjonction avec l'application à la ligne 58 d'un signal B qui est inversé dans l'inverseur 71 afin que la condition de la porte ET 76 soit remplie pour faire passer les informations du registre normal 61 dans le registre de sortie 83. Enfin, les 35 données issues du registre d'entrée 44 peuvent être transmises directement le long de la ligne 54 à travers la porte ET 75, par application d'un signal B à la ligne 58 conjointement avec l'application d'un signal logique C. En consé quence les données passeront directement du registre d'entrée 44 dans le registre de sortie 83. 40 La figure 7 représente sous une forme abrégée l'itinéraire normal qu'em 71 47857 a 2121531 pruntent les données lorsqu'il n'y a pas de manipulation de données sur l'itinéraire allant de l'étage de sortie à l'étage d'entrée du registre à décalage SR. Cette même circulation de données est illustrée par le petit In) à la figure 4. Comme on le voit, la circulation normale des données se fait de l'étage de 5 sortie du registre à décalage au registre d'entrée AB puis le long de l'itinéraire D jusqu'au registre normal NRj ensuite, ignorant le registre d'insertion, IR, les données passent le long de l'itinéraire B C au registre de sortie BR puis dans l'étage d'entrée du registre à décalage SR. La figure 5 illustre l'opération d'annulation par laquelle uncaractère 10 est supprimé des données contenues dans le registre à décalage SR. L'organigramme me de la figure 9 indique la circulation des données au cours de l'opération d'annulation. On suppose à titre d'exemple, que la succession des données dans le registre est [03 (code indicateur] [13 (23 (33. On suppose en outre que le travail à effectuer consiste à supprimer C13/C1) pouvant être un nombre x de 15 caractères) pour obtenir : (03 (code indicateur3 (23 (3). Comme le montre la figure 5, la sortie du registre devient valide peu de temps après le front arrière de 02. Le caractère indicateur contenu dans le registre AR est donc placé dans le registre NR après avoir emprunté l'itinéraire D. Le bit indicateur est ensuite maintenu dans le registre NR au cours des opérations ultérieures, 20 jusqu'à ce que le nombre de caractères requis ait été supprimé. Dans ce cas, comme on l'a déjà expliqué, les caractères représentés par (13 seront annulés. Lorsque le caractère (1) apparait au registre ARj aucun itinéraire n'est prévu pour la sortie de ce registre, comme le montre la figure 5. Au contraire, pendant que le code indicateur est maintenu dans le registre NRj des codes d'an-25 nulation, en provenance du bus de données, sont insérés dans le registre de sortie BR, grâce à l'application de signaux logiques BC. Lorsque le nombre de caractères requis défini par la logique de commande a été supprimé, le bit indicateur mémorisé dans le registre i\IR, est transmis par les itinéraires B C dans le registre BR et, en même temps, le caractère (23 qui se trouve dans le 30 registre AR est placé, en empruntant l'itinéraire D; dans le registre NRj au cycle suivant, ce caractère (23 traverse le registre NR, chemine le long de la voie B C pour aboutir dans le registre BR, de sorte que le caractère (1) sera effectivement annulé. Cette opération est illustrée par l'organigramme de la figure 9. Sur la figure 9 lorsque la touche d'annulation de ligne, de mot 35 ou de caractère est enfoncée, et qu'un code indicateur est détecté à la sortie du registre à décalage SR, le code indicateur est amené au registre NR où il est maintenu, et aucun itinéraire n'est prévu pour les données reçues, ce qui a pour effet d'annuler les données. Comme on l'a indiqué précédemment, pendant que le code indicateur est maintenu dans le registre NR, les entrées du bus de 40 données annulent les codes appliqués au registre BR le long de l'itinéraire BC. 71 47857 2121531 Lorsqu'un code de fin (espace* caractère, retour chariot) qui indique que la fin du mot» du caractère ou de la ligne a été détectée dans l'unité de décodage, le système reprend son cycle de mémoire normal. La figure 10 représente l'itinéraire emprunté par le système pour supprimer 5 las codes d'annulation qui ont été insérés au cours de l'opération d'annulation« Puisque, comme on l'a déjà noté, les codes d'annulation sont insérés au cours de l'opération d'annulation, afin de simplifier la logique de commande, il faut les supprimer. Lorsqu'un code d'annulation est détecté à la sortie du registre à décalage, il est amené au registre NR et les autres codes suivent l'itinérai-10 re qui va du registre AR au registre BR. Cette opération se poursuit jusqu'à ce qu'un code factice soit détecté à la sortie du registre à décalage; ensuite, le cycle de mémoire normal s'amorce. Comme le montre la figure 10 un seul code d'anulation est utilisé au cours de chaque cycle de mémoire. L'effet global de l'itinéraire de la figure 10 est de ramener les codes d'annulation vers les ca-15 ractères factices initialement insérés] lorsque ces codes arrivent à la position factice, ils sont alors supprimés et remplacés par un caractère factice. Il faut donc plusieurs cycles pour renvoyer les codes d'annulation et les supprimer effectivement en ne prévoyant pas d'itinéraire pour ces codes à partir du registre AR. 20 La figure 6 représente un schéma qui illustre l'insertion de données dans les données déjà contenues dans le registre à décalage, tandis que la figure 8 représente un organigramme illustrant cette opération d'insertion. Toujours à titre d'exemple on suppose que les données sortant de l'étage de sortie du registre à décalage sont (0) (code indicateur) £1), £21, C3), C03 étant le pre-25 mier caractère. Dans le cas présent, il s'agit d'insérer un caractère (A) pour obtenir (0) (A) (code indicateur) (1), (2), (3). Comme le montre la figure 6, lorsque le caractère (0) arrive bien après le front arrière de 02, il est placé dans le registre NR après avoir emprunté l'itinéraire D. Au front arrière suivant de 02, (0) est appliqué, le long de l'itinéraire ¥ C, dans le registre BR. 30 Au mSme moment, le code indicateur qui suit le (0) dans le registre AR est placé dans le registre fR après avoir emprunté 1'itinéraire D. Au cours du cycle suivant le (0 est introduit dans l'étage d'entrée du registre à décalage; le code indicateur est acheminé depuis le registre NR dans le registre IR; le (1) qui est maintenant dans le registre AR est appliqué, le long de l'itinéraire 35 D, dans le registre NR; et le bus de données applique sur l'itinéraire BC les caractères à insérer dans le registre BR. Au cours du cycle de mémoire suivant, le code indicateur est conduit depuis le registre IR, le long de l'itinéraire BC , dans le registre BR. Le (1) est acheminé du registre NR dans le registre IRj l'entrée des données en provenance du bus de données est acheminée du 40 registre BR dans le registre à décalage, et le (2), qui était dans le registre 71 47357 10 2121531 AR, est appliqué le long de l'itinéraire □ dans le registre NR. Au cours du cycle suivant, le code indicateur est transféré du registre BR dans l'étage d'entrée du registre à décalage; le (13 est acheminé du registre IR, le long des itinéraires B C dans le registre BR et le [2} est acheminé du registre NR 5 dans le registre IR. Ensuite, au cours du cycle final, le (1) est transféré du registre BR dans le registre à décalage, et le (A) est donc inséré dans le bus des données. Cette opération est illustrée par l'organigramme de la figure 8 où l'on voit que lorsque le mode d'insertion est entré et que l'on doit insérer des données en provenance du bus de données, si un code indica-10 teur est détecté, le registre d'insertion IR est mis dans l'itinéraire des données, ce qui a pour effet de fournir un registre d'expansion en vue de cette insertion. Celle-ci se poursuit jusqu'à ce qu'un code factice soit détecté à la sortie du registre à décalage, ce qui indique que l'opération d'insertion est terminée et qu'un cycle de mémoire normal est amorcé. .J5 De la description ci-dessus il ressort que l'invention propose un système simple aux applications multiples dans le domaine de la révision des textes. D'autres nombreuses fonctions d'éditions conventionnelles peuvent être accomplies par une simple manipulation des lignes logiques A, B, C et D, ainsi que le décodage des caractères de commande requis, tels que les caractères d'annu-2q lation, factice, les codes indicateurs, de retour de chariot, d'espace etc.... □n décrira à présent brièvement la fonction d'espace arrière pour correction d'erreurs. On suppose par exemple que les données provenant de l'étage de sortie du registre à décalage soient: (A] (0) (code indicateur) (1), (2), 13) - (0) étant le premier caractère sorti, on suppose également que le travail 25 consiste à ramener en arrière le code indicateur et à supprimer le C0), de telle sorte que les données soient : CA) (code indicateur) (1), (2), (3). Cette opération peut être réalisée très simplement de la manière suivante: Lorsque le (A) se trouve dans le registre BR, il est acheminé le long de l'itinéraire 6 C au registre BR. Au même moment, le (0) contenu dans le registre AR est 3q acheminé le long de l'itinéraire D vers le registre P«. Au cours du cycle d'horloge suivant, le (A) qui se trouve dans le registre BR est transféré dans le registre à décalage, et le code indicateur, qui se trouve à cet instant dans ,1e registre AR est transféré le long de l'itinéraire B C au registre BR. Au cours du cycle d'horloge suivant, le code indicateur, qui se trouvait dans le 35 registre BR, est transféré dans le registre à décalage et le (1) qui se trouvait dans le registre AR, emprunte l'itinéraire B C pour se rendre dans le registre BRj au cours du cycle d'horloge suivant ce code indicateur pénètre dans le registre à décalage. On peut donner de la progression ci-dessus, la brève description que voici: lorsqu'un espace arrière est détecté au clavier, et qu'un 40 code indicateur est détecté à la sortie du registre à décalage, le caractère 71 4785: n 2121531 indésirable est acheminé vers le registre NR et il y est maintenu, tandis que le code indicateur et les autres caractères passent du registre AR dans le registre BR. Ensuite, lorsqu'un code factice est détecté à la sortie du registre à décalage, le cycle normal de mémoire reprend. 5 L'homme de l'art appréciera que l'invention offre une technique originale, permettant de commander un registre à décalage, technique extrêmement souple et qui, en outre, est très simple à appliquer. Cette simplicité est obtenue grâce à l'emploi d'un code indicateur et de caractères factices. Le code indicateur commande la temporisation du décalage aes données d'un registre à l'autre, 10 tandis que les codes factices qui étaient introduits initialement déterminent le moment où l'opération particulière demandée doit se terminer. Le code indicateur et les caractères factices assurent donc la commande logique du système. L'homme de l'art appréciera également la très grande souplesse du système en ce qui concerne les types d'applications, dans la mesure où 15 la vitesse inhérente de ce système est fonction de l'horloge qui entraîne le registre à décalage, et où aucune chronologie n'est requise entre les données, l'équipement associé, le registre à décalage et la logique de commande; en effet c'est le code indicateur lui même qui fait office d'horloge. De plus, pour les raisons précédemment citées, comme le code indicateur ainsi que les codes facti-20 ces servent de commande logique, il est possible d'augmenter ou de réduire la longueur du registre sans modifier cette commande. Bien que l'invention ait été représentée et décrite en référence à un mode de réalisation préféré, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail sans sortir pour autant du cadre et 25 de l'esprit de l'invention. 71 47357 12 2121531 REVENDICATIONS 1.- Système pour recevoir et mémoriser des caractères provenant d'un bus de données et pour délivrer des caractères sur ledit bus de données, caractérisé en ce qu'il comprend: 5 un moyen de stockage cyclique dont les étages d'entrée et de sortie sont connectés au bus de données; un moyen connectant le bus de données à l'étage d'entrée du moyen de stockage cyclique pour mémoriser les caractères formant un message de données contenu dans ledit moyen de stockage cyclique, 10 un moyen connectant le bus de données à l'étage de sortie du moyen de stockage cyclique, pour amener les caractères audit bus de données, et un moyen pour le décalage dans le temps des caractères précédemment mémorisés dan* le moyen de stockage cyclique, dans une première direction pour l'insertion de caractère dans ladite mémoire cyclique en augmentant celle-ci 15 d'un caractère au cours de chacun de ses cycles lorsqu'un caractère à insérer apparaît sur le bus de données et un moyen pour annuler les caractères précédemment mémorisés par le décalage dans le temps, ces caractères, ce décalage s'effectuant dans une seconde direction à raison d'un caractère par cycle dans le moyen de stockage cyclique. 20 2.- Système selon la revendication 1 caractérisé en ce qu'il comprend en outre un moyen d'utilisation connecté au bus de données et une chronologie temporisant le moyen de stockage cyclique à une fréquence telle que ce moyen de stockage, grâce audit moyen d'utilisation, effectue au moins un cycle complet entre l'application de deux caractères au bus de données ou entre la lecture 25 de deux caractères sur le bus de données. 3.- Système selon la revendication 2 caractérisé en ce que le moyen de décalage dans le temps comprend plusieurs registres à caractère unique connectés entre les étages d'entrée et de sortie du moyen de stockage cyclique, et une unité de commande logique connectée aux dits registres pour augmenter d'un carac-30 tère la circulation des données dans le moyen de stockage cyclique par l'insertion d'un des registres dans la circulation des données à chaque cycle pendant une opération d'insertion, dans l'éventualité d'un nouveau caractère à introduire dans le bus de données. 4.- Système selon la revendication 3 caractérisé en ce que l'unité moyen 35 de commande logique peut également être mise en oeuvre pour provoquer l'annulation d'un caractère indésirable par cycle, et le remplacer par un code 71 47857 2121531 d'annulation. 5.- Système selon la revendication 4 caractérisé en ce que les codes d'annulation subissent un décalage dans le temps jusqu'à la fin du message de données. B.- Système selon la revendication 2, caractérisé en ce que le moyen de 5 stockage cyclique est chargé initialement avec un caractère indicateur en une position aléatoire, les autres positions du stockage cyclique étant chargées avec des caractères factices, et en ce que, en outre, le caractère indicateur sert à commander l'instant de la sortie des données vers le bus de données, de l'entrée des données en provenance du bus ainsi que le décalage dans le temps 10 des caractères précédemment mémorisés et contenus dans le moyen de stockage cyclique. 7.- Système selon la revendication 6, caractérisé en ce que le moyen de décalage dans le temps comprend plusieurs registres connectés entre les étages d'entrée et de sortie du moyen de stockage cyclique, et une unité de commande 15 logique, connectée aux dits registres, pour augmenter d'un caractère la circulation des données dans le moyen de stockage cyclique par l'insertion d'un des registres dans la circulation des données à chaque cycle pendant une opération d'insertion, dans l'éventualité d'un nouveau caractère à introduire dans le bus de données. 20 8.- Système selon la revendication 7 caractérisé en ce que l'unité de commande logique est également utilisée au cours d'une opération d'annulation et provoque la suppression d'un caractère indésirable au cours de chaque cycle, et son remplacement par un code d'annulation en provenance dudit bus de données» 9.- Système selon la revendication 8 caractérisé en ce que les dits codes 25 d'annulation subissent un décalage temporisé jusqu'à la fin dudit message de données, cette fin étant définie par les caractères factices mémorisés dans le moyen de stockage cyclique. 10,- Système selon l'une quelconque des revendications précédentes caractérisé en ce que le moyen d'utilisation est une machine à écrire dont l'élément 30 d'impression ou le chariot se déplace en synchronisme avec ledit code indicateur dans ledit moyen de stockage cyclique.